マテリアルのTranslucentを使用した際の問題

手のモデルを指先から腕に行くにしたがってグラデーションをかけて消えてほしいのですが、マテリアルのBrendModeをTranslucentにしたとき、モデルの奥行関係がおかしくなってしまいます。
調べてみたのですが、CustomDepthを利用する方法がありましたが、マテリアルの設定だけで行う方法がわからなっかったので書き込んでみました。そもそもマテリアルの設定だけで行う方法はあるのでしょうか?
解決方法を知っておられる方がいらしたらご教授よろしくお願いします。

この問題はTranslucentを使用した場合には解決できないと考えています
Translucentのような半透過Materialは、Opaque等の不透過Materialとはレンダリングパスが異なります

ですので「不透過と半透過を1つのMaterialにしたい」というのは基本的に不可能と考えていただくほうが良いと思います

なお、Opacityが1でも、ShadingModelがTranslucentである時点で、それは半透過として扱われます
ですので、ポリゴンが重なるような部分があると透けて見えたり、描画が重なって見えるようになってしまいます

おそらくLightingの効果を受けるためにLightingModeをSurfaceTranslucencyVolumeまたはSurfaceForwardShadingにしているかと思いますが、そうすると陰影が出る分描画の怪しさが増すため、おすすめしません
(添付参照)

不透過だが半透過のように見せたい、というのであれば、見た目は異なりますが、ShadingModelをMaskedにし、DitherTemporalAAを使用してみてください
不透過でありながら、透けているように見せることが可能です


以下蛇足ですが、できれば検証してみたいのでCustomDepthを使用して解決する方法についてのソースを教えていただけると助かります
こちらの認識としてはCustomDepthを使ったとしても解決できない問題のはずなのですが…

ご回答ありがとうございました。たいへん勉強になりました!!
私が考えていたことは不可能だったのですね・・・
ご提案いただいた方法を試してみたところ、思っていたビジュアルになり理想に近づくことができました。「不透過と半透過を1つのMaterialにしたい」というのは基本的に不可能という事実を教えていただいただけでなく別の解決策までご提示していただいてありがとうございました。
ご教授ありがとうございました。

CustomDepthの件ですがマテリアルで解決することを考えていたので試してはいませんが、サイトのURLを載せておきます。
このほかにも見たサイトがあるのですが、探せませんでした…

https://developer.oculus.com/blog/translucent-vs-masked-rendering-in-real-time-applications/

情報共有ありがとうございます
確かにこの方法なら解決できそうですね
非常に勉強になりました

ただ、SkeletalMeshが対象になると、もうひと工夫必要になるかと考えています
例えば、アニメーションするものであれば非表示にしている側とポーズを同期させるなどの対処が必要になりますね

DitherTemporalAAで問題なければ、こちらのほうがシンプルになりますし、描画負荷も抑えられるので、基本的にはDitherTemporalAAをおすすめすることにしています