// Caustics Projector Shader
Description
水面下にきらきらとした模様ができるコースティクスといわれる表現ができるシェーダーです。
プロジェクターのようにオブジェクトに投影できるものと、直接オブジェクトのマテリアルとして使えるものと、2種類を同梱しています。
(V002のアプデで気軽に使える板ポリ版も追加しました。)
(V008のアプデでオブジェクトで囲った部分に投影するタイプも同梱しました。_CameraDepthTextureを使っているので影ありのRealtime DirectionalLightが必要です。)
参考動画: https://twitter.com/noriben327/status/1497408020208570370
V004のアプデでVRChatのQuest環境で正常に動作するようになりました。(Quest2で確認)
プロジェクターの基本的な使い方はUnityリファレンスを見て下さい。
https://docs.unity3d.com/ja/2019.4/Manual/class-Projector.html
※だいたいのシェーダーに投影できますが、まれにあるプロジェクターの投影が明示的に無効にされている一部のシェーダーには投影されません。
(シェーダー内に"IgnoreProjector" = "True"と記述してあるもの)
投影するオブジェクトが少ないほうが負荷は軽くなります。プロジェクターコンポーネントのIgnore Layersで投影しないレイヤーを選択できます。
Transparentなマテリアルには適切に投影されない場合があります。
Beta版のオブジェクトで囲った部分に投影するタイプはQuest環境では動作しません。
■Unity2019.4.31f1及びUnity2022.3.6f1のBuilt-in RP・リニアカラー環境で動作確認しています。URP・HDRPでは動作しません。
UnityやVRChat等で使えます。
unitypackage形式。
※画像内のアバターはこまどさん制作のあまなつちゃんを改変して使用しています。