フェイストラッキング
フェイストラッキングは、AR の重要な要素です。メイクやメガネ、各種ヘアスタイルのシミュレーションを可能にする "試着" のほか、フェイスエフェクト、フィルターなど、実用的なユースケースが数多く存在します。
Unity MARS アプリケーションにはフェイストラッキング機能があり、アプリケーションを Android または iOS デバイスに展開すると利用できます。フェイストラッキングは、Unity エディターの Recorded モードのシミュレーションで使用できます。Unity MARS パッケージの内容には、デフォルトの セッションの記録 が含まれています。これは事前に記録されたフェイストラッキングデータを含んだ動画です。これらの動画を Recorded モードで再生することにより、記録された顔のデータに対してテストを行うことができます。
AR Foundation のフェイストラッキングは、Unity MARS が備えていない機能をいくつかサポートしている場合があります。同じシーンで Unity MARS と AR Foundation の両方の API を使用して、プロジェクトのニーズを満たすことができます。
フェイスマスクテンプレートの使用
Unity のメインメニューから Window > MARS > Choose Template に移動し、Facemask オプションを選択します。フェイストラッキングをアプリケーションに組み込むために必要なすべての要素を含んだテンプレートシーンが表示されます。
AR アプリケーションの設計中にフェイストラッキング機能を試すには、Simulation View (シミュレーションビュー) が開いていることを確認し、そのモードを Recordings に設定します。
顔に対するデジタルコンテンツの配置
フェイスマスクテンプレートでは、シーンの中央にヘッドモデルが配置されます。
フェイスマスクを作成するには、このモデルをマネキンであるかのように修飾します。プロジェクトからプレハブを顔の上にドラッグすると、カーソルがその領域に重なったときに、眉毛や鼻など、各種の主要な "ランドマーク" が光ります。マウスボタンを離すと、ゲームオブジェクトがその特定の特徴に固定されます。Unity MARS は、そのゲームオブジェクトを顔のランドマークの子ゲームオブジェクトとして Transform 階層に配置します。
プレハブの位置を変えたり別のランドマークに移動したりするには、ゲームオブジェクトを選択し、Shift キーを押しながらゲームオブジェクトを新しい位置にドラッグします。
ドラッグしたゲームオブジェクトを顔に対してどのようにスナップして位置を合わせるかを制御するには、Unity のメインツールバーにある Placement Options セクションを使用します。ピボットにスナップ と サーフェスに向きを合わせる から選択できます。サーフェスに向きを合わせる を有効にした場合は、どちらの方向を "前方" と見なすかも選択できます。
ノート: Unity 2019.3 または 2019.4 を使用していない場合、これらのオプションはメインツールバーに存在せず、MARS Panel の Placement Options セクションに存在します。
Unity MARS でのフェイストラッキングのテスト
Device View でフェイスマスクをテストするには、Mode を Recordings に設定し、Source をいずれかの動画オプションに設定します。
フェイストラッキングアプリケーションを再生モードでテストするには、Project Settings で Simulate In Play Mode オプションを有効にする必要があります。Unity のメインメニューから Edit > Project Settings > MARS > Simulation > Scene Module > Simulate In Play Mode の順に選択します。