Quest対応ワールドを作りたいけど何使っていいか分からない
わからんのわかる。
詳しくは公式を見よ、ではあるんだけど、ざっくり翻訳すると
- 透過シェーダー(Transparent/AlphaCutout)はほぼ禁止。が独自シェーダーは使える
- VRC_SyncVideoPlayer,SyncVideoStremは禁止。置くと壊れるので、Questアップロード前にコンポーネントをオフにしろ
- 他はだいたい使えるが負荷に注意ね
という感じ。逆に言うと、そのほかのVRCコンポーネント由来や、カメラ、Animatorなどのギミックは使える。シェーダー芸は要注意だが、判別付かない気もする。
PC版でワールド作っていて、それをQuest対応するならポリゴン数とかシェーダー依存の表現(透明や反射)ですかね。ポリ数が多いのについてはモデルを削減するしかない。テクスチャだけとかならUnityのプラットフォーム別オーバーライド機能で縮小とか使えるんだけど
つまり「制約は多い」とは言われるけど、(VideoPlayerを例外とすれば)多くは描画と表現であって、ギミックは制約はないと言ってもいいんじゃないかな?
使える具体例
- ナルさんのプレーヤーカウンタやワールドクリエイトスターターキット、カードシャッフルシステム
- 7月ぐらいに盛り上がっていたCyanLaserさんのClimbingPrefab(naqtnさんのガイド記事)
- 車や空飛ぶ箒ギミック
- パーティクルを使った銃、パーティクルを使った命中判定
他にもたくさんありそうだけど、Questで実際にワールド散策するしかない気がする?
実例ワールド集
- [JP]Tutorial プレーヤーカウンタ、時計が動いてる。時間帯によってはQuest勢の集会場になってるので、テスター呼ぶには良さそう
- CraftyClimbers Climbing Trials - Rapunzel ClimbingPrefabで登ったりできるワールド。ラプンツェルの方は最初期からあって人気ありましたね
- NyantelGarage Flightunit Test 車と飛行機ギミック。Flightunitは自作
- Archery Cross Platform Quest ShootingRange パーティクルで弓矢と銃ギミック(非殺傷)
- PlayingCards CrossPlatform トランプで遊べるワールド
- YakyuBan(野球盤) 文字通り野球盤再現ワールド。物理ギミック
- Murder2!! Cross-play BattleDiscs 早期に定番化したQuest対応ゲームワールド
- Cross-play CTF 銃撃戦、CombatSystem動くぞ(殺傷アリ)
- just oekaki just RedFlag カメラギミックでお絵かき。redflagは自作です
- Quest Particle Night For Two Sky Island Fireworks パーティクル。沢山でるけどQuestにはじつはそこまで重くない
- Underwater Cave 光表現がすごいがQuestではやや重い。多分独自シェーダー?
- ClubCobalt³ エフェクトいろいろあるけど比較的軽量なクラブ
この辺はQuest勢に紹介するのもよさげ。
Quest勢は見栄えのいいワールド難しいせいか、見栄えよりギミックを好む感じはあります。が、別に見栄えバリバリワールドが苦手なわけでもなく、単に作るのが難しい
実例を見てワールドを作る時の注意
ざっくり
- 最初からQuest対応を考えた、つよつよワールド
- 先にPC版があり、後からQuest対応をしたワールド
の2系統のワールドに加え
- 作者がQuest持ってないようで負荷チェックできてない
- Quest持ってるらしくそこそこ軽量/すげー軽量
なワールドがあります。こればっかりは仕方ないんですが、その辺参考にする時はどっちかな?というのを考えてみると良さそう
パフォーマンス問題
ギミック制約はない、とは書いたが、パフォーマンスの問題は残る。つまり重いかそうでもないか。
ただ、そのパフォーマンスチェックは問題で、Questユーザに来てもらうか、究極的には自分がQuestユーザになるしかない。そこは如何ともし難いです。
お金に余力あればQuest買ってみてよ是非!と言いたくなってしまうけど、まあ自分がガジェット趣味でQuest対応初めたら買ってしまうしかない気持ちになってしまったところもあり、強くは推しづらい…。いやQuestは良いんだけど、やっぱりPCVR持ってると用途被っちゃうし、それだけのために5万円は厳しいよね
あと自分の記事をおすすめする
過去記事です
それはそうと、いいかんじなQuest対応水面シェーダーあれば教えて下さい