この記事でのバージョン
Unity 2018.4.1f1
Oculus Integration 1.38
はじめに
今回はUnityでOculus Quest向けのゲームを開発する際の最初の一歩的な感じの記事です!
ユニティちゃんライブステージ in Oculus Quest 2 pic.twitter.com/iQHPZjx2pL
— カン@Game Creator(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2019年6月24日
なお、VIVE(Steam)やOculus Goでも似たような記事を書いていました。
ユニティちゃんライブステージ
今回はユニティちゃん(Candy Rock Star)ライブステージを例に
Oculus Quest向けアプリの開発手順の説明を行います。(他のプロジェクトでも手順は基本同じ)
ちなみにユニティちゃんライブステージとは以下の動画の事で、
なんと、プロジェクトファイル一式が公開されていたりもするのです!
導入も簡単で上記サイトからプロジェクトをダウンロードし、
![]() |
![]() |
![]() |
ダウンロードしたプロジェクトをUnityで開き、ScenesにあるMainというシーンを再生するだけで
冒頭の動画と同じものが開始されます。
![]() |
![]() |
![]() |
Oculus Quest向けにビルド
Oculus QuestはAndroidで動いてるのですが、Androidでビルドするためには色々準備が必要なので、
Androidでビルドした事がない場合は、以下のページを参考に先に準備を済ませてください。
Androidの設定が済んだら、ユニティちゃんライブステージのPlatformをAndroidにします。
![]() |
![]() |
また、PlayerSettingsのOther Settingsにある
Minimum API LevelをAndroid 4.4 ‘KitKat’ (API level 19)に変更、
同様にColor SpaceもGammaに変更、
![]() |
![]() |
さらにXR SettingsのVirtual Reality Supportedを有効にし、Oculusを追加する必要もあります。
![]() |
また、Oculus Questで見た時に不具合が出るので、
UnityCanStage/Prefabs/Main Camera RigのPostProcessing Behaviourを無効にしましょう。
![]() |
![]() |
最後にTexture CompressionをASTC、Build SystemをInternalにすればビルドの設定は完了で、
(ついでにCompression MethodもLZ4にするとアプリを圧縮出来ます)
後はBuildボタンを押せばapk(実行ファイル)がビルドされます。
![]() |
なお、今回は先程のMainシーンだけを追加してビルドしました。
Oculus Questにインストール
apkをビルドしたら、Oculus Questにインストールしたいわけですが、
その前にOculus Questを開発者モードにする必要があります。
開発者モードはOculusアプリのその他の設定から有効に出来ます。
![]() |
![]() |
![]() |
あとはUSBケーブルでPCと繋いでAndroidのスマホと同じ要領でapkをインストールします。
なお、インストールの仕方は先ほどのAndroidの設定ページにあります。
また、PCと繋いだ時にOculus Quest側(PC側ではなく)に許可しますか?(Allow USB debugging)
みたいなメッセージが出るので注意が必要です。
ちなみに自分でインストールしたアプリは提供元不明の欄に表示されます。
![]() |
特にプログラム等は変更していないのに、
この状態で既に首を回して周りを見渡す事が可能ですし、
自分が移動すればVR内でも移動出来るようになっています……!
(ただし、カメラの位置は自動で切り替わる状態)
ユニティちゃんライブステージ in Oculus Quest 1 pic.twitter.com/jRFqvfKmTT
— カン@Game Creator(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2019年6月24日
Oculus Integration
一応、Oculus QuestでUnity製アプリを動かすという目的は果たしたんですが、
ついでにOculus IntegrationというOculus公式から出ている無料のアセットの紹介もしておきます。
ちなみにこれは楽にOculus Quest周りの実装が出来るという優れモノです!
| Oculus Integration - Asset Store |
なお、Oculus IntegrationはOculus Quest以外にも、
Oculus GoやRift、Touch、Gear VRにも対応してるらしいですし、
Steam(VIVEとかも)でもそのまま使えるらしいです。(未確認)
Oculus Integrationはインストールしたら、PrefabがOculus/VR/Prefabに追加されるので、
カメラ(OVRCameraRig)を設置後、その下にコントローラー(OVRControllerPrefab)を左右分配置します。
![]() |
カメラ設置時にOVRManagerの設定をQuestにし、
![]() |
配置座標も調整します。(初期座標だとユニティちゃんと被るので)
![]() |
また、左側のコントローラーの設定も変更しておきます。
![]() |
あとは、元からあるカメラを無効にするために、
UnityChangeStage/Prefabs/Main Camera Rigの
Camera SwitcherとCamera Positionsを無効にします。
![]() |
![]() |
さらにコントローラーで移動するため以下のようなスクリプトをOVRCameraRigに追加します。
なお、Center Eye Anchorは追加時に自動設定され、MoveSpeedで移動速度を調整出来ます。
using UnityEngine; /// <summary> /// Transfomの座標を直接操作して移動するクラス /// </summary> public class TransfomMover : MonoBehaviour { //VR上で目の中心(見ている方向)を確認する用のアンカー [SerializeField] private Transform _centerEyeAnchor = null; //移動速度の係数 [SerializeField] private float _moveSpeed = 2; //================================================================================= //初期化 //================================================================================= //コンポーネントがAddされた時に実行される private void Reset() { //中心のアンカー取得 _centerEyeAnchor = transform.Find("TrackingSpace/CenterEyeAnchor"); } //================================================================================= //更新 //================================================================================= private void Update () { //スティックを倒してる方向を取得 Vector2 stickDirection = OVRInput.Get(OVRInput.Axis2D.PrimaryThumbstick); //向いてる方向、スティックを倒してる方向から移動方向計算 Vector3 moveDirection = _centerEyeAnchor.rotation * new Vector3(stickDirection.x, 0, stickDirection.y); //座標を直接操作して移動 transform.position += moveDirection * _moveSpeed * Time.deltaTime; } }
![]() |
これを実際にOculus Questで動かしてみたのが以下の動画になります。
ユニティちゃんライブステージ in Oculus Quest 2 pic.twitter.com/iQHPZjx2pL
— カン@Game Creator(Unity/VR/Switch/Steam) (@Kan_Kikuchi) 2019年6月24日
おわりに
紹介した通りUnityでOculus Quest向けアプリを開発する事自体はそこまで難しくありませんが、
Oculusの審査は色んな意味でかなりキツく、
そもそもQuestはリリースするアプリを絞ってるようなので、
基本リリースは出来ない(特に個人開発では)と考えた方が無難です。
もし、どうしてもVRゲームをリリースしたいという場合は
審査が丁寧かつ優しく、ライバルも少ないSteamをオススメします。























