Technology XR - VR/AR/MR

UnityでOculus Quest2の開発環境を整える

Technology
スポンサーリンク

どうも、Reveです。
前回のQuest2記事から早3か月、時が過ぎるのは早いものです。

今回は、UnityでQuest2用アプリの開発環境構築について書いていこうと思います。

Quest2の設定

Oculusアプリのインストール

Quest2用アプリを実機でテストするには「開発者モード」を有効にしなくてはいけませんが、これにはスマホ用アプリが必要です(Quest2本体のみでは不可)。
つまり、Quest2とペアリングしたスマホでないと開発者モードを有効にできません

Quest2用アプリは公式サイト、またはストア(Google Play or AppStore)からインストールできます。

ブラウザーをアップデートしてください | Facebook

ペアリング

アプリのインストールが完了したら、スマホとQuest2の紐づけを行います。

インストール、およびペアリングの詳しい手順はこちらをご参照ください(画面キャプチャもあります)。

オキュラスクエスト2:初期設定のやり方。Oculusアプリとのペアリングやコントローラーのボタンの説明など | スマホサポートライン
FacebookのVRブランド「Oculus」が開発した「Oculus Quest 2(オキュラス クエストツー)」は、多数のVRアプリが提供されており、没入感の高い映像やゲームなどを楽しむことができます。 購入後、早速...

なお、(2021年時点で)Oculus2のセットアップには実質facebookアカウントが必須です。また、Oculusアカウントを持っていた場合、統合も求められるようです(が、トラブルも少なからず報告されているようです)。

Oculus Quest 2はFacebookアカウント必須? 本名を隠すなど回避する方法は?
フェイスブックから発売されている一体型VRヘッドセットOculus Quest 2は、価格的にも気軽に手に取りやすいVRヘッドセットですが、デバイスの利用に“Facebookアカウントが必須”なことが気になっている人もい

ちなみに、2022年内にfacebookアカウントログインが不要になるとの話もありますが、正式な時期は未定のようです。

開発者モードの有効化

ペアリングが済んだら、以下の通りアプリでQuest2の開発者モードを有効にします。

  1. 左上のデバイス一覧から「Quest/Quest 2」を選択
  2. ヘッドセットの設定から「開発者モード」を選択
  3. 開発者モードを有効化
デバイス選択
開発者モードを選択
開発者モードの有効化

これでハードウェア(Quest2)の準備が整いました。

Unityでのアプリ作成

Unityのインストール

とにもかくにも、Unityをインストールしないと始まりません。

Unity HubからUnity本体、および各種パッケージ(Android SDKなど)のインストールするのがおすすめです。

ダウンロード
今すぐ Unity をダウンロードし、2D および 3D のマルチプラットフォームの体験やゲームを制作するための、世界で最も人気のある開発プラットフォームの使用を開始しましょう。

Unity Hubのインストールが完了したら、実行してUnity本体のインストールを進めてください。
画面が出たら、左のメニューから「インストール」を選んで、右の青いインストールボタンを押しましょう。あとは、画面の指示に従って必要なものを選びます。

(Unityインストールの記事URL?)

Androidビルド用モジュールの追加

Quest2はいわゆるAndroidスマホの様なものなので、アプリ開発にはAndroid SDKが必須です。

Unity本体のインストールでバージョンを選んだあと、追加のモジュールを選択する画面が出てきます。そこで、「Android Build Support」にチェックを入れてから実行ボタンを押してインストールしましょう。

今回はAndroidビルド用パッケージだけでOK

なお、インストールしたUnityがAndroid SDKの最新版に対応していないと注意される事もありますが、その場合はUnity Hub経由でインストールできるSDKを使えばOKです。

プロジェクト作成

Unity本体をインストールしたら、さっそく起動しましょう。

そこで、新規プロジェクトを「3D」か「Universal Render Pipeline(URP)」テンプレートで作成します。

右上の「新規作成」ボタンを押す
「3D」 か 「Universal Render Pipeline」を選択

なお、3D(デフォルト)とURPの大まかな違いはこちらにまとめられています。

【Unity】URP・HDRP・ビルトインを徹底比較!一体どれを使えば良いのか?
皆さんはUnityで新しいゲームを作り始めるときに「一体どのレンダリングパイプラインを使えばいいんだろう?」と迷ったことはありませんか。個人的にこれはUnityならではの悩みどころの一つだと思っていて、 URPやHDRPを使ってみたいけど、

結論としては、URPの方が上位互換なのでURPを選んでおけばOKです(Quest2にも対応してます)が、以下の様に時間や手間が惜しい方は3Dの方が適しているかと思います。

  • セットアップの手間も惜しい時
  • 古いアセットを利用したい場合
  • Unityに初めて触れる初心者

Oculus Integrationのインポート

続いて、Quest2アプリ開発用SDK(Oculus Integration)をUnityにインポートします。URLにアクセスして、以下の手順で進めていきます。

