https://github.com/dadenCKEP/Arktoon-Shaders/tree/markerclip
・zipDL
・assetフォルダの中の「arktoon Shaders」を入れる
※基のArktoonは消してimport更新すること
※import後は再起動なりで、Projectを再読込すること
・Shaderに必要なカメラをonにするだけのAnimation
・透明用画像の0000.png
・Sensorプレハブ
・Sensor_Friendプレハブ(Avatar2.0向け)
・SenserTex(このShaderで使うレンダーテクスチャ)
・その他はテスト・サンプル用設定済みmaterialとかSceneとか
Shaderの中のArktoon/MarkerBlend/AlphaCutout...かFade…を使います。
半透明を使わないのであれば基本AlphaCutout。
透明なものを作るときは、中にある0000.png(透過png)を入れておいてください。
ShaderをSafetyでブロックされた時でも透明のままでないと困る場合もあると思うので。
これをアバター直下に置いてください。
そのとき、Cameraはオフにしておいてください。
とりあえずカメラをonにするAnimationを作って、アバターが読み込まれた瞬間とか、ハンドサインとかなんでもいいのでonにするようにします。
※最初からonだと、VRChatに強制offにされるためです。
Avatar3.0なら、FXレイヤーのどこかdefaultに「sensorの中のcameraをonにするAnimation」を入れておけばOKです。
(Avatar3.0に完全移行してしまったため、逆に2.0忘れてしまいました。。。)
unity上でプレイして、cameraをonにした瞬間見た目が変わればOKです。
ただし、1回onにするとoffにしても見た目がキープされます。
offにしたままプレイ=フレンド外での見た目
onにした後=フレンド内での見た目
と思ってください。
VRChatでは、カメラで映したものを表示させるレンダーテクスチャをフレンド外に表示させないようになってます。
アバターに仕込んだインスタントカメラとかで、フレンド外だと真っ暗で見えないよ~みたいな事を見聞きした事があると思いますが、あれです。
じゃあ、フレンド外には見えるけど、フレンド内には見えないみたいな手品ができるんじゃない?っていうアイデアを持ち込んだら実装してもらえました。
多謝。