顔を拡張するカスタム テクスチャと 3D モデルを作成します

拡張顔を実装するには、識別されたフェースメッシュにオーバーレイするためのカスタマイズされたテクスチャとモデルが必要です。これらのアセットは、アーティストによって事前に 3D モデリングやアニメーション ソフトウェアで作成され、FBX ファイルとしてエクスポートされます。

正規ファイル

SDK には canonical_face_mesh.fbx ファイルと canonical_face_mesh.psd ファイルが付属しており、ARCore によって検出された顔に適切にオーバーレイするアセットを作成できます。これらのファイルは、assets/canonical_face_mesh.fbx フォルダにあります。

FBX ファイルを使用して 3D モデルを作成する

FBX ファイルには、フェイスメッシュ トポロジ、UV テクスチャ座標、アセットの作成と添付のために提供されるサポート対象の顔領域を定義するリグが含まれます。FBX ファイルは、ARCore との互換性を確保するために、サポートされている設定を使用して保存する必要があります。

このファイルには、最終的な FBX の一部としてエクスポートすべきではない参照 facemesh が含まれています。ARCore は、実行時に個別の顔メッシュを生成して更新します。

PSD ファイルで 2D テクスチャを作成する

.psd 面メッシュ参照テクスチャは、アーティストが実行時にユーザーの顔の特徴に合わせて作成するテクスチャを確認するために使用されます。これには次の 4 つのレイヤが含まれます。

  • マスク: テクスチャ内の目、鼻孔、口の位置を示します。
  • 線: ランタイムにユーザーの顔の特徴がテクスチャとどのように一致するかを示すガイドライン。
  • UVs: 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 の使用はサポートされています。

  • アセットには、rootNOSE_TIPFOREHEAD_RIGHTFOREHEAD_LEFT の各領域で構成される 4 つのボーンが含まれています。これらの骨の名前を変更しないでください。