- Home /
Question by
m_bec · Feb 13, 2014 at 04:48 PM ·
shadertransparencyalpha
Add transparency to clipping plane shader
Hi guys, please help! How do I add transparency to this shader so that I can adjust its value through a script? I've looked at other examples and changed tags so that my objects have transparency; but I can't seem to adjust said transparency. Here is the shader I am using:
Shader "Custom/ClippingPlane"
{
Properties
{
_MainTex ("Diffuse(RGB) Spec(A)", 2D) = "white" {}
_section ("Section plane (x angle, y angle, z angle, w displacement)", vector) = (0,0,0,0.15)
_Color ("Section Color", Color) = (1,1,1,0)
}
SubShader
{
Tags { "Queue" = "Transparent" "RenderType" = "Transparent" }
Cull Off
CGPROGRAM
#pragma surface surf Lambert alpha
struct Input
{
float2 uv_MainTex;
float3 worldPos;
float3 viewDir;
float3 worldNormal;
};
sampler2D _MainTex;
sampler2D _BumpMap;
float4 _section;
fixed4 _Color;
void surf (Input IN, inout SurfaceOutput o)
{
float toClip = _section.x * 0.1 * IN.worldPos.x +
_section.y * 0.1 * IN.worldPos.y +
_section.z * 0.1 * IN.worldPos.z +
_section.w;
clip( toClip);
float fd = dot( IN.viewDir, IN.worldNormal);
if (fd.x > 0)
{
o.Albedo = tex2D (_MainTex, IN.uv_MainTex).rgb;
o.Alpha = tex2D (_MainTex, IN.uv_MainTex).a;
return;
}
o.Emission = _Color;
}
ENDCG
}
Fallback "Diffuse"
}
And here is the script I am using to change the alpha values:
#pragma strict
function Start () {
}
function Update ()
{
if (Input.GetKeyDown(KeyCode.Z) || Input.GetKey(KeyCode.Z))
{
Debug.Log("Key Z pressed");
renderer.material.color.a -= 0.1;
}
if (Input.GetKeyDown(KeyCode.X) || Input.GetKey(KeyCode.X))
{
Debug.Log("Key X pressed");
renderer.material.color.a += 0.1;
}
Debug.Log(renderer.material.color.a);
}
Comment
Your answer
Follow this Question
Related Questions
An Outline like the Editor does in game, with transparency 1 Answer
Is it possible to create a blur effect based on the alpha of a transparent texture on a plane? 0 Answers
Strumpy Shader Editor Alpha Issues 2 Answers
Making a cutout semi-transparent? 1 Answer
Shader is not displaying alpha correctly 0 Answers