バージョンと環境、事前知識について
今回はUE5.1を使っています。他のバージョンは検証してません。
UE4でのOculus LipSyncは分かるけどUE5じゃどうやってリアルタイムにシーケンスを作成するか分からんて人向けです。
この記事はUE5で動かすのに苦労した自分の備忘録です。
リアルタイムの音声取り込みにはRuntime Audio Importerを使用し、WAVファイルの読み込みをbase64で行うことを想定しています。
https://unrealengine.com/marketplace/ja/product/runtime-audio-importer
必要な物
OculusLipsyncPlugin-UE5
①https://github.com/Shiyatzu/OculusLipsyncPlugin-UE5
UE4 OVR lipsync cook frame sequence
②https://github.com/IlgarLunin/UE4OVRLipSyncCookFrameSequence
今回はこちらのふたつを使用させせて頂きます
事前準備(今回のメイン)
①プロジェクトを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ノードが表れます)
BPの実装
詳しい実装はおかずさんのを参考にしてください。https://pafuhana1213.hatenablog.com/entry/2018/11/26/011057
base64デコードデータを取得→オーディオインポート→base64を元にシーケンス作成→startで解析開始→解析完了後リップシンク という流れです。