Tech(ユニティ、技術系)

OculusとPICO4の両対応方法

本来はOpenXRという共通規格により、Unityでゲームを作り1つのAPKファイルを書き出せばマルチプラットフォームで動くはずなのだが。

 

まぁOculusが脆弱すぎて動かねぇ。(FBでアカウント作った直後に「不審なアクティビティ」とか言ってバンするようなサービス作ってる外人だから納得)

・OpenXRのターゲット設定を1回でも変えるとダメ

・unity開発時に何回かコンパイルエラーを起こしているうちにダメになる

・パッケージマネージャーからアセットを更新するだけでもダメになる

・クリーンビルド、ライブラリフォルダの削除、キャッシュ削除してもダメ

・なんならSVNで正常に動いていたバージョンに戻してもダメ(Oculus内で何かキャッシュ持ってる?)

・SideQuestで該当アプリのAPK、データを削除してもダメ

 

ということで、この1ヵ月ほど大変無駄な時間を費やしてしまった。

ちなみにダメになるパターンはいくつかあって、APK起動後、unityのロゴが出ずにホーム画面に戻される、APK起動後は画面が真っ暗でコントローラ入力も受け付けない(ゴーグル再起動しかなくなる)

エラーログを見ていると、結構根底の低レイヤー部分でのエラーが出ていそうな感じ。

 

別の視点では、unityのプロジェクトはなぜ壊れやすいのかという記事もあるので、

この組み合わせに問題があるのかもしれん。

 

しかし使用にスマホが必要だったり、メガネが入らなかったり、Mのサーバがコケてると使えないとか設計思想が全く意味不明のVRゴーグルで、

価格面、画質からしても普通に考えたらPICO4一択なのだが、

なんとか誤って購入してしまった人達の救済方法(ワークフロー)が確立できた。

 

 

方針としては、開発用のunityプロジェクトを用意(PICO4でガシガシ開発。VR用の乱視レンズなんて作らんでええ。モーションキャプチャーやVeryAnimationなどのアセットも使用可)

この際、エクスポートしやすいようにassetフォルダ内に1個フォルダを作り、その中にデータを放り込んでいく。

 

また、テンプレートのunityプロジェクトも用意し、動作時に最低限必要なバージョンをそろえたアセットのみ導入して動作確認をしておく。

 

開発終了時、必要なデータをパッケージエクスポート。

Quest用とPICO4用にテンプレートフォルダを2個コピー(FastCopy)し、インポートして微調整、APK出力。

 

といった流れになりそう。

Comment on this article

コメントはまだありません。

Send comments

Required
Required  
※ Your email address will not be published
Any
Required