Kurz gesagt
- PCGCleanSplineSettings bietet Einstellungen zum Entfernen überlappender oder in geraden Abschnitten überflüssiger Kontrollpunkte.
- PCGSpawnSplineMeshSettings erstellt für jedes Segment der Spline eine Spline Mesh Component.
- Die Dokumentation zur Bereinigung gehört zur experimentellen Python-API von Unreal Engine 5.7, die zur Mesh-Erzeugung zu Version 5.5.
- 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
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.
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_pointssteuert, ob Punkte entfernt werden, die in geraden Abschnitten die abschließende Spline-Berechnung nicht beeinflussen.fuse_colocated_control_pointsermöglicht das Zusammenführen von Punkten innerhalb eines festgelegten Abstands im Weltraum.Schwellenwerte sorgfältig einstellen.
colocation_distance_thresholdlegt den Abstandsschwellenwert fest, innerhalb dessen zwei Kontrollpunkte als am selben Ort gelten.collinear_angle_thresholdbestimmt 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.Messraum und Winkeleinheit prüfen. Mit
use_spline_local_spacewird für die Abstandsberechnung der lokale Raum der Spline anstelle des Weltraums verwendet. Istuse_radiansaktiviert, wird der Winkelschwellenwert direkt in Radiant angegeben; bei einer Änderung dieser Eigenschaft wird der aktuelle Wert vonCollinearAngleThresholdautomatisch umgerechnet. Berücksichtigen Sie diese Änderung der Einheit, wenn Sie Werte manuell übertragen.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.
Mesh-Eigenschaften und Laden überprüfen.
spline_mesh_descriptorstellt den Mesh-Component-Descriptor bereit,spline_mesh_paramsdie Parameter für das Spline Mesh. Istsynchronous_loadaktiviert, 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.Grenzen für Overrides und Nachbearbeitung beachten.
spline_mesh_override_descriptionslegt 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_namesnimmt eine Liste von Funktionen entgegen, die nach der Mesh-Erzeugung auf dem Ziel-Actor aufgerufen werden. Diese Funktionen müssen parameterlos sein und das KennzeichenCallInEditorbesitzen.
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 QuellenQuelltexte werden nicht neu veröffentlicht; kurze Zitate sind gekennzeichnet, der Rest ist eigene Zusammenfassung und Einordnung.
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.



