拡張顔用のカスタム テクスチャと 3D モデルを作成

拡張顔を実装するには、識別された顔メッシュにオーバーレイするカスタムのテクスチャとモデルが必要です。これらのアセットは、アーティストが 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_TIPFOREHEAD_RIGHTFOREHEAD_LEFT)で構成される 4 つのボーンが含まれています。これらのボーンの名前は変更しないでください。