Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

Unityで読みだしたプレハブの表示を半透過にする

shuzo-kino.hateblo.jp
の続き。
一からマテリアルを設定できる場合は兎も角、アセットなどで配布されている奴のカスタマイズはどうするんだって話について。

実際のところ

目的のシェーダーファイルに以下の様な感じで追記。

Shader "YOURSHADER" {
Properties {
 //...色々な処理
}

SubShader { 
        // 透過できるよう、opaqueの場合はTransparent等透過できる設定に。
	Tags {"RenderType"="Transparent" "Queue"= "Transparent"}
	
CGPROGRAM
#pragma target 3.0
 //...色々な処理

// 透過可能な設定をsurf等が定義されているpragmaの部分の末尾に透過機能を意味する"alpha:fade"追記
#pragma surf foo bar alpha:fade

void surf (Input IN, inout SurfaceOutputStandardSpecular o) {
    //...色々な処理

    //アルファ値の変更
    o.Alpha = 0.8;
}

ENDCG
}

これで晴れてカットモデルの表層に浮かぶ半透明のモデルが表示され、
半透明な中で色々遊ぶ状態ができました。
f:id:shuzo_kino:20210725024835p:plain