みなさん、お久しぶりです。たこすです。
本日はワールドのQuest対応をやってみようとした記事を書いていきます。
というのも、私の作ったたこすルームは(既存のアセットにいろいろ追加しただけ)PC専用でありそれについて特に気にすることも無かったのですが、この前いつものように話をしていると、フレンドの一人からたこすルームをQuest対応にしてほしいとの要望が。
どうやらQuest勢もそこそこいるらしく、置いてあるオブジェクトで遊びたい人もいるそうなので対応してくれたらうれしいなといった感じ…
久しくワールドにアップデートをしていなかったので、勉強も兼ねてできるかやってみることにしました。(私はunity超!初心者です。ワールドにモノを配置したりアバターの改変が少しできる程度です。)
それと、投げ物オブジェクトがワールドがはみ出したり消失したりする場合があるのでリセットボタンもほしいとのことでした。これはすぐにできそうなので同時にやっていきたいと思います。
さて、とりあえずどこからやればいいものか…
先んずは調べましょう。
・ワールドのQuest対応はアバターほど制限が厳しくない…が
→100MB未満、指定のシェーダー使用、PPフィルターなし、影の表現なしなどの制限がある
・ワールドをQuest対応するにはQuest用のアップロードをする必要あり
→Android Build supportってやつをダウンロードする必要があるみたい
・Iwasyncが反転して見えるバグがあるらしい
→スクリーンを反転させるボタンを作ることで回避できるみたい
などなど…やることは多そうです。
それでも一つずつやっていくしかありません、千里の道も一歩からです
一番楽なのは今の状態でSwitchPlatformして満足行く動作をすることですが、軽いのに越したことはありませんからね。
→テクスチャオーバーライドでQuest版だけ容量削減とかできるらしい。はえー便利
話が逸れましたが、まずは順を追ってやっていきましょう。
最初はワールドの調整から。
1.オブジェクトのリセットボタンを配置する
2.スクリーンを反転させるギミックを追加する
3.余計なものの削除
4.軽量化
5.Android Build supportのダウンロード
7.動作に異常がないか確認したら完成!
まずは階段の奥にこちらのリセットボタンを配置しました。投げて遊ぶオブジェクトの色に合わせているので迷わずに済みますね。
ボタンで画面が反転するギミックも追加。これは該当するプレイヤーだけなのでローカルで動作するようにします。
そしてスロット台の横にさりげなくあった特殊景品、10枚近く重ねていましたが重いので1枚に削減しました。
全体の軽量化をこちらのツールを用いて行います。PC版と差別化しようとも思いましたが、どちらにせよワールドが軽いに越したことはないので…
結果として98MBあったワールドが91MBまで削減されました。やったね。
さらにもう一発、Quest用の壁・床テクスチャをさらに落として85MBくらいまで軽量化。テクスチャを512MBとかにするとかなり軽量化された気がします。
ここまでできたら、あとはAndroidでビルドするだけです。
Android Build supportをUnity hubからインストールして、Android用のビルドを行います。
まあまあの容量があるのでストレージには気をつけましょう。
初回はでかいCPU負荷とそこそこの時間がかかるので並行して作業を行っている場合などは保存したり済ませておくとよいでしょう。
あとは根気よく待ちます。
長い!Ryzen5600Xで20分ほどかかりました。
時間こそかかったものの、幸いにも赤の!マークなどは出ないまま無事アップロードに成功しました。
結果は…
無事に私のPixel7aからワールドに入ることに成功しました!やった~
ライブ映像の反転問題もボタン一つで解決し、快適に視聴できました。
プレイ前、Android版だと動作が重いのでは?という疑問がありましたが、ワールドサイズが80MBちょっとでは全くそのようなことはありませんでした。人数が多くなると重くなる可能性はあるので要検証。
というわけで今回はワールドのQuest対応を行いました。
壁や床の解像度を下げてもそこまで気にならないため、アバターをQuest対応させるよりは簡単にできるような気がしました。
ただ、初回のAndroidビルドは本当に長い時間がかかったので、注意する点とすればそれくらいでしょうか。
みなさんも自分のワールドをQuest対応させて、いろんな人に訪問しにきてもらいましょう!
それではまた次回!