Unity MARS スタートガイド
このガイドでは、Unity MARS を使用した簡単な AR アプリケーションを作成する方法を説明し、このパッケージ特有の用語を一部紹介します (用語の全リストについては 用語集 を参照してください)。このサンプルアプリケーションでは、30 x 30 cm 以上のサーフェスを探し、その上にモデルを配置します。
このガイドは、Unity MARS の経験がないユーザーを前提としており、コードの記述を必要としません。
Unity Mars をまだインストールしていない場合は、先に進む前に インストール の手順に従ってください。
アプリケーションの作成
Unity MARS UI の概要
作業を開始する前に、Unity MARS の UI を紹介します。Unity MARS では、Unity の Window メニューと GameObject メニューの下に独自のサブメニューが追加されます。また、Project ウィンドウの Create メニューにもいくつかの新しい項目が導入されます。
Unity MARS ワークフローの主要な領域は、Simulation / Device View (シミュレーションビュー/デバイスビュー)、Proxy Rule Set ビュー、MARS Panel (MARS パネル) の 3 つです。Unity MARS を使用している間は、効率上、これらのビューをすべて開いておくことをお勧めします。アプリケーションの作成時には、これらすべてを使用することになります。
これらのビューが開いていない場合は、Unity のメインメニューから、Window > MARS > Simulation View、Window > MARS > Proxy Rule Set、Window > MARS > MARS Panel で開くことができます。
Unity MARS のデバイスビューとシミュレーションビューの設定
Unity MARS を最大限に活用するためには、デバイスビューとシミュレーションビューを左右または上下に並べて使用します。デバイスビューは、現実世界の中で動き回るデバイスからの視界をシミュレートします。シミュレーションビューは、Unity MARS アプリケーションによって実行されるシーン全体を表示します。
シミュレーションビューとデバイスビューを同時に開くには、Unity のメインメニューから、どちらか一方のビューを開き (Window > MARS > MARS Panel または Window > MARS > Device View)、次に 3 点ドットボタンをクリックしてもう一方のビューを開きます。
最後に、ウィンドウをドラッグして、もう一方のウィンドウと隣り合わせになるようにします。
初めてのプロキシの設定
Proxy (プロキシ) は、テーブル、顔、猫など、アプリケーションが検出してアンカーとして使用できる現実世界のオブジェクトを表す、シーン内のゲームオブジェクトです。Unity MARS では、一連の条件が満たされたときに現実世界に表示されるコンテンツを固定するためのプレースホルダーとしてプロキシが使用されます。
プロキシを作成するには、Rule (ルール) のワークフローを使用する方法と MARS パネルを使用する方法の 2 つがあります。Rule のワークフローは、AR コンテンツの設定手順を案内するもので、特に初級ユーザーにとって便利です。また、Rule のワークフローを使用せず、Hierarchy で GameObject としてオブジェクトを作成することもできます。突き詰めていくと、後者の方がシーンの設定の柔軟性という点で優れていますが、MARS のオブジェクトと概念についてより深い理解が必要になります。プロキシや他の Unity MARS オブジェクトの詳細については、Unity MARS の概念 のページを参照してください。
以下のガイドでは、Rule のワークフローを使用しています。
Window > MARS > Proxy Rule Set の順にクリックして Proxy Rule Set ウィンドウを開きます。
最初のルールを作成するには、Add Rule ボタンをクリックします。デフォルトでは、MARS によって "On Every Horizontal Surface (すべての水平面に)" という名前の、コンテンツが含まれていないルールが作成されます。シーンビューには平面プロキシビジュアライザーが表示され、シミュレーションビューには照合対象のサーフェスごとに汎用のプロキシギズモが表示されます。
Rule へのコンテンツの追加
"すべての水平面上に" ルールの右側にマウスを合わせると、+ ボタンが表示されます。
このボタンをクリックして、ポップアップメニューから Spawn Object を選択し、作成するオブジェクトを選択します。オブジェクトを選択すると、ルールの下のインデントされた新しい行に目的のコンテンツが表示されます。とりあえず、ルールの "Every" ドロップダウンを "One" に変更してみましょう。これで MARS はルールに一致する 1 つのみを検出してスポーンするようになり、シミュレーションビューにもそれが反映されるはずです。
Rule のワークフローの完全なウォークスルーについては、Rule に関するドキュメント を参照してください。
平面サイズ条件の追加
コンテンツに対して基本的なルールとプロキシを用意できたので、そのプロキシが表す現実世界のオブジェクトがどのようなものかを記述する必要があります。そのためには、条件を追加します。
条件は、サイズや色など、現実世界のオブジェクトの単一のプロパティを定義するコンポーネントです。条件は、UI に標準的なインスペクターを持たず、代わりに Entity Inspector で操作します。各条件にはトレイトが含まれているほか、そのトレイトの値型の単一インスタンスが、指定した値とどの程度一致するかを評価するメソッドが含まれています。条件とは、Unity MARS がプロキシを照合して配置するために環境内で満たす必要のある制約と考えてください。通常、現実世界のオブジェクトが備えている複雑な定義を構築するためには、プロキシに複数の条件をアタッチする必要があります。条件は一般的なものから具体的なものへ、例えば、まず平面の条件を追加し、その条件に一致するサイズと向きを定義します。
Plane Size (平面サイズ) 条件をプロキシに追加します。これにより、特定のサイズのサーフェスが Unity MARS によって検出されたときにのみ、プロキシが表示されるようになります。条件を追加するには、プロキシの Inspector で Add MARS Component ボタンをクリックし、Condition > Plane Size の順に選択します。
これで平面サイズ条件がプロキシにアタッチされます。検出されるサーフェスのサイズが 30 x 30 cm 以上となるように条件を設定する必要があります。そのためには、Maximum Size プロパティが無効になっていることを確認し、Minimum Size プロパティの X と Y を 0.3 に設定します。これで、追加したモデルがサーフェス上にフィットするようになります。
シミュレーション環境でのアプリケーションのテスト
実際のデバイスでコンテンツをテストする前に、シミュレーションビューを使用して調整を繰り返し、プロキシが正しく動作することを確認できます。
Unity のメインメニューから Simulation (シミュレーション) ビューを開きます (Window > MARS > Simulation View)。シミュレーションビューには、仮想環境内のシミュレートされたサーフェスに対してプロキシがどのように一致するかが示されます。詳細については、Simulation ビュー に関するドキュメントを参照してください。
アプリケーションのビルド
シミュレーションビューですべての設定とテストが完了したら、いよいよ AR デバイスを対象にプロジェクトをビルドします。プロジェクトは、選択したビルドターゲット向けにコンパイルする必要があります。このプロセスは、アプリケーションのターゲットプラットフォームによって異なります。Window > MARS > Build Settings Check の順に選択すると、必要と考えられるサポート対象パッケージバージョンが得られます。詳細については、ビルド設定 に関する Unity のドキュメントを参照してください。
アプリケーションを実行すると、Unity MARS によって 30 × 30 cm 以上のサーフェスが検出され、その上にモデルが配置されます。
その他の機能
このチュートリアルでは、Unity MARS の基本的な操作についてのみ説明しています。その他の Unity MARS の機能や、それぞれの機能の使用方法と手順については、以下のガイドを参照してください。
さらに上級者向けのトピックについては、以下を参照してください。