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
をマーケットプレイスからインストールしておきます.- https://www.unrealengine.com/marketplace/ja/product/mixed-reality-ux-tools
- プラグインを
エンジンにインストール
し,UE4で利用できるようにしておきます.
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
のサンプルプロジェクトを開いた後にプロジェクトの設定を行います.- 以下のページの
プロジェクト設定
同様に設定を行います.- UE4.23 Preview 5でHoloLens2対応を確認(Preview 7で動作確認)
- HoloLensのPackagingのSigning Certificateは新規作成から
none
を選択 - 説明はProject Name,Company Name,Company Distinguished Nameを入力(Company Name,Company Distinguished Nameは
CN={名前}
形式で記入)
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プロジェクトは正常に表示された.(要HoloLens
,Microsoft Windows Mixed Reality
プラグイン)