拡張顔を実装するには、識別された顔メッシュにオーバーレイするためのカスタマイズされたテクスチャとモデルが必要です。これらのアセットは、アーティストが 3D モデリングとアニメーション ソフトウェアで事前に作成し、FBX ファイルとしてエクスポートします。
SDK には canonical_face_mesh.fbx
ファイルと canonical_face_mesh.psd
ファイルが付属しています。アーティストは、ARCore で検出された顔に正しくオーバーレイされるアセットを作成できます。これらのファイルは、各 SDK の次の場所にあります。
SDK | 場所 |
---|---|
ARCore SDK for Android |
assets/canonical_face_mesh.fbx
|
ARCore SDK for iOS |
assets/canonical_face_mesh.fbx iOS の場合、FBX ファイルと PSD ファイルの両方が公開 iOS GitHub リポジトリに含まれていますが、ARCore CocoaPod の一部としては提供されていません。 |
AR Foundation の ARCore 拡張 |
assets/canonical_face_mesh.fbx
|
ARCore SDK for Unity |
/Assets/GoogleARCore/Examples/AugmentedFaces/Models/
|
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
ノードの子として配置します。名前空間の使用がサポートされています。
アセットには、
root
とNOSE_TIP
、FOREHEAD_RIGHT
、FOREHEAD_LEFT
のリージョンで構成される 4 つのボーンが含まれています。これらのボーンの名前は変更しないでください。