Table of Contents
“Oculus Quest 2″で動くアプリを作るための準備その2です。
下記サイトのUnityを使ったVRアプリ作成チュートリアルを行うための準備や、チュートリアルの中で説明とは違った点、実際に作成したアプリ実行結果について書きます。
Build Your First VR App | Oculus Developers
VRサポートを有効にする
Edit > Project Setting から XR Plugin Management をインストールします。
インストール完了後に現れるメニューで、Oculusにチェックを入れます。
次に、Oculus統合パッケージ(Oculus Integration)をインストールしようとして、指示通りメニューから Window > Asset Store を開こうとしましたが、ストアの場所が変わったらしく以下のようなページが表示されました。
なので、直接ストアから検索し、下記ページからダウンロードを行いました。
Oculus Integration | Integration | Unity Asset Store
“Unityで開く” を押すと、Unity内で以下のような画面が開きます。
Download を押して、それが完了すると Import できるようになります。Import を押すと、インポートするファイルを指定できます。そのまま Import します。
インポート後、OVRPluginのアップデートを指示されますので、それに従ってUnityを再起動します。再起動後、プロジェクトアセットに Oculus というフォルダが追加されていると思います。
リアルなレンダリングを実現するためのColorSpace(色空間)プロパティはLinear(線形)が良いということなので “Project Setting” にて変更しましたが、必須ではないと思います。
参考:https://developer.oculus.com/documentation/unity/unity-conf-settings/#set-rendering-options
準備は以上です。後はチュートリアルに従い、プロジェクトを作成します。
途中、説明と違う部分があったので以下に記載します。
プレイヤー(ボール)のスクリプトの名前が衝突
新規プロジェクトのはずなのに PlayerController がすでにあると言われ、スクリプトが作成できませんでした。
検索してみると、以下のパスに PlayerController があるようです。
Assets/Oculus/Avatar/Samples/SocialStarter/Assets/Scripts/PlayerController.cs
ここでは MyPlayerController として続行しました。
実行時にAndroidバージョン関係のエラー
“API Level”が23以上でなければならないと警告が出たため”Project Setting”より変更します。
一旦実行してみた結果
実行してみると、ゴーグルでゲームオブジェクトを見ることはできますが、オブジェクトが視界の中心に貼り付いているかのように、見る方向を変えると一緒に付いてきてしまいます。
コントローラーのスティックでボールを転がすことができます。スクリーンショットは正常に写りました。カメラの前にオブジェクトが固定されてしまうのは、メインカメラが通常のカメラだからのようです。
VR空間用カメラの設定
メインカメラ(Main Camera)を右クリックし”Convert Main Camera To XR Rig“を選び、カメラをXRRigに変更することで、被写体が視点に追従しないようになります。
追記: 上記のカメラではオブジェクトが細かく震えてジャギジャギしているように見えます。正しくは下記の方法でカメラを追加するようです。
Projectビューで、Assets > Oculus > VR > Prefabs を開き、OVRCameraRigのprefabをシーンまたはHierarchyビューにドラッグ&ドロップします。
このカメラ(OVRCameraRig)についての詳細は以下のページを御覧ください。
Add Camera Rig Using OVRCameraRig | Oculus Developers
これでVR空間内を見渡せるカメラが設定できます。