UE5でOculus LipSyncを用いてリアルタイムにVRMのリップシンクを行う


UnrealEngine5とOculusLipSyncPluginを用いてVRMキャラクターのリップシンクを行いました。

でも

バージョンと環境、事前知識について


今回はUE5.1を使っています。他のバージョンは検証してません。

UE4でのOculus LipSyncは分かるけどUE5じゃどうやってリアルタイムにシーケンスを作成するか分からんて人向けです。 この記事はUE5で動かすのに苦労した自分の備忘録です。 リアルタイムの音声取り込みにはRuntime Audio Importerを使用し、WAVファイルの読み込みをbase64で行うことを想定しています。

Runtime Audio Importer


必要な物


OculusLipsyncPlugin-UE5

UE4 OVR lipsync cook frame sequence

今回はこちらのふたつを使用させせて頂きます


事前準備/今回のメイン


①プロジェクトをC++化します

②UE4 OVR lipsync cook frame sequenceのInstallationを参考にし、ダウンロードしたファイルの中にあるCookFrameSequenceAsync.hとCookFrameSequenceAsync.cppを ovr lipsync integrationのPublic,Privateフォルダーの中に入れます。

③slnファイル(yourproject.sln)をVisual Studioで開き、プロジェクト自体をビルドします。これによりUE4 OVR lipsync cook frame sequenceがUE5でも使えるようになります。(cook frame sequenceノードが表れます)

Blueprintの画像

BPの実装


詳しい実装はおかずさんのをおかずさんのを参考にしてください。

Blueprintの画像

base64デコードデータを取得→オーディオインポート→base64を元にシーケンス作成→startで解析開始→解析完了後リップシンク という流れです。

ホーム