Oculus Questの開発環境セットアップ手順+シューティング(のようなもの)を作ってみた
2019.08.16
こんにちは。
ユニトラストの筒井です。
ちょっと前にFacebookより販売されたVRヘッドセット、Oculus Questを購入していました。
しばらく遊んだのち、自分もアプリを開発できないかさっそく調べたところ、
その方法がとてもシンプルかつユニークだったため、その内容を書きたいと思います。
VRって何?
VRはVirtual Realityの略称です。日本語では「仮想現実」と訳されることが多いです。
簡単に言うとヘッドセットを使い、人の手によって作られた空間を、現実世界により近い形の感覚で提供するための技術となります。
詳細な解説は、Wikipediaにお譲りいたします。
Oculus Quest とは
Oculus社(Facebookに吸収合併されました)によって製造された、家庭向けスタンドアロンVRヘッドセットの第二弾となります。
第一弾として2018年5月にOculus Goが販売されておりますが、それから下記のような強化がありました。
- 性能強化
Qualcomm Snapdragon 821 → Snapdragon 835, メインメモリ3GB→4GB等 - 6DoF対応(インサイドアウト方式)
Oculus Goでは3Dofで「頭の向き」しか反映できなかったが、6Dofとなり「頭の移動」も空間に反映されるようになった。 - Oculus Touchコントローラー搭載
Oculus Goでは角度を検出できるコントローラーが1本のみだったが、
Oculus Rift S (PC用VRヘッドセット)と全く同じ2本の6Dofコントローラーが付属された。
個人的にOculus Goの性能や操作性では、動画系のVRコンテンツを楽しむのが精いっぱいかな?と思っていたので、
性能やコントローラー等、様々な側面で強化されたOculus Questには高い期待がありました。
実際、操作系がPC用のVRと統一されたことやもともとOculusブランドだったため、Oculus Questが販売された時点で、
Robo RecallやBeat Saber、VRChatなど、多くのPC向けタイトルが既に移植されており、すぐに楽しめました。
(新規タイトルはそこまで多くはありませんでしたが、公式チュートリアルのFirst Step等はとても素晴らしかったです。)
Oculus Questがどのくらい楽しいのかは、動画を見たり、ぜひ持っているお友達に借りたりしてみてください。
家電量販店などでは、PC向けVRが体験できる場所が用意されていることもあるので、そちらも是非。
開発者向けセットアップ
早速Oculus Questでアプリを作るための環境をセットアップします。
必要なツールは下記の通りです。
- Oculus Quest本体
- Unity Hub
- JDK 8 (Unity Hubよりインストール)
- Android SDK(Unity Hubよりインストール)
- Unity(Unity Hubよりインストール。Oculus Storeに申請する場合、バージョン2018.2以降必須)
関連機能のインストールが充実しているため、今回はUnity 2019.1を使ってセットアップします。
Unity Hubをこちらよりダウンロードし、インストールしてください。
起動後、下記画面の右上から「インストール」を押します。
Unity 2019.1 を選択します(マイナーバージョンはアクセスした時期によって更新されている場合があります。)
モジュール選択で「Android Build Support」およびその中の「Android SDK & NDK Tools」を選択します。
いくつかの規約事項の確認後、下記のように自動的にダウンロード・インストールが開始されます。
ちょっと長いです。その間に Oculus Quest側の開発者設定をオンにします。
Oculus Questとペアリングした端末で「その他の設定」から「開発者モード」をオンにすることで設定できます。
また、アカウントが開発者登録をしていない場合は、その過程で https://dashboard.oculus.com/ での登録を促されるため、
端末のアカウントで開発者登録をします。
Unity 2019のインストールが完了したら、Unity Hubにて「プロジェクト」から「新規作成」をし、
下記のように3Dプロジェクトとして作成します。
ひとまず起動することを目標とするため、いくつかのアセットをインストールするステップをいったん省略します。
まず「File」→「Build Settings」→「Android」→「Switch Platform」と順に選択します。
少し待った後、「Player Settings」→「XR Settings」と選択していき、「Virtual Reality SDKs」に「Oculus」を追加します。(ここも多少の待ち時間があります。)
「Other Settings」を開き、Graphics APIsからVulkanがあればそれを削除します。
下記の画像のように「OpenGLES3」になっていれば問題ありません。
そのまま下にスクロールし、「Package Name」を適当なものに変更し「Minimum API Level」をAndroid 4.4 ‘KitKat’ に変更します。
これでビルドできるようになったので試します。
Oculus QuestをPCにつないでおきます。
「開発者モード」をオンにして最初につないだ場合、以下のようなダイアログがHMD内に表示されることがありますので、
コントローラを使って許可します。
無邪気に「Cube」を配置し、「Build Settings」を開きなおし「Build and Run」をします。
ビルドが行われ、接続されているOculus Questに自動的にインストールされます。
インストール完了後、アプリが自動起動するので、HMDを装着し、無邪気に配置したCubeが立体視で見れることを確認できます。
(上記画面は、Chrome拡張機能である「Vysor」を使い、HMD内の映像をPC上に表示しています。)
以上でUnityアプリをOculus Quest用にビルドするための手順は完了になります。
以降は、変更を加えて再ビルドを行うか、下記のようにOculus内にインストール済みのビルドの再実行ができます。
とりあえず何か作ってみる。
Unityの初期状態の青空空間ではさすがにもったいないので、先ほどスキップした、Oculus Integration アセットをプロジェクトに追加して、ボタンの操作を取得してみました。
Oculus Touchの6DoF情報や、ボタンの入力などがしっかり取得できています。
また、ここから、ちょっとしたゲームを作ってみました。
スティックで自機を移動し、Oculus Touchの向きに弾を飛ばす、いわゆるシューティングのようなものです。
サウンドやエフェクト、レベルデザイン、UI/UX等を洗練させていければ、
ゲームとしての完成度も上がっていくと思います。
記事の内容は以上です。
今後もOculus Questを弄りながら、あわよくばOculus Storeの審査の提出を狙ってみようと思います。
CONTACT
お問い合わせ
あなたの「想い」に挑戦します。
どうぞお気軽にお問い合わせください。
受付時間:平日9:00〜18:00 日・祝日・弊社指定休業日は除く