Zer0Cool Geschrieben 28. November 2016 Melden Share Geschrieben 28. November 2016 Hallo zusammen, vielleicht kann jemand diesen Shader ebenfalls gebrauchen. Aktuell ist es wohl so, daß die Standardshader in Unity transparente Oberflächen nur ohne Schatten darstellen können, d.h. es wird kein Schatten auf eine transparente Fläche geworfen und das kann in einer Szene mit Schattenwurf ziemlich störend sein. Man kann zwar aktuell einen Cutout-Shader verwenden, aber dieser produziert eben nicht die gleichen Ergebnisse (scharfe Kanten) wie ein Transparent-Shader. Falls jemand tiefer einsteigen möchte, hier der zugehörige Diskussionsthread im Unityforum: https://forum.unity3...y-shaders.9909/ Der hier vorgestellte Shader ist im Prinzip der Builtin Diffuse-Transparentshader mit einem "Kniff": Shader "FX/TransparentDiffuseWithShadows" { Properties{ _Color("Main Color", Color) = (1,1,1,1) _MainTex("Base (RGB) Trans (A)", 2D) = "white" {} } SubShader{ Tags{ "Queue" = "AlphaTest+50" "IgnoreProjector" = "True" "RenderType" = "TransparentCutout" } LOD 200 CGPROGRAM #pragma surface surf Lambert alpha:fade sampler2D _MainTex; fixed4 _Color; struct Input { float2 uv_MainTex; }; void surf(Input IN, inout SurfaceOutput o) { fixed4 c = tex2D(_MainTex, IN.uv_MainTex) * _Color; o.Albedo = c.rgb; o.Alpha = c.a; } ENDCG } Fallback "Legacy Shaders/Transparent/VertexLit" } Ich habe obigen Shader in meinem Projekt dazu verwendet, um Bewuchs an einer Steinmauer zu visualisieren: 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.