拡張顔を実装するには、識別された顔メッシュにオーバーレイするカスタムのテクスチャとモデルが必要です。これらのアセットは、アーティストが 3D モデリングとアニメーション ソフトウェアで事前に作成し、*.fbx
ファイルとしてエクスポートします。
Sceneform SDK for Android には、アーティストが ARCore で検出された顔に正しくオーバーレイ表示されるアセットを作成するための canonical_face_mesh.fbx
ファイルと canonical_face_mesh.psd
ファイルが含まれています。これらのファイルは、assets
フォルダにあります。
*.fbx
ファイルを使用したアセットの作成
*.fbx
ファイルには、顔のメッシュ トポロジ、UV テクスチャの座標、リグが含まれており、アセットの作成と添付でサポートされる顔領域が定義されています。ARCore との互換性を確保するため、*.fbx
ファイルは、サポートされている設定を使用して保存する必要があります。これらのファイルを *.sfb
ファイルにプロジェクトとしてインポートできます。
このファイルには、最後の *.fbx
の一部としてエクスポートしてはならない参照 facemesh
が含まれています。ARCore は、別の顔メッシュを実行時に生成して更新します。
*.psd
ファイルを使用したアセットの作成
.psd
顔メッシュ参照テクスチャは、アーティストが実行時にユーザーの顔の特徴とラインアップするテクスチャを確認するために使用されます。これには、次の 4 つのレイヤが含まれます。
- マスク: 目、鼻穴、口がテクスチャのどこにあるかを示します。
- 線: ユーザーの顔の特徴が、実行時にテクスチャとどのように整列するかを示すガイドラインです。
- UV: 468 ポイントの顔のテクスチャ メッシュの三角形化を表します。
- 背景: ニュートラルな灰色の背景レイヤ。他の 3 つのコンポーネントを視覚的にわかりやすくします。
*.psd
ファイルを変更すると、すぐに変更が反映されます。
FBX アセットの形式と要件
モデリング ソフトウェアとアニメーション ソフトウェアからエクスポートされた *.fbx
ファイルに対して、次の設定をおすすめします。
ファイル形式: FBX 2016/2017 以降
軸変換: 上軸は Y です。
スケーリング ファクタ: センチメートル
必要なジオメトリ設定:
- スムージング グループ
- スムーズ メッシュ
- 参照されるアセットのコンテンツ
推奨ジオメトリ設定:
- タンジェントとバイノーマル
- 三角
- 人脈
アニメーション: 有効
変形されたモデルの設定
- 変形モデル
- スキン
正規の顔メッシュをカスタマイズする
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
ノードの子として配置する。名前空間を使用できます。
アセットには、
root
と、3 つのリージョン(NOSE_TIP
、FOREHEAD_RIGHT
、FOREHEAD_LEFT
)で構成される 4 つのボーンが含まれています。これらのボーンの名前は変更しないでください。