UDK grass

[UDK] Advanced Dynamic Grass for Custom Meshes with LoD



Grass erstellen
1. Als erstes erstellt man sich in einem 2D Programm eine Gras Textur mit Alpha Kanal.


Diese legt man in 3ds max auf eine in der Vorderansicht erstellte Ebene. Damit man nicht erst die UVs anpassen muss, einfach der Ebene die gleiche Größe wie der Textur geben. Anschließend muss noch der Pivot fast an das untere Ende der Textur verschoben werden.



Nun wird die Ebene 2mal kopiert und per Anhängen zu einen Objekt.


Hair&Fur
2.Jetzt lade ich mir meine Landschaft in die Szene und füge den VertexPaint Modifikator hinzu, damit male ich auf meine Landschaft wo später Gras sein soll und wo nicht. Nun füge den Hair&Fur Modifikator hinzu.


Über "Instance Node" kann ich das Gras als Haar verwenden. Bei "Display" stelle ich die "Max. Hairs" auf 999999. Bei "Hair Count" kann ich die menge an Gräsern einstellen und eine "VertexColor" aus dem Material Editor hinzufügen (diese Übernimmt den VertexPaint Modifikator). Bei "Scale" kann ich die Größe einstellen. Die Parameter Frizz und Kink sollte alle auf 0 gestellt sein, sonst gibt es Verzerrungen. Zum Schluss noch "Hair-> Mesh klicken und das Gras ist ein Mesh.


Gras Level of Detail
3. Nun erstelle ich das LevelofDetail. Dafür hab ich mir ein random script runtergeladen.
http://www.scriptspot.com/3ds-max/scripts/random-select-v1-0
Dazu muss eine Kopie des Meshes ins "Edit Poly konvertieren werden" Mit einem Wert von ca. 80% selektiert man nun ein paar beliebige Flächen und löscht diese.


Jetzt selektiert man beide Grasflächen und Gruppiert diese, unter "Utilities-->More" wählt man "Level of Detail aus und erstellt ein neues Set.

Im-/Export
4. Als Viertes wird das LoD Mesh über Datei-->"Auswahl exportieren" als FBX exportiert. Eventuelle Fehlermeldungen könnt ihr Ignorieren. Im UDK wird das Gras nun Importiert. Damit muss der Haken bei "Import Mesh LODs" aktiviert sein.


Nachdem das Mesh importiert wurde brauchen wir noch die Textur. Dort muss beim Import" Blending-->Blend_Masked aktiv sein.

Material erstellen
5. Nun muss die Textur noch in ein Material geladen werden. Unter Material muss "Blend_Masked und MLM_Non_Directional inkl. Two Sided aktiv sein.


Die Texturalpha wird mit OpacityMask verbunden. Über "Vertex Color" Und "LinearInterpolate" werden die Varriationen vom Gras eingestellt.


Damit sich das Gras später auch bewegt muss "WorldPositionOffset" noch mit eingebunden werden. Zum Schluss noch das Material dem Grasmesh hinzufügen und auf der Landschaft platzieren.


LOD//Windactor/VertexPaint
6. Unter den Gras Properties im Editorview muss noch die "Overridden LODMAX Range" und die "Max Draw Distance" angepasst werden. Damit sich das Gras auch wirklich bewegt muss der Szene noch ein "WindDirectionalSource" hinzugefügt werden. Jetzt kann noch per "Mesh Paint Mode" das Gras bemalt werden.

Final result


1 Kommentar:

Anonym hat gesagt…

Sieht echt klasse aus, aber wie erstellt man denn eine gute Grastextur?