Neueste Meldungen
Houdini-Crowd-Simulation: Leitfaden zur Einrichtung von AgentsUnreal Engine PCG: Splines bereinigen und Spline Meshes erzeugenArchitekturbilder mit Gemini erstellen: Prompts für Innenräume und BearbeitungMetaRoCE auf dem OCP Summit 2026 mit offenem RDMA-Ansatz vorgestelltBlender-Kameraeinstellungen für Architektur: Perspektive, Tiefenschärfe und PanoramaSketchUp: Dynamische Komponenten mit Formeln für Wiederholungen erstellenV-Ray Enmesh: Muster in 3ds Max mit UVW korrekt aufbringenErste Fotos von Intels 256-Kern-Package Xeon 7 Diamond RapidsBlender Geometry Nodes Simulation Zone: Schritt-für-Schritt-AnleitungBlender-Animationen mit Motion Paths und dem Graph Editor analysieren
TutorialsUnreal Engine

Unreal Engine PCG: Splines bereinigen und Spline Meshes erzeugen

Dieser Leitfaden erklärt, wie sich überflüssige Kontrollpunkte auf Splines in Unreal Engine PCG reduzieren lassen und welche Einstellungen Meshes für Spline-Segmente erzeugen. Die Beispiele basieren auf offiziellen Python-API-Dokumentationen verschiedener Versionen.

Modulare Randelemente entlang einer geschwungenen Spline in einem Architektur-LandschaftsmodellKI-Bild
Symbolbild, mit KI erzeugt.Bild: 3dsınıfı / FCA AI

Kurz gesagt

  1. PCGCleanSplineSettings bietet Einstellungen zum Entfernen überlappender oder in geraden Abschnitten überflüssiger Kontrollpunkte.
  2. PCGSpawnSplineMeshSettings erstellt für jedes Segment der Spline eine Spline Mesh Component.
  3. Die Dokumentation zur Bereinigung gehört zur experimentellen Python-API von Unreal Engine 5.7, die zur Mesh-Erzeugung zu Version 5.5.
  4. Bei den Mesh-Einstellungen werden Overrides für Attribute auf Datenebene unterstützt, nicht jedoch pro Kontrollpunkt.

Was lernen Sie in diesem Leitfaden?

Dieser Leitfaden behandelt Optionen zum Bearbeiten von Spline-Daten und zum Erzeugen von Meshes entlang einer Spline mit den Procedural-Content-Generation-Werkzeugen (PCG) von Unreal Engine. Im ersten Abschnitt sehen wir uns PCGCleanSplineSettings an. Diese Einstellungen dienen dazu, überflüssige Kontrollpunkte zu entfernen, die sich überlagern oder auf derselben Geraden liegen. Anschließend erläutern wir, wie die Klasse PCGSpawnSplineMeshSettings Mesh-Komponenten für Spline-Segmente erzeugt.

Im Mittelpunkt steht nicht die schrittweise Erstellung eines bestimmten Architekturmodells, sondern das Verständnis der beiden Einstellungsgruppen und der Entscheidungen, die sie in einem Produktionsablauf beeinflussen. Die Dokumentation beschreibt die Eigenschaften der Klassen, liefert jedoch weder ein vollständiges Python-Skript zum Erstellen eines bestimmten PCG-Graphen noch einen Menüpfad im Editor. Die folgenden Schritte sind daher als Arbeitsablauf auf Basis der dokumentierten Eigenschaften zu verstehen.

Voraussetzungen und Versionshinweis

Die beiden API-Seiten stammen aus unterschiedlichen Unreal-Engine-Versionen: Die Klasse zur Spline-Bereinigung ist in der experimentellen Python-Dokumentation von Unreal Engine 5.7 aufgeführt, die Klasse zur Erzeugung von Spline Meshes dagegen in der experimentellen Python-Dokumentation von 5.5. Daraus folgt nicht, dass die Funktionen in derselben Version identisch verfügbar sind oder dass beide Klassen gemeinsam getestet wurden. Prüfen Sie zusätzlich die API-Dokumentation der Version, die Ihr Projekt verwendet.

Beide Klassen sind im PCG-Modul definiert. Die Klasse zur Bereinigung basiert auf PCGSettings; auch die Mesh-Einstellungen verwenden diese Basisklasse. Die Dokumentation nennt keine Konto- oder Lizenzanforderungen. Wer PCG-Einstellungen über Python nutzen möchte, sollte die Python-API-Dokumentation der gewählten Version heranziehen. Da die Dokumentation kein fertiges Skript enthält, wird hier kein ausführbarer Code bereitgestellt.

