OculusのVRアプリ作成チュートリアルをやってみる

2020年10月18日

"Oculus Quest 2"で動くアプリを作るための準備その2です。

下記サイトのUnityを使ったVRアプリ作成チュートリアルを行うための準備や、チュートリアルの中で説明とは違った点、実際に作成したアプリ実行結果について書きます。

Build Your First VR App | Oculus Developers

VRサポートを有効にする

Edit > Project Setting から XR Plugin Management をインストールします。

XR Plugin Management

インストール完了後に現れるメニューで、Oculusにチェックを入れます。

UnityでOculusのVR対応への準備

次に、Oculus統合パッケージ(Oculus Integration)をインストールしようとして、指示通りメニューから Window > Asset Store を開こうとしましたが、ストアの場所が変わったらしく以下のようなページが表示されました。

Unity Asset Store が移転

なので、直接ストアから検索し、下記ページからダウンロードを行いました。

Oculus Integration | Integration | Unity Asset Store

Unity Asset Store から Oculus Integration を入手

"Unityで開く" を押すと、Unity内で以下のような画面が開きます。

Oculus Integration の情報

Download を押して、それが完了すると Import できるようになります。Import を押すと、インポートするファイルを指定できます。そのまま Import します。

Oculus Integration のインポート

インポート後、OVRPluginのアップデートを指示されますので、それに従ってUnityを再起動します。再起動後、プロジェクトアセットに Oculus というフォルダが追加されていると思います。

OculusIntegrationで追加されるフォルダ

リアルなレンダリングを実現するためのColorSpace(色空間)プロパティはLinear(線形)が良いということなので "Project Setting" にて変更しましたが、必須ではないと思います。

参考:https://developer.oculus.com/documentation/unity/unity-conf-settings/#set-rendering-options

レンダリングの色空間をLinear(線形)に設定

準備は以上です。後はチュートリアルに従い、プロジェクトを作成します。

途中、説明と違う部分があったので以下に記載します。

プレイヤー(ボール)のスクリプトの名前が衝突

新規プロジェクトのはずなのに PlayerController がすでにあると言われ、スクリプトが作成できませんでした。

PlayerControllerスクリプトの名前衝突

検索してみると、以下のパスに PlayerController があるようです。

Assets/Oculus/Avatar/Samples/SocialStarter/Assets/Scripts/PlayerController.cs

ここでは MyPlayerController として続行しました。

実行時にAndroidバージョン関係のエラー

"API Level"が23以上でなければならないと警告が出たため"Project Setting"より変更します。

Oculusで実行時にUnityでエラー

UnityプロジェクトのAndroid API Levelを変更

一旦実行してみた結果

実行してみると、ゴーグルでゲームオブジェクトを見ることはできますが、オブジェクトが視界の中心に貼り付いているかのように、見る方向を変えると一緒に付いてきてしまいます。

サンプルゲームをOculusで撮影したスクリーンショット

コントローラーのスティックでボールを転がすことができます。スクリーンショットは正常に写りました。カメラの前にオブジェクトが固定されてしまうのは、メインカメラが通常のカメラだからのようです。

VR空間用カメラの設定

メインカメラ(Main Camera)を右クリックし"Convert Main Camera To XR Rig"を選び、カメラをXRRigに変更することで、被写体が視点に追従しないようになります。

メインカメラをVR対応のXRRigに変更

追記: 上記のカメラではオブジェクトが細かく震えてジャギジャギしているように見えます。正しくは下記の方法でカメラを追加するようです。

Projectビューで、Assets > Oculus > VR > Prefabs を開き、OVRCameraRigのprefabをシーンまたはHierarchyビューにドラッグ&ドロップします。

カメラとしてOVRCameraRigをプロジェクトに追加する

このカメラ(OVRCameraRig)についての詳細は以下のページを御覧ください。

Add Camera Rig Using OVRCameraRig | Oculus Developers

これでVR空間内を見渡せるカメラが設定できます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です