Oculus GoでUnityチュートリアルの玉転がしゲームをVR化する

前回Oculus Goの開発環境を構築しました。続いてチュートリアルをやっていこうと思います。

Oculus Goの開発環境を構築しようとしたが頓挫した(Mac, Unity, Android) - もふもふ技術部

Unity公式チュートリアルに玉転がしゲームがあります。書いてあるとおりにやれば普通に動くので、それが動いている状態から、Oculus Goに対応させる手順を書いていきます。

はじめてのUnity - Unity

Oculus Go対応させる

前回エントリの開発環境構築時同様に、File -> Build Settings -> Player SettingsでAndroidバージョンや、XR Settingsを設定する。

あとは基本的に以下のエントリをなぞっていけばいける。

Unityの玉転がしチュートリアルを#OculusGoに対応させる - Qiita

File -> Build Settings -> PlatformでAndroidを選択しSwitch Platformボタンを押します。

Switch Platform

Build And RunをしてみてOculus Goで表示されることを確認。この時点ではOculus Goのコントローラーを認識してくれないので玉が動きません。

Window -> Asset Storeを開いて、Oculus Integrationをダウンロード・インポートします。これがなかなか時間かかるので根気強く待ちます。

Oculus Integration

ここが罠なのですが、この状態でビルドしても謎のエラーで落ちます。一旦Unityを再起動してみましょう。するとUpdate Oculus Utilities Pluginのダイアログが表示されるのでYes高須クリニックします。

Update Oculus Utilities Plugin

再度再起動が求められるので言われるがまま再起動しましょう。

続いて、チュートリアル中で作ったPlayerControllerクラスをリネームしましょう。適当にPlayerBallControllerとかでOK。Oculus Integrationの中のクラス名と重複してしまっているらしい。

ここまで出来たらBuild And Runしてみます。

"OVRPlugin.aar" is denied.というエラーで落ちました。運の良いことにこのエラーは他の人が解決した情報があります。

OVRPlugin.aarファイルの拡張子を変えてOVRPlugin.bakにすれば良いらしい。詳しくはリンク先を参照。

【Oculus Go】コントローラを表示する - Qiita

再びビルド。

あ、タッチパッドで動くじゃん!やったー! 動画とか載っけたいけどだいぶめんどそうなので今回はやめとく。

ハマった謎のエラー集

サクッと書きましたが、Oculus Goアプリの開発はなかなか茨の道かも知れない。ここまで動かすのに3,4回くらい振り出しに戻ってトライしたわけだけど、やるたびやるたび違うエラーに悩まされた。つら。

その1 System.Security.Policy

ビルド時にエラーが出る。

Assets/Oculus/Avatar/Scripts/OvrAvatarSkinnedMeshRenderPBSV2Component.cs(4,23): error CS0234: The type or namespace name 'Policy' does not exist in the namespace 'System.Security' (are you missing an assembly reference?)

該当エラー行をクリックするとエディタが開くので、using System.Security.Policy;の行をコメントアウトするとビルド出来るようになる。

“error CS0234: The type or namespace name ‘Policy’ does not exist in the namespace ‘System.Security’” エラーが発生する (Unityプログラミング)

なぜ使わないものをusingしているのか謎。

その2 No Android devices connected

ときおり突然Oculus Goが認識されなくなることがある。ビルド時にNo Android devices connectedってダイアログがでます。ちょいちょいでてきてうざい。

No Android

USBケーブル抜き差ししたりUnity再起動したりOculus Goを再起動したりPC再起動したりすれば大抵なおる。

今回はそれでもなおらず、アレアレ?って思ってたらUSBケーブル刺さってないやんけ!!!!ばーか!!!



mofmof inc. 採用情報

mofmof inc.では、一緒に仕事をしてくださるエンジニアを募集しております。
募集要項については以下をご確認ください。
興味を持っていただけましたら、ぜひ一度ゆっくりお話出来れば嬉しいです。

mofmofは何をしたいのか
https://www.mof-mof.co.jp/recruit/want-to-do