Een eenvoudige gras-shader creëren in eenheid
Deze tutorial begeleidt u bij het maken van een basisgras-shader in Unity. Gras-shaders worden vaak gebruikt bij de ontwikkeling van games om het uiterlijk van gras op verschillende oppervlakken, zoals terrein of gebladerte, te simuleren.
Stap 1: Maak een nieuwe arcering
Ga in Unity naar de map Assets in uw project.
Klik met de rechtermuisknop en kies Maken -> Shader -> Standaard Surface Shader.
Stap 2: Hernoem en open de Shader
Hernoem de arcering naar iets als GrassShader.
Dubbelklik op de arcering om deze te openen in de code-editor van uw voorkeur.
Stap 3: Definieer Shader-eigenschappen
Definieer bovenaan de arceringscode alle eigenschappen die u beschikbaar wilt maken voor aanpassing. Bijvoorbeeld:
Properties {
_MainTex ("Texture", 2D) = "white" {}
_Color ("Color", Color) = (1,1,1,1)
}
Stap 4: Shader-invoer declareren
Declareer de invoerstructuren voor vertex- en fragment-shaders:
struct appdata {
float4 vertex : POSITION;
float2 uv : TEXCOORD0;
};
struct v2f {
float2 uv : TEXCOORD0;
float4 vertex : SV_POSITION;
};
Stap 5: Vertex-shader
Schrijf de hoekpuntshader om hoekpunten te transformeren en gegevens door te geven aan de fragmentarcering:
v2f vert (appdata v) {
v2f o;
o.vertex = UnityObjectToClipPos(v.vertex);
o.uv = v.uv;
return o;
}
Stap 6: Fragmentarcering
Schrijf de fragmentarcering om de uiteindelijke kleur van elke pixel te berekenen:
fixed4 frag (v2f i) : SV_Target {
// Sample the texture
fixed4 col = tex2D(_MainTex, i.uv);
// Apply color tint
col *= _Color;
return col;
}
Stap 7: Rendereigenschappen instellen
Voeg tags toe bovenaan de shadercode om de renderwachtrij en het rendertype te specificeren:
Tags {
"Queue" = "Transparent"
"RenderType" = "Transparent"
}
Stap 8: Shader opslaan en toepassen
Sla het shaderbestand op.
Ga terug naar Unity en selecteer het materiaal waarop u de grasschaduw wilt toepassen.
Wijs in de materiaalinspecteur de arcering toe aan het materiaal.
Stap 9: aanpassen en aanpassen
Speel met de schaduweigenschappen die u eerder hebt gedefinieerd om het gewenste graseffect te bereiken.
U kunt kleuren, texturen en andere parameters aanpassen om het gras er realistischer of gestileerder uit te laten zien.
Stap 10: Toepassen op grasobjecten
Breng het materiaal met de grasshader aan op uw grasobjecten in de scène.
Conclusie
Je hebt in Unity een basisgrasschaduw gemaakt. Experimenteer met verschillende instellingen en technieken om het gewenste uiterlijk voor uw gras te bereiken.