参考
カメラの距離でフェードさせる | とあるデザイナーのテクニカルノート
マテリアルの中身
ほぼ、参考元のまんまです。
マテリアルのBlendModeを「Masked」に変更します。
途中でDitherTemporalAA
を使っていますが、マテリアルのデフォルト設定を使えば、ノードを呼び出さなくても使えたりします。
DitherTemporalAA
の「Random」を0にしているのは、Ditherによるマスクが汚かったので、0にしたところ少しマシになったためです。
ObjectPosition と WorldPositionの比較
ObjectPositionはオブジェクトのバウンスの中心を示しているようです。
なので1つのオブジェクトとして、透過できています。
WorldPositionはピクセルごとに座標が違うので、オブジェクトの手前側、奥側といった詳細な情報を取得できています。
今回の場合、キャラの内部が見えてしまって不都合なので、ObjectPositionを使いました。
その後、有益な情報を発見
Maskedマテリアルでディザ処理してます
— よしかわはずれ (@yoshikawahazure) 2019年9月8日
実装に必要なのはこれだけ
ObjectPositionWSを絶対ワールド座標にすると球状にマスクする挙動になります
Maskedだから描画パス多いんで、必要ならLODで分けて手前のやつだけに使うといいと思う pic.twitter.com/3wYDLWo3Zv