環境
概要
UE4のOculusGoとOculus Quest向けのTemplateをgithubに公開しています。
- Oculus Go(UE4.19 - UE4.22)
GitHub - PaperSloth/UE4OculusGoTemplate: OculusGo Teloport Example
#UE4 の #OculusGo のテレポートサンプルをアップしました。
— まめお (@PaperSloth) May 11, 2018
OculusGoの開発設定が出来ていれば誰でも動かせると思います。https://t.co/zsAhCwfW7O pic.twitter.com/1V7OdQYN4r
- Oculus Quest(UE4.22)
GitHub - PaperSloth/UE4OculusQuestTemplate: Oculus Quest VR Template
VR TemplateをQuestでも動くように設定書き換えただけのやつを公開しました。
— まめお (@PaperSloth) June 9, 2019
あんまりいじってないので、不要な要素を削ったりとかとかは後日また気が向いたらやります。https://t.co/vipAzrbV3u pic.twitter.com/3RcQWHv4Z4
GoとQuestは基本的に設定が同じなので、Goのセットアップをした人はすんなりと開発を始めることができます。
今回は上記TemplateをDownloadした前提で進めます。
Oculus Go/Quest向けのセットアップ
1. Oculus Go/Questを開発者モードにする
スマホのOculusのアプリを開いて
設定 -> HMDを選択 -> その他の設定 -> 開発者モード から変更が可能です。
開発者モードの有効化は調べてすぐに出てくるため、もし分からなければ別途検索をしてください。
2. CodeWorks for Android のインストール
Engine/Extras/AndroidWorks/Win64/
CodeWorksforAndroid-1R7u1-windows.exe を起動して手順に沿ってインストールを行ってください。
詳細については公式のAndroidのドキュメントに記載があります。
ドキュメントではCodeWorksforAndroid-1R6u1-windows.exe ですが
使用したいエンジンバージョンのものであれば基本的に問題はありません。
Unreal Engine | 1. Android 向けゲーム開発に必要な設定
必須のSDKとしてはAndroid 4.4.2(API 19)は必須です。
Oculus Go/QuestのどちらもAPI 19を利用します。
Project側の設定を変更する
DownloadしたTemplateを起動し、Project Settingsを開きます。
- Platfoms -> Androidから
APK Packaging -> Configure Nowを押下
Google Play Services -> Configure Nowを押下
どちらも「Platform files are writeable」になっていることを確認
SDKの各種pathを通す
- android-sdk-windows
- android-ndk-r14b
- apache-ant-1.8.2
- jdk 1.8.0_77
上記4つへのpathが通っていることを確認してください。
Templateでの設定は以上になります。
新規にプロジェクトを作った場合は他にも設定が必要です。
GoもQuestもGear VRのドキュメントが一番参考になります。
Samsung Gear VR UE 4 のクイックスタート | Unreal Engine ドキュメント
HMDと接続して動かしてみる
Oculus Go/QuestとPCをUSBで接続します。
Androidの設定が無事にできていれば、LaunchからQuestが選択できます。
Oculus Goの場合はPacificという名前です。
HMDをUSB接続せずにadbを用いてリモートで開発する
adbのセットアップが完了している人は下記で行なえます。
> adb shell ip addr show wlan0
でip addressを確認して
> adb tcpip 5555
USBを抜く
> adb connect (ip address):5555
> adb devices
で接続を確認できればUSBで接続をしていなくてもLaunchで実行できます。
では順に見ていきましょう。
まずはadb(Android Debug Bridge)への環境変数を設定する
adb(Android Debug Bridge)へのpathは
\NVPACK\android-sdk-windows\platform-tools になります。
Android SDKをインストールする際にNVIDIA CodeWorks for Android 1R7 Component Managerをインストールしたpathです。
環境変数のPathにこの\NVPACK\android-sdk-windows\platform-toolsへのpathを追加します。
コントロールパネル -> システムとセキュリティ -> システム ->
システムの詳細設定 -> システムのプロパティ -> 環境変数 から編集を行います。
Pathにplatform-toolsへのpathを追加して、PCを再起動します。
再起動をしたあとは
adbへのpathが通っているかを確認します。
Win + Rでcmdと入力するかWindowsメニューからコマンドプロンプトを起動します。
adbと入力して、pathが通っているかを確認します。
> adb
Pathが通っていれば
Android Debug Bridge Version 1.0.xx とadbの使い方のヘルプが表示されます。
HMDとPCをUSBで接続済のことを確認した上で
コマンドプロンプトから下記を入力します。
> adb shell ip addr show wlan0
inet 192.168.xxx.xxx が表示されます。
これがHMD側のIP Addressになります。
次に任意のポートでTCP/IP 接続を行えるようにします。
今回は無難に5555のポートを使用します。
設定できるポートは5555 - 5585だった気がします。
> adb tcpip 5555
TCP/IP接続のリッスン状態にしても特に何もログが出ません。
ここでHMDとPCを繋いでいるUSBを抜きます。
続いて先程取得したIP AddressをもとにHMDに接続を試みます。
> adb connect (IP Address):5555
connected to (IP Address):5555 と表示されれば接続成功です。
念のために再度確認をしておきます。
> adb devices
List of devices attached
(IP Address):5555 device
adb devicesで接続中のデバイス一覧を表示し、接続が行えているかを確認します。
再びUE4 Editorに戻ってUSBを繋いでいない状態でもLaunchできることを確認しましょう。
Launch DeviceがQuest(IP Address):5555 になっていれば成功です。
以上でUSB接続しなくてもVR開発が行えるようになりますね!
とっても快適です。
なお、再度USB接続を行った場合はリモートセッションが解除されてしまうため
再度上記の手順でリモートで開発が行えるようにする必要があります。