Vorgehensweise

  1. Spline-Daten und Ziel festlegen. Klären Sie zunächst, welche geometrische Funktion die Spline erfüllt und welcher Mesh-Typ entlang dieser Spline erzeugt werden soll. Beispielsweise lassen sich eine Landschaftsgrenze, ein Straßenrand oder ein lineares Architekturelement über eine Spline beschreiben. Das verwendete Mesh und der Projektaufbau sind in der Dokumentation jedoch nicht festgelegt. Ziel dieses Schritts ist es, vor der Bearbeitung der Spline zu beurteilen, welche Punkte oder Abschnitte die Form tatsächlich beeinflussen.

  2. Bereinigungsverhalten auswählen. PCGCleanSplineSettings behandelt zwei grundlegende Fälle, um überflüssige Kontrollpunkte entlang einer Spline zu entfernen: Punkte an derselben Position sowie Punkte, die auf dem geraden Abschnitt zwischen dem vorherigen und dem nächsten Punkt liegen. remove_collinear_control_points steuert, ob Punkte entfernt werden, die in geraden Abschnitten die abschließende Spline-Berechnung nicht beeinflussen. fuse_colocated_control_points ermöglicht das Zusammenführen von Punkten innerhalb eines festgelegten Abstands im Weltraum.

  3. Schwellenwerte sorgfältig einstellen. colocation_distance_threshold legt den Abstandsschwellenwert fest, innerhalb dessen zwei Kontrollpunkte als am selben Ort gelten. collinear_angle_threshold bestimmt den Winkel-Schwellenwert, anhand dessen ein Punkt im Verhältnis zur Geraden zwischen dem vorherigen und dem nächsten Punkt als kollinear gilt. Die Dokumentation erklärt Typ und Funktion dieser Eigenschaften, nennt aber keine empfohlenen Werte für ein bestimmtes Projekt. Testen Sie die Schwellenwerte daher mit den Szenendaten und achten Sie darauf, die Form der Spline zu erhalten.

  4. Messraum und Winkeleinheit prüfen. Mit use_spline_local_space wird für die Abstandsberechnung der lokale Raum der Spline anstelle des Weltraums verwendet. Ist use_radians aktiviert, wird der Winkelschwellenwert direkt in Radiant angegeben; bei einer Änderung dieser Eigenschaft wird der aktuelle Wert von CollinearAngleThreshold automatisch umgerechnet. Berücksichtigen Sie diese Änderung der Einheit, wenn Sie Werte manuell übertragen.

  5. Mesh-Erzeugung entlang der bereinigten Spline beurteilen. PCGSpawnSplineMeshSettings erstellt für jedes Segment der angegebenen Spline eine Spline Mesh Component. Wenn die Bereinigung dazu dienen soll, wirkungslose Punkte zu reduzieren, ohne die Geometrie zu verändern, sollten die Bereinigungseinstellungen vor der Mesh-Erzeugung geprüft werden. Die Quelldokumentation zeigt nicht, wie die beiden Klassen in einem bestimmten Graphen verbunden werden. Diese Reihenfolge ist daher ein Anwendungsvorschlag und kein fertiger Verbindungsplan.

  6. Mesh-Eigenschaften und Laden überprüfen. spline_mesh_descriptor stellt den Mesh-Component-Descriptor bereit, spline_mesh_params die Parameter für das Spline Mesh. Ist synchronous_load aktiviert, wird das synchrone Laden von Meshes und Materialien erzwungen. Prüfen Sie, wie sich diese Option auf das Ladeverhalten im Projekt auswirkt. Die Dokumentation nennt weder konkrete Performance-Auswirkungen noch eine Empfehlung, wann die Option vorzuziehen ist.

  7. Grenzen für Overrides und Nachbearbeitung beachten. spline_mesh_override_descriptions legt Overrides für den Spline-Mesh-Descriptor fest. Die Dokumentation weist ausdrücklich darauf hin, dass derzeit nur Attribute auf Datenebene unterstützt werden und Overrides pro Kontrollpunkt nicht funktionieren. post_process_function_names nimmt eine Liste von Funktionen entgegen, die nach der Mesh-Erzeugung auf dem Ziel-Actor aufgerufen werden. Diese Funktionen müssen parameterlos sein und das Kennzeichen CallInEditor besitzen.

Häufige Fehler

  • Die Dokumentation für 5.5 und 5.7 als Garantie für eine einzige Version verstehen: Die beiden Klassen sind in Dokumentationen zu unterschiedlichen Versionen beschrieben. Prüfen Sie die Eigenschaften für die verwendete Version jeweils separat.

  • Schwellenwerte zu stark erhöhen: Abstands- und Winkelschwellenwerte beeinflussen die Bereinigung. Die Quellen nennen keinen allgemein gültigen Idealwert. Kontrollieren Sie, ob die Form der Spline erhalten bleibt.

  • Overrides pro Kontrollpunkt erwarten: Laut Beschreibung der Mesh-Overrides wird diese Verwendung nicht unterstützt. Berücksichtigen Sie bei der Planung die Einschränkung auf Datenebene.

  • Die Änderung von use_radians übersehen: Beim Wechsel der Winkeleinheit wird der aktuelle Schwellenwert automatisch umgerechnet. Prüfen Sie beim Übertragen eines Werts aus einer anderen Einstellung oder einem anderen Workflow, welche Einheit verwendet wird.

  • Nicht dokumentierte Editor-Schritte voraussetzen: Die Quellen beschreiben Klassen und Eigenschaften, liefern aber weder eine bestimmte Node-Anordnung noch ein ausführbares Python-Beispiel.

