趣味でVRゲーム(成人向け)を作っているのですが、今まではSteamVR SDKに頼りきりだったため、必然的にPC用 VRゲームとしてリリースするようにしていました。
が、Oculus Quest2が登場したことでスタンドアロン型VRへの対応も視野に入れなければならなくなり、いろいろ実験をしているところです。
やっぱり、PCに接続してVRゲームを遊ぶより、Quest2みたいにヘッドセットを付けたらすぐ遊べる! のほうが、ユーザーも楽ですよね
実行環境
Windows11
Unity 2022.1.2f
HTC Vive
Oculus Quest2
作成したapkファイルをOculusで実行する方法
開発者モードに設定したり、別途ソフトを導入して設定を行う必要があるため、少々面倒です。
以下のサイトを参考に、自作のapkファイルをQuest2に転送できるように設定しました
Oculus Quest2でUnityのサンプルを動かしてみた。
Unity プロジェクト作成からビルドまで
Unityを起動します。
VR用テンプレートが準備されているので、これを利用してプロジェクトを作成します
(雲マークが表示されている場合、雲マークのアイコンをクリックすることでテンプレートをダウンロードできます)
Unity起動後、ウェルカムダイアログが表示されます
読み終わったらダイアログを閉じます
Unityのメニューから「Edit」 > 「Project Setting」を選択します
左メニューから「XR Plugin Management」を選択します
(おそらく)OpenXRの項目の横に警告マークが表示されるので、クリックします
現在の設定の問題個所が表示されるため、Editボタンをクリックし、該当の画面に遷移します
エラーメッセージの内容をざっくり確認すると、「最低でも一つのインタラクションプロファイルを設定する必要があります」と読み取れたので、「Intaraction Profile」の項目に+ボタンを押してプロファイルを設定します
PC向けにはHTC Viveを設定しました
Android(Oculus)向けには、Oculus Touchを設定しました
また、Oculus Quest用にビルドするために「Oculus Quest Support」にチェックを入れます
後は、ビルドの設定でPC向けにビルドを行えばHTC Vive用のバイナリが作成されます
Androidを選択すれば、Oculus向けのapkがビルドされます
SideQuestを利用して、apkファイルをインストールします
SideQuestを利用してapkを転送するとき、メニューの赤枠ボタンを利用してapkをインストールする必要がありました
(ドラッグアンドドロップではインストールできませんでした)
以上
以上でVive、Quest両対応のプロジェクトを作成する方法を紹介しました。
といってもテンプレートをそのままビルドしただけなのでうまくいきましたが
実際のゲームのように多数のアセットを利用した時にきちんと両対応のバイナリが作成できるかはちょっと不安ですね・・・
今作成しているゲームはSteamVRを利用しているのでPC向けになってしまいますが、次回以降はOpenXRを積極的に利用して、ViveでもQuestでも動くようなゲームを作っていきたいですね