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.

Voorgestelde artikelen
Een VHS-bandfiltereffect creëren in eenheid
Essentiële nabewerkingstips voor eenheid
Een winnaarscherm-UI maken in Unity
De kracht van tijdelijke texturen voor prototypen in eenheid
Hoe te schilderen met deeltjessysteem in eenheid
Creëer een hogedrukreinigerschuimeffect in eenheid
Hoe je een horrorspel in eenheid maakt