見出し画像

【UE4】【UE5】キャラクターのリアルタイム口パクOculusLipSyncを4.25以上で使うには?

■ はじめに

UE4には音声データやマイクからキャラクターをリップシンク(口パク)させる方法に、Oculus社が無料公開しているOVRLipSyncがあります。しかし、マイクからリアルタイムに口パクさせる機能(LiveCaptureモード)を4.26やUE5で利用しようとするとマイクが認識しないという問題があります。

今回はこの問題を解決し、4.25以上で利用できるように解説したいと思います。

説明では4.26をサンプルに上げてますが、移行をUE5にスイッチすればUE5でも動作いたしました。

■ 環境

・Windows10

・UE4.26.2(デモは4.25)(UE5では早期アクセスで動作確認済み)

・VisualStudio2019

・OVRLipSyncUnrealDemo

配布元▼  

https://developer.oculus.com/downloads/package/oculus-lipsync-unreal/

■ 4.25での動作確認

公式サイトからデモプロジェクトをダウンロードしたら、まず4.25での挙動を確認します。

細かい説明は他の方が記事を出していらっしゃるのでそちらをご覧ください。

コンテンツ/Maps/LiveCaptureMelindatarのレベルを実行して、PCのマイクに応じてデモモデルが口パクするか確認しましょう。

■ 4.26移行と原因の確認

4.25環境での動作チェックがうまくできたら、一度プロジェクトを閉じてバージョンを変更します。

画像1

画像2

この状態で先ほどのレベルを実行すると、マイクがうまく認識できていなく、赤いエラーが出ていることがわかります。

画像3

■ 解決方法

プロジェクトを閉じ、以下のファイルをVisualStudio等で開きます。

~ OVRLipSyncUnrealDemo\Plugins\OVRLipSync\Source\OVRLipSync\Private

OVRLipSyncLiveActorComponent.cpp

画像4

122行目の「DEFAULT_DEVICE_NAME」を「""」(空文字)に変更します。

▼変更前

VoiceCapture = FVoiceModule::Get().CreateVoiceCapture(DEFAULT_DEVICE_NAME, SampleRate, 1);

画像5

▼ 変更後

VoiceCapture = FVoiceModule::Get().CreateVoiceCapture("", SampleRate, 1);

画像6

次に、~OVRLipSyncUnrealDemoファイル直下のIntermediateとBinariesを削除します。

画像7

プロジェクトを開きます。

IntermediateとBinariesを消したことでリビルドが走り、先ほどの変更が適応されます。

画像8

エラーが消えてうまく実行できていることを確認しましょう。

画像9

お疲れさまでした。

オリジナルキャラクターへの適応や音声ファイルからの口パクの生成など

より詳細な使用方法はこの記事を参考にチャレンジしてみてください。

https://pafuhana1213.hatenablog.com/entry/2018/11/26/011057

この記事が気に入ったらサポートをしてみませんか?