Oculus Integration (Deprecated) | Integration | Unity Asset Store
Use the Oculus Integration (Deprecated) from Oculus on your next project. Find this integration tool & more on the Unity Asset Store.
  1. 「Add to My Asset」ボタンを押してアセットをダウンロード
  2. ブラウザからの通知、または1.と同じボタンを押してUnityに移動
  3. 自動的に開くPackage Managerで、「Download」ボタンを押してプロジェクトに追加
  4. もう一度ボタン(表示は「Import」)を押して、開いたポップアップからアセットをインポート
Web上のUnityアセットストアから検索
Package Managerが自動的に開きます

このインポートですが、本当に長い時間がかかります。あまり使わないと思われるファイル(Oculus/Avatarなど)を外しておくと多少短くなります。
また、以下のようにプロジェクトを設定しておくと、プロジェクト全体の再インポートが走らず効率が良くなるようです。

  • (Build Settings) プラットフォーム:Android、Texture Compression:ASTC
  • (Project Settings) Color Space:Linear、Auto Graphics APIを無効化、Graphics APIsのVulkanまたはOpenGLES3を削除、Script Backend:IL2CPP、Target Architecture:ARM64にチェック

アプリのビルド

ビルド設定

インポートお疲れさまでした。ここからはビルドの準備に入ります。

  1. File > Build Settings を開いてPlatformにAndroidを選択し、Switch Platformをクリック
  2. Build Settingsの左下にあるPlayer Settingsをクリック
  3. InspectorウィンドウのOther Settingsを選択して,Minimum API Levelを19以上に変更します(デフォルトでは16)
上のシーン名は気にしないでください
最小APIレベル23ですが、対象(Target API)がAutomaticであればOK

なお、ターゲットレベルが「Automatic (highest installed)」で、APIレベル26のSDKをインストールしておけば、最小レベルは気にしなくてもほぼ問題ありません。
今のQuest2のAPIレベルなどはここから確認できます。

Android開発ソフトウェアのセットアップ | Oculus開発者
Oculus QuestおよびOculus Quest 2の開発用にAndroid Studioをインストールして設定する方法について説明します。使用するデバイスを検出するためのシステム設定方法についての情報を含みます。必要なAPIレベルおよびAndroid SDKビルドツールのバージョンの情報を含みます。

デバイスへの書き込み (Build and Run)

設定が完了したら、実機への書き込み準備に移ります。

まずはPCとOculus Quest2をUSB Type-Cケーブルで接続します.PCとQuest2をつないだら、Quest2側で接続の確認を求められるので許可してください。

USB-Cコネクタを有するPCならOculus Quest付属のケーブルが使えますが、違う場合は別途ケーブルや変換アダプタを用意する必要があります.

USBケーブル(Type-C → 3.0)

USB変換アダプタ(Type-C → 3.0)

試しに現在のSceneに適当にキューブを配置してみて File → Build And Run をクリックします.

UnityエディタのPlayモードで実行 (要Oculus Link)

Oculus Linkを設定していれば、Playモードでエディタから実行可能です。いちいちビルドする必要がないため、すぐに実行できてデバッグ作業もはかどります。ただし、時々フリーズすることがある点はご注意ください(詳細は前回の記事で)。

余談

ちなみに、最近はOculus Integrationをインストールせず、既存のOpen XRからでもアプリ開発ができるみたいです。

Unity VR開発メモ(XR Interaction Toolkit)
XR Interaction Toolkitと主にOpenXR Pluginを使用したUnity最新方式でのVRアプリケーション開発方法についてまとめています。
Unity2021.2.4f1のURPで、OpenXRのみでVRアプリ開発をする - Qiita
#概要こんにちは!VRChatを中心にXR関係の活動をしているサックーと申します。これはUnity2021.2.4f1のURPで、OpenXRのみでマルチプラットフォームVRアプリ開発をした記…

少し前まではハンドトラッキングなどの一部機能に制限がありましたが、最近は使えるようです。

Questのハンドトラッキングが「OpenXR」に正式対応
VRヘッドセットOculus Quest(オキュラス クエスト)のハンドトラッキング機能が、OpenXRに正式対応しました。これまではハンドトラッキング機能に制限がありましたが、今後はUnityのOpenXRプラグイン経

参考

Unityで作ったアプリをOculus Questで動かす

細かい点も含めて一通りの情報が網羅されています

Unity + Meta Quest開発メモ
UnityでQuest 3 / Quest 2 / Quest Pro対応アプリを開発する方法やTipsをまとめています。

Unity + Oculus Quest(Meta Quest)開発メモ

Unityで作ったアプリをOculus Questで動かす - Qiita
はじめに先日Oculus Questを購入しました.PC不要のスタンドアロンで6DoFのVR体験ができるのは本当に素晴らしいと思います.とりあえずVRをやってみたい方には非常におすすめです.…

【Oculus Quest開発メモ】開発初期設定まとめ Oculus Integration【Unity】

タイトルとURLをコピーしました