【Unity】シェーダーを両面表示にする方法

unity-shader-double-sides

Unityで演出作る場合、シェーダーを探すことになることが多いのですが割と手間がかかります。

そろそろ自前でシェーダー書けるようにとは思ってるのですがなかなか。

今回は板ポリを回転させたりする時に、表示を両面にしたい場合に使えます。

スポンサーリンク

やり方

SubShaderのPassの中に、Cull Offのコード一行足すだけでOK。

Transparent_Cutoutシェーダーを両面表示に

Shader "Custom/Transparent_Cutout_DoubleSide" {
Properties {
_MainTex ("Base (RGB) Trans (A)", 2D) = "white" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5
}
SubShader {
Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
Pass {
Cull Off
Lighting Off
Alphatest Greater [_Cutoff]
SetTexture [_MainTex] { combine texture }
}
}
}

ちなみに

Cull Backは裏面をカリング(デフォルト)

Cull Frontは表面をカリング

スポンサーリンク

参考

ShaderLabの基礎:Culling & Depth Testingを理解する – Unityな日々(Unity Geek)

コメント