1
/
5

UnityでOculusアプリを作ってみた(その1)

はじめに 

昨年、OculusQuest2を購入しましてVRゲームで遊んできましたが、せっかくハードを持っているなら何か作ってみようと思い、Unityでアプリを作ってみたので本記事ではその内容をまとめていこうと思います。

開発環境 

UnityHub:3.8.0
Unity:2022.3.27f1
adb:1.0.41
AndroidSDK: 2022.3.1

Unity Hubのインストール 

Unity Hubのダウンロードページからダウンロードします。

Unityエディタのインストール 

Unity Hubを開いて、installsタブ → Install Editorボタンを選択します。

最新のUnityバージョンを選択してNextをクリック。
インストールオプションで「Android Build Support」にチェックを入れ、Insatallボタンをクリックします。

インストールが完了するとインストール済みのエディタが一覧が表示されます。


プロジェクトの作成  

ProjectsタブのNew Projectボタンを選択します。


3D選択 → Create Projectボタンを選択します。


エディタが起動します。


Oculusアプリのセットアップ 

OculusプラットフォームでVRアプリケーションを開発するための統合パッケージであるOculus IntegrationをAssetStoreからダウンロードします。



UnityのWindow → Package Manager を開き、ダウンロードしたOculus IntegrationをImportします

 


Build設定 

platformをAndoroidに変更します。
※OculusQuestはAndroidベースのOS

File → BuildSettingsを開き、PlatformでAndroid → SwitchPlatformボタンを選択します。


Player Settingsを開き、PackageNameの変更とAPIレベルの設定をします。


Oculus XR Pluginをインストールします。

 

 

TargetDeviceの設定

OculusQuestの接続

APKのインストールにはadb(Android Debug Bridge)を使用します。
adbアクセスができるようにデバイス側でUSBデバッグを有効にします。
QculusQuest2のUSBデバッグを有効にするにはPCまたはスマートフォンにOculusアプリをインストールし、アプリとデバイスをペアリングさせ、アプリから設定変更します。
※Oculusアプリのインストール方法についてはここでは割愛します。

以降、スマートフォンのOculusアプリの設定になります。

デバイスを選択 → ヘッドセットの設定 → 開発者モードを選択し、デバッグモードをONにします。


ヘッドセットの設定を選択します。

 
 


OculusQuest2を起動している状態でPCとデバイスをUSBケーブルで接続します。
OculusQuest2の画面にUSBデバッグの許可ダイアログが表示されるので許可します。



デバイスマネージャーで以下の2つが表示されていることを確認します。
・Oculus Composite ADB Interface
・Oculus Composite XRSP Interface

Buildしてインストール

File → Build and Run を選択する。
作成するapk名を入力して保存する。

Buildが終わればOculusQuest2で作成したapkが実行されます。

何も配置していないので何もありませんね(そりゃそうです。。)


3Dモデルを配置する

動作テスト用にダウンロードした3Dモデルを配置します。

ProjectタブのAssetsフォルダにダウンロードしたfdxをドラッグします。
AssetsからHierarchyタブにRoadside_motelをドラッグします。

3Dモデルが配置されました。

しかし、このままでは3Dモデルを眺めるだけのアプリになってしまいます。
OculusQuest2のコントローラで移動したり、ヘッドセットの傾きなどの情報を反映できるようにしていきます。


カメラの配置

VRヘッドセットと同期をとって動作するカメラがOculus Integrationに内包されています。
デフォルトのMainCameraを削除し、Oculus Integrationのカメラを追加します。

 


デバイス操作を反映させるスクリプトを作成する

追加したカメラにデバイス操作を反映させるScriptをアタッチします。

Hieraruchyに追加したOVRCameraRigを選択してAddComponent → New Scriptを選択します。
※スクリプト名は任意です。ここではmovementと命名します。


作成したスクリプトを開くと以下のようになっています。

ここにヘッドセットとコントローラの情報を取得してカメラに反映する処理を追加します。

以下のようにします。

  • 左スティックでカメラの回転(上下は回転しない)
  • 右スティックでカメラが向いている方向を基準に移動(水平移動)
     


ビルドして動作を確認してみます。

まとめ

環境の構築からデバイスの簡単な動作ができるまでを行いました。
この後も引き続きブラッシュアップしていこうと思います。

If this story triggered your interest, why don't you come and visit us?
あらゆる業界のDXを実現する一翼を担うWebエンジニアを募集!
株式会社ゼロイチ's job postings

Weekly ranking

Show other rankings
Like 武市 有司's Story
Let 武市 有司's company know you're interested in their content