Was bringt das für Workflows in Architektur, Innenarchitektur und Archviz?

Teams, die splinebasierte Wege, Bordsteine, geländerartige lineare Elemente oder Landschaftsgrenzen erzeugen, können davon profitieren, wirkungslose Kontrollpunkte zu entfernen und entlang der Segmente Meshes zu erstellen. Die Bereinigungseinstellungen sollten mit dem Ziel eingesetzt werden, die Form der Geometrie zu erhalten. Für die Mesh-Erzeugung müssen der ausgewählte Descriptor, die Parameter und das Ladeverhalten zusätzlich im Projekt bewertet werden. Gerade in Teams, die mit mehreren Unreal-Engine-Versionen arbeiten, sollte die API-Kompatibilität nicht außer Acht gelassen werden.

Die Dokumentation nennt weder Hardwareanforderungen noch Performancegewinne oder Lizenzbedingungen. Daher lassen sich daraus keine Aussagen dazu ableiten, wie sich die Spline-Bereinigung oder das synchrone Laden auf einem bestimmten Rechner auswirken. Am vorsichtigsten ist es, die Einstellungen für große Szenen im eigentlichen Projekt und in der Zielversion zu testen und die Kompatibilität experimenteller Python-API-Funktionen vor dem Einsatz in der Produktion zu prüfen.

Nächste Schritte

Öffnen Sie zunächst die PCG-Python-API-Dokumentation der gewählten Unreal-Engine-Version und vergleichen Sie die Eigenschaften der beiden Klassen für diese Version. Ändern Sie anschließend die Einstellungen zur Kontrollpunktbereinigung an einer kleinen Test-Spline und beobachten Sie die Auswirkungen auf ihre Form. Prüfen Sie für die Mesh-Erzeugung den Descriptor, die Parameter und die Einschränkung auf Overrides auf Datenebene. Bevor Sie zur Produktionsszene wechseln, vergewissern Sie sich, dass die Funktionen in der von Ihrem Projektteam verwendeten Version verfügbar sind und das erwartete Ergebnis liefern.

Quelle und Lizenz

Dieser Leitfaden wurde auf Grundlage der Beschreibung von PCGCleanSplineSettings in der experimentellen Python-API-Dokumentation zu Unreal Engine 5.7 sowie der Beschreibung von PCGSpawnSplineMeshSettings in der experimentellen Python-API-Dokumentation zu Unreal Engine 5.5 ins Deutsche übertragen und angepasst. Beide Quellen sind offizielle Dokumentationen; in den Quelldatensätzen ist die Lizenz als frei angegeben.

Quellen

2 Quellen
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/python-api/class/PCGCleanSplineSettings
Zusammenfassung
D
dev.epicgames.comdev.epicgames.com/documentation/en-us/unreal-engine/python-api/class/PCGSpawnSplineMeshSettings
Zusammenfassung

Quelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.

Die Einschätzung von 3dsınıfı
3dEinschätzung der Redaktion

Die gemeinsame Betrachtung von Spline-Bereinigung und segmentbasierter Mesh-Erzeugung in derselben Produktionspipeline kann die Bearbeitung wiederkehrender linearer Elemente erleichtern. Für Architektur- und Archviz-Teams liegt der eigentliche Nutzen darin, die Einstellungen passend zur Szene und zum Zweck der Spline zu testen; die Dokumentation liefert weder fertige Schwellenwerte noch Performance-Messungen.

Aus diesen Quellen lassen sich keine Aussagen zu den Anfangskosten für Büros und Studierende in der Türkei ableiten; auch Lizenzbedingungen und Hardwareanforderungen werden nicht erläutert. Vor einer Produktionsentscheidung sollten die Versionsunterschiede berücksichtigt werden: Die Dokumentationen zu 5.5 und 5.7 behandeln unterschiedliche Klassen, die in der experimentellen Python-Dokumentation aufgeführt sind.

Häufige Fragen

Wozu dient Unreal Engine PCGCleanSplineSettings?

Die Einstellungen dienen dazu, Kontrollpunkte auf einer Spline zu bereinigen, die sich an derselben Position befinden oder in geraden Abschnitten überflüssig sind. Abstands- und Winkelschwellenwerte legen fest, welche Punkte darunterfallen.

Wie erzeugt PCGSpawnSplineMeshSettings Meshes entlang einer Spline?

Für jedes Segment der angegebenen Spline wird eine Spline Mesh Component erstellt. Dokumentiert sind Einstellungen für den Mesh-Descriptor, die Spline-Mesh-Parameter und das synchrone Laden.

Können Spline-Mesh-Overrides pro Kontrollpunkt angewendet werden?

Laut Dokumentation werden derzeit nur Attribute auf Datenebene unterstützt; Overrides pro Kontrollpunkt funktionieren nicht.

Kommentare und Forum sind auf Türkisch.Mitdiskutieren
+

Verwandte Meldungen