Help us understand the problem. What is going on with this article?

0から始めるQuestビルド

まえがき

 先日ついにスタンドアローン(PC接続なし)で6DoFのVR体験が可能なOculusQuestが発売されましたね。さっそくストアのゲームをプレイしましたが、スタンドアローンでこのクオリティ?と驚かされるコンテンツばかりでした。
 でも、やっぱり自分で作った空間をVRで体験したい!自分のためだけのVRコンテンツを作ってみたい!と思った人のためにUnityでQuest用のビルドをする方法をまとめます。今回はUnityHubのインストールからOculusIntegrationのサンプルシーンをQuest上で動かすことを目標に手順を解説していきます。(今回はたぶんスクリプトを1行も書かずにビルドまでするので気楽に読んでね!)

OculusQuestの準備

1.PCとの接続

 Questで開発を行うにはPCに接続するためのUSBTypeCケーブルが必要です。コツコツとUnityでアプリを作ってもUSBケーブルが無いと悲しいことになってしまうので、家に偶然USB-USBTypeC変換ケーブルなどがなかった人はあらかじめ準備しておきましょう!

2.Oculus開発者登録

Oculusの開発者登録をしていない場合は https://dashboard.oculus.com/ から開発者登録をしておきます。リンクを開いたら適当な名前で団体を創ればOKです。

3.QuestをPCに接続する

 スマホのOculusアプリからQuestの開発者モードをONにします。
設定タブ>OculusQuest>その他の設定>開発者モード の順に押して開発者モードがONになっているか確認してください。
 40d019b065ea0d9c55ca55cb12e446e8.png
 開発者モードをONにしたらQuestをPCに接続します。USBケーブルでPCとQuestをつなぐと、Quest内の画面でUSBデバッグの許可を聞かれるので許可しておきましょう(チェックボックスにチェックを入れておくと今後楽)。

AndroidSDKのインストール

 さっきまで忘れてました。0から始めたPCにはAndroidSDKが入っていないので、下リンクからAndroidStudioをインストールしておきましょう。
https://developer.android.com/studio/

Unityの準備

1.UnityHubのインストール

 UnityHubは複数のバージョンのUnityを簡単に管理するためのツールです。下のリンクからダウンロードしてインストールしてください。
https://unity3d.com/jp/get-unity/download
dc7a0a497abdeab2a1cc7f2da5b214c9.png
 UnityHubのインストールが終わり起動すると以下のような画面が出てきます。
 初期状態のままではUnity自体がインストールされておらず、なにもつくれないのでUnityをインストールしていきます。まず①のインストールタブ次に②のインストールボタンを押します
49e257fb1425d593f531525bbae4c098.png
 するとUnityのバージョンを選択できる画面になるのでとりあえず最新の安定バージョン(バージョン名の最後にfがついているもの)を選びましょう。
 次の画面ではAndroid Build Supportのチェックを忘れずに入れて次へを押します。
d44c6a319af11e81f079987d8e583b2c.png
 その後Unityのインストールが終わるまでしばらく待ちます。(ケッコウナガイヨ)

2.プロジェクトの作成

 インストールが終わったら、①のプロジェクトタブ次に②の新規作成を押します。
スクリーンショット (59).png

Unityの設定項目をQuest用にする

プラットホームの変更

 UnityはデフォルトでPC向けのモードになっているので、Quest向け(Android環境)に切り替えましょう。
File>BuildSetting でBuildSettingウィンドウを出して、①Androidのタブを選択後②SwitchPlatformのボタンを押します。
スクリーンショット (60).png

ビルド設定のなんやかんや

 BuildSettingウィンドウの左下のPlayerSettingボタンを押してPlayerSettingウィンドウを出します(Playerタブになっているか確認)。
①CompanyNameが他アプリと同じだと上書きされてしまうので、被らないように変更しておきましょう。次にOtherSettingを押して、上の方のAutoGraphicsAPIにチェックを入れ(Valkanを消せばいいけどAutoのが楽)、その下の③MinimumAPILevelをAndroid7.1にします。
5b556c150db2fd2aebcced17a9aaf165.png
 PlayerSettingの一番下にXR Settingsの項目を開き、VirtualRealitySupportedのチェックを入れて、VirtualRealitySDKsにOculusを追加しておきます。
alt
 これで基本的な設定は終了です。

OculusIntegrationのインポートといろいろ

OculusIntegrationのインポート

OculusIntegrationはOculusがUnity向けに提供しているVR用のスクリプト集です。サンプルも豊富でOculus向けのアプリを作るならほぼ必須のツールだと思うので早速インポートしましょう。
Unityで①AssetStoreを開きOculus Integrationを検索します。たぶん1つしかないので、それをDownloadごImportします。のような画面が出てきたらImportのボタンを押します。
alt

サンプルシーンを開く

Unity画面下部のAssetsから先ほどインポートしたファイルを開きます。Oculus>SampleFramework>Usageの順にフォルダを開いてゆき、①AvatarGrabのシーンダブルクリックでを開きます。それっぽいオブジェクトが上の画面に出てきたらあってます(AvatarGrabの他にも様々なサンプルシーンがあるので、好きなもので試してみてもいいかもですね)。
次にカメラのスクリプト等をQuest用にするのでUnity画面左側のHierarchyから②LocalAvatarWithGrab>OVRCameraRigを左クリックで選択状態にします。すると画面右側の③InspectorにTargetDevicesという項目が出てくるのでここをQuestにします。
alt

いよいよビルド!

 File>BuildSetting でBuildSettingウィンドウを出して、AddOpenScenesを押して現在開いているサンプルシーンを追加しておきます。
 QuestがPCに接続されていることを確認後、BuildSettingウィンドウ右下部の"BuildAndRun"ボタンを押してapkファイルを適当なフォルダに保存します。初回のビルドは結構長いので、祈ったりして過ごしましょう。
 ビルドが最後まで終わるとQuestで勝手にアプリが起動します。下のようにコントローラーでブロックを積み上げられるようになっていれば完璧です!
alt
 アプリを閉じてUSB接続を解除しても、ライブラリ>提供不明のアプリの中にビルドしたアプリが残るので、外出先でも簡単に自作のアプリを体験してもらうことができます。
alt

Questマニュフェストの追加(2019/08/16追記)

 なんかマニュフェスト書かなきゃコントローラーが片っぽしか認識しないらしい。
Assets>Plugin>Android>AndroidManifest.xml

<uses-feature android:name="android.hardware.vr.headtracking" android:required="true" android:version="1"/>
を追記する。

おしまい

 今回はほ"ぼほぼ初めてUnityを触る人がQuest用アプリビルドまでたどり着ける"というコンセプトの記事だったので、かなり画像多めで内容が薄くなってしまいました。これを参考にQuestでのアプリ開発に興味を持った人が一人でもいてくれたらうれしいです。
 次があったら、もうちょい踏み込んだ解説をします。おやすみなさい。。。zzz

HhotateA
VRChatというゲームをやっています。
https://twitter.com/HHOTATEA_xR
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした