Unity MARS UI の概要
このページでは、Unity MARS によって Unity エディターに追加される各種ウィンドウの概要を示し、MARS 固有のゲームオブジェクトをプロジェクトに追加するさまざまな方法について説明します。さらに、Simulation View、Device View のほか、シミュレーション環境に対してコンテンツをテストする際に使用できる Simulation Test Runner についても説明します。
Unity MARS UI の概要
MARS は、それ独自のサブメニューを Unity の Window メニューと GameObject メニューに追加します。MARS ワークフローにおける 2 つの主要なビューとして Simulation/Device View と MARS Panel があります。ベストプラクティスとして、Unity MARS を使用している間は、これらのビューは両方とも開いておくことをお勧めします。アプリケーションを作成する際は、通常、どちらのビューもよく使用します。
MARS 固有のほとんどのウィンドウには、Unity のメニューの Window > MARS からアクセスできます。このサブメニューからは、MARS Panel、Simulation View、Device View、Simulation Test Runner、その他いくつかのオプションにすばやくアクセスできます。
Rule のワークフロー
Rule (ルール) のワークフローでは、AR (拡張現実) のレイアウトや動作を平易な言葉で簡潔に記述します。このシンプルな専用 UI は、初めて使用するユーザーにとってわかりやすい出発点となるほか、より上級者向けの MARS 機能の中心的なオーサリング体験も提供します。この UI を使用して、プロキシ、レプリケーター、プロキシグループ、ランドマークを設定できます。この機能と UI インタラクションの詳細については、Rule に関するドキュメント を参照してください。
MARS Panel
MARS Panel は、Unity MARS のすべての機能にアクセスする際にメインとなるエントリーポイントです。これは、主に、Create、Simulation Controls、Content Hierarchy、Environment Hierarchy という 4 つのセクションに分かれています。
Create
このパネルには、一般的な MARS オブジェクトへのショートカットが用意されており、さらに Presets、Primitives、Visualizers という 3 つのカテゴリに分類されています。
Presets カテゴリには、平面検出、画像マーカー、フェイストラッキングなど、さまざまな目的に役立つ、あらかじめ構成された一般的なプロキシが含まれています。
Primitives カテゴリには、空の Proxy (プロキシ)、Proxy Group (プロキシグループ)、Replicator (レプリケーター)、Synthetic Object (合成オブジェクト) を作成するためのショートカットが用意されています。これらは、Unity で複雑な MARS ゲームオブジェクトを作成する際に使用する主要なタイプです。
Visualizers セクションには、Plane (平面)、Point (点)、Face Landmark (顔のランドマーク) 用のビジュアライザーを作成するためのオプションが用意されています。平面ビジュアライザーおよび点ビジュアライザーは、スキャンした環境データを視覚的に表示できるため役立ちます。また、顔のランドマークビジュアライザーは、顔の動きを追跡する点も表示されるため、作成したコンテンツをそれにアタッチすることができます。これらのゲームオブジェクトはプロキシではなく、MARS データに直接フックします。
Simulation Controls
このパネルには、シミュレーションモード、環境、記録されたセッションやウォークスルーを変更するためのコントロールが用意されています。また、Simulation View/Device View のツールバーからもアクセスできます。
Simulation Controls パネルの上部には、現在のシミュレーションのステータスがアクティブなシーンとの関連で示されます。考えられるステータスは 2 つあります。
- Synced: シミュレーションのゲームオブジェクトは、アクティブなシーンのゲームオブジェクトの最新のコピーです。
- Out of Sync: シミュレーションされたゲームオブジェクトは古いコピーのため、シミュレーションを再同期して最新の変更を適用する必要があります。
手動で再同期するには、Simulation Controls パネルに移動し、Resync ボタンをクリックします。このボタンは、Simulation View/Device View のツールバーにもあります。また、Auto Sync オプションを有効にして、アクティブなシーンに変更を加えるたびにシミュレーションを自動的に再同期することもできます。ベストプラクティスとして、再シミュレーションに長時間がかかる複雑なシーンを操作する際はこのオプションを無効にすることをお勧めします。
Content Hierarchy
このパネルには、Simulation View で現在シミュレーションされているゲームオブジェクトが表示されます。各ゲームオブジェクトには、シーンビューでプロキシに関連付けられたギズモと一致するアイコンが付いています。これにより、階層間で簡単にプロキシを区別できます。
右側のアイコンは、以下のように、シミュレーションされたオブジェクトの一致状態を示しています。
- ゲームオブジェクトは環境内で一致するものをを検出しました。
- 一致するものは存在しません。
- クエリはまだ評価中です。
ベースとなるアイコンは、ゲームオブジェクトが照合しようとしているデータの種類やゲームオブジェクトがプロキシグループとプロキシのどちらであるかによって異なります。レプリケーターについては、アイコンに、このシミュレーションで作成された複製ゲームオブジェクトの該当数を示す数字も表示されます。
プロキシが環境と一致しない場合、ゲームオブジェクトに作成した条件が厳しすぎてシミュレーション環境で満たされないことが原因である可能性があります。不一致のプロキシを選択して、それに関連付けられているシーンゲームオブジェクトに ping を実行できます。その後、Inspector でこのゲームオブジェクトを使用して条件の値を調整することができます。
Content Hierarchy セクションには、レプリケーターによって作成されたインスタンスも表示されます。任意のレプリケーターインスタンスを選択するときは、Content Hierarchy ビューで、それを作成したレプリケーターを選択します。
Environment Hierarchy
このビューには、シミュレーション環境にあるゲームオブジェクトが表示されます。このビューは、Unity の Hierarchy ビューと同じように動作しますが、表示されるのは、シミュレーション環境に存在するゲームオブジェクトのみです。このように分離することで、Unity の Hierarchy ビューの乱雑な状態が軽減されます。
Simulation View
Unity MARS では、Simulation View を使用して、サーフェスや他の特徴のある部屋など、世界でトラッキングされた、合成または記録された環境に対してコンテンツをテストします。これにより、デバイスに対してアプリケーションをコンパイルし、繰り返しながら現実世界でそのアプリケーションをテストする必要性が低減します。
Simulation View は、Unity のメインメニューから Window > MARS > Simulation View の順に選択して開きます。
Simulation View は、AR コンテンツをシミュレーション環境から切り離し、実際の AR デバイスのレンダリング動作やインタラクション動作を模倣します。Simulation View では、コンテンツと環境のトグル を使用してこの 2 つを切り替えることで、AR コンテンツまたは環境を操作することができます。デフォルトでは、非アクティブなレイヤーからオブジェクトを選択しようとすると、ビューの彩度が一時的に下がります。この目に見える動作は、Simulation View の表示オプション で変更できます。Simulation View のレンダリング動作の詳細については、グラフィックス に関するページを参照してください。
また、Simulation View 内では、フェイスマスクのワークフローで使用する動画ストリームにもアクセスできます。
Device View
Device View は Simulation View のサブモードで、これを使用すると、シミュレーションされたカメラの視点からアプリケーションをテストできます。シミュレーションされたデータが表示されると、MARS データベースにデータが入力されます。現実世界で AR デバイスを握ったり装着したり、環境をスキャンまたは移動するとコンテンツが表示されたりするような Device View のワークフローを考えてください。
Simulation View から Device View に切り替える方法は 2 つあります。
- Unity のメインメニューから Window > MARS > Device View に移動する
- Simulation View のツールバーで、左端のボタン をクリックして、Simulation View モードと Device View モードを切り替える
このビューで選択した環境内を移動するには、Device View の制御パネルにある 再生 ボタンをクリックしてシミュレーションを開始します。
制御パネルで 録画 を選択していない場合は、手動でカメラを操作できます。カメラを制御する方法は以下のとおりです。
- 回転するには、Device View 内で右クリックしてマウスをドラッグします。
- カメラを移動するには、WASD キーを使用します。
- カメラを上下に動かすには、マウスの右ボタンを押したまま Q と E を使用します。
- 移動速度を上げるには、Shift を押したままにします。
ノート: 再生 ボタンがアクティブでない場合は、Device View 内でカメラを移動できません。
Device View からの録画
Device View では、シミュレーション環境のウォークスルー録画を作成して、Unity MARS アプリケーションの機能をテストできます。ウォークスルー録画を作成するには、赤色の 録画 ボタンをクリックして、平面を検出しながらカメラをあちこちに動かし始めます。記録している間は、録画 ボタンが青色になります。
録画を停止するには、録画 ボタンをもう一度クリックします。その後、録画を Timeline アセットとして保存するよう求められます。記録したカメラの動きを再生するには、環境名のドロップダウンを開き、Mode を Recordings に設定した後、Source ドロップダウンリストで保存した録画を選択します。
Simulation Test Runner
Simulation Test Runner には、1 つのボタンを使用してコンテンツを複数のシミュレーション環境でテストする方法が用意されています。Unity MARS では、各シミュレーションが実行され、SimulationTestRunner ウィンドウには、その環境で一致したクエリと一致しなかったクエリの数と共に、結果のスクリーンショットがキャプチャされます。これは、AR コンテンツが複数の環境でどのように表示されるかをすばやく確認するのに役立ちます。
Simulation Test Runner は、Unity のメインメニューから Window > MARS > Sim Test Runner の順に選択して開きます。
Simulation Settings
Inspector で詳細な変更を行うには、Simulation Settings を使用します。このような設定の中には、Simulation View のメニューバーにある歯車アイコンからアクセスできるものもありますが、SimulationSettings パネルには、カメラの配置やクエリの評価に影響する設定がさらに用意されています。
SimulationSettings パネルは、Unity のメインメニューから Window > MARS > Simulation Settings の順に選択して開きます。
MARS テンプレート
Templates (テンプレート) は、AR アプリケーションの制作を開始する際に便利です。テンプレートには、基本的な AR アプリケーションの基礎となるプリセット設定を備えたゲームオブジェクトがいくつか含まれています。
現在、Unity MARS では、4 つの基本テンプレートのほか、さらに上級者向けのスターターテンプレートを提供しています。
- Blank テンプレート: 環境をスキャンするときに視覚的な手がかりを得るための点群ビジュアライザーと平面ビジュアライザーに加えて、空のプロキシが含まれています。
- Facemask テンプレート: フェイストラッキング用
- Tabletop テンプレートと Miniature テンプレート: 床から一定の範囲内にあるテーブルを検出するための基本的なルールが設定されたプロキシグループが含まれています。
- Simple Game テンプレートと Advanced Game テンプレート: 検出された世界中を飛んだり跳ねたりできる、基本となるキャラクターを設定します。上級者向けのシーンでは、オブジェクトが重ならないように、より多くの特殊なレイアウト方法が使用されています。Unity のメインメニューから Window > MARS > Choose Template を順に選択して Templates ウィンドウを開いた後、使用するテンプレートを選択します。
- Factory Training テンプレート: このテンプレートには、ユーザーに段階別プロセスを案内する機能が用意されています。オブジェクトの複製や変更により、カスタマイズおよび拡張します。デフォルトの例は、現場環境の例で動作するよう設計されています。
GameObject の MARS メニュー
MARS Panel を開いたままにしない場合は、GameObject のサブメニューからメインの MARS エンティティにすぐにアクセスすることもできます。Unity のメインメニューから、GameObject > MARS に移動します。
このメニューを使用すると、プロジェクトに MARS のオブジェクトを追加できます。これには、プロキシや合成オブジェクトのほか、データビジュアライザーなどのエンティティも含まれます。