Oculus Quest / Unity もろもろ

Oculus Quest のゲームレビューと、Unityを使った開発について書く

UnityでOculus Questのゲーム開発を開始する手順

PCとOculus Quest本体さえあれば簡単に実機でゲーム開発が出来る!
こんなに素晴らしいことがあるだろうか。

だがしかし日本語での記事がほぼ見当たらなかったので書く。
Unityを使うのはほぼ初めてなので、ツッコミどころがあったらコメントでお願いします。
この通りにやっても詰まったよ!って場合もコメントもらったら修正します。
開発機はMacです。

Unityのインストール

Unity Hub のインストール

今のUnityはUnity Hubというのを使ってインストールするのが王道っぽい。

Unity Store - Downloadからダウンロードできる。
Unity Hub自体は軽量はアプリケーションなので、インストールまですぐに終わる。

Unity 本体のインストール

Unity Hubを起動してアカウント作成とかライセンスとか色々やると↓のような画面になるので右上のインストールをクリック。 f:id:malt03:20190527145037p:plain

最新版をインストールするが、ここでトラップ!
最後のピリオドの後が0a3とか0b3のようにabが入っているのはアルファ版やベータ版である。
4f1のようにfが入っているものをインストールする。
f:id:malt03:20190527145643p:plain

モジュールのインストール

Unityの中に入れるモジュールを選択する。
よくわからないけどとりあえず開発したい人は、

にチェックを入れて次へ。
Language packsの日本語とかも入れても良いかもしれないけど、個人的にはこういう開発ツールをローカライズするとググりにくくなるのでおすすめしない。
f:id:malt03:20190527150333p:plain

Oculus QuestはAndroidベースらしく、Android開発用の設定で開発していく。
Android SDKとかが入っている場合はAndroid SDK & NDK ToolsはUnityが勝手に認識してくれるので不要。
開発ツールでVisual Studioを使わない人は不要。
なので、本当に必須なのはAndroid Build Supportだけ。

二回利用規約に同意するとインストールが始まる。
これはUnity本体をダウンロードするので結構時間かかるし、インストールも時間かかる。
途中でパスワードを聞かれるので、放置してPCから離れているとインストールが終わらないという悲しい事件が起きる。
ダウンロードは進捗がわかるが、インストールは進捗がわからないので辛い。
ディレクトリもできてるし終わってるんじゃね…?とか思うけど、信じて待つときちんと終わる。

作ったゲームをOculus Questで動かす

サンプルとかもあるんだけど、なんかうまく動かない。 1から作ってもさらりと実機ビルドまで動くので、そっちのほうが早い。

前準備

Oculus Questを開発者モードにする

スマートフォンのOculusアプリを起動し、設定 > その他の設定 > 開発者モード を開き、開発者モードをオンにする。
まだ開発者登録をしていない場合、登録するよう促されるので登録し、再度同じ操作をすることで開発者モードをオンにできる。

開発者登録はOculus開発者ダッシュボードから出来る。

f:id:malt03:20190527173219p:plain:w200f:id:malt03:20190527173223p:plain:w200f:id:malt03:20190527173228p:plain:w200

ADB Driverをインストールする?(Windows向け)

Macなのでやっておらずわからないのだが、Windowsの人はADB Driverというのをインストールしなくちゃいけないっぽい?
Device Setup - Oculus QuestのページのInstall the Oculus Go ADB Driver (Windows only)を参照。

ゲーム開発

プロジェクトの作成

ようやくゲームを作る。プロジェクトタブから新規作成。テンプレートは3Dを選択。
プロジェクト名は適当。パスはわかりやすいところに。 作成を押すとUnityが立ち上がる。テンション上がってきたー!

Unityはじめての人はUnity / Oculus 開発はじめての人向けページ - Oculus Quest / Unity もろもろを読んで見て下さい。

f:id:malt03:20190527172600p:plain

Oculus Integrationのインポート

Oculus開発をするための色々が入ったセットをインポートする。
この作業はプロジェクトを作るたびにやらなきゃいけない。

Window > Asset Store を開く。
Search for assetsに"oculus"とか入れると"Oculus Integration"というアセットがあるはずなので、インポートする。
Import unity Packageというウィンドウが開くので、全てチェックが入った状態でImportをクリック。
まずまず時間がかかる。

アップデートするか聞かれるのでYes
Unityを再起動するか聞かれるのでRestart

再起動が終わると、メニューにOculusが追加されている。やった!

Virtual Reality Supported

まずはPlayer設定で Virtual Reality Supported をオンにする。
Edit > Project Settings... を開く。
Player を開き、Androidのタブの XR Settings 内の Virtual Reality Supported にチェックを入れる。
Virtual Reality SDKsOculusを追加。 f:id:malt03:20190527171454p:plain

Vulkan Graphics API を無効にする

XR is currently not supported when using Vulkan Graphics API.と警告が出ているのでよくわからないけど解消する。
f:id:malt03:20190527171714p:plain

Minimum API Level の設定

よくわからないけど、デフォルトは16になっていて、19にしないとビルドして実機に入れるタイミングで怒られて辛い気持ちになるので、このタイミングで変えておく。 f:id:malt03:20190527172237p:plain

GameObjectを置いてみる

このままビルドしても良いんだけど、何にもないのもアレなのでなにか置いてみる。
メニューの GameObject > 3D Object > Cube を押すとシーンに立方体が追加される。 f:id:malt03:20190527174939p:plain

実機で動かす!

まずはUSBでOculus QuestとPCをつなぐ。初回接続時にOculus側で許可する必要があるはず。
メニューのFile > Build Settings... を開く。
Android を選択し、Switch Platformをクリック。結構時間かかる。 f:id:malt03:20190527222137p:plain

終わったらBuild and Runをクリックすると、実機で実行される! f:id:malt03:20190528114802j:plain