フェイストラッキング
- This page is available in English: English
アバターにフェイストラッキング用に設計されたブレンドシェイプがある場合、Basisがそれらを認識できるようにコンポーネントを追加する必要があります。
これにはVRCFaceTracking ソフトウェアが必要です。このガイドでは、VRCFaceTrackingおよび自身のハードウェアに既に習熟していることを前提としています。
アバターのセットアップ
アバターをセットアップするには:
- アバター内に新しいGameObjectを作成します。FaceTrackingなど、好きな名前を付けます。
- Automatic Face Trackingコンポーネントを追加します。
- Automatic Face Trackingコンポーネントのインスペクターで、*"Create VRCFaceTracking JSON file"*ボタンを押します。
Automatic Face Trackingコンポーネントを追加した際、アバターにHVR.Networkingという名前のプレハブが追加されたはずです。 このコンポーネントはアバターのネットワーク通信を担当します。このプレハブはルートに置いたままにしてください。
セットアップは完了です。Automatic Face Trackingは、Unified Expressions、ARKit、またはSRAnipalの命名規則に従ったフェイストラッキング用ブレンドシェイプを持つすべてのアバターメッシュを検出します。
フェイストラッキングの実装はAnimatorシステムを使用しません。VRC用に設計されたフェイストラッキングのAnimatorテンプレートは使用しないでください。 これらは機能せず、干渉する可能性さえあります。
テスト
ビルド前にアバターをテストするには:
- 他のソーシャルVRアプリケーションが現在実行されていないことを確認してください。他のアプリがフェイストラッキングデータをキャプチャしている可能性があります。
- VRCFaceTrackingを起動します。
- Play Modeに入り、アバターのルートにあるBasis AvatarコンポーネントのTest in Editorボタンを押します。
- すべてが正常に動作すれば、VRCFaceTrackingソフトウェアにHVR.Basis Fake Clientという名前のアバターが検出されたと表示されます。
- ヘッドセットを装着し、自身のアバターの顔を見て、どのように動くかを確認してください。
アバターにロードすると、以下のことが起こります:
- Basisはポート9000にOSCサーバーを作成し、ポート9001(VRCFaceTrackingが動作している場所)にメッセージを送信して、アバターが変更されたことを伝えます。古いバージョンのVRCFaceTrackingはこのメッセージに反応します。
- また、ランダムなポートで偽のOSCQueryサーバーを起動します。Steam版のVRCFaceTrackingはこのOSCQueryサーバーを検出します。
- VRCFaceTrackingは、フェイストラッキングパラメータを送信することでBasisとの通信を開始します。
- 成功すると、VRCFaceTrackingウィンドウに次のように表示されます:

その後、シーンビューで 自身のアバターの顔を見て、どのように動くかを確認してください。
技術仕様
ほとんどのアドレスをサポートしています。EyeLeftYとEyeRightYの代わりにEyeYが使用されます。
すべてのアドレスは、1アドレスあたり1バイトを使用して送信されます。
利用可能な範囲で線形量子化が使用されているため、フェイストラッキングの目的には十分な精度を持っています。
- 0.0から1.0までの値の場合、ステップは約0.004(0.4%)です。
- -1.0から1.0までの値の場合、ステップは約0.008(0.8%)です。
- -1.0、1.0、および0.0の値は、量子化後も同じ値を維持することが保証されています。
接続されたハードウェアがアドレスをサポートしていない場合、そのアドレスによってネットワークが消費されることはありません。
リモートユーザーの場合、フェイストラッキングはデフォルトで補間されます。