Kurz gesagt
- Ein Heightfield speichert Höheninformationen in einem zweidimensionalen Raster; Ebenen ermöglichen es, Terrain-Elemente separat zu bearbeiten.
- Mit Mask by Feature lassen sich Bereiche anhand von Neigung, Höhe, Krümmung, Ausrichtung und Abschattung auswählen.
- HeightField Scatter erzeugt in maskierten Bereichen Punkte – je nach Abdeckung, Dichte oder Gesamtzahl der Punkte.
- Laut Dokumentation ist HeightField Mask by Feature seit Houdini 16.0 verfügbar, HeightField Scatter seit 17.0.
Die offiziellen Houdini-Dokumentationen zu Heightfields beschreiben die Terrain-Erstellung als Workflow, der mit einem einfachen Höhenfeld beginnt und sich mit Masken und Scatter verfeinern lässt. Dieser Ansatz kann dabei helfen, in architektonischen Umgebungsmodellen Topografie, Vegetationsbereiche und Verteilungen auf dem Terrain separat zu steuern. Den Dokumentationen zufolge ist der Node HeightField Mask by Feature seit Houdini 16.0 und HeightField Scatter seit 17.0 verfügbar. Die folgenden Schritte basieren auf den dokumentierten Funktionen dieser Nodes.
1. Ein einfaches Heightfield erstellen
Öffnen Sie auf Houdinis
obj-Ebene das Tab-Menü und erstellen Sie einGeometry OBJ. Wechseln Sie hinein, um im SOP-Netzwerk zu arbeiten.Fügen Sie einen
HeightField SOPhinzu. Dieser Node erzeugt eine flache Terrain-Grundfläche, die am Szenenursprung zentriert ist und sich in der XZ-Ebene erstreckt.Legen Sie die Größe über
Sizeund die Auflösung überGrid Spacingfest. Die Dokumentation nennt als Standardgröße 1000 × 1000 Meter. Bei einem üblichen Grid-Abstand von 2 Metern entstehen 500 × 500 Zellen. Ein geringerer Abstand kann mehr Details liefern; die Dokumentation erklärt jedoch lediglich, dass dieser Parameter die Terrain-Auflösung bestimmt, und macht keine konkreten Angaben zu den Auswirkungen auf die Performance.Fügen Sie einen
HeightField Noise SOPhinzu und verbinden Sie den Heightfield mit dessen erstem Eingang.Amplitudebestimmt die Stärke der Höhenänderung,Element Sizedie Größe des Noise-Musters. Ein kleinerer Wert fürElement Sizeerzeugt häufigere und spitzere Details, ein größerer Wert eine weichere Oberfläche. Ändern SieRoughnessin kleinen Schritten: Die Dokumentation empfiehlt Schritte von 0,05 und weist darauf hin, dass dieser Parameter empfindlich reagiert.
Ein Heightfield funktioniert nicht wie ein klassisches Polygonnetz; die Höheninformationen werden in einem zweidimensionalen Raster gespeichert. Mit Ebenen können Sie das Hauptterrain und später hinzugefügte Elemente separat bearbeiten, vorübergehend ausblenden oder dem Netzwerk neue Ebenen hinzufügen. Die Basisebene heißt üblicherweise height, die Maskenebene mask.
2. Terrainbereiche mit Masken definieren
Erstellen Sie eine Maske, wenn der Effekt nur in bestimmten Bereichen angewendet werden soll. Die Methode im Beispiel des offiziellen allgemeinen Guides setzt einen
HeightField Mask Noise SOPzwischen denHeightField SOPund denHeightField Noise SOP. Verbinden Sie den Ausgang des Mask-Nodes mit dem zweiten Eingang des Noise-Nodes. Die rot dargestellten Bereiche der Maske zeigen, wo der Noise-Effekt angewendet wird.Für aussagekräftigere Terrain-Kriterien verwenden Sie
HeightField Mask by Feature. In diesem Node lassen sich Neigung, Höhe, Krümmung, Ausrichtung und Abschattung einzeln aktivieren. Wenn Sie beispielsweise Bereiche oberhalb einer bestimmten Neigung oder innerhalb eines bestimmten Höhenbereichs auswählen, legen Sie fest, welche Teile der Oberfläche in die Bearbeitung einbezogen werden. Sind mehrere Kriterien aktiviert, ergibt sich das Resultat aus der Schnittmenge der Kriterienmasken.Wählen Sie beim Kombinieren der Maske mit einer vorhandenen Maske die Option
Combine with Existingpassend zum gewünschten Ergebnis.Replaceersetzt die bestehende Maske;Add,Subtract,Multiply,MaximumundMinimumkombinieren die Masken auf unterschiedliche Weise. Im ModusBlendbehält der Wert 0 die alte Maske bei, 1 verwendet die neue Maske und 0,5 mischt beide gleich stark. Beachten Sie, dass der Node die Maske auf 1 setzt, wenn kein Kriterium aktiviert ist.
3. Mit Scatter aus der Maske eine Verteilung erzeugen
Geben Sie im Feld
Mask Layerdes NodesHeightField Scatterden Namen der gewünschten Maske ein. Wählen Sie die Verteilungsmethode passend zum Bedarf:Coveragelegt fest, welcher Anteil des maskierten Bereichs mit Punkten bedeckt wird;Densitybestimmt die Anzahl der Punkte pro Quadratmeter;Total Point Countgibt die genaue Gesamtzahl der zu erzeugenden Punkte an.Um die Punktbildung in Clustern zu verringern, können Sie
Relax Pointsverwenden. Mit steigender Zahl anIterationskann die Verteilung gleichmäßiger werden; der Vorgang kann jedoch langsamer werden, und zusätzliche Iterationen bringen möglicherweise keinen Vorteil mehr, sobald eine ausreichende Verteilung erreicht ist.Max Pointsist als Sicherheitsgrenze gedacht und garantiert keine bestimmte Punktzahl. Wenn Sie eine exakte Anzahl benötigen, wählen Sie die MethodeTotal Point Count.Geometrieelemente, die auf dem Terrain platziert werden sollen, können mit dem dritten Eingang verbunden werden. Ist
Instance on New Pointsaktiviert, platziert der Node diese Geometrien auf den erzeugten Punkten. Für die Ausrichtung gibt es Optionen, mit denen sich die Punkte an den Terrain-Normalen ausrichten oder abhängig von der Neigung drehen lassen. Behalten Sie den WertGlobal Seedbei, um dieselbe zufällige Verteilung beizubehalten; laut Dokumentation erzeugt derselbe Seed dasselbe Scatter-Ergebnis.
| Einstellung | Empfohlener Wert | Wirkung |
|---|---|---|
HeightField Size | Standard laut Dokumentation: 1000 × 1000 m | Legt die Gesamtgröße der Terrain-Grundfläche fest. |
Grid Spacing | Standard laut Dokumentation: 2 m | Erzeugt ein Raster von 500 × 500 Zellen; bestimmt die Auflösung. |
Änderung von Roughness | Kleine Schritte von 0,05 | Hilft dabei, die Noise-Details kontrolliert zu verändern. |
Mask Blend | 0,5 | Mischt die alte und die neue Maske gleich stark. |
Diese Werte sind in der Dokumentation angegebene Standard- oder Beispielwerte und sollten nicht als endgültige Einstellungen für jedes Projekt verstanden werden.
Auswirkungen auf Architektur- und Visualisierungs-Workflows
Diese Methode ist nützlich für Architektinnen und Architekten, Innenarchitektinnen und Innenarchitekten sowie Archviz Artists, die Terrain nicht als einzelne Fläche, sondern in kontrollierbaren Bereichen und Verteilungen aufbauen möchten. Masken für Neigung oder Höhe helfen dabei, die zu detaillierenden Bereiche einer Szene auszuwählen; mit Scatter lassen sich dort punktbasierte Platzierungen vornehmen. Die Dokumentation nennt jedoch keine Werte für bestimmte Pflanzenmodelle, Renderzeiten oder Hardwareanforderungen.
Da Heightfields auf einem zweidimensionalen Raster basieren, sind sie bei vertikalen Flächen eingeschränkt. Wenn vertikale Bereiche detailliert werden sollen, nennt die Dokumentation Erosion des Terrains oder dessen Umwandlung in echte Geometrie als Optionen. CPU und Karma XPU unterstützen Heightfields. Beim Import in Solaris kann die Umwandlung automatisch erfolgen; in Fällen wie dem Übertragen von Farben und Ebenen auf das Terrain bietet eine manuelle Umwandlung jedoch mehr Kontrolle.
Häufige Fehler
Ein Ergebnis von
HeightField Mask by Featureerwarten, ohne ein Kriterium zu aktivieren: In diesem Fall wird die Maske auf 1 gesetzt.Max Pointsfür eine garantierte Scatter-Punktzahl halten: Laut Dokumentation ist der Wert lediglich eine Obergrenze; die tatsächliche Anzahl kann niedriger sein.Die Maske unter einem falschen Ebenennamen aufrufen: Der in
Mask Layerdes Scatter-Nodes verwendete Name muss mit der Ebene im Heightfield übereinstimmen.Annehmen, dass ein Heightfield vertikale Flächen detailliert darstellen kann: Diese Struktur speichert Höheninformationen in einem 2D-Raster und ist bei vertikalen Bereichen eingeschränkt.
Versionshinweis: Für HeightField Mask by Feature nennt die Dokumentation „Since 16.0“, für HeightField Scatter „Since 17.0“. Da auf der allgemeinen Heightfields-Seite keine konkrete Versionsnummer angegeben ist, werden keine Versionsangaben zu anderen Nodes ergänzt.
Quellen
3 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
Für Architektur- und Visualisierungsbüros in der Türkei liegt der eigentliche Vorteil dieses Workflows darin, Terrain anhand von Kriterien in Bereiche unterteilen zu können, statt es von Hand zu bearbeiten. Mit Neigung, Höhe und Masken die Verteilung zu steuern, kann es erleichtern, Anpassungen bei Projektänderungen im selben Netzwerk vorzunehmen.
Dennoch empfiehlt es sich, zunächst auf einer kleinen Testfläche zu arbeiten, bevor Sie ein dichtes Raster und eine große Zahl an Scatter-Punkten erzeugen. Da die Dokumentation keine Angaben zu Hardwareanforderungen oder Performance-Messungen enthält, sollten Sie Werte passend zum Maßstab der Szene testen. Wenn Sie insbesondere `Max Points` nicht mit einer garantierten Punktzahl verwechseln und die Einschränkungen bei vertikalen Flächen frühzeitig berücksichtigen, lässt sich unnötige Nacharbeit vermeiden.
Häufige Fragen
Was ist ein Heightfield in Houdini?
Ein Heightfield ist eine Struktur, die Terrain-Höheninformationen in einem zweidimensionalen Raster speichert. Mit Ebenen und Masken können verschiedene Bereiche separat bearbeitet werden.
Lässt sich mit HeightField Scatter eine genaue Anzahl an Punkten erzeugen?
Ja. Für eine exakte Gesamtzahl ist laut Dokumentation die Methode `Total Point Count` vorgesehen. `Max Points` dient dagegen nicht dazu, eine genaue Anzahl festzulegen, sondern setzt eine Obergrenze für die Erzeugung.
Kann ein Heightfield Details auf vertikalen Flächen erzeugen?
Die 2D-Rasterstruktur eines Heightfields ist bei vertikalen Bereichen eingeschränkt. Die Dokumentation nennt Erosion des Terrains oder dessen Umwandlung in echte Geometrie als Optionen, um diese Bereiche zu detaillieren.



