ハローキティ! ARKitとUnityを使用して拡張現実アプリを作成する方法。

拡張現実(AR)のことはよく知られていますが、現時点では、このテクノロジーの実際の動作を見る機会はほとんどありません。 ARを使用すると、周囲の現実世界と融合した仮想要素を見ることができます。たとえば、ARを使用すると、部屋に仮想ソファが表示されます。 Appleでは、携帯電話のカメラを使用して、現実世界に追加された新しいアイテムを表示できるようになりました。

Appleは、iOS11で拡張現実のエクスペリエンスを作成するためのフレームワークであるARKitを導入しました。 ARKitはVisual Inertial Odometry(VIO)を使用して周囲の環境をマッピングします。 VIOは、カメラセンサーが提供するデータをCore Motionデータとブレンドします。コアモーションデータは、加速度計、ジャイロスコープ、歩数計、磁力計、気圧計を通じて収集されます。

これらすべての入力により、デバイスは部屋内の動きを理解できます。 ARKitを使用すると、iPhoneとiPadはシーンを分析し、部屋の水平面を見つけることができます。 ARKitはテーブルとフロアを特定し、オブジェクトを正確なポイントでトレースおよび配置できます。

また、ARKitは、部屋のセンサーを使用して周囲の光を測定し、正しい量の光を仮想オブジェクトに適用します。 ARKitは、AppleのA9、A10、およびA11プロセッサと互換性があります。 ARKitで開発するには、Metal、Scenekit、およびUnityやUnreal Engineなどのサードパーティツールを使用できます。

ここで、ARKitを使用してARアプリケーションを作成する方法を見てみましょう。

開発環境

開始するには、次のものが必要です。

  • Unity 2017.1.0以降のリリースバージョン。 ARKitは、macOS VRコンテンツの作成に使用されるExperimental VRビルドおよびUnity 5.6.2以降のUnity 5.xバージョンとも互換性があります。
  • iOS 11以降
  • XCode 9ベータ以降、ARKitフレームワークを含むiOS SDKを使用
  • ARKitをサポートするiOS(iPhone 6S以降、iPad 2017以降)

手順

Unityを起動します。プロジェクトウィンドウが開きます。

この時点で、新しい空のプロジェクトを作成する必要があります。

  1. ウィンドウで、新しいプロジェクトの[新規]をクリックします。
  2. [プロジェクト名]テキストボックスに「ARKitty」と入力します。
  3. 同じウィンドウで、[プロジェクトの作成]ボタンを押します。

ARプロジェクトを作成しました!

そのタブをクリックして、アセットストアを開きます。

次に、ストア内を検索します。テキストボックスに「ARKit」と入力し、虫眼鏡アイコンをクリックします。

「Unity ARKit Plugin」が見つかるまでAsset Storeウィンドウをスクロールします。これはUnity内でARKitを統合するプラグインです。

Unity ARKitプラグインをクリックし、インポートボタンまでスクロールダウンして押します。もう一度インポートを押して同じプロジェクトをインポートし、プラグイン要素ウィンドウでもう一度インポートします。

アセットストアに戻り、ホームシンボルを押して、検索テキストフィールドに「かわいい子猫」と入力します。検索記号を押して、ARKitプラグインで行ったように、かわいい子猫モデルをインポートします。

カーソルでインポートボタンまでスクロールし、それを押します。プラグイン要素ウィンドウでもう一度インポートを押します。

「Asset / Examples」の下のUnityARKitSceneフォルダーで「UnityARKitScene」シーンを検索します。

階層の下にシーン「UnityARKitScene」をドラッグします。

資産に移動して、子猫を見つけます。

モデルの下に移動し、「階層」->「HitCubeParent」の下に「子猫」をドラッグします。

右クリックして[削除]をクリックして、HitCubeとRandomCubeをシーンから削除します。 GeneratePlanes、ARKitControlを選択し、インスペクターをクリックして、タグのチェックを外します。

CameraParentの下のメインカメラに移動し、インスペクターで、Nearを0.01に設定します。

[シーン]タブをクリックします。階層で子猫をクリックして選択します。これで、3次元空間のシーンビューに子猫が表示されます。アセット「UnityARKitPlugin-> Plugins-> Helpers」に移動し、UnityARHitTestExample.csスクリプトを取得します。スクリプトを子猫インスペクターにドラッグします。

「UnityARHitTestExample.cs」スクリプトのHit変換フィールドに子猫をドラッグします。

「ファイル->シーンを保存」を選択してシーンを保存し、「ARKittyTest」と呼びます。

終わった!拡張現実で新しいアプリケーションを試してみましょう。

[ファイル]メニューに移動し、[ビルド設定]を選択します。開いたウィンドウの[プラットフォーム]で、[IOS]を選択します。

[プレーヤー設定]ボタンを押して、バンドル識別子が見つかるまで下にスクロールします。ここで、「com。」というタイプの識別子を記述します。 <あなたの名前> .arkittytest」。

[ビルド設定]ウィンドウの[ビルド]ボタンをクリックし、プロジェクトを「ARKittyTest」としてiOSに保存します。

プロセスの最後に、「Unity-iPhone.xcodeproj」という名前のFinderでXCodeプロジェクトを見つけます。ダブルクリックして、XCodeでプロジェクトを開きます。 XCodeで、Unity-iPhoneをクリックして、一般に移動します。 IDフィールドに、Unityのビルド設定に挿入されたのと同じバンドルIDを書き込みます。

[チーム]プルダウンメニューの[署名]で、登録済みのチーム名を選択します。

ターゲットデバイスとしてMacに接続する前に、デバイス(iPhone / iPad)を選択します。

XCode矢印キーを押して、「現在のスキームをビルドおよび実行します。」

最後に、近くの表面をフレームで囲み、電話画面をタップすると、子猫が目の前で生きているのを見ることができます。

任務完了!次のビデオは、完全な手順を示しています。

Francesco Pallottaは、ソフトウェア設計および開発のシニアソフトウェアエンジニアの専門家です。彼は宇宙と防衛の分野で働いており、仮想現実と拡張現実のアプリケーション開発手法を扱っています。

バーチャルリアリティ、拡張現実、複合現実について詳しく知りたいですか? MediumおよびTwitterでフォローしてください。

この投稿は楽しかったですか?拍手でお勧めします。ありがとう!