スタンダードシェーダーで表示していたオブジェクトを半透明にしたい時、Rendering ModeをFadeやTransparentに変えただけでは綺麗に表示してくれないことがよくあります。
そんな時は、スタンダードシェーダーにちょい足しするのが便利です。
まずはUnityダウンロードページからビルトインシェーダーをダウンロードします。
ビルトインシェーダーの中からStandardShaderを選び、StandardDepth.Shaderなど適当に名前を変えて自分のプロジェクトに追加します。
追加したシェーダーの以下の部分を変更します。
- 先頭行の Shader "Standard" を"StandardDepth" 等に変更
- 55行目あたりの Tags に "Queue"="Geometry+10" を追加
- そのすぐ下あたりに以下を追加
Pass{
ZWrite ON
ColorMask 0
}
マテリアルにシェーダーを適用し、RenderingMode = Fade, Source = AlbedoAlpha にします
上記シェーダーを適用したものが右になります。
Passは増えますが、簡単にモデルを半透明にしたい時に使えるのではないかと思います。