拡張顔を実装するには、識別された顔メッシュにオーバーレイするカスタマイズされたテクスチャとモデルが必要です。これらのアセットは、アーティストが 3D モデリング ソフトウェアやアニメーション ソフトウェアで事前に作成し、FBX ファイルとしてエクスポートします。
正規ファイル
SDK には、ARCore によって検出された顔に適切に重ねて表示されるアセットをアーティストが作成できるように、canonical_face_mesh.fbx
ファイルと canonical_face_mesh.psd
ファイルが付属しています。これらのファイルは assets/canonical_face_mesh.fbx
フォルダにあります。
FBX ファイルを使用して 3D モデルを作成する
FBX ファイルには、顔メッシュ トポロジ、UV テクスチャ座標、アセットの作成とアタッチに使用されるサポートされている顔領域を定義するリグが含まれています。ARCore と互換性を確保するには、サポートされている設定を使用して FBX ファイルを保存する必要があります。
このファイルには、最終的な FBX の一部としてエクスポートすべきではない参照 facemesh
が含まれています。ARCore は、実行時に個別のフェイスメッシュを生成して更新します。
PSD ファイルを使用して 2D テクスチャを作成する
.psd
フェイスメッシュ リファレンス テクスチャは、アーティストが作成したテクスチャが実行時にユーザーの顔の特徴とどのように一致するかを確認するために使用されます。次の 4 つのレイヤがあります。
- マスク: テクスチャ内で目、鼻孔、口がどこにあるかを示します。
- 線: 実行時にユーザーの顔の特徴がテクスチャとどのように並ぶかを示すガイドライン。
- UV: 468 ポイントの顔テクスチャ メッシュの三角形分割を表します。
- 背景: 他の 3 つのコンポーネントを視覚的に明確にするために、中間色のグレーの背景レイヤ。
PSD ファイルを変更すると、エクスポートするとすぐに変更内容が表示されます。
標準の顔メッシュをカスタマイズする
SDK に含まれている assets/canonical_face_mesh.fbx
を使用してモデルとテクスチャを作成している場合は、FBX ファイルをエクスポートするときにも次の設定が必要です。
カスタム メッシュが、関連するボーンまたは領域にスキニングされていることを確認します。
次の階層を使用します。
asset |__root | |__NOSE_TIP | |__FOREHEAD_RIGHT | |__FOREHEAD_LEFT |__facemesh <-- for reference |__ <-- place additional custom 3D meshes here
付属の
facemesh
モデルはエクスポートしないでください。このメッシュは参照専用です。ARCore は、ランタイムで個別の顔メッシュを作成します。カスタム フェイスメッシュ テクスチャを作成する場合は、facemesh
の UV を参照として使用します。カスタムメッシュを
asset
ノードの子として配置します。Namespace の使用がサポートされています。
このアセットには、
root
リージョン、NOSE_TIP
リージョン、FOREHEAD_RIGHT
リージョン、FOREHEAD_LEFT
リージョンで構成される 4 つのボーンがあります。これらのボーンの名前は変更しないでください。