はじめに
Quest対応の水中ワールドの自分用パッケージを公開してみます。
このワールドでやっていること(の一部)を実装できます。
自作したシェーダーとMITライセンスの改変シェーダー、それらを使用したサンプルシーンが含まれます。制作にあたって色んな記事を参照しててライセンスとかよくわからないので、必要な方は自己責任で使ってください。一応参考にした記事は貼っておきます。
パッケージ配布
簡易コースティクス、簡易泡パーティクル、簡易水面、視界色付けが入っています。詳細は後述します。
入っているのはあくまで水中っぽい色合いや雰囲気を出すためのものだけなので、沈めたい景色はお好きなように作ってください。
シェーダー詳細
パラメータがいろいろありますが細かい解説はしていません。触ればなんとなくわかります。
・SeaCausticsProjector
UnityのProjector機能を用いた簡易的なコースティクス。
広い地面に投影することを目的に作っています。四方に壁のある部屋やプールなどには向かないかもしれません。あと遠目にみるとちょっとキモイ。
・TransparentMatCap
泡用の透明なマットキャップ。リムライトもついています。テクスチャのアルファ値を参照します。liltoonとかでも同じことができるのでわざわざこのシェーダーを使う理由はそんなにないかも。
パーティクルに使っても普通の板ポリパーティクルとほとんど見た目変わりません。マットキャップなので……
・FadeWater
Fogを貫通し、Mask画像を用いてアルファ抜きする水シェーダー。CubeMapを当てるとちょっとだけ見た目がよくなります。本当にちょっとだけ。
遠くを見せたくないからFogをかけたい、でも頭上の水面は見せたい……というときのためだけのシェーダーです。
下から見上げることだけを想定し、水シェーダーとしての機能は最低限しかないのでほかの用途ではほとんど使い物にならないと思います。
・QuestColorOverlay
これです。Tweetに書いていることが全部です。今回のパッケージにも同梱しておきました。
前に言ってたQuestの視界に色付けるやつ、シェーダー本体だけ
— 雨降り(あめふり) (@It__was__rainy) 2023年6月1日
ついでにネームプレート最前面表示バグも直しておいた、たぶん直ってるはず、直ってなかった教えてhttps://t.co/q7XB4zZnIw
↓これの改変版なのでライセンスとかはそっち準拠でhttps://t.co/GyCO4VtWH2
サンプルシーン
UnityPackage内のSceneファイルを開くとたぶんこういうやつがでてきます。一応ライトベイクをしています。
これをベースにいろいろいじって使ってください。見た目を確認するためだけのシーンのつもりでつくったのでVRCWorldはおいていません。
おわりに
最後にシェーダーコードの参考記事を(覚えているだけ)列挙して終わります。ここまでお付き合いいただきありがとうございました。