はじめに
UnrealEngine4のプラグインであるUE4-CustomGravityPluginをVR化して、小さな惑星の上を走り回れるようにしてみました。
UE4.25.3を使用し、動作確認はOulusQuestで実施しています。
完成イメージは以下動画のような感じです。
UE4-CustomGravityPluginをVRで動かしたら面白そうだと思って、まずはそのままビルドしてみたけれど、ナビメッシュが使えずいつも使っているテレポート移動もできない・・どうしよう pic.twitter.com/XaVP8ia5id
— 高浜 (@SatoshiTakahama) September 13, 2020
環境
Windows10
Visual Studio 2019
UnrealEngine 4.25.3
※Visual Studio 2019だと文字化けの問題があるため、通常はVisual Studio 2017を使用したほうがよさそうです。自分はディスク容量の問題があり追加でインストールするのが厳しかったため、VS2019でUE4のビルド時に日本語出力が文字化けするの対応をいれて使用しています。
作り方
準備
・UEで新規プロジェクトを作成します。ゲーム=>バーチャルリアリティー=>プロジェクト設定でモバイル/プロジェクト設定と、スケーラブルな3D・2Dを選択してプロジェクト作成します。
・プロジェクト設定からエンジン-インプットを選択してエクスポートを押し、適当なファイル名でインプット設定を保存します。
・UE4.25.3で動くように修正したUE4-CustomGravityPluginからファイルを入手します。入手したファイルのプロジェクトをUEで開きます。
・プロジェクトにはいくつかマップが含まれていますが、小さな惑星の上を走り回るサンプルのマップPlanetGravity_Mapを開きます。
OulusQuest向けの設定変更
Oculus QuestおよびOculus Go:クイックスタートに説明があります。ここにも簡単ですが自分の設定を書いておきます。
・プロジェクト設定のプロジェクト-ターゲットハードウェアを以下のように変更します。
・プロジェクト設定のプラットフォーム-Andoroidを以下のように変更します。
・プロジェクト設定のエンジン-レンダリングを以下のように変更します。
・プロジェクト設定からエンジン-インプットを選択してインポートを押し、先ほど保存したインプット設定のファイルを指定します。インプット設定は手動でもよいのですが、結構手間なので今回はこのような方法にしています。
キャラクターの設定変更
・マップ上に配置されているFirstPersonCharacter_BPを開きます。
・インプット設定の変更により、既存のインプットのノードはエラーになるため削除します。
・OculusTotchで動かすインプットのノードに変更します。
完成
ここまで作成した状態で実行すると、VRで小さな惑星の上を走り回れるようになっています。
参考資料
・UE4-CustomGravityPlugin
UE4-CustomGravityPluginの配布元のページです。
・UE4-CustomGravityPlugin を試してみる
こちらの記事がきっかけでUE4-CustomGravityPluginの存在を知りました。