開発
開発
プラットフォームを選択

サンプルシーンを使用してOculusリップシンクを理解する

End-of-Life Notice for Oculus Spatializer Plugin
Oculus Spatializerプラグインは、Meta XR Audio SDKに置き換えられ、現在はサポート終了段階にあります。v47以降については、サポートは提供されません。このプラグインの使用を停止することを強くおすすめします。お使いのエンジンに対応したMeta XR Audio SDKのドキュメントに移動してください。
- Unity Native用Meta XR Audio SDK
- FMODおよびUnity用Meta XR Audio SDK
- WwiseおよびUnity用Meta XR Audio SDK
- Unreal Native用Meta XR Audio SDK
- FMODおよびUnreal用Meta XR Audio SDK
- WwiseおよびUnreal用Meta XR Audio SDK
このドキュメントが今後更新されることはなく、削除される場合もあります。
このガイドでは、プロジェクト内でリップシンク統合を使用する方法について説明します。Unityサンプルシーンまたは付属のprefabが参考になるかもしれません。リップシンクプラグインを使用するには、Unityプロジェクトにリップシンクアセットを追加するダウンロードと設定の手順を完了していなければなりません。

リップシンクのメインインターフェイス

リップシンクを使用するには、OculusリップシンクプラグインへのメインインターフェイスであるOVRLipSyncスクリプトがシーンに含まれていなければなりません。Metaは、利便性のためLipSyncInterface prefabを提供しています。このprefabは、Unityの[Assets (アセット)] > [Oculus] > [LipSync (リップシンク)] > [prefab]メニューオプションにあります。まず、このprefabをシーンに追加します。

オブジェクトでリップシンクを動かすには

制御対象のモーフまたはテクスチャーターゲットを含む各GameObjectにOVRLipSyncContextを追加する必要があります。このスクリプトにはいくつかのオプションが用意されています。
  • Show Visemesは、OVRLipSyncDebugConsoleの応答を表示します。このオプションは、LipSyncDebugConsole prefabを追加すれば簡単に組み込むことができます。
  • Audio Loopbackは、受け取った音声をアウトプットとして再生します。
  • Enable Keyboard/Touch Inputは、これら2つのオプションでキーボードおよびタッチコントロールを有効にします。
いずれのオプションでも、ツールチップに詳細情報が表示されます。
OVRLipSyncContextMorphTargetOVRLipSyncContextTextureFlipは、この後のセクションで説明するように、OVRLipSyncContextからの口形素アウトプットを橋渡しするスクリプトです。

ジオメトリモーフターゲット

OVRLipSyncContextMorphTargetにはSkinned Mesh Rendererが必要であり、このレンダラーにはブレンドターゲットが割り当てられていなければなりません(LipSyncMorphTarget_Lips prefab内のLipsオブジェクトの例を参照)。メッシュには、OVRLipSyncContextによって生成された15の口形素がすべて含まれています([Lips]インスペクタービューでBlendShapesを展開するとアクセスできます)。以下はその例です。
silからouまでの各ブレンドターゲットは、口形素エンジンによって生成された口形素を表しています。それぞれを表示するには、1つの口形素のブレンドターゲットを100.0に設定します。なお、silsilenceつまりニュートラル表現に対応しています。この値を100、他のすべての値を0に設定すると、視覚効果は生じません。Oculusでは、口形素のMPEG-4規格の画像に基づき、口形素画像の参照セットをこちらで提供しています。
口形素は唇の形をキャプチャしたものです。表情を追加したいなら、さらに形状を追加できます。口による表情を追加するときには注意が必要です。例えば、口形素の形状の上に笑いの表情を追加すると、異様に見えるかもしれません。OVRLipSyncContextMorphTargetスクリプトの[Viseme To Blend Targets (口形素からブレンドターゲット)]に含まれているオプションを使って、必要であれば、リップシンクの15のアウトプットを最初の15以外のブレンドシェイプに割り当てることができます。
[Enable Viseme Test Keys (口形素テストキーを有効にする)]オプションを選択すると、デフォルトでUSレイアウトキーボードのQWERTY列を使用して各口形素を100%反映させるか、または[Viseme Test Keys (口形素テストキー)]を展開してキーを設定できます。

テクスチャーフリップターゲット

OVRLipSyncContextTextureFlipには、マテリアルターゲットと、OVRLipSyncContextからのアウトプットに基づいて選択されるテクスチャーのセットが(各口形素ごとに1つずつ)必要です。これらのテクスチャーは、[Textures (テクスチャー)]フィールド内で設定する必要があり、特定の口形素に関連付けるテクスチャーと一致しなければなりません。
OVRLipSyncContextTextureFlipスクリプト内のロジックは、特定のフレームで使用するテクスチャーを1つだけ選択し、それをメインマテリアルテクスチャーに割り当てます。メインマテリアルテクスチャーは、アバターの唇の描画に使用されるモデルに割り当てる必要があります。

その他のOculusリップシンクのスクリプト

OVRLipSyncMicInputは、AudioSourceが添付されているGameObjectで使用するためのスクリプトです。接続されているマイクからのインプットを受け取って、AudioSourceにパイプ転送します。
この統合に含まれているほかのスクリプトとprefabを参照してください。そうすれば、Oculusリップシンクでできることについて理解を深めることができます。例えば、画面上(VR内)でスムーズにデバッグを行うためのヘルパースクリプトがいくつかあります。

リップシンクとオーディオの空間化を使用する

Oculus Native Spatializer for Unityを使用して音源を処理すると、ユーザーは自分の頭の向きと位置に基づいて、3D環境で音声を体験できます。これにより、没入型エクスペリエンスにおけるユーザーの音声体験が劇的に向上します。ただし、発話音声が空間処理されると、発話信号の整合性が影響を受けます。空間処理を行うと必然的に信号にノイズが付加されるため、口形素アウトプットの質が低下します。オーディオの空間化をリップシンクと組み合わせて使用するには、空間化ツールが信号を後処理するように構成し、生インプット信号によって口形素エンジンを同時反映させるようにします。
デフォルトでは、Oculus Native Spatializer for UnityはAudioSourceバッファを処理した後で、OnAudioFilterReadを呼び出します(この関数は、リップシンク機能が有効になっていれば、リップシンク機能を呼び出します)。この順序を変更するには、AudioSourcespatializePostEffectsフラグをTrueに設定します。このフラグは、Unityスクリプトの関数OnAudioFilterReadで設定できるほか、[Inspector (インスペクター)]ウィンドウでも設定できます。[Spatialize (空間化)]フィールドがオンになっていれば、該当フィールドが表示されます。詳しくは、AudioSource.spatializePostEffectsをご覧ください。
ナビゲーションロゴ
日本語
© 2026 Meta