Cross-Section-Shader with transparency

Hi Guys,

I hope you can help me out. I need a cross-section-shader with the possibility
to change the Transparency via Slider.
(Like the “Glossiness” or “Metallic” - option; already implemented)

First of all, sorry for my bad english. It’s not my mother tongue…

I found a Shader, which works very fine for me. But i can not change the transparency with it.
I’ve tried it for a few weeks now, but i always failed in manipulating the current shader-script.
I’m not made for writing shaders :cry:

But i guess it’s not that hard for somebody who is good at writing them… so maybe somebody can help
me out of my misery. :frowning:

Here’s the code:

Shader "CrossSection/OnePlaneBSP" {
   Properties{
       _Color("Color", Color) = (1,1,1,1)
       _CrossColor("Cross Section Color", Color) = (1,1,1,1)
       _MainTex("Albedo (RGB)", 2D) = "white" {}
       _Glossiness("Smoothness", Range(0,1)) = 0.5
       _Metallic("Metallic", Range(0,1)) = 0.0
       _PlaneNormal("PlaneNormal",Vector) = (0,1,0,0)
       _PlanePosition("PlanePosition",Vector) = (0,0,0,1)
       _StencilMask("Stencil Mask", Range(0, 255)) = 255
   }
   SubShader {
       Tags { "RenderType"="Opaque" }
       //LOD 200
       Stencil
       {
           Ref [_StencilMask]
           CompBack Always
           PassBack Replace

           CompFront Always
           PassFront Zero
       }
       Cull Back
           CGPROGRAM
           // Physically based Standard lighting model, and enable shadows on all light types
#pragma surface surf Standard fullforwardshadows

           // Use shader model 3.0 target, to get nicer looking lighting
#pragma target 3.0

           sampler2D _MainTex;

       struct Input {
           float2 uv_MainTex;

           float3 worldPos;
       };

       half _Glossiness;
       half _Metallic;
       fixed4 _Color;
       fixed4 _CrossColor;
       fixed3 _PlaneNormal;
       fixed3 _PlanePosition;
       bool checkVisability(fixed3 worldPos)
       {
           float dotProd1 = dot(worldPos - _PlanePosition, _PlaneNormal);
           return dotProd1 > 0  ;
       }
       void surf(Input IN, inout SurfaceOutputStandard o) {
           if (checkVisability(IN.worldPos))discard;
           fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color;
           o.Albedo = c.rgb;
           // Metallic and smoothness come from slider variables
           o.Metallic = _Metallic;
           o.Smoothness = _Glossiness;
           o.Alpha = c.a;
       }
       ENDCG
      
           Cull Front
           CGPROGRAM
#pragma surface surf NoLighting  noambient

       struct Input {
           half2 uv_MainTex;
           float3 worldPos;

       };
       sampler2D _MainTex;
       fixed4 _Color;
       fixed4 _CrossColor;
       fixed3 _PlaneNormal;
       fixed3 _PlanePosition;
       bool checkVisability(fixed3 worldPos)
       {
           float dotProd1 = dot(worldPos - _PlanePosition, _PlaneNormal);
           return dotProd1 >0 ;
       }
       fixed4 LightingNoLighting(SurfaceOutput s, fixed3 lightDir, fixed atten)
       {
           fixed4 c;
           c.rgb = s.Albedo;
           c.a = s.Alpha;
           return c;
       }

       void surf(Input IN, inout SurfaceOutput o)
       {
           if (checkVisability(IN.worldPos))discard;
           o.Albedo = _CrossColor;

       }
           ENDCG
      
   }
   //FallBack "Diffuse"
}

you can also find this asset for free in the asset store if you want to have a closer look at it:

I just want to change the transparency (opacity) of the object, too. :confused:

Thank you guys!

Excuse me,have you found a way to adjust the transparency?I have the same problem