Jump to content
Unity Insider Forum

Transparent Shader mit Schatten (Decal)


Zer0Cool

Recommended Posts

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:

Mossdecalonwall.png

Link zu diesem Kommentar
Auf anderen Seiten teilen

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Lädt...
×
×
  • Neu erstellen...