表情トラッキング

Webカメラ・iPhone を使ったフェイストラッキング

本ガイドでは、VRC Avatar Viewer のアバターを表示するアプリを「ビューアーアプリ」、モーションキャプチャするアプリ (Motion Capture for VRC Avatar Viewer) を「キャプチャーアプリ」と呼びます。

Motion Capture for VRC Avatar Viewer (以降「キャプチャーアプリ」) は、まばたきや口の動きなどの表情もアバターに反映できます。表情データの取得方法と、アバターへの送信形式をそれぞれ選択して使います。

2 つのデータソース (取得方法)

  • Webカメラ (デフォルト) PC に接続した Webカメラの映像から表情を推定します。追加機材が不要で誰でも使えますが、頬や舌の動きは取得できないなど制約があります。
  • iPhone (iFacialMocap) Face ID 対応の iPhone と iFacialMocap (有料の iOS アプリ) を使うと、ARKit ベースの 52 種類の高精度な表情データを取得できます。Webカメラを大きく上回る表現力です。

取得した表情データを、どの形式でアバターへ送るかは「表情送信形式」で選択します (詳細は Step 3)。

Tips
  • iFacialMocap が接続中の場合、Webカメラより iFacialMocap の表情データが優先されます (体の動きは Webカメラのまま)
  • 送信形式によらず、iFacialMocap が有効ならそちらの表情データが使われます
  • VRChat 連携の詳細は VRChat でフェイストラッキング ガイドを参照してください
1

Webカメラで表情をとる

デフォルトの方法です。配信モードガイド の手順でカメラを開始すれば、自動的に Webカメラから表情も推定されます。追加の設定は不要です。

Webカメラで表情をとる
Webカメラで表情をとる

1-1. 取得できる表情

  • まばたき (両目それぞれ)
  • 母音 (あ・い・う・え・お)
  • 視線 (上下左右)
  • 眉の上下、口の開閉、口角の動き など

1-2. 取得できない / 苦手なもの

  • 頬の膨らみ、舌の動き
  • 暗所では精度が大きく落ちます。顔がはっきり見える明るさが必要
  • 横顔・うつむきなど、顔の正面が見えない角度
送信形式の選び方
  • Webカメラ単体で使う場合の推奨は VRM 標準 です。たいていのアバターで自然に動きます
  • Perfect SyncやVRCFTも動作します。しかし、上記のように取得できない動きがあります。
2

iPhone で高精度な表情をとる (iFacialMocap)

Face ID 対応の iPhone (iPhone X 以降) を使うと、Webカメラより大幅に表情の精度を上げられます。iFacialMocap という iOS アプリが必要です。

iFacialMocap
iFacialMocap

2-1. 必要なもの

  • Face ID 対応の iPhone または iPad Pro
  • App Store で購入した iFacialMocap (iOS 有料アプリ)
  • iPhone と PC が 同じ Wi-Fi (LAN) に接続されていること

2-2. iPhone 側のセットアップ

  1. iPhone で iFacialMocap を起動する
  2. 画面上に「PC側のソフトウェアと接続してください」と表示されるので、IP アドレス (例: 192.168.1.10) を控える
IPアドレスが表示されない時
  • iFacialMocapの設定を開いて、「宛先設定」を確認してください。「宛先IPアドレス」に値が入っていると表示されません。その下にある「宛先設定のリセット」を押してアプリを再起動すれば表示されます。

2-3. キャプチャーアプリ側のセットアップ

  1. キャプチャーアプリの「iFacialMocap のIPアドレス」欄に、控えた iPhone の IP を入力
  2. 「iFacialMocap を使う」をONにする
  3. 横のステータスが 「受信中」 になれば接続成功

2-4. ステータス表示の意味

ステータス意味
停止中「iFacialMocap を使う」トグルが OFF
IP未入力iPhone の IP が空欄。入力すると自動で接続を試みます
接続待機中ハンドシェイクは送信したが iPhone から応答がない (iFacialMocap が起動していない / IP 違い / 別ネットワークなど)
受信中正常に表情データを受信しています

2-5. 取得できる表情

ARKit ベースの 52 種類のブレンドシェイプ + 頭の回転 + 左右の視線が取得できます。Webカメラで取れない頬の膨らみや舌も含まれます (アバター側がそのブレンドシェイプを持っている必要があります)。

Webカメラとの併用について
  • iFacialMocap を有効にしている間も、体・腕・指の動きは Webカメラから取得され続けます
  • 「表情だけ iFacialMocap、体は Webカメラ」というハイブリッド構成です
3

表情送信形式 (ブレンドシェイプ規格) を選ぶ

キャプチャーアプリの「表情送信形式」ドロップダウンで選択します。アバター側の対応状況に合わせて選んでください。

表情送信形式の選択
表情送信形式の選択

VRM 標準

VRM が元から持っているまばたき・母音・視線などの基本表情を VMC で送ります。どのアバターでも動きますが、表現はシンプルです。Webカメラ単体で使う場合のデフォルト推奨です。

Perfect Sync

ARKit の 52 種類のブレンドシェイプを VMC で送ります。Perfect Sync 対応アバターでは、口角・眉・瞼の繊細な動きまで反映されます。iFacialMocap と組み合わせると効果的です。

VRCFT

VRCFaceTracking 5.x の Unified Expressions 規格で、VMC と VRChat OSC の両方に同時送信されます。VRChat 内のアバターと、ビューアー (OBS 配信用など) の両方で同じ表情を再現できる点が特徴です。

Tips
  • VRCFT を選ぶと、「送信開始」ボタンの下のキャプションが 「送信タイプ: VMC + VRChat OSC」 になります
  • VRChat 連携の詳細手順は VRChat でフェイストラッキング ガイドを参照してください
  • キャプチャーアプリ側の「表情送信形式」と Viewer 側の「タイプ」は同じものを選ぶ必要があります (詳細は Step 4)
4

Viewer アプリ側でフェイストラッキングのタイプを選ぶ

フェイストラッキング形式
フェイストラッキング形式

キャプチャーアプリ側で選んだ「表情送信形式」と、Viewer アプリ側で選ぶ「タイプ」は 同じものを選ぶ必要があります。Viewer 側のタイプは、配信モードのツールバー → 「フェイストラッキング」ボタンで開くウインドウから切り替えます。

4-1. ウインドウを開く

  1. Viewer アプリでアバターを表示する
  2. 配信モード (Streaming) を ON にする
  3. 配信パネル内の 「フェイストラッキング」 ボタンをクリック

4-2. タイプを切り替える

ウインドウ上部の「タイプ」ボタンをクリックするたびに、VRM/VRChat 標準 → Perfect Sync → VRCFT の順に切り替わります。キャプチャーアプリ側の選択と一致させてください。

Viewer 側「タイプ」キャプチャーアプリ側「表情送信形式」
VRM/VRChat 標準VRM 標準
Perfect SyncPerfect Sync
VRCFTVRCFT

4-3. 「対応:」表示の見方

「タイプ」ボタンの真下に、現在ロード中のアバターが対応しているタイプの一覧が 「対応: VRM/VRChat 標準, Perfect Sync」 のように表示されます。

4-4. 注意点

  • VRCFT 選択中はカテゴリ別の表情強度スライダーが無効化されます: VRCFT は VRChat OSC 経由で表情パラメータを直接駆動するため、Viewer 側のブレンドシェイプ強度調整は適用されません