なんかいろいろしてみます

Mar 29, 2021 - 1 minute read - HoloLens

UE4でHoloLensアプリビルドしてXboxコントローラー利用する方法

UE4のHoloLensアプリでXboxコントローラーを使いたくなったので手順を書いてます.

環境

  • UE4.26.1
  • VisualStudio2019

UnrealEngine4(UE4)でHoloLens開発

  • HoloLens 2から正式にUE4でアプリ開発ができるようになりました.
  • Epic Game LauncherからUnreal Engineをインストールします.
  • エンジンインストール時にオプションの対応プラットフォームからHoloLens 2を選択しておきます.
  • またHoloLens開発を手助けするツールセットのプラグインMixed Reality UX Toolsをマーケットプレイスからインストールしておきます.

UE4でHoloLens 2アプリビルド手順

  • 今回はHoloLens用のUX Toolsのサンプルプロジェクトを利用します.
  • 以下からプロジェクトをクローンして,UE4エンジン起動後のプロジェクト選択画面からMixedReality-UXTools-Unreal/UXToolsGame/UXToolsGame.uprojectを選択します.

ソースコード修正

  • 一部日本語環境ではUE4のビルド時に文字コードによるエラーが発生する場合があります.
  • エンジン内のコードを修正する必要があるためEpic Games/UE_4.26/Engine/Source/Runtime/Core/Public/Misc/Char.hを開きます.
  • 以下のページのコード修正項目同様に設定を行います.

プロジェクト作成,設定

  • UX Toolsのサンプルプロジェクトを開いた後にプロジェクトの設定を行います.
  • 以下のページのプロジェクト設定同様に設定を行います.

XBoxコントローラー利用

  • HoloLens 2でBluetooth 対応 Xbox コントローラーを利用します.
  • HoloLensとは有線,Bluetooth無線どちらでも接続することができます.

コントロール対象設定

  • コントローラーで操作するオブジェクトを設置します.
  • アクタを設置からキューブディレクションライトをレベルに配置します.
  • 配置配置されたCubeを選択し詳細トランスフォーム/可動性ムーバブルに変更します.

BluePrint設定

  • コントローラーでの操作処理をBluePrintで設定します.
  • ブループリントからレベルブループリントを開くを選択しブループリントエディタウィンドウを開きます.
  • イベントグラフ画面にメインウィンドウのアウトライナ内にある新しく配置したCubeをドラッグアンドドロップします.
  • ゲームパッドからの入力とアクタのトランスフォーム設定のノードを追加しCubeアクタが移動できるように接続します.
  • BluePrintをコンパイルしエラーが出なければレベルを保存し,メインウィンドウからファイル/プロジェクトをパッケージ化/HoloLensを選択しHoloLens用パッケージを作成します.

  • ゲームパッドのコントローラーは標準でカメラの操作に適応されているため,ボタンやスティックの一部は操作が競合する場合があります.

  • UE4.26ではBlankプロジェクトをそのままパッケージしてもHoloLensでオブジェクトが表示されなかったです.

  • UX Toolsのサンプルプロジェクトは正常に動作したのでHoloLens用設定が必要みたい

  • UE4.25ではマーケットプレイス上のMixed Reality UX Toolsプラグインがビルドエラーでパッケージ化できなかった.

  • UE4.25のMixed Reality UX Toolsを入れていないBlankプロジェクトは正常に表示された.(要HoloLensMicrosoft Windows Mixed Realityプラグイン)