Foliage Mode

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fortgeschrittene Grundlagen.
    Einführung in das Arbeiten im Foliage Mode (Unreal Engine 4.14 vom Dezember 2016).
    Level Editor


    Foilage Instanced Meshes
    Englisches Original





    Unreal Engine 4.13.2


    Das Foliage Instanced Mesh System erlaubt es, Sets von Static Meshes auf Landscape Actor, andere Static Mesh Actors und BSP Geometrie schnell aufzutragen oder zu löschen. Diese Meshes werden automatisch in Stapel (batches) gruppiert, die mit Hardware Instancing gerendert werden, so dass viele Instanzen mit nur einem Draw-Aufruf gerendert werden können.

    Beispiele für das Foliage Tool im Abschnitt Foliage des Inhalts Landscape Content Example.


    Foliage Edit Mode


    Das Foliage Tool wird über die Schaltfläche Foliage (Umschalt + 4) im Modes Panel aktiviert.



    Das Fenster Foliage Edit Mode wird im Modes Panel geöffnet.



    Mesh List


    Die Mesh-Liste ist der Bereich, in dem statische Meshes, die als Laub verwendet werden sollen, platziert werden. Um der Mesh-Liste ein statisches Mesh hinzuzufügen, müssen Sie das statische Mesh aus dem Inhaltsbrowser in den Bereich ziehen, in dem Drop Foliage Here steht.



    Der gelbe Abschnitt Foliage Type wird nur angezeigt, wenn der korrekte Actortyp hinzugefügt werden soll. Erscheint dieser Hinweis nicht, ist der falsche Type ausgewählt.


    Um die Eigenschaften eines Static Mesh, das als Foliage verwendet wird, anzupassen, wähle das Static Mesh in der Meshlist und drücke dann das kleine Lupe-Symbol in der unteren rechten Ecke des Foliage Tool. Dadurch werden die ausgewählten Static Meshes Details geöffnet.



    Einmal gedrückt, sollte sich das auf dem folgenden Bild gezeigte Menü öffnen.




    Auswahl der Foliage Meshes


    Foliage Meshes in der Mesh Liste werden verwendet, indem der Mauszeiger über das Mesh in der Liste bewegt wird und das Häkchen, in der oberen linken Ecke, aktiviert oder deaktiviert wird.



    Foliage Meshes können auch über die Mesh Liste ausgewählt werden. Ein orangefarbener Rahmen zeigt an, dass dieses Mesh aktiviert ist (bzw. ein graufarbener Rahmen, bei Verwendung des Tools im Level Viewport). Für das ausgewählte Mesh können nun im darunter geöffneten Menü Einstellungen vorgenommen werden.



    Brush Settings




    In der Mesh Liste (siehe oben) zeigt das Mesh Edit Tool die Eigenschaften an, die sich auf das aktuell ausgewählte Foliage Tool beziehen. (Nicht jede Einstellung wird mit jedem Foliage Tool angezeigt.)

    WerkzeugBeschreibung
    Brush SizeDie Größe der Brush Tools in Unreal Einheiten.
    Paint DensityDie gewünschte Dichte, in der die Instanzen hinzugefügt werden, wenn die linke Maustaste aktiviert wird.Dies ist ein Wert von 0 bis 1,
    wobei 1 Mesh-Instanzen mit der maximalen Dichte
    mischt, die in den Mesh-Eigenschaften für jedes
    Mesh aufgeführt ist (siehe unten).
    Wenn die Dichte der Meshes im Brush Tool bereits
    größer ist, werden keine Meshes hinzugefügt.
    Erase DensityDie gewünschte Dichte, mit der Instanzen mit Strg + Shift + MLB gelöscht werden.Dies ist ein Wert von 0 bis 1,
    wobei 0 keine Meshes und 1 die maximale Dichte
    in den Mesheigenschaften für jedes Mesh (siehe unten).
    Wenn es weniger Meshes als diese gewünschte
    Löschdichte gibt, werden keine Meshes mehr gelöscht.
    Dies ermöglicht es, Meshes, die bereits gesetzt wurden, auszudünnen,
    ohne vollständige Entfernung aller Instanzen.



    Die Häkchenfelder, mit den Bezeichnungen "Landscape", "Static Mesh", "BSP" und "Translucent", bestimmen, auf welchen Foliage Meshes der Actor Typ platziert wird, wenn das Tool verwendet wird. Wenn ein Kontrollkästchen markiert ist, wird angezeigt, das ein Foliage Mesh hinzugefügt werden wird, wenn das Tool auf dem betreffenden Typ verwenden. Ein Kontrollkästchen deaktivieren, bedeutet dass ein gewähltes Foliage Mesh nicht zu diesem Actor Typ hinzugefügt wird.


    Tablet Druckempfindlichkeit wird ebenfalls unterstützt. Der Stiftdruck moduliert die Anzahl der hinzugefügten oder entfernten Foliage Mesh Instanzen, nachdem alle anderen Parameter berücksichtigt wurden.


    Foliage Tools


    Am linken Rand des Foliage Tool Panel stehen fünf Arbeitstools zur Verfügung.

    Paint Tool - zum Hinzufügen und Entfernen von Foliage-Instanzen.
    Reapply Tool – wird verwendet, um die Parameter der bereits positionierten Instanzen zu ändern.
    Selection Tool - zur Auswahl einzelner Instanzen, zum Verschieben, Löschen usw.
    Lasso Tool - wird verwendet, um mehrere Instanzen mit dem Pinsel auszuwählen.
    Fill Tool - wird verwendet, um die Anzahl der Meshes zu bestimmen, die mit dem Paint Tool platziert werden sollen.


    Paint Tool




    Das Paint Tool ist das Standardwerkzeug des Foliage Edit Mode. Es wird verwendet, um Instanzen der Static Meshes in der Mesh Liste im Level zu setzen. Wenn der Foliage Edit Mode aktiviert ist, wird eine transparente Kugel Brush im Viewport des Levels angezeigt, die angibt, wo der Foliage Brush arbeitet.
    Das Bild unten zeigt im Beispiel, wie das Tool aussieht.



    Hinzufügen von Foliage:

    • Mit dem Brush (Kugel) an die gewünschte Stelle des Levels. Mit Aktivierung der linken Maustaste werden die Foliage nun platziert. Alle derzeit ausgewählten Meshes in der Mesh Liste werden entsprechend ihren aktuellen Parametern und Einstellungen hinzugefügt.
    Beim Meshpainting, führt die Engine eine Reihe von Line Traces innerhalb der Kugel parallel zur Blickrichtung, dh. jede Oberfläche, die innerhalb der Kugel zu sehen ist, wird ein mögliches Ziel für Foliage Instanzen sein.

    Löschen von Foliage:

    • Mit dem Brush (Kugel) im Level an die gewünschte Stelle. Durch Halten der Shift taste und aktivieren der Maustaste wird Foliage gelöscht. Dabei werden die vorher eingestellten Parameter verwendet.



    Foliage Paint arbeitet auch im VR-Editor. Für die Eingaben des Foliage Paint Mode in VR siehe die VR Editor Controls.


    Paint Settings


    Jedes Static Mesh in der Mesh Liste hat eine Anzahl von Eigenschaften, die steuern, wie Instanzen platziert, skaliert oder gedreht werden, wenn das ausgewählte Static Mesh positioniert wird. Die Eigenschaften werden, je nach Auswahl des Static Mesh oder der Static Meshes in der Mesh Liste, in den Optionen angezeigt.

    EigenschaftBeschreibung
    MeshHier wird festgelegt, welche Art von Static Mesh verwendet werden soll.
    PaintingFestlegen der Optionen, wie den minimalen Abstand zwischen Foliage Meshes, die Dichte, bei der Meshes hinzugefügt werden und wie die Foliage Meshes skaliert werden sollen.
    PlacementHiermit wird gesteuert, wie die Foliage-Maschen bei der Painting im Level platziert werden.
    Instance SettingsMit dieser Option kann das Verhalten dieser Instanz angepasst und damit werden Eigenschaften abgestellt, die vom Static Mesh im Content Browser abgeleitet werden.


    Reapply Tool

    „Wiederholungs Tool“



    Mit dem Reapply Tool können Sie bestimmte Parameter für Foliage Meshes, die bereits in der Welt platziert sind, selektiv ändern. Beim Malen über Foliage Meshes mit dem Reapply Tool werden die Foliage Meshes, die in der Mesh Liste ausgewählt werden, aktualisiert, um die Änderungen durchzuführen, die im Reapply Tool vorgenommen wurden.



    Wenn ein Kontrollkästchen gesetzt ist, wird der entsprechende Parameter beim Anwenden des Brushes über vorhandene Instanzen aktualisiert. Die meisten Einstellungen sind die gleichen wie beim Paint Tool, allerdings gibt es einige Unterschiede:

    ItemBeschreibung
    MeshHier wird festgelegt, welche Art von Static Mesh verwendet werden soll.
    PaintingHier wird festgelegt, wie Foliage Meshes in das Level eingefügt werden.
    PlacementHier wird festgelegt, wie Foliage Meshes im Level platziert werden.


    Select Tool

    „Auswahlwerkzeug“



    Wenn das Select Tool aktiv ist, können einzelne Instanzen von Foliage Meshes durch Betätigen der Maustaste (LMB) ausgewählt werden. Es können mehrere Foliage Maeshes gleichzeitig ausgewählt werden, indem die Strg-Taste gehalten wird, während Foliage Meshes im Level angewählt werden.



    Sobald Instanzen ausgewählt wurden, können die folgenden Aktionen durchgeführt werden.

    AktionErgebnis
    Bewegen der Widget AchseDie ausgewählten Instanzen werden nach dem Widget verschoben, gedreht oder skaliert.
    Alt+Bewegen einer Widget AchseDie ausgewählten Instanzen werden zuerst dupliziert und verschieben danach das Objekt.
    LöschtasteDie ausgewählten Instanzen werden gelöscht.
    Ende-Taste„snap to floor“. Die ausgewählten Instanzen „sneppen“ zum Boden, wenn diese Option im Original aktiviert wurde.


    Mit den verschiedenen Auswahltasten können alle Foliage Mesh Actors, beliebige ungültige Foliage Meshes ausgewählt werden oder die Markierung aufheben, die ausgewählt ist.




    Lasso Tool




    Mit dem Lasso Tool können eine große oder kleine Anzahl von Foliage Meshes gleichzeitig ausgewählt werden. Es können Filtereinstellungen verwendet werden, um sicherzustellen, dass keine Foliage Meshes angewählt werden, die auf bestimmte Objekte platziert wurden. Um Foliage Meshes werden mit der rechten Maustaste innerhalb der Szene ausgewählt. Mit gedrückter Shift Taste werden Foliage Meshes deselektiert. Sobald eine Auswahl getroffen wurde, kann auf das reguläre Select Tool gewechselt werden und Aktionen wie duplicate, verschieben oder entfernen der Foliage Meshes ausgeführt werden.




    Fill Tool

    Füllwerkzeug



    Das Fill Tool wird verwendet, um einen vollständigen Static Mesh Actor im Level mit den ausgewählten Foliage Meshes abzudecken. Das Fill Tool arbeitet ähnlich dem Paint Tool mit dem entscheidenden Unterschied, dass ein ausgewählte Static Mesh mit einem einzigen Klick mit Foliage Actor gefüllt werden können. Um das Fill Tool zu verwenden, muss das Static Mesh, das mit Laub bedeckt werden soll, mit der linke Maustaste angewählt werden. Je öfter die Maustaste gedrückt wird, desto mehr wird Foliage hinzugefügt. Um Foliage zu entfernen, muss zusätzlich die Umschalttaste gedrückt werden.



    Bei Problemen, Foliage Meshes mit dem Fill-Werkzeug zu löschen, beachte das der Actor und nicht auf das Static Mesh mit dem Mauszeiger angewählt wurde, die hinzugefügt wurden.


    Culling


    Da Foliage Instanzen als Cluster in einem einzigen Drawaufruf gerendert werden, wird jeder Cluster entweder basierend auf Okklusioneinstellungen gerendert oder eben nicht gerendert. Wenn ein Wert im Parameter End Cull Distance festlegt wird, werden die Cluster auch über diesen Abstand hinaus geculled. Dies führt jedoch dazu, dass Gruppen von Meshes plötzlich verschwinden, wenn der gesamte Cluster aus dem Bereich fällt.

    Dies kann durch Hinzufügen des Parameters Start Cull Distanz und anschließender Einstellung des Materials reduziert werden. Im Vertex Shader wird ein prozentualer Fadingfaktor berechnet, der von 1,0 am Startabstand zu 0,0 am Endabstand geht. Dies ist im Material über einen Pro Instanz Fadeamount-Knoten zugänglich. Wenn dies mit einem Deckkraft- oder Maskierungswert verbunden wird, kann es verwendet werden, um Instanzen über eine Distanz „auszudünnen“, bevor sie das Cull Distance End erreichen und aus dem Rendering entfernt werden.

    Das Beispielmaterial unterhalb multipliziert die Materialmaske mit dem Ausbleichungsfaktor, um die Floiage Meshes Leaves auszudünnen, bevor sie vollständig verschwinden.



    LOD

    Level Of Detail

    Static Mesh LOD stützt sich auf Foliage.
    Einige wichtige Anmerkungen:

    • Es sollte sichergestellt werden, dass das Static Mesh nur einen Eintrag im Elements-Array hat (sichtbar unter LOD0).
    • Es sollte beachtet werden, dass Licht- und Schattenmaps von allen LOD-Level gemeinsam genutzt werden, sodass alle LODs das gleiche Entpacken verwenden müssen.
    • Derzeit ändern die gesamten Cluster von Instanzen LODs gleichzeitig. Wir versuchen Unterstützung für die Distance-based Fading pro Instanz in der Zukunft hinzuzufügen.



    Lighting

    Beleuchtung

    Jede einzelne Mesh-Instanz hat ihre eigene Shadow- und/oder Lightmap, die von Lightmass erzeugt wird, diese werden für jede vorberechnete Charge zusammengelegt. Es gibt mehrere Einstellungen auf dem Static Mesh, die für precomputed Lighting überprüft werden sollten, um mit instanziertem Foliage gut zu funktionieren. Lightmass ist bei der Erzeugung von Shadowmaps für instanzierte Meshes weniger verzeihend, und falsche Einstellungen können nach dem Wiederaufbau der Beleuchtung zu schwarzen Meshes führen.


    • Light Map Coordinate Index - Dieser Wert muss auf einen gültigen UV-Kanal eingestellt werden, der über ein einzigartiges UV-Auspacken verfügt. Der Generator "Unique UVs" des Static Mesh-Editors, auf den über das Menü "Window" zugegreifen werden kann, kann ein schnelleres Entpacken erzeugen.
    • Lightmap-Auflösung - Dies muss eine kleine Zahl sein, damit alle Shadowmaps für Instanzen in einem einzelnen Cluster (standardmäßig 100) zusammengeführt werden können, ohne die maximale Texturauflösung (4094x4096) zu überschreiten.



    Foliage Scalability

    Skalierbarkeit

    Foliage Static Meshes können das Scalabilty System verwenden, um die Anzahl der Foliage Instanzen, die derzeit auf dem Bildschirm gerendert werden, zu erhöhen oder zu verringern. Um diese Funktionalität zu einem Projekt hinzuzufügen, müssen folgende Schritte durchgeführt werden:

    Um den Foliage Painting Modus zu verwenden, muss Ihr Level entweder ein Landscape Terrain oder Static Meshes mit Collision enthalten.


    1) Klicken Sie mit der rechten Maustaste in den Conent Browser. Erweitern Sie unter dem Abschnitt Create Advanced Asset den Abschnitt Miscellaneous, und wählen Sie die Option Foliage Type aus.


    2) Geben Sie einen Namen für den Foliage-Typ ein (für dieses Beispiel verwenden wir FT_Box) und doppelklicken Sie auf den FT_Box-Foliage-Typ, um ihn zu öffnen.


    3) Sobald FT_Box geöffnet ist, erweitern Sie die Bereiche Mesh und Skalierbarkeit.


    4) Wählen Sie im Content Browser ein statisches Mesh aus (in diesem Beispiel verwenden wir den Shape_Cube, der mit dem Starter-Inhalt geliefert wird). Ziehen Sie im FT_Box-Foliage-Typ unter dem Mesh-Bereich den Shape_Cube aus dem Content Browser in die Mesh-Option.


    5) Klicken Sie im Abschnitt Skalierbarkeit des FT_Box-Foliage-Typs auf das Feld, das neben Enable Density Scaling ist, um dem Skalierbarkeitssystem den Zugriff auf dieses Statische Mesh zu ermöglichen.


    Die Option Dichte-Skalierung aktivieren sollte in der Regel nur für Detail-Laub ohne Kollision wie kleine Felsen und Büsche aktiviert werden. Es sollte für Foliage-Typen mit Kollision wie Bäumen deaktiviert werden, da die Kollision für entfernte Instanzen weiterhin im Spiel bestehen wird.


    6) Wählen Sie im Bedienfeld Modes das Foliage Tool aus. Wählen und ziehen Sie den FT_Box-Foliage-Typ aus dem Inhaltsbrowser in den Bereich mit der Beschriftung, Drop Foliage Here.


    7) Wählen Sie die FT_Box-Foliage-Typ aus, die Sie in der Liste Foliage Type platziert haben, um sie auszuwählen. Halten Sie im Ansichtsfenster die linke Maustaste gedrückt, um mit dem painting der FT_Box-Foliage-Meshes auf eine Fläche zu beginnen.


    8) Klicken Sie in der Symbolleiste auf die Schaltfläche "Play", um das Level zu laden. Navigieren Sie zu einem Ort, wo Foliage hinzugefügt wurde.



    Sie können die Dichte, bei der das Foliage-Bild gerendert wird, durch Drücken der Backtick-Taste (`) steuern, um die Konsole zu öffnen und den folgenden Befehl, gefolgt von einer Dezimalzahl im Bereich von 0 bis 1, einzugeben.

    - Foliage.DensityScale


    Wenn die Einstellung für Foliage Density Scale verändert werden und die Aktualisierung der Ergebnisse in Echtzeit angezeigt werden soll, funktioniert das nicht in den Editor-Viewports. Die einzige Möglichkeit, das Foliage-Density-Update in Echtzeit zu sehen, ist, den Befehl einzugeben, während sich das Projekt in einem Game Mode wie PIE, Simulate oder Standalone befindet.


    Bilder
    • FoliageMove.png

      280,72 kB, 1.533×819, 23 mal angesehen
    • InstanzOptionenOpen.png

      109,54 kB, 390×1.041, 24 mal angesehen
    • Tools.png

      16,52 kB, 315×75, 23 mal angesehen

    821 mal gelesen

Unreal®, Unreal Engine, the circle-U logo and the Powered by Unreal Engine logo are trademarks or registered trademarks of Epic Games, Inc. in the United States and elsewhere.