Die Geometrie-Scripting-Bibliothek enthält ein sehr breites Spektrum an Funktionalität, von der einfachen Mesh-Konstruktion und Abfragen, wie dem Aufbau eines Mesh Dreieck für Dreieck oder dem Zählen seiner Scheitelpunkte, bis hin zu Operationen auf höherer Ebene wie Boolesche Mesh-Werte und Schnittstellentests.
Weitere Informationen zur Verwendung der Geometrie-Scripting-Bibliothek findest du in der Anleitung zum Geometrie-Scripting.
Die meisten Funktionen sind bei der Arbeit im Editor und zur Laufzeit verfügbar. Einige davon sind jedoch nur bei der Arbeit im Editor verfügbar und sind in den nachfolgenden Tabellen aufgeführt.
Weitere Informationen zu den verschiedenen Funktionen findest du in den Blueprint- und Python-APIs.
Asset und Komponente Lesen/Schreiben
Mit diesen Funktionen können Sie dynamische Mesh-Instanzen lesen und schreiben, z. B. von bzw. zu einem vorhandenen oder neuen Asset oder einer neuen Komponente lesen und schreiben.
| Knoten-Name | Beschreibung |
|---|---|
Mesh aus statischem Mesh kopieren | Extrahiert ein dynamisches Mesh aus einem Statisches-Mesh-Asset. |
Mesh in statisches Mesh kopieren | Aktualisiert ein Statisches-Mesh-Asset mit neuer Geometrie, die aus einem dynamischen Mesh umgewandelt wurde. |
Mesh von Komponente kopieren | Extrahiert einen dynamischen Mesh-Actor aus einem unterstützten Komponententyp im Welt-Bereich oder lokalen Raum. |
Neues Volumen aus Mesh erstellen | Erstellt einen neuen Volumen-Actor, wie z. B. ein blockierendes Volumen, aus einem dynamischen Mesh-Actor. Dieser Knoten funktioniert nur im Editor. |
Neues Statisches-Mesh-Asset aus Mesh erstellen | Erstellt ein neues Statisches-Mesh-Asset aus einem dynamischen Mesh-Actor. Dieser Knoten funktioniert nur im Editor. |
Kollision des statischen Mesh von Mesh festlegen | Generiert einfache Kollisionsformen für ein Statisches-Mesh-Asset auf der Grundlage des Input-Mesh. |
Kollision des dynamischen Mesh von Mesh festlegen | Generiert einfache Kollisionsformen für eine Dynamisches-Mesh-Komponente basierend auf dem Input-Mesh. |
Kollisions-Meshs aus Objekt kopieren | Extrahiert die Kollisionsgeometrie aus „Vom Objekt“ und kopiert sie mit Meshs, die in „In dynamisches Mesh“ gespeichert sind.
|
Dynamisches-Mesh-Kollision zurücksetzen | Löscht einfache Kollisionen aus der Dynamisches-Mesh-Komponente. |
Mesh aus Skelett-Mesh kopieren | Kopiert das Skelett-Mesh in das dynamische Ziel-Mesh. |
Mesh in Skelett-Mesh kopieren | Kopiert das angegebene dynamische Mesh in das Skelett-Mesh. |
Neues Skelett-Mesh-Asset aus Mesh erstellen | Erstellt ein neues Skelett-Mesh-Asset aus dem Ziel-Mesh. Dieser Knoten funktioniert nur im Editor. |
Überprüfen, ob statisches Mesh LOD verfügbar hat | Prüft, ob ein Statisches-Mesh-Asset über RequestedLOD verfügt. Dies ist der Fall, wenn „Copy Mesh From Static Mesh“ für den angegebenen LODType und LODIndex erfolgreich sein kann. |
Anzahl der Statisches-Mesh-LODs vom Typ holen | Bestimmt die Anzahl der verfügbaren LODs des angeforderten LODType in einem Statisches-Mesh-Asset |
Mesh-Okklusion bestimmen | Bestimmt, welche Meshs vollständig durch andere Meshs im Satz verdeckt werden, wenn sie von außen betrachtet werden. |
LOD-Materialliste aus Skelett-Mesh holen | Extrahiert die Materialliste und die entsprechenden Materialindizes aus dem angegebenen LOD des Skelett-Mesh-Assets. |
Materialliste aus statischem Mesh holen | Ruft die Asset-Materialien aus dem Statisches-Mesh-Asset ab. |
Materialliste aus Skelett-Mesh holen | Ruft die Asset-Materialien aus dem Skelett-Mesh-Asset ab. |
Material-Map in Materialliste umwandeln | Wandelt eine Material-Map in eine Materialliste und Slotnamen-Liste um. Null-Materialien werden in der Liste beibehalten und die Liste erhält die gleiche Anzahl Elemente wie die Map. |
Materialliste in Material-Map umwandeln | Wandelt eine Materialliste und Slotnamen-Liste in eine Material-Map um, die das Format hat, das von CreateNewSkeletalMeshAssetFromMesh erwartet wird. |
Morph-Ziel auf Skelett-Mesh kopieren | Fügt ein Dynamisches-Mesh-Morph-Ziel zu einem Skelett-Mesh-Asset hinzu. |
Skin-Gewichtungsprofil auf Skelett-Mesh kopieren | Fügt einem Skelett-Mesh-Asset ein Dynamisches-Mesh-Hautgewichtungsprofil hinzu. |
Generieren von Grundkörpern
Sie können diese Funktionen verwenden, um ein Grundkörper-Mesh zu generieren und an das dynamische Input-Mesh anzufügen.
| Knoten-Name | Beschreibung |
|---|---|
Box anfügen | Fügt eine 3D-Box zu einem angegebenen dynamischen Mesh hinzu. |
Kugel anfügen Lat Long | Fügt einem dynamischen Mesh eine triangulierte 3D-Kugel hinzu, die unter Verwendung der Topologie der Breiten- und Längengrade trianguliert wurde. |
Kugelbox anfügen | Fügt einem dynamischen Mesh eine mithilfe der Box-Topologie triangulierte 3D-Kugel hinzu. |
Kapsel anfügen | Fügt einem dynamischen Mesh eine 3D-Kapsel hinzu. |
Zylinder anfügen | Fügt einen 3D-Zylinder (mit optionalen Endkappen) zu einem dynamischen Mesh hinzu. |
Kegel anfügen | Fügt einem dynamischen Mesh einen 3D-Kegel hinzu. |
Torus anfügen | Fügt einem dynamischen Mesh einen 3D-Torus (Donut) oder einen Teiltorus hinzu. |
Rechteck XY anfügen | Fügt ein planares Rechteck zu einem dynamischen Mesh hinzu. |
Rundes Rechteck XY anfügen | Fügt einem dynamischen Mesh ein planares Rechteck mit abgerundeten Ecken (RoundRect) hinzu. |
Scheibe anfügen | Fügt einem dynamischen Mesh eine planare Scheibe hinzu. |
Trianguliertes Polygon anfügen | Fügt einem dynamischen Mesh eine Delaunay-Triangulation eines planaren 2D-Polygons hinzu. |
Gedrehtes Polygon anfügen | Fügt einem dynamischen Mesh die Rotationsoberfläche eines 2D-Polygons, einer vollständigen oder optional begrenzten teilweisen Rotation hinzu. |
Spiralförmiges gedrehtes Polygon anfügen | Rotiert ein 2D-Polygon auf einem schraubenförmigen Pfad, wie er zum Erstellen einer vertikalen Spirale verwendet wird. |
Gedrehten Pfad anfügen | Rotiert einen offenen 2D Pfad, mit optionalen Endkappen oben und unten. |
Einfaches Extrusionspolygon anfügen | Extrudiert ein 2D-Polygon mithilfe eines ausgewählten dynamischen Mesh entlang eines vertikalen Pfads. |
Einfaches verschobenes Polygon anfügen | Verschiebt ein 2D Polygon mithilfe eines ausgewählten dynamischen Mesh entlang eines willkürlichen 3D-Pfads. |
Lineare Treppe anfügen | Fügt mithilfe eines ausgewählten dynamischen Mesh eine lineare Treppe hinzu. |
Gekrümmte Treppe anfügen | Fügt eine ansteigende Wendeltreppe hinzu, die ein ausgewähltes dynamisches Mesh verwendet. |
Mesh transformiert anfügen | Wendet jede Transformation auf „Mesh anfügen“ an und fügt dann dem Ziel-Mesh seine Geometrie hinzu. |
Sweep-Polygon anfügen | Verschiebt und dreht ein 2D-Polygon entlang des Sweep-Pfads, um ein 3D-Mesh zu erstellen, das an das bereitgestellte Mesh angefügt wird. |
Voronoi-Diagramm-2D anfügen | Generiert triangulierte Voronoi-Zellen aus den angegebenen Voronoi-Positionen, kennzeichnet sie mit PolyGroups und fügt sie dem bereitgestellten Mesh an. |
Sweep-Polylinie anfügen | Verschiebt die angegebenen 2D-Polylinien-Scheitelpunkte entlang des Sweep-Pfads, der als Set aus FTransforms angegeben wurde. Wenn die 2D-Scheitelpunkte (U,V) sind, dann zeigt im Koordinatenraum des FTransform X „entlang“ des Pfades, Y nach „rechts“ (U) und Z nach „oben“ (V). |
Begrenzungsrahmen anfügen | Fügt dem Ziel-Mesh eine 3D-Box hinzu, deren Dimensionen und Ursprung der Input-Box entsprechen. |
Delaunay-Triangulation-2D anfügen | Generiert eine Delaunay-Triangulation aus den bereitgestellten Scheitelpunkten und fügt sie dem Ziel-Mesh an. |
Polygonlisten-Triangulation anfügen | Generiert eine Delaunay-Triangulation aus der angegebenen Liste der Polygone und fügt sie dem Ziel-Mesh an. |
Trianguliertes Polygon anfügen 3D | Fügt ein trianguliertes Polygon (mit in 3D angegebenen Scheitelpunkten) an das Ziel-Mesh an. Verwendet Triangulation auf Basis von Ear Clipping. Die Output-Scheitelpunkte werden immer 1:1 mit den Input-Scheitelpunkten sein. Der Polygon-Endpunkt wird nicht wiederholt. |
Einfache Kollisionsformen anfügen | Fügt dem Ziel-Mesh einfache Kollisionsformen an, die gemäß den Optionen trianguliert wurden. |
Kugelabdeckung anfügen | Fügt die Kugeln in der Kugel-Abdeckung an das Ziel-Mesh an. |
Box mit Kollision anfügen | Fügt eine 3D-Box an das Ziel-Mesh an und erstellt eine passende einfache Kollision. |
Begrenzungsrahmen mit Kollision anfügen | Fügt eine 3D-Box an das Ziel-Mesh an, deren Abmessungen und Ursprung aus der Input-Box stammen. Erstellt auch eine passende einfache Kollision. |
Sphäre anfügen Lat Long mit Kollision | Fügt eine 3D-Kugel, die mithilfe der Breiten-/Längengrad-Topologie trianguliert wurde, an das Ziel-Mesh an. Erstellt auch eine passende einfache Kollision. |
Sphärenbox mit Kollision anfügen | Fügt eine 3D-Kugel, die mit Hilfe der Box-Topologie trianguliert wurde, an das Ziel-Mesh an. Erstellt auch eine passende einfache Kollision. |
Kapsel mit Kollision anfügen | Hängt eine 3D-Kapsel an das Ziel-Mesh an. Erstellt auch eine passende einfache Kollision. |
Eingeschränkte Kantenschleife erstellen | Vorgesehen für die Verwendung mit „Delaunay-Triangulation-2D anfügen“. Erstellt eine Schleife aus Kanten durch aufeinanderfolgende Scheitelpunkte. Zum Beispiel konstruiert eine Schleife (3,0) die Kanten (2,0), (0,1) und (1,2). |
Eingeschränkte Kantenkette erstellen | Vorgesehen für die Verwendung mit „Delaunay-Triangulation-2D anfügen“. Erstellt eine Kette von Kanten durch aufeinanderfolgende Scheitelpunkte. Zum Beispiel konstruiert eine Kette (3,0) die Kanten (0,1) und (1,2). |
Transformation und Deformation
Sie können diese Funktionen verwenden, um die Scheitelpunktpositionen eines dynamischen Mesh zu manipulieren. Diese Manipulationen verändern nicht die Topologie oder Konnektivität des Mesh.
| Knoten-Name | Beschreibung |
|---|---|
Mesh verschieben | Wendet eine Verschiebung auf die Scheitelpunkte eines Mesh an. |
Mesh skalieren | Wendet eine Maßstabtransformation auf die Scheitelpunkte eines Mesh an. |
Mesh transformieren | Wendet ein beliebiges FTransform auf die Scheitelpunkte eines Mesh an. |
Kurvenbiegung auf Mesh anwenden | Wendet eine Kurvenbiegung um eine Achse an, die durch eine Transformation definiert wird. |
Verdrehungsbiegung auf Mesh anwenden | Wendet eine Verdrehungsbiegung um eine Achse an, die durch eine Transformation definiert wird. |
Streulichtbiegung auf Mesh anwenden | Wendet eine Streulicht- oder Wölbungsverzerrung an. |
Mathematik-Biegung auf Mesh anwenden | Wendet verschiedene einfache, auf mathematischen Funktionen basierende Verzerrungen an, derzeit eine 1D- oder 2D-Sinuswelle mit willkürlicher Ausrichtung. |
Perlin-Rauschen auf Mesh anwenden | Wendet eine 3D-Perlin-Rauschverschiebung auf das gesamte Mesh oder Regionen des Mesh an, die durch die optional Auswahl definiert werden. |
Iteratives Glätten auf das Mesh anwenden | Wendet mehrere Mesh-Glättungsiterationen auf das gesamte Mesh oder eine Teilmenge an, die durch die optionale Auswahl definiert wird |
Displacement von Texturkarte anwenden | Wendet eine Verschiebung auf ein dynamisches Mesh an, basierend auf einer Texture2D und einem UV-Kanal. |
Mesh drehen | Dreht das Mesh relativ zum angegebenen Ursprung. |
Drehpunkt zu Position verschieben | Legt den Drehpunkt des Mesh fest. Da der Drehpunkt eines Mesh-Objekts immer der Punkt bei (0,0,0) ist, verschiebt diese Funktion das Mesh einfach um -PivotLocation. |
Transformation von Z-Achse machen | Erstellt eine Transformation an der angegebenen Position, wobei der ZAxis-Vektor die Z-Achse der Transformation ist und die X- oder Y-Achse basierend auf dem Parameter |
Transformation von Achsen machen | Erstellt eine Transformation an der angegebenen Position, wobei der ZAxis-Vektor die Z-Achse der Transformation ist und die X- oder Y-Achse basierend auf dem Parameter |
Transformationsachsenvektor holen | Holt den Vektor für die Richtung der X-, Y- und Z-Achse der Transformation. |
Transformationsachsenstrahl holen | Holt den Strahl an der Transformationsposition, die an der Richtung der X-, Y- und Z-Achse der Transformation ausgerichtet ist. |
Transformationsachsenebene holen | Holt die Ebene an der Transformationsposition, wobei die Ebenennormale an der Richtung der X-, Y- und Z-Achse der Transformation ausgerichtet ist. |
Aufbau und Auflösung
Sie können diese Funktionen verwenden, um Meshs zu kombinieren oder aufzuteilen.
| Knoten-Name | Beschreibung |
|---|---|
Mesh zu Mesh kopieren | Kopiert das Mesh von einem dynamischen Mesh in ein anderes. |
Sub-Mesh von Mesh holen | Kopiert eine Liste mit Dreiecken von einem dynamischen Mesh zu einem anderen. |
Mesh nach Komponenten aufteilen | Teilt ein Mesh in Teile auf, einen für jede verbundene Komponente, die aus einem Dynamisches-Mesh-Pool gezogen werden. |
Mesh nach Material-IDs aufteilen | Teilt ein Mesh in Teile auf, einen für jede Material-ID, die aus einem Dynamisches-Mesh-Pool gezogen werden. |
Mesh anhängen | Fügt die Geometrie von einem Mesh zu einem anderen hinzu, mit optionaler Transformation. |
Mesh wiederholt anhängen | Fügt die Geometrie von einem Mesh zu einem anderen hinzu, basierend auf der Anzahl der Wiederholungen, wobei jedes Mal eine Transformation akkumuliert wird. Diese Operation eignet sich gut zur Erstellung von Mustern. |
Mesh nach Scheitelpunktüberlappung aufteilen | Erstellt für jeden Teil des TargetMesh, der mit Scheitelpunkten verbunden ist oder überlappt, ein neues Mesh. |
Meshes nach Volumen sortieren | Sortiert Meshes nach ihrem Volumen. Bei Meshs mit offener Grenze wird das Volumen in Bezug auf die durchschnittliche Scheitelpunktposition berechnet. |
Meshes nach Fläche sortieren | Sortiert Meshes nach ihrer Oberflächenausdehnung |
Meshes nach Begrenzungsvolumen sortieren | Sortiert Meshes nach ihrem Achsen-ausgerichteten Begrenzungsrahmenvolumen. |
Meshes nach benutzerdefinierten Werten sortieren | Sortiert Meshes nach den Werten in einem zweiten Array, das die gleiche Länge wie das Meshes-Array haben muss. Wenn das Werte-Array beispielsweise [3, 2, 1] lautet und die Sortierreihenfolge aufsteigend ist, würde das Meshes-Array umgekehrt sein. |
Mesh-Modellierung
Diese Funktionen stellen standardmäßige Modellierungsvorgänge auf hoher Ebene bereit, rufen jedoch im Allgemeinen den Mesh-Verarbeitungscode auf niedriger Ebene auf, den das ähnlich benannte Werkzeug im Modellierungsmodus aufrufen würde.
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Boolean anwenden | Wendet eine Boolesche Operation (z. B. Vereinigung, Überschneiden und Subtrahieren) auf ein dynamisches Mesh an, basierend auf einem zweiten Mesh. |
Mesh-Ebenenschnitt anwenden | Wendet einen Ebenenschnitt auf ein Mesh an und füllt optional alle erstellten Lücken. |
Mesh-Ebenenschnitt anwenden | Schneidet ein Mesh in zwei Hälften, mit optionalem Füllen von Lücken |
Mesh-Mirror anwenden | Spiegelt ein Mesh in einer Ebene, mit optionalem Schneiden und Verschweißen von Dreiecken |
Mesh-Versatz anwenden | Bewegt die Scheitelpunkte eines Mesh zu einer Versatzoberfläche. |
Mesh-Hülle anwenden | Verschiebt eine Kopie der Mesh-Dreiecke an eine Versatzoberfläche und fügt sie mit den ursprünglichen Dreiecken zusammen. Um beispielsweise eine verdickte Shell zu erstellen. |
Mesh-Extrudieren anwenden | Extrudiert die Dreiecke eines Mesh entlang einer konstanten Richtung. Beispielsweise wird ein Volumenkörper aus einem offenen triangulierten Polygon erstellt. |
Mesh-Verfestigung anwenden | Ersetzt das Mesh mit einer voxelisierten und vergitterten Annäherung (VoxWrap-Vorgang) |
Mesh-Morphologie anwenden | Ersetzt das Mesh durch eine SDF-basierte Versatz-Mesh-Annäherung. |
Mesh-Selbstvereinigung anwenden | Ein Objekt führt eine Operation der Booleschen Vereinigung mit sich selbst durch und berechnet dabei Aktionen wie die Wiederherstellung von Selbstüberschneidungen und das Entfernen von schwebender Geometrie. |
Mesh-PolyGroup-Abschrägung anwenden | Wendet eine Mesh-Abschrägeoperation auf alle PolyGroup-Kanten an. |
Mesh-Trennflächen entlang der Kanten anwenden | Trennt Dreiecke des Ziel-Mesh an den Kanten der Auswahl. Die Input-Auswahl identifiziert nach der Trennung immer noch dieselben geometrischen Elemente. |
Mesh-Abschrägungskanten-Auswahl anwenden | Wendet eine Mesh-Abschrägungsoperation mit den Einstellungen der Abschrägungsoptionen auf Teile des Ziel-Mesh an. |
Mesh-Iso-Kurven anwenden | Fügt Kanten entlang der Kurve ein, bei denen die interpolierten Werte pro Scheitelpunkt einem bestimmten Iso-Wert entsprechen. |
Mesh-Auswahlen
Diese Funktionen identifizieren Regionen eines Mesh für verschiedene Werkzeuge, damit diese lokal eingesetzt werden können. Mehrere Funktionen können auf das gesamte Mesh oder eine durch eine Auswahl definierte Untermenge angewendet werden. Auswahltypen sind unter anderem: Dreieck, Scheitelpunkte und PolyGroups.
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Auswahl umkehren | Kehrt die Auswahl auf dem Ziel-Mesh um. |
Mesh-Auswahl „Alles auswählen“ erstellen | Erstellt eine Auswahl des angegebenen Auswahltyps, die alle Elemente des Ziel-Mesh enthält |
Mesh-Auswahl konvertieren | Konvertiert eine Mesh-Auswahl in einen anderen Typ. Standardmäßig werden Scheitelpunkte auf Dreiecke innerhalb einer Ein-Ring-Nachbarschaft abgebildet und Dreiecke auf alle enthaltenen Scheitelpunkte. |
Mesh-Auswahlen kombinieren | Kombiniert zwei Mesh-Auswahlen zu einer neuen Mesh-Auswahl. Die zwei Inputs, Auswahl A und Auswahl B, müssen vom selben Typ sein. |
Index-Array in Mesh-Auswahl konvertieren | Erstellt eine Mesh-Auswahl aus dem Index-Array. |
Indexsatz in Mesh-Auswahl konvertieren | Erstellt eine Mesh-Auswahl aus dem Indexsatz. |
Mesh-Auswahl in Index-Array konvertieren | Konvertiert eine Mesh-Auswahl in ein Index-Array. |
Indexliste in Mesh-Auswahl konvertieren | Erstellt eine Mesh-Auswahl aus der Indexliste. In Fällen, in denen der Indexlistentyp nicht mit dem Auswahltyp übereinstimmt, wird zur Konvertierung die Option „Mesh-Auswahl konvertieren“ mit |
Mesh-Auswahl in Indexliste konvertieren | Konvertiert eine Mesh-Auswahl in eine Indexliste. |
Mesh-Elemente in Box auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem alle in der Box enthaltenen Elemente gesucht werden. |
Mesh-Elemente in Box mit BVH auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem alle Elemente in der Box gesucht werden. Ähnlich wie Mesh-Elemente in Box auswählen, benötigt aber eine BVH, damit es schneller funktioniert. |
Mesh-Elemente in Kugel auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem alle in der Kugel enthaltenen Elemente gesucht werden. |
Mesh-Elemente mit Ebene auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem alle Elemente auf einer Seite der Ebene gesucht werden, insbesondere der Seite, auf die die Oberflächennormale einer Ebene zeigt. |
Mesh-Elemente nach Normalwinkel auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem alle Elemente gesucht werden, deren Normalvektor innerhalb eines Winkelabweichungsschwellenwerts von der angegebenen Normalen liegt. Für Dreieck- und PolyGroup-Auswahlen wird die Normalisierung der Dreiecksfläche verwendet, für Scheitelpunktauswahlen wird die pro Scheitelpunkt gemittelte Normale verwendet. |
Mesh-Elemente innerhalb des Mesh auswählen | Erstellt eine neue Mesh-Auswahl des Auswahltyps für das Ziel-Mesh, indem es alle Elemente innerhalb eines zweiten Auswahl-Mesh sucht. |
Mesh-Auswahl auf Verbundene erweitern | Vergrößert die Auswahl auf dem Ziel-Mesh um verbundene Regionen und gibt die neue Auswahl zurück. |
Begrenzungsrahmen der Mesh-Auswahl holen | Holt den 3D-Begrenzungsrahmen einer Mesh-Auswahl. |
Grenzenschleifen der Mesh-Auswahl holen | Berechnet das Set von Scheitelpunktschleifen, die an eine Mesh-Auswahl grenzen. Für jede Schleife werden sowohl die 3D-Polylinien als auch die Listen mit Scheitelpunktindizes zurückgegeben. Für eine Scheitelpunktauswahl gibt diese Funktion die Grenzschleifen um die Ein-Ring-Nachbarschaft der Scheitelpunktauswahl zurück. |
Mesh-Auswahl-Info holen | Fragt Informationen zu einer Mesh-Auswahl ab. |
Mesh-Auswahl debuggen/ausgeben | Gibt Informationen über die Mesh-Auswahl im Output-Log aus. |
Mesh-Auswahl erweitern/kontrahieren | Vergrößert oder verkleinert die Auswahl auf dem Ziel-Mesh zu verbundenen Nachbarn. Bei der Scheitelpunktauswahl schließt „Erweitern“ Scheitelpunkte im Ein-Ring der ausgewählten Scheitelpunkte ein, und „Kontrahieren“ entfernt alle Scheitelpunkte mit einem nicht ausgewählten Nachbarn in einem Ring. Bei der Dreiecksauswahl können mit den ausgewählten Dreiecken verbundene Dreiecke hinzugefügt oder entfernt werden. * Bei PolyGroup-Auswahlen können Sie PolyGroups hinzufügen oder entfernen, die mit ausgewählten PolyGroups verbunden sind. |
Informationen zur eindeutigen Mesh-Auswahl holen | Fragt Informationen zu einer Mesh-Auswahl ab und ruft die Anzahl eindeutig ausgewählter Elemente ab |
Mesh-Elemente nach Material-ID auswählen | Erstellt eine Auswahl des Auswahltyps, die alle Mesh-Elemente enthält, die auf Dreiecke mit der angegebenen Material-ID verweisen. |
Mesh-Elemente nach PolyGroup auswählen | Erstellt eine Auswahl des SelectionType, die alle Mesh-Elemente enthält, die Dreiecke mit der angegebenen PolyGroup-ID in dem angegebenen GroupLayer referenzieren. |
Scharfe Mesh-Kanten auswählen | Erstellt für das Ziel-Mesh eine neue Auswahl aller scharfen Kanten, bei denen die angrenzenden Dreiecksnormalen der Kante sich mindestens um MinAngleDeg unterscheiden. |
Mesh-Begrenzungskanten auswählen | Erstellt für TargetMesh eine neue Auswahl aller Mesh-Begrenzungskanten. |
Auswahlbegrenzungskanten auswählen | Erstellt für TargetMesh eine neue BoundarySelection der Kanten auf der Grenze einer anderen Auswahl. |
SelectMeshSplitNormalEdges | Erzeugt für das Ziel-Mesh eine neue Auswahl aller Kantennähte in der Normalen-Topologie des Meshs. Das heißt, dass die Normalen über die Kante hinweg unterschiedlich sein können. |
SelectMeshUVSeamEdges | Erzeugt eine neue Mesh Auswahl von UV-Nahtkanten für das Ziel-Mesh. |
PolyGroup Begrenzungskanten für Mesh auswählen | Erzeugt eine neue Mesh-Auswahl von PolyGroup-Begrenzungskanten für das Ziel-Mesh. |
Mesh nach Auswahl modifizieren
Funktionen zum Bearbeiten von Geometrie aus einer angegebenen Auswahl.
Mesh transformieren
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Auswahl transformieren | Wendet die angegebene Transformation auf den ausgewählten Teil des Mesh an. |
Mesh-Auswahl verschieben | Wendet die angegebene Verschiebung auf den ausgewählten Teil des Mesh an. |
Mesh-Auswahl drehen | Dreht den ausgewählten Teil des Mesh relativ zum angegebenen Ursprung. |
Mesh-Auswahl skalieren | Wendet die angegebene Skalierung auf den ausgewählten Teil des Mesh an. |
Mesh invers transformieren | Wendet die Umkehrung der bereitgestellten Transform auf das Ziel-Mesh an |
Mesh-Auswahl invers transformieren | Wendet die Umkehrung der angegebenen Transformation auf die Scheitelpunkte an, die durch die Auswahl des Ziel-Mesh identifiziert wurden. |
Materialien und PolyGroups
| Knoten-Name | Beschreibung |
|---|---|
Material-ID für Mesh-Auswahl festlegen | Legt eine neue Material-ID für alle Dreiecke der angegebenen Auswahl fest. |
PolyGroup für Mesh-Auswahl festlegen | Legt eine neue PolyGroup auf allen Dreiecken der angegebenen Auswahl für die jeweilige Gruppenebene fest. |
Mesh-Modellierung
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Trennung auf Flächen anwenden | Trennt die durch die Auswahl identifizierten Dreiecke des Ziel-Mesh. |
Mesh-Duplikat auf Flächen anwenden | Dupliziert die Dreiecke des Ziel-Mesh, die vom Auswahl-Input identifiziert wurden. |
Mesh-Linearextrudierung auf Flächen anwenden | Wendet die lineare Extrusion auf die Dreiecke des Ziel-Mesh an, die von der Auswahl identifiziert werden. |
Mesh-Versatz auf Flächen anwenden | Wendet einen Versatz auf die Flächen des Ziel-Mesh an, das von der Auswahl identifiziert wurde, oder auf alle Flächen, wenn die Auswahl leer ist. |
Mesh-Inset-Outset auf Flächen anwenden | Wendet ein Inset oder Outset auf die Flächen des Ziel-Mesh an, die von der Auswahl identifiziert wurden, oder auf alle Flächen, wenn die Auswahl leer ist. |
Mesh-Abschrägungsauswahl anwenden | Wendet eine Mesh-Abschrägungsoperation mit den Einstellungen der Abschrägungsoptionen auf Teile des Ziel-Mesh an. |
Unterteilung
Diese Funktionen wenden verschiedene Mesh-Unterteilungsstrategien auf ein dynamisches Mesh an.
| Knoten-Name | Beschreibung |
|---|---|
Catmull-Clark-SubD auf PolyGroup anwenden | Wendet die Catmull-Clark-Unterteilung auf die PolyGroup-Topologie des Mesh an (verwirft die Input-Triangulation). Dieser Knoten funktioniert nur im Editor. |
Dreiecksschleifen-SubD anwenden | Wendet die Schleifenunterteilung auf das Input-Mesh an. Dieser Knoten funktioniert nur im Editor. |
Selektive Tesselierung anwenden | Tesselliert die angegebene Mesh-Auswahl mit dem angegebenen Mustertyp. |
PN-Tesselierung anwenden | Wendet die Punkt-Normalen-Tesselierung auf das Input-Mesh an. |
Einheitliche Tesselierung anwenden | Wendet die einheitliche Tesselierung auf das Input-Mesh an. |
Vereinfachung
Diese Funktionen vereinfachen ein Mesh durch verschiedene Strategien.
| Knoten-Name | Beschreibung |
|---|---|
Vereinfachen auf Dreiecksanzahl anwenden | Vereinfacht das Mesh, bis die Anzahl der Zieldreiecke erreicht ist. |
Vereinfachen auf Scheitelpunktanzahl anwenden | Vereinfacht das Mesh, bis die Anzahl der Zielscheitelpunkte erreicht ist. |
Vereinfachen auf Toleranz anwenden | Vereinfacht das Mesh zu einer geometrischen Zieltoleranz. Beispielsweise würde jede weitere Vereinfachung zu einer Abweichung vom Input-Mesh führen, die größer ist als die Toleranz. |
Vereinfachen auf Planar anwenden | Vereinfacht planare Gebiete des Meshs, die mehr Dreiecke als nötig haben. Dabei wird die 3D-Form des Mesh nicht verändert. |
Vereinfachen auf PolyGroup-Topologie anwenden | Vereinfacht das Mesh bis auf die PolyGroup-Topologie. Zum Beispiel, die Flächen höherer Ebene der Mesh-PolyGroups. Ein weiteres Beispiel wäre eine Standard-Box-Kugel, bei der die Vereinfachung zur PolyGroup-Topologie eine Box erzeugt. |
Editor-Vereinfachung auf Dreiecksanzahl anwenden | Vereinfacht das Mesh, bis eine bestimmte Anzahl der Zieldreiecke erreicht ist, unter Verwendung des Standard-Mesh-Simplifiers des UE Editors. Nur Editor. |
Editor-Vereinfachung auf Scheitelpunktanzahl anwenden | Vereinfacht das Mesh, bis eine bestimmte Anzahl von Scheitelpunkten erreicht ist, unter Verwendung des Standard-Mesh-Simplifiers des UE Editors. Nur Editor. |
Würfel
Hilfsfunktionen zur Berechnung grundlegender mathematischer Funktionen für Box-Objekte.
| Knoten | Beschreibung |
|---|---|
Box aus Mittelpunktgröße erstellen | Erstellt eine Box aus einem Mittelpunkt und den X-, Y- und Z-Dimensionen. |
Box aus Mittelpunktgrenzen erstellen | Erstellt eine Box aus einem Mittelpunkt und X-, Y- und Z-Grenzen. Grenzen sind Halbdimensionen. |
Box-Mittelpunktgröße holen | Holt den Mittelpunkt sowie die X-, Y- und Z-Dimensionen einer Box. |
Box-Ecke holen | Holt die Position einer Ecke der Box. Ecken werden von 0 bis 7 indiziert, wobei folgende Reihenfolge verwendet wird:
|
Box-Flächenmittelpunkt holen | Holt die Position des Mittelpunkts einer Box-Seite. Flächen werden von 0 bis 5 indiziert. Dabei wird folgende Reihenfolge verwendet:
|
Box-Volumen/Oberfläche holen | Holt das Volumen und die Oberfläche einer Box. |
Erweiterte Box holen | Holt die Input-Box, erweitert durch Hinzufügen des Parameters „Erweitern um“ zu Min. und Max. Dimensionen werden am Mittelpunkt geklammert, wenn einer der „Expand By“-Parameter größer als die Hälfte der Box ist. |
Transformierte Box holen | Wendet die Input-Transformation auf die Ecken der Input-Box an und gibt daie neue Box zurück, die diese Punkte enthält. |
Box-Box-Schnittstelle testen | Testet, ob Box 1 und Box 2 sich überschneiden. |
Box-Box-Schnittstelle suchen | Sucht die Box, die sich aus der Schnittstelle von Box 1 und Box 2 ergibt. |
Box-Box-Entfernung holen | Berechnet den Mindestabstand zwischen Box 1 und Box 2. |
Auf Punkt innerhalb der Box testen | Testet, ob sich ein Punkt innerhalb der Box befindet. Gibt True zurück, wenn das der Fall ist, ansonsten False. |
Nächstgelegenen Punkt auf der Box suchen | Findet den Punkt auf den Flächen der Box, der dem Input-Punkt am nächsten liegt. Befindet sich der Punkt innerhalb der Box, wird er zurückgegeben. |
Box-Punkt-Entfernung holen | Berechnet den Mindestabstand zwischen der Box und dem Punkt. |
Box-Kugel-Schnittstelle testen | Prüft, ob die Box eine Kugel schneidet, die durch das Kugelzentrum und den Kugelradius definiert ist. |
Normale
Diese Funktionen berechnen die Normalen eines Mesh neu.
| Knoten-Name | Beschreibung |
|---|---|
Normalen spiegeln | Kehrt die Mesh-Normalen um, indem die Ausrichtung jeder Fläche umgekehrt wird. |
Normalen pro Scheitelpunkt festlegen | Legt die Mesh-Normalen auf Normalen pro Scheitelpunkt fest. Beispielsweise keine geteilten Normalen an irgendeinem Scheitelpunkt. |
Mesh auf Facetten-Normalen festlegen | Legt die Mesh-Normalen auf Flächen-/Dreiecksnormalen fest. Beispielsweise geteilte Normalen entlang jeder Kante des Mesh. |
Geteilte Normalen berechnen | Berechnet geteilte Normalen für das Mesh basierend auf einer Winkeltoleranz und/oder anderen Faktoren wie der PolyGroup-Topologie. |
Normalen neu berechnen | Berechnet die bestehenden Mesh-Normalen neu. Vorhandene geteilte Normalen werden beibehalten. Zum Beispiel zur Verwendung nach Mesh-Deformationen. |
Tangenten berechnen | Berechnet Tangenten für das Mesh neu (verschiedene Methoden). |
Mesh pro Scheitelpunktnormalen festlegen | Legt alle Normalen im Normalen-Overlay des Ziel-Mesh auf die angegebenen Normalen pro Scheitelpunkt fest. |
„Mesh hat Tangenten“ holen | Prüft, ob das Ziel-Mesh eine Tangenten-Attributebene aktiviert hat. |
Tangenten verwerfen | Entfernt vorhandene Tangenten-Attribut-Ebenen aus dem Ziel-Mesh. |
Tangenten berechnen | Berechnet die Tangenten für das Ziel-Mesh neu, indem die angegebene Methode verwendet wird. |
Mesh pro Scheitelpunkt-Tangenten festlegen | Legt alle Tangenten in den Tangenten-Overlays des Ziel-Mesh auf die angegebenen Pro-Scheitelpunkt-Tangenten fest. |
Mesh-Pro-Scheitelpunkt-Tangenten holen | Berechnet die interpolierte Position |
Scheitelpunktnormale aktualisieren | Aktualisiert die Normalen und Tangenten bei VertexD des Ziel-Mesh. |
Normalen für Mesh-Auswahl neu berechnen | Berechnet die Normalen des Ziel-Mesh auf allen Dreiecken/Scheitelpunkten der angegebenen Auswahl mit den angegebenen Optionen neu. Bei dieser Methode bleiben alle vorhandenen harten Kanten erhalten, d. h. jede gemeinsame Dreiecksscheitelpunktnormale wird neu berechnet, indem die Flächennormalen der Dreiecke, die auf diese gemeinsame Dreiecksscheitelpunktnormale verweisen, gemittelt werden. |
Geteilte Normalen entlang ausgewählter Kanten festlegen | Legt geteilte Normalen (auch scharfe Normalen genannt) für alle Kanten in der Auswahl fest oder entfernt sie. |
Dreieck-Auswahl Normalen spiegeln | Spiegelt die Normalen-Vektoren der Dreiecke in einer vorgegebenen Auswahl des Ziel-Mesh. Bei einer Kanten- oder Scheitelpunktauswahl werden Normalen für die Dreiecke, die die ausgewählten Kanten oder Scheitelpunkte berühren, gespiegelt. |
Bereinigen und Reparieren
Sie können diese Funktionen verwenden, um Probleme in einem Mesh zu beheben oder andere Standardreparaturen durchzuführen.
| Knoten-Name | Beschreibung |
|---|---|
Mesh verdichten | Verdichtet die Scheitelpunkte und Dreiecke des Mesh, um alle „Lücken“ in den Scheitelpunkt-ID- oder Dreieck-ID-Listen zu entfernen (weitere Informationen findest du in der Diskussion im Abschnitt „Mesh-Abfragen auf niedriger Ebene“). |
Mesh-Attribute verwerfen | Entfernt das Attribut-Set von einem dynamischen Mesh, etwa alle UVs, Normalen, Material-IDs, Scheitelpunkt-Farben und erweiterten PolyGroup-Ebenen. Beachten Sie, dass dadurch möglicherweise viele Funktionen nicht mehr funktionieren. |
Normalen automatisch reparieren | Diese Funktion versucht, die Normalen eines Mesh automatisch neu auszurichten, damit sie konsistent sind, wie z. B. bei der Korrektur von gespiegelten Normalen. |
Mesh-Kanten verschweißen | Verschweißt offene Begrenzungskanten des Mesh nach Möglichkeit miteinander, um „Risse“ zu entfernen. |
Alle Mesh-Löcher füllen | Versucht, alle offenen Grenzenschleifen eines Mesh zu füllen (z. B. Lücken in der Geometrie). |
Kleine Komponenten entfernen | Entfernt verbundene Komponenten des Mesh, deren Volumen, Fläche oder Dreiecksanzahl unter einem Schwellenwert liegt. |
Ausgeblendete Dreiecke entfernen | Entfernt alle Dreiecke aus dem Mesh, die in der Außenansicht nicht sichtbar sind, unter verschiedenen Definitionen von „sichtbar“ und „außerhalb“. |
Mesh-TJunctions auflösen | Versuche, die T-Verzweigung im Ziel-Mesh aufzulösen. |
Mesh-Bowties teilen | Teilt Scheitelpunkte im Ziel-Mesh, die sonst einen Bowtie erzeugen, bei dem nur ein einzelner Scheitelpunkt Regionen des Mesh verbindet. |
Degenerierte Mesh-Geometrie reparieren | Modifiziert das Ziel-Mesh durch Löschen kleiner Dreiecke oder Zusammenführen von Dreiecken, bis alle Kanten größer als eine bestimmte Mindestlänge sind. |
Nicht verwendete Scheitelpunkte entfernen | Entfernt Scheitelpunkte, die von keinem Dreieck verwendet werden. Die IDs der verbleibenden Scheitelpunkte werden nicht aktualisiert. Nutzen Sie dazu „Compact Mesh“. |
Offenen Mesh-Grenzen andocken | Dockt Scheitelpunkte an offenen Kanten an der nächstgelegenen kompatiblen offenen Grenze an, sofern diese innerhalb des Toleranzabstands liegt. |
Mesh-Abfragen auf niedriger Ebene
Diese Funktionen bieten Informationen auf niedriger Ebene über die Elemente eines Mesh. In diesem Kontext sind VertexID und TriangleID Ganzzahlen.
In einem dynamischen Mesh können Lücken im VertexID- oder TriangleID-Bereich vorhanden sein – nachdem Scheitelpunkte/Dreiecke gelöscht wurden – und einige Vorgänge (wie die Vereinfachung) können ein Mesh mit vorhandenen Lücken zurückgeben. Lücken in den ID-Bereichen werden mit der Funktion „Compact Mesh“ bereinigt.
| Knoten-Name | Beschreibung |
|---|---|
Scheitelpunktanzahl holen | Holt die Anzahl der Scheitelpunkte im Mesh. |
Anzahl der Scheitelpunkt-IDs holen | Holt die Anzahl der Scheitelpunkt-IDs im Mesh, die größer sein kann als die Scheitelpunktanzahl, wenn das Mesh nicht dicht ist. Beispielsweise nachdem Löschen von Scheitelpunkten. |
Ist gültige Scheitelpunkt-ID | Gibt True zurück, wenn eine Scheitelpunkt-ID auf einen gültigen Scheitelpunkt verweist. |
Alle Scheitelpunkt-IDs holen | Gibt eine IndexList aller Scheitelpunkt-IDs im Mesh zurück. |
Scheitelpunktposition holen | Holt die 3D-Position eines Mesh-Scheitelpunkts nach Scheitelpunkt-ID. |
Alle Scheitelpunkt-Positionen holen | Gibt eine Vektorliste aller Mesh-Scheitelpunktpositionen zurück. Diese Liste kann umfangreich sein. |
Anzahl der Dreiecke holen | Gibt die Anzahl der Dreiecke im Mesh zurück. Beachten Sie, dass es sich hierbei um eine Funktion handelt, die direkt auf das dynamische Mesh zugreift. |
Anzahl der Dreieck-IDs holen | Holt die Anzahl der Dreieck-IDs im Mesh. Die Zahl kann größer sein als die Anzahl der Dreiecke sein, wenn das Mesh nicht dicht ist, selbst nach dem Löschen von Dreiecken. |
Ist gültige Dreieck-ID | Gibt True zurück, wenn sich eine TriangleID auf ein gültiges Dreieck bezieht. |
Alle Dreieck-IDs holen | Gibt eine Indexliste aller Dreieck-IDs in einem Mesh zurück. |
Dreiecksindizes holen | Gibt das Scheitelpunkt-Indizes-Triplet für ein Dreieck zurück. |
Alle Dreieck-Indizes holen | Gibt eine TriangleList aller Dreieck-Indizes-Tripletts in einem Mesh zurück. |
Dreieckpositionen holen | Gibt die drei Eckpositionen eines Dreiecks zurück. |
Dreiecksflächennormale holen | Gibt die Flächen-/Facettennormalen eines Dreiecks zurück. |
Dreieck-UVs holen | Gibt die drei Eck-UVs für ein Dreieck zurück. |
Material-ID des Dreiecks holen | Gibt die aktuelle Material-ID für ein Dreieck zurück. |
Alle Dreieckmaterial-IDs holen | Gibt eine Indexliste aller Dreieckmaterial-IDs zurück. |
Dreieck-Polygruppen-ID holen | Gibt die aktuelle Polygruppen-ID für ein Dreieck in einer gegebenen PolyGroup-Ebene zurück. |
„Hat Scheitelpunkt-ID-Lücken“ holen | Gibt True zurück, wenn Lücken in der Liste der Scheitelpunkt-IDs vorhanden sind. Zum Beispiel „Get Number of Vertex IDs“ größer als „Get Vertex Count“. |
„Hat Dreieck-ID-Lücken“ holen | Gibt True zurück, wenn Lücken in der Liste der Dreieck-IDs vorhanden sind, sodass „Anzahl der Dreieck-IDs holen“ größer ist als „Anzahl der Dreiecke holen“. |
„Ist dichtes Mesh“ holen | Gibt True zurück, wenn das Mesh dicht ist. Zum Beispiel keine Lücken in Scheitelpunkt-IDs oder Dreieck-IDs. |
„Mesh hat Attribut-Set“ holen | Gibt True zurück, wenn für das Mesh ein Attribut-Set aktiviert ist, um UVs, Normalen, Material-IDs und Scheitelpunkt-Farben zu speichern. Dies ist in der Regel standardmäßig aktiviert. |
Interpolierte Dreieckposition holen | Berechnet die interpolierte Position, |
Berechnung der baryzentrischen Dreieckskoordinaten | Berechnet die baryzentrischen Koordinaten (A, B, C) der Punkte relativ zur angegebenen TriangleID des Ziel-Mesh. |
Interpoliertes Dreieck-UV holen | Berechnet die interpolierte UV, |
Dreiecksnormalen holen | Holt für die angegebene TriangleID des Ziel-Mesh die Normalen- und Tangentenvektoren an jedem Scheitelpunkt des Dreiecks. Diese Normalen und Tangenten werden aus dem Normal- und Tangenten-Overlays übernommen. |
Interpolierte Dreiecksnormalen holen | Berechnet die interpolierte Normale, |
Dreiecksnormalentangenten holen | Holt für die angegebene TriangleID des Ziel-Mesh die Normalen- und Tangentenvektoren an jedem Scheitelpunkt des Dreiecks. Diese Normalen und Tangenten werden aus dem Normal- und Tangenten-Overlays übernommen. |
Interpolierte Dreiecksnormalentangenten holen | Berechnet die interpolierten Normalen und Tangenten für die angegebene TriangleID in den Normalen- und Tangenten-Attributen des Ziel-Mesh. |
„Hat Scheitelpunktfarben“ holen | Gibt True zurück, wenn für das Ziel-Mesh das Attribut „Scheitelpunktfarben“ aktiviert ist. |
Dreieck-Scheitelpunktfarben holen | Holt für die angegebene TriangleID des Ziel-Meshs die Scheitelpunkt-Farben an jedem Scheitelpunkt des Dreiecks. Diese Farben werden aus dem Attribut „Vertex Color“ übernommen. |
Interpolierte Dreieck-Scheitelpunktfarbe holen | Berechnet die interpolierte Scheitelpunkt-Farbe, |
Alle Scheitelpunktpositionen an Kanten holen | Gibt die Scheitelpunktpositionen für jede Kante in der angegebenen Indexliste zurück. |
Mesh-UV Bereich holen | Holt die Fläche der Dreiecke im UV-Raum für den angegebenen UV-Kanal. |
Alle UV-Nahtkanten holen | Gibt alle Element-IDs zurück, die UV-Nahtkanten für einen bestimmten UV-Kanal sind. |
Anzahl UV-Inseln holen | Gibt die Anzahl der UV-Inseln in einem angegebenen UV-Kanal zurück. |
Mesh-Erzeugung auf niedriger Ebene
Diese Funktionen konstruieren ein Mesh Dreieck für Dreieck und führen andere Mesh-Bearbeitungsoperationen auf niedriger Ebene durch.
Die Verwendung dieser Funktionen in Situationen, in denen Schleifen über die Elemente von Meshs mit vielen tausend Dreiecken ausgeführt werden müssen, kann in Blueprint oder Python-Scripts recht langsam sein.
| Knoten-Name | Beschreibung |
|---|---|
Scheitelpunktposition festlegen | Legt die 3D-Position eines Mesh-Scheitelpunkts fest. |
Scheitelpunkt zu Mesh hinzufügen | Fügt dem Mesh einen neuen Scheitelpunkt hinzu und gibt eine neue Scheitelpunkt-ID zurück. |
Scheitelpunkte zu Mesh hinzufügen | Fügt dem Mesh eine Liste mit Scheitelpunkten hinzu. |
Scheitelpunkt aus Mesh löschen | Entfernt einen Scheitelpunkt aus dem Mesh. |
Scheitelpunkte aus Mesh löschen | Entfernt eine Liste von Scheitelpunkten aus dem Mesh. |
Dreieck zu Mesh hinzufügen | Fügt dem Mesh ein Dreieck (Scheitelpunkt-ID-Tupel mit 3 Elementen) hinzu. |
Dreiecke zu Mesh hinzufügen | Fügt dem Mesh eine Liste mit Dreiecken hinzu. |
Dreieck aus Mesh löschen | Entfernt ein Dreieck aus dem Mesh. |
Dreiecke aus Mesh löschen | Entfernt eine Liste mit Dreiecken aus dem Mesh. |
Dreiecke in PolyGroup löschen | Löscht alle Dreiecke aus dem Mesh, die eine bestimmte PolyGroup in einer angegebenen PolyGroup-Ebene haben. |
Puffer an Mesh anhängen | Fügt dem Mesh einen Satz von Scheitelpunkten/Dreiecken mit Attributen wie Normalen und UVs hinzu. Ähnlich wie „Create Mesh Section“ in „Proc Mesh Component“. |
Mesh-Dreiecksnormalen setzen | Legt die Normalen eines Mesh-Dreiecks fest. |
Mesh-Dreieck-UVs setzen | Legt die UVs eines Mesh-Dreiecks fest. |
Material-ID des Dreiecks setzen | Legt die Material-ID eines Mesh-Dreiecks fest. |
Alle Mesh-Scheitelpunktpositionen setzen | Legt alle Scheitelpunktpositionen im Ziel-Mesh auf die angegebenen Positionen fest. |
Mesh mit Materialien anhängen | Wendet die Anhängen-Transformation auf das Anhängen-Mesh an und fügt dann seine Geometrie zum Ziel-Mesh hinzu. Kombiniert außerdem die Materiallisten der Ziel- und Anhängen-Meshs und aktualisiert die Output-Mesh-Materialien, um die kombinierte Liste zu referenzieren. |
Mesh anhängen, das mit Materialien transformiert wurde | Wendet für jede Transformation in AppendTransforms die Transformation auf AppendMesh an und fügt dann dessen Geometrie zu TargetMesh hinzu. Kombiniert außerdem Materiallisten der Ziel- und Anhängen-Meshs und aktualisiert die Output-Mesh-Materialien, um auf die kombinierte Liste zu verweisen. |
Mesh anhängen, das mit Materialien wiederholt wird | Wendet AppendTransform wiederholt auf das AppendMesh an und fügt jedes Mal die Geometrie zu TargetMesh hinzu. Kombiniert außerdem die Materiallisten der Ziel- und Anhängen-Meshs und aktualisiert die Output-Mesh-Materialien, um die kombinierte Liste zu referenzieren. |
Mesh-Scheitelpunkt-Paare zusammenführen | Versucht, zwei Scheitelpunkte zusammenzuführen und meldet, ob sie zusammengeführt wurden. Beachte, dass einige Zusammenführungen verhindert werden können, weil sie nicht-vielfältige Kanten im Mesh erzeugen würden, die nicht unterstützt werden. |
Mesh-Scheitelpunkte in Auswahlen zusammenführen | Versucht, Scheitelpunkte in einer Auswahl mit ihren nächsten Scheitelpunkten in der zweiten Auswahl innerhalb eines Abstandsschwellenwerts zusammenzuführen. Beachte, dass einige Zusammenführungen verhindert werden können, weil sie nicht-vielfältige Kanten im Mesh erzeugen würden, die nicht unterstützt werden. |
Listenverwaltung auf niedriger Ebene
Diese Funktionen decken die Listenverwaltung ab für: Indexliste, Skalarliste, Vektorliste, UV-Liste und Farbliste.
| Knoten-Name | Beschreibung |
|---|---|
Länge der Indexliste holen | Gibt die Anzahl der Elemente in der Indexliste zurück. |
Letzten Index der Liste holen | Gibt den Index des letzten Elements in der Indexliste zurück. |
Indexlistenelement holen | Gibt das Element zurück, das in der Indexliste an der angegebenen Position gespeichert ist. |
Indexlistenelement festlegen | Aktualisiert den Wert des in der Indexliste gespeicherten Elements an der angegebenen Position. |
Indexliste in Array konvertieren | Konvertiert eine Indexliste in ein Array von Ganzzahlen. |
Array in Indexliste konvertieren | Konvertiert ein Array von Ganzzahlen in eine Indexliste. |
Indexliste duplizieren | Dupliziert die Inhalts-Indexliste in die Duplikatliste. |
Indexliste löschen | Setzt alle Elemente in der Indexliste auf den gelöschten Wert zurück. |
Länge der Skalarliste holen | Gibt die Anzahl der Elemente in der Skalarliste zurück. |
Letzten Index der Skalarliste holen | Gibt den Index des letzten Elements in der Skalarliste zurück. |
Skalarlistenelement holen | Gibt den Skalar (double) zurück, der in der Skalarliste an der angegebenen Position gespeichert ist. |
Skalarlistenelement festlegen | Aktualisiert den Wert des Skalars, der in der Skalarliste an der angegebenen Position gespeichert ist. |
Skalarliste in Array konvertieren | Konvertiert eine Skalarliste in ein Array von Doubles. |
Array in Skalarliste konvertieren | Konvertiert ein Array von Doubles in eine Skalarliste. |
Skalarliste duplizieren | Kopiert den Inhalt der Skalarliste in die Duplikatliste. |
Skalarliste löschen | Setzt alle Elemente in der Skalarliste auf den Löschwert zurück. |
Vektorlistenlänge holen | Gibt die Anzahl der Elemente in der Vektorliste zurück. |
Letzten Index der Vektorliste holen | Gibt den Index des letzten Elements in der Vektorliste zurück. |
Vektorlistenelement holen | Gibt den FVector zurück, der in VectorList an der angegebenen Position gespeichert ist. |
Vektorlistenelement festlegen | Aktualisiert den Wert des in der Vektorliste gespeicherten FVector an der angegebenen Position. |
Vektorliste in Array umwandeln | Konvertiert eine Vektorliste in ein Array von FVectors. |
Array in Vektorliste umwandeln | Konvertiert ein Array von FVectors in eine Vektorliste. |
Vektorliste duplizieren | Kopiert die Inhalte der Vektorliste in die Duplikatvektorliste. |
Vektorliste löschen | Setzt alle Elemente in der Vektorliste auf den Löschwert zurück. |
UV-Listenlänge holen | Gibt die Anzahl der Elemente in der UV-Liste zurück. |
Letzen Index der UV-Liste holen | Gibt den Index des letzten Elements in der UV-Liste zurück. |
UV-Listenelement holen | Gibt den FVector2D zurück, der in der UV-Liste an der angegebenen Position gespeichert ist. |
UV-Listenelement festlegen | Aktualisiert den Wert von FVector2D, der in der UV-Liste an der angegebenen Position gespeichert ist. |
UV-Liste in Array konvertieren | Konvertiert eine UV-Liste in ein Array von FVector2Ds. |
Array in UV-Liste konvertieren | Konvertiert ein Array von FVector2D in eine UVList. |
UV-Liste duplizieren | Dupliziert die Inhalte der UV-Liste in die Duplikatliste. |
Länge der Farbliste holen | Gibt die Anzahl der Elemente in der Farbliste zurück. |
Letzten Index der Farbliste holen | Gibt den Index des letzten Elements in der Farbliste zurück. |
Farblistenelement holen | Gibt die FLinearColor zurück, die in der Farbliste an der angegebenen Position gespeichert ist. |
Farblistenelement festlegen | Aktualisiert den Wert von FLinearColor, der in der Farbliste an der angegebenen Position gespeichert ist. |
Farbliste in Array konvertieren | Konvertiert die Farbliste in ein Array von FLinearColor. |
Array in Farbliste konvertieren | Konvertiert ein Array von FLinearColor in eine Farbliste. |
Farbkanalliste extrahieren | Erstellt eine Skalarliste, die dem 0-, 1- oder 2-Kanal einer Farbliste entspricht. |
Farblistenkanäle extrahieren | Erstellt eine Vektorliste aus einer Farbliste. Die Kanäle in der Farbliste werden mittels X-Kanalindex, Y-Kanalindex und Z-Kanalindex zu Vektorkomponenten gemappt. |
Mathematik auf niedriger Ebene
Funktionen, die die Vektor- und Skalarlisten komponentenweise bearbeiten. Die Funktionen, die mehrere Listen annehmen, wie z. B. Vector Dot, erfordern, dass die Listen die gleiche Anzahl von Elementen haben.
| Knoten-Name | Beschreibung |
|---|---|
Vektorlänge | Berechnet die Länge jedes Vektors in der Vektorliste A und gibt den Wert in der Skalarliste zurück. |
Vektorpunkt | Berechnet das Punktprodukt zwischen jedem Vektorpaar in der Vektorliste A und der Vektorliste B und gibt den Wert in der neuen Skalarliste zurück. |
Vektorkreuz | Berechnet das Kreuzprodukt zwischen jedem Vektorpaar in der Vektorliste A und der Vektorliste B und gibt den Wert in der neuen Vektorliste zurück. |
Vektor an Ort und Stelle normalisieren | Normalisiert jeden Vektor in der Vektorliste und speichert den Wert in einer Vektorliste. Wenn ein Vektor degeneriert ist, wird die Normale auf den Vektor „Set On Failure“ festgelegt. |
Vektoren mischen | Berechnet Standardmäßig werden dadurch (Konstanten = 1) die beiden Vektoren addiert. Legt Sie können die Funktion auch zur linearen Interpolation verwenden, indem Sie |
Vektoren an Ort und Stelle mischen | Berechnet Standardmäßig werden dadurch (Konstanten = 1) die beiden Vektoren addiert. Legt Sie können die Funktion auch zur linearen Interpolation verwenden, indem Sie |
Skalar mit Vektor multiplizieren | Berechnet |
Skalar mit Vektor an Ort und Stelle multiplizieren | Berechnet |
Konstante mit Vektor multiplizieren | Berechnet |
Konstante mit Vektor an Ort und Stelle multiplizieren | Berechnet |
Vektor zu Skalar | Konvertiert jeden Vektor in der Vektorliste in einen Skalar, indem er Sie können sie verwenden, um die X-, Y- und Z-Werte aus einem Vektor oder einer anderen komponentenweisen mathematischen Berechnung zu extrahieren. |
Skalar invertieren | Berechnet Wenn Abs(Skalar) < Epsilon, auf den Wert „Set On Failure“ festlegen. |
Skalar an Ort und Stelle invertieren | Berechnet Wenn Abs(Skalar) < Epsilon, auf den Wert „Set On Failure“ festlegen. |
Skalare mischen | Berechnet Standardmäßig werden dabei (Konstanten = 1) einfach die beiden Werte addiert. Legt Die Funktion kann auch zur linearen Interpolation verwendet werden, indem du |
Skalare an Ort und Stelle mischen | Berechnet Standardmäßig werden dabei (Konstanten = 1) einfach die beiden Werte addiert. Legt Kann auch für die lineare Interpolation verwendet werden, indem du |
Skalare multiplizieren | Berechnet |
Skalare an Ort und Stelle multiplizieren | Berechnet |
Konstante mit Skalar multiplizieren | Berechnet |
Konstante mit Skalar an Ort und Stelle multiplizieren | Berechnet |
An Ort und Stelle transformieren | Transformiert jeden Vektor in VectorList und speichert ihn in VectorList |
Vektor an Ort und Stelle invers transformieren | Invertiert die Transformation jedes Vektors in VectorList und speichert sie in VectorList. |
Vektor an Ort und Stelle auf Ebene projizieren | Projiziert jeden Vektor in VectorList auf die angegebene Ebene und speichert ihn in VectorList. |
Mesh-Sampling
Diese Funktionen berechnen und platzieren Punkte entlang der Oberfläche eines Mesh.
| Knoten | Beschreibung |
|---|---|
Punkt-Sampling berechnen | Berechnet einen Satz von Sample-Punkten, die auf der Oberfläche des Ziel-Mesh liegen, basierend auf den angegebenen Sampling-Optionen. Die Beispiele sind annähernd gleichmäßig verteilt und überlappen im Verhältnis zu den bereitgestellten Optionen nicht. |
NonUniform Punkt-Sampling berechnen | Berechnet einen Satz von Sample-Punkten, die auf der Oberfläche des Ziel-Mesh liegen, basierend auf den angegebenen Sampling-Optionen und NonUniform-Optionen. |
Scheitelpunkt-gewichtetes Punkt-Sampling berechnen | Berechnet einen Satz von Sample-Punkten, die auf der Oberfläche des TargetMesh liegen, basierend auf den angegebenen Sampling-Optionen und NonUniform-Optionen. |
Render-Erfassungskameras für Box berechnen | Berechnet einen Satz Render-Erfassungskameras, um eine Szene innerhalb der vorgegebenen Box aufzunehmen. |
Render-Erfassungspunkt-Sampling berechnen | Berechnet ausgerichtete Sample-Punkte auf den sichtbaren Oberflächen der gegebenen Actors. Die Samples werden mit der Render-Erfassung aus den gegebenen virtuellen Kameras berechnet. |
Einheitlich-zufälliges Punkt-Sampling berechnen | Berechnet eine ‚einheitlich zufällige' (nicht 'gleichmäßige Abstände') Punktverteilung über die Mesh-Oberfläche |
Mesh-Sculpt-Ebenen Neu!
Diese Funktionen verwalten zusätzliche Scheitelpunkt-Offsets, die auf dem Mesh gespeichert sind. Sie können mit vorgeschriebenen Gewichten gemischt werden.
| Knoten | Beschreibung |
|---|---|
Aktive Sculpt-Ebene festlegen | Legt den angeforderten Ebenen-Index, sofern möglich, als aktuell aktive Sculpt-Ebene fest. |
Sculpt-Ebenen-Gewichte festlegen | Setzt das Gewicht der Ebene bei Ebenen-Index auf das gewünschte Gewicht. |
Sculpt-Ebenen-Gewichtsarray festlegen | Lege die Gewichte mehrerer Ebenen so fest, dass sie mit dem angegebenen Gewichtsarray übereinstimmen. Hinweis: Wenn die Länge des Gewichtsarrays größer als die Anzahl der Ebenen ist, werden nur die Gewichte der vorhandenen Ebenen festgelegt. Wird Ebenen nicht hinzufügen oder entfernen. |
Sculpt-Ebenen-Gewichtsarray holen | Holt die Gewichte aller Sculpt-Ebenen auf dem Mesh. |
Anzahl der Sculpt-Ebenen holen | Holt die Anzahl der aktiven Sculpting-Ebenen auf dem Mesh. |
Aktive Sculpt-Ebene holen | Holt die aktuellen Sculpting-Ebenen auf dem Mesh oder -1, wenn das Mesh keine Sculpting-Ebene hat. |
Sculpt-Ebenen verwerfen | Verwirft alle Sculpt-Ebenendaten und lässt die aktuellen Scheitelpunktpositionen unverändert. |
Sculpt-Ebenen zusammenführen | Führt mehrere Sculpt-Ebenen zusammen. Kann die aktive Sculpt-Ebene ändern. |
Strahl
Hilfsfunktionen zum Erstellen und Abfragen von Strahlen. Ein Strahl ist eine Linie, die verwendet werden kann, um Überschneidungen zwischen Objekten zu bestimmen. Diese sind besonders nützlich für die Erstellung interaktiver Benutzeroberflächen in Blueprints.
| Knoten | Beschreibung |
|---|---|
Strahl aus Punkten erstellen | Erstellt einen Strahl aus zwei Punkten, legt den Ursprung auf A fest und die Richtung als Normalisieren (B-A). |
Strahl aus Punktrichtung erstellen | Erstellt einen Strahl aus einem Ursprung und einer Richtung mit einer optional nicht normalisierten Richtung. |
Transformierten Strahl holen | Wendet die gegebene Transformation auf den gegebenen Strahl an (oder optional „Invers transformieren“) und gibt den neuen transformierten Strahl zurück. |
Strahlpunkt holen | Holt einen Punkt in der angegebenen Entfernung entlang des Strahls: |
Start und Ende des Strahls holen | Holt zwei Punkte entlang des Strahls. |
Strahl-Parameter holen | Projiziert den angegebenen Punkt auf den nächstgelegenen Punkt entlang des Strahls und gibt den Strahl-Parameter und die Distanz an diesem Punkt zurück. |
Strahlpunktentfernung holen | Holt den Abstand vom gegebenen Punkt zum nächstgelegenen Punkt auf dem Strahl. |
Nächstgelegenen Punkt auf dem Strahl holen | Holt den Punkt auf dem Strahl, der dem angegebenen Punkt am nächsten liegt. |
Strahl-Kugel-Schnittstelle holen | Prüft, ob der Strahl eine Kugel schneidet, die durch Kugelzentrum und Kugelradius definiert ist. Diese Funktion gibt zwei Schnittstellenentfernungen (Strahl-Parameter) zurück. Wenn der Strahl die Kugel streift, sind beide Entfernungen gleich. Wenn er verfehlt, sind sie MAX_FLOAT. Verwenden Sie die Funktion „Get Ray Point“, um die Entfernungen in Punkte auf dem Strahl und der Kugel zu konvertieren. |
Strahl-Box-Schnittstelle holen | Prüft, ob der Strahl eine Kugel schneidet, die durch Kugelzentrum und Kugelradius definiert ist. |
Strahl-Ebene-Schnittstelle holen | Sucht die Schnittstelle eines Strahls und einer Ebene. |
Nächstgelegenen Punkt Strahl-Linie holen | Berechnet das Paar nächstgelegener Punkte auf einem 3D-Strahl und einer Linie. Die Linie wird durch einen Ursprung und eine Richtung definiert, erstreckt sich jedoch in beide Richtungen unendlich. |
Nächstgelegenen Punkt Strahl-Segment holen | Berechnet das Paar nächstgelegener Punkte auf einem 3D-Strahl und einem Liniensegment. Das Liniensegment wird durch seine beiden Endpunkte definiert. |
Punkt-Set
Funktionen für die Arbeit mit Punktsätzen.
| Knoten | Beschreibung |
|---|---|
KMeans-Cluster zu IDs | Verwendet K-Means-Clustering, um die angegebenen Punkte in eine Zielanzahl von Clustern zu gruppieren, und gibt ein Array mit einem Clusterindex pro Punkt zurück. |
KMeans-Cluster zu Arrays | Verwendet K-Means-Clustering, um die angegebenen Punkte in eine Zielanzahl von Clustern zu gruppieren, und gibt die Cluster als Array von Listen mit Punktindizes zurück. |
Punkte komprimieren | Sucht eine Teilmenge der gegebenen Punkte mit einer bestimmten Größe. Sie können optional eine Prioritätsgewichtung angeben und/oder einen gleichmäßigen Abstand für die komprimierten Punkte anfordern. |
Zu Punkten transformieren | Erstellt ein Array der Positionen der Input-Transformationen. |
Transformationen versetzen | Versetzt die Position aller Transformationen durch Versatz in die vorgegebene Richtung, entweder lokal im Raum der Transformation oder im Welt-Bereich. Beispielweise können damit Mesh-Oberflächen-Samples entlang der Richtung der normalen Oberfläche versetzt werden. |
Punkte abflachen | Konvertiert ein Punkte-Array von 3D in 2D durch Transformation in den vorgegebenen ReferenceFrame und Verwendung der X-, Y-Koordinaten. Beachte, dass zum Transformieren in den ReferenceFrame die inverse Transformation des ReferenceFrame angewendet wird. |
Abflachung der Punkte aufheben | Konvertiert ein Punkte-Array von 2D in 3D durch Transformation aus dem vorgegebenen ReferenceFrame mit der vorgegebenen Höhe für die nicht flache Achse (standardmäßig Z) |
Begrenzungsrahmen aus Punkten erstellen | Erstellt einen achsenausgerichteten Begrenzungsrahmen, der die angegebenen Punkte begrenzt, optional auf jeder Seite um einen zusätzlichen Betrag erweitert. |
Punkte aus der Indexliste holen | Erstellt ein Array der Teilmenge von AllPoints gemäß der Indizes-Liste. |
Materialien
Funktionen für die Manipulation von Material-IDs eines Mesh. Eine Material-ID ist eine Ganzzahl pro Dreieck und ist nicht direkt mit einem bestimmten Material verbunden. Jede Material-ID wird bei der Konvertierung zu oder von einem statischen Mesh mit einer Mesh-Sektion assoziiert.
| Knoten-Name | Beschreibung |
|---|---|
„Hat Material-IDs“ holen | Gibt True zurück, wenn für das Mesh Material-IDs verfügbar/aktiviert sind. |
Material-IDs aktivieren | Aktiviert Material-IDs auf einem Mesh und initialisiert sie mit 0. |
Material-IDs löschen | Setzt alle Material-IDs eines Mesh auf 0 zurück. |
Maximale Material-ID holen | Gibt die maximale Material-ID zurück, die derzeit auf einem Mesh festgelegt ist. |
Material-IDs neu zuordnen | Legt die Material-ID für alle Dreiecke mit einer Material-ID, die einem gegebenen Wert entsprechen, auf einen neuen Wert fest. |
Alle Dreiecks-Material-IDs setzen | Legt die Material-ID aller Dreiecke in einem Mesh auf die Werte in einer Input-Indexliste fest. |
PolyGroup-Material-ID setzen | Legt die Material-ID aller Dreiecke in einem Mesh mit einer angegebenen PolyGroup-ID (in einer gegebenen PolyGroup-Ebene) auf die angegebene Material-ID fest. |
Neuzuordnung zu neuen Material-IDs nach Material | Weist die Material-IDs des Ziel-Mesh einem neuen Set von Material-IDs basierend auf einer Ursprungs-/aktuellen Materialliste und einer neuen Materialliste zu. Für jedes Dreieck wird das aktuelle Material als FromMaterialList[MaterialID] bestimmt. Dann befindet sich der erste Index dieses Materials in ToMaterialList und dieser Index wird als die neue MaterialID verwendet. Wenn ein Material nicht in ToMaterialList gefunden werden kann, wird eine Warnung ausgegeben und die MaterialID bleibt unverändert, es sei denn, MissingMaterialID wurde auf einen Wert >= 0 festgelegt. In diesem Fall wird MissingMaterialID zugewiesen. |
Materialien neu zuordnen und kombinieren | Ordnet Material-IDs neu zu, damit sie mit einer Liste der erforderlichen Materialien übereinstimmen. Die Material-IDs des Ziel-Mesh werden neu zugeordnet, um die Liste der kombinierten Materialien zu referenzieren, die immer mit den erforderlichen Materialien beginnt. |
Kollision
Funktionen zum Erstellen, Bearbeiten und Manipulieren von Kollisionsformen.
| Knoten-Name | Beschreibung |
|---|---|
Statisches Mesh hat angepasste Kollision | Gibt True zurück, wenn das Statisches Mesh über eine angepasste Kollision verfügt. Wenn keine Editor-Daten verfügbar sind, wird False zurückgegeben. |
Einfache Kollision von Komponente holen | Holt die einfache Kollision von einer Grundkörper-Komponente. |
Einfache Kollision der Dynamisches-Mesh-Komponente festlegen | Legt die einfache Kollision auf eine Dynamisches-Mesh-Komponente fest. |
Einfache Kollision von statischem Mesh holen | Holt die einfache Kollision von einem statischen Mesh. |
Einfache Kollision des statischen Mesh festlegen | Legt die einfache Kollision auf einem statischen Mesh fest. |
Anzahl der einfachen Kollisionsformen holen | Anzahl der einfachen Kollisionsformen. |
Einfache Kollisionsformen transformieren | Transformiert einfache Kollisionsformen. |
Einfache Kollision kombinieren | Fügt einfache Kollisionsformen von „Kollision anfügen“ zu „Zu aktualisierende Kollision“ hinzu. |
Konvex-Hüllen vereinfachen | Vereinfacht alle Konvex-Hüllen in der angegebenen Darstellung der einfachen Kollision. Aktualisiert die übergebene einfache Kollision. |
Annäherung an Konvex-Hüllen mit einfacheren Kollisionsformen | Versucht, alle Konvex-Hüllen in der gegebenen einfachen Kollisionsdarstellung anzunähern. Aktualisiert die übergebene einfache Kollision. Konvex-Hüllen, die nicht gut angenähert werden (zu den in ApproximateOptions festgelegten Toleranzen), bleiben Konvex-Hüllen. |
Einfache Kollisionsformen zusammenführen | Versucht, Kollisionsformen zusammenzuführen, um eine Darstellung mit weniger Gesamtformen zu erstellen. |
Negativen Raum berechnen | Berechnet den negativen Raum einer Input-Mesh-Oberfläche, die beim Zusammenführen einfacher Kollisionsformen geschützt werden soll. |
Kugelabdeckung zu Array von Kugeln | Gibt ein Array der Kugeln in der gegebenen Kugelabdeckung zurück. |
Array von Kugeln zu Kugelabdeckung | Gibt eine Kugelabdeckung zurück, die die Kugeln im angegebenen Kugel-Array enthält. |
Benutzerdefinierte Komplexe Kollision des statischen Mesh festlegen | Legt ein statisches Mesh als benutzerdefinierte Kollision für ein anderes zu verwendendes statisches Mesh fest. Hinweis: Funktioniert nur, wenn Editor-exklusive Daten verfügbar sind. |
Einfache Kollision zurücksetzen | Löscht die einfachen Kollisionsformen. |
Kollision aus Mesh generieren | Generiert einfache Kollisionsformen für eine Input-Dynamisches-Mesh-Form. |
Einfaches Kollisions-Array kombinieren | Kombiniert die SimpleCollisionArray-Kollisionsformen zu einer einzigen SimpleCollision. |
Navigierbare Konvex-Zersetzung berechnen | Berechnet die „navigierbare“ Konvex-Zersetzung einer Input-Mesh-Oberfläche. Dies ist eine Konvex-Zersetzung, die für einen Charakter einer bestimmten Größe (oder größer als dieser) geeignet ist. |
Einschränkung
Funktionen zur Annäherung an ein Mesh mit Konvex-Hülle.
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Konvex-Hülle berechnen | Berechnet die Konvex-Hülle eines vorgegebenen Ziel-Mesh oder einen Teil des Mesh, wenn eine optionale Auswahl bereitgestellt wird, und fügt das Ergebnis in das Hüllen-Mesh ein. |
Vom Mesh gewischte Hüllen berechnen | Berechnet die gewischte Hülle eines vorgegebenen Ziel-Mesh für eine vorgegebene 3D-Ebene, die durch ProjectionFrame definiert ist, und fügt das Ergebnis in das Hüllen-Mesh ein. Die gewischte Hülle ist ein linearer Sweep der 2D-Konvex-Hülle der Mesh-Scheitelpunkte, die auf die Ebene projiziert werden (der Sweep enthält genau die Mesh-Grenzen entlang der Ebenennormalen.) |
Konvex-Zersetzung des Mesh berechnen | Berechnet eine Zersetzung der Konvex-Hülle des gegebenen TargetMesh. Falls mehr als eine Hülle angefordert wird, werden mehrere Hüllen zurückgegeben, die versuchen, das Mesh anzunähern. Wenn Vereinfachungseinstellungen aktiviert sind, gibt es keine Garantie, dass das gesamte Mesh in den Hüllen enthalten ist. |
Scheitelpunktwerte
Mit diesen Funktionen kannst du Mesh-Werte, die an Scheitelpunkten gespeichert sind, holen und verändern, einschließlich Scheitelpunkt-Farben
An einem bestimmten Scheitelpunkt können mehrere Werte, beispielsweise Normalen, gespeichert werden, diese Methoden haben jedoch nur einen Rückgabewert.
| Knoten-Name | Beschreibung |
|---|---|
Konstante Scheitelpunkt-Farbe für Mesh setzen | Legt alle Scheitelpunkt-Farben auf eine bestimmte Farbe fest. |
Scheitelpunkt-Farben für Mesh setzen | Legt die Farbe für jeden Scheitelpunkt mithilfe einer Farbliste fest. |
Scheitelpunkt-Farben für Mesh holen | Holt eine Liste einzelner Scheitelpunkt-Farben für jeden Mesh-Scheitelpunkt im Ziel-Mesh, abgeleitet vom Scheitelpunkt-Farb-Overlay. |
Scheitelpunkt-Farbe der Mesh-Auswahl festlegen | Legt die Farben für die Scheitelpunkt-Farbe des Ziel-Mesh (identifiziert durch die Auswahl) auf einen konstanten Wert fest.
|
Mesh-Scheitelpunktfarben sRGB zu Linear konvertieren | Wendet eine Farbtransformation von sRGB zu Linear auf alle Scheitelpunkt-Farben an. |
Mesh-Scheitelpunkt-Farben Linear zu sRGB konvertieren | Wendet eine Farbtransformation von Linear zu sRGB auf alle Scheitelpunkt-Farben an. |
Mesh pro Scheitelpunktnormale holen | Holt eine Liste mit einzelnen Normalenvektoren für jeden Mesh-Scheitelpunkt im Ziel-Mesh, abgeleitet vom Normalen-Overlay. |
UVs pro Mesh-Scheitelpunkt holen | Holt eine Liste einzelner Scheitelpunkt-UVs für jeden Mesh-Scheitelpunkt im Ziel-Mesh, abgeleitet vom angegebenen UV-Overlay. |
Mesh-Scheitelpunkt-Farben weichzeichnen | Weichzeichnen des Farbattributs des Mesh. Hat das Mesh kein Farbattribut, gibt die Funktion das Mesh unverändert zurück. |
Scheitelpunktfarben aus Mesh übertragen | Überträgt die Scheitelpunktfarben vom Quell-Mesh zum Ziel-Mesh. Setzt voraus, dass die Meshs ausgerichtet sind. Verwende andernfalls die Geometrie-Script-Funktion „Mesh transformieren“, um sie auszurichten. |
Sampling und Erstellung von Texturen
Funktionen zum Lesen und Erstellen von Texturdaten.
| Knoten-Name | Beschreibung |
|---|---|
Textur-2D an UV-Positionen sampeln | Sampelt die angegebene Textur-Map an der Liste der UV-Positionen und gibt die Farbe an jeder Position im Farblisten-Output zurück. |
Neues Textur-2D-Asset erstellen | Erstellt ein serialisiertes Textur-2D-Asset aus einem temporären UTexture2D. |
Textur-Renderziel-2D an UV-Positionen sampeln | Sampelt die gegebene Textur-Map an der Liste der UV-Positionen und gibt die Farbe an jeder Position im Farblisten-Output zurück. Diese Funktion holt GPU-Daten vor dem Sampling und kann daher je nach Anwendung ineffizient und langsam sein. |
Baking
Diese Funktionen baken Daten zwischen einem Quell- und Ziel-Mesh in Textur- oder Scheitelpunkt-Farbdaten. Sie können verschiedene Mesh-Daten wie Normalen, Rundung, Umgebungsverdeckung, Opazitäts-Map und Subsurface-Farb-Map baken. Es besteht auch die Möglichkeit, die anzuwendenden Filtertypen festzulegen.
| Knoten-Name | Beschreibung |
|---|---|
Textur baken | Erstellt Texturen für das Ziel-Mesh aus Daten, die im Quell-Mesh gesampelt wurden. |
Scheitelpunkt baken | Bevölkert die Scheitelpunktfarben im Ziel-Mesh mit den Ergebnissen der Baking-Eigenschaften des angegebenen Quell-Mesh. |
Textur aus Render-Erfassungen baken | Bakt Texturen für ein Ziel-Mesh aus Render-Erfassungen. |
Bake-Typ UV-Shell erstellen | Generiert die Bake-Optionen für UV-Shell. |
Signierte Entfernung zu Volumentextur baken | Schreibt ein Distanzfeld zur gegebenen bestehenden Volumentextur. |
Bake-Typ-Höhe erstellen | Generiert die Bake-Optionen für Höhendaten. |
UV
Verwende diese Funktionen, um die UVs eines Mesh zu manipulieren.
| Knoten-Name | Beschreibung |
|---|---|
Anzahl der UV-Kanäle holen | Holt die Anzahl der UV-Kanäle auf einem Mesh. |
Anzahl der UV-Kanäle festlegen | Legt die Anzahl der UV-Kanäle auf einem Mesh fest. |
UV-Satz Begrenzungsrahmen holen | Holt den 2D-Begrenzungsrahmen von allen UVs in einem UV-Kanal. |
UV-Kanal kopieren | Ersetzt den Ziel-UV-Kanal durch Werte des Quell-UV-Kanals. |
Mesh-UVs verschieben | Wendet die 2D-Verschiebung auf alle UVs oder eine Teilmenge der UVs an, wenn du im UVSet-Index eine Auswahl angibst. |
Mesh-UVs skalieren | Wendet die 2D-Skalierung auf alle UVs oder eine Teilmenge der UVs an, wenn du im UVSet Index eine Auswahl angibst. |
Mesh-UVs drehen | Wendet eine 2D-Drehung auf alle UVs oder eine Teilmenge der UVs an, wenn du im UVSet Index eine Auswahl angibst. |
Mesh-UVs neu berechnen | Berechnet UVs für ein Mesh neu, basierend auf verschiedenen Typen wohldefinierter UV-Inseln, wie etwa vorhandenen UV-Inseln, PolyGroups oder des Auswahl-Input. |
Mesh-UVs neu packen | Packt die bestehenden UV-Inseln in den Standard-UV-Raum. |
Mesh-UVs aus planarer Projektion setzen | Legt mit der planaren Projektion UVs für ein komplettes Mesh oder eine Teilmenge fest, die du durch den Auswahl-Input definierst. |
Mesh-UVs aus Box-Projektion setzen | Legt mithilfe der Box-Projektion UVs für ein komplettes Mesh oder eine Teilmenge fest, die du durch den Auswahl-Input definierst. |
Mesh-UVs aus Zylinderprojektion setzen | Legt mit der Zylinderprojektion UVs für ein gesamtes Mesh oder eine Teilmenge fest, die du durch den Auswahl-Input definierst. |
Patch Builder Mesh-UVs automatisch generieren | Berechnet neue UVs mit der PatchBuilder-Methode und packt sie optional. |
XAtlas Mesh-UVs automatisch generieren | Berechnet neue UVs mit XAtlas und packt sie optional. |
Mesh-UVSize-Info holen | Berechnet Informationen über die Dimensionen und Bereiche für einen UV-Kanal eines Mesh, mit einer optionalen Mesh-Auswahl. |
UVs pro Mesh-Scheitelpunkt holen | Holt eine Liste einzelner Scheitelpunkt-UVs für jeden Mesh-Scheitelpunkt im Ziel-Mesh, die vom angegebenen UV-Overlay abgeleitet ist. |
Mesh-UV-Kanal in Mesh kopieren | Kopiert die 2D-UVs aus dem jeweiligen UV-Kanal-Index in „Kopieren aus Mesh“ zu den 3D-Scheitelpunktpositionen in „Kopieren zu UV-Mesh“. PolyGroup-IDs und Material-IDs werden im UV-Mesh beibehalten. |
Mesh in Mesh-UV-Kanal kopieren | Überträgt die 3D-Scheitelpunktpositionen und -Dreiecke von „Kopieren von UVMesh“ zu den gegebenen UV-Kanal, der durch „Zu UV-Kanal-Index“ von „Kopieren zu Mesh“ identifiziert wird. Die 3D-Positionen (X, Y, Z) werden als UV-Positionen (X, Y) kopiert. |
Lokalen UV-Parameter des Mesh berechnen | Berechnet die lokale UV-Parametrisierung an den Scheitelpunkten des Ziel-Mesh um den angegebenen CenterPoint / das angegebene Dreieck. Diese Methode verwendet eine „Discrete Exponential Map“-Parametrisierung, die das Mesh lokal basierend auf geodätischen Entfernungen und Winkeln auspackt. Der Mittelpunkt hat den UV-Wert (0,0) und die berechneten Scheitelpunkt-UVs sind so, dass `Length(UV) == geodesic distance` ist. |
UV-Element zu Mesh hinzufügen | Fügt ein neues UV-Element zum angegebenen UV-Kanal des Mesh hinzu und gibt eine neue UV-Element-ID zurück. |
UV-Element-IDs des Mesh-Dreiecks setzen | Legt die UV-Element-IDs für ein bestimmtes Dreieck im angegebenen UV-Kanal fest, d. h. die UV-Dreieck-Indizes. Diese Funktion erstellt keine neuen UVs. Das UV-Dreieck kann nur festgelegt werden, wenn die resultierende Topologie gültig ist. Das bedeutet, dass die Elemente nicht zwischen verschiedenen Basis-Mesh-Scheitelpunkten geteilt werden können. Sie dürfen daher entweder von keinem anderen Dreieck verwendet werden oder sind bereits mit demselben Mesh-Scheitelpunkt in anderen UV-Dreiecken verknüpft. Wurde eine Bedingung nicht erfüllt, wird bIsValidTriangle als False zurückgegeben. |
UV-Element-IDs des Mesh-Dreiecks holen | Gibt die mit den drei Scheitelpunkten des Dreiecks assoziierten UV-Element-IDs im angegebenen UV-Kanal zurück. Existiert das Dreieck nicht im Mesh oder sind im angegebenen UV-Kanal keine UVs festgelegt, dann wird bHaveValidUVs als False zurückgegeben. |
Position des Mesh-UV-Elements holen | Gibt die UV-Position für eine bestimmte UV-Element-ID im angegebenen UV-Kanal zurück. Existiert der UV-Kanal oder die Element-ID nicht, wird bIsValidElementID als False zurückgegeben. |
Position des Mesh-UV-Elements festlegen | Legt die UV-Position einer bestimmten ElementID im gegebenen UV-Kanal fest. Existiert der UV-Kanal oder die Element-ID nicht, wird bIsValidElementID als False zurückgegeben. |
UV-Nähte an ausgewählten Kanten setzen | Konvertiert die Auswahl in eine Kantenauswahl und legt UV-Nähte entlang aller ausgewählten Kanten fest oder entfernt diese. |
UV-Skalierung der Texel-Dichte anwenden | Skaliert UVs im UV-Kanal eines Mesh neu, damit sie mit einer angegebenen Texel-Dichte übereinstimmen, die durch die übergebenen Optionen beschrieben wird. Unterstützt die Verarbeitung auf einer Teilmenge der UVs über eine nicht leere Auswahl. |
Layout-Mesh-UVs | Packt die bestehenden UV-Inseln im angegebenen UV-Kanal in den Standard-UV-Raum, basierend auf den Wiederverpackungsoptionen. |
Mesh-UVs durch Projektion übertragen | Kopiert UVs durch Projektion in die gewünschte Richtung aus einem Mesh in ein anderes. Dadurch werden keine UV-Nähte übertragen. Der Vorgang weist eine einzelne UV-Koordinate pro Scheitelpunkt im ausgewählten Ziel-Mesh zu. |
Überschneidungen UV Box 2D | Testet zwei Box2D-Grenzen auf Überschneidung, mit optionaler Unterstützung für die Arbeit in einem umschlossenen Raum. |
PolyGroup
Funktionen für die Manipulation von PolyGroups eines Mesh. PolyGroups sind pro Dreieck Ganzzahlen, die implizit Regionen und Abschnitte von Dreiecken in den Modellierungswerkzeugen und einigen Geometrie-Scripting-Operationen definieren. Allerdings ist eine PolyGroup-Ebene letztlich eine Zahl pro Dreieck, und Sie können diese auch für beliebige andere Zwecke verwenden. Weitere Informationen zu PolyGroups findest du unter PolyGroups verstehen.
| Knoten-Name | Beschreibung |
|---|---|
„Hat PolyGroups“ holen | Gibt True zurück, wenn das Mesh eine Standard-PolyGroup-Ebene besitzt. |
PolyGroups aktivieren | Aktiviert die Standard-PolyGroup-Ebene auf einem Mesh. |
Anzahl der erweiterten PolyGroup-Ebenen holen | Gibt die Anzahl der erweiterten PolyGroup-Ebenen zurück. Erweiterte PolyGroup-Ebenen werden noch nicht von allen Operationen oder Modellierungswerkzeugen vollständig unterstützt. |
Anzahl der erweiterten PolyGroup-Ebenen festlegen | Legt die Anzahl der erweiterten PolyGroup-Ebenen auf einem Mesh fest. |
PolyGroups löschen | Setzt die Dreieck-PolyGroup-Zuweisungen auf einen konstanten Wert für die jeweilige PolyGroup-Ebene zurück. |
PolyGroups auf Ebene kopieren | Kopiert PolyGroups von einer Ebene in eine andere. |
UV-Inseln in PolyGroups umwandeln | Erstellt und weist jeder nicht verbundenen UV-Insel eines Mesh eine neue PolyGroup zu. |
Komponenten in PolyGroups umwandeln | Erstellt und weist eine neue PolyGroup für jede nicht verbundene Komponente eines Mesh zu. |
PolyGroups aus Winkelschwellenwert berechnen | Legt PolyGroups durch Aufteilung des Mesh basierend auf einer Kantenfalte / einem Öffnungswinkel fest. |
PolyGroups aus Polygonerkennung berechnen | Identifiziert Polygone und weist PolyGroup-IDs zu. |
Benannte Polygruppen-Ebene hinzufügen | Fügt eine erweiterte PolyGroup-Ebene mit dem angegebenen Namen hinzu. Wenn sich im Mesh bereits eine Ebene mit diesem Namen befindet, wird diese vorhandene Ebene zurückgegeben und keine neue Ebene hinzugefügt. |
Erweiterte Polygruppen-Ebene nach Name finden | Sucht eine erweiterte PolyGroup-Ebene anhand ihres Namens. Wenn mehrere Ebenen mit demselben Namen vorhanden sind, wird die erste dieser Ebenen zurückgegeben. |
PolyGroup-Begrenzungsrahmen holen | Berechnet die Grenzen einer PolyGroup. |
PolyGroup-UV-Begrenzungsrahmen holen | Berechnet die UV-Grenzen einer PolyGroup. |
PolyGroup-UV-Centroid holen | Berechnet das UV-Centroid einer PolyGroup. |
Bone-Gewichtung
Diese Funktionen berechnen und manipulieren Bone-Gewichtungen, die auch als Skin-Gewichtungen bekannt sind. Bone-Gewichtungen bestimmen den Transformationseinfluss eines Bones auf eine Reihe von Scheitelpunkten. Sie können zudem Informationen über das Skelett holen, das im dynamischen Mesh gespeichert ist. Diese Informationen sind 1-zu-1 mit dem Skelett-Mesh-Skelett, nachdem es mit dem Knoten Mesh aus Skelett-Mesh kopieren in ein dynamisches Mesh konvertiert wurde.
| Knoten | Beschreibung |
|---|---|
Mesh hat Bone-Gewichtungen | Prüft, ob für das Ziel-Mesh ein Bone-Gewichtungsattribut pro Scheitelpunkt festgelegt ist. |
Mesh-Bone-Gewichtungen erstellen | Erstellt ein neues Bone-Gewichtungsattribut auf dem Ziel-Mesh, wenn es noch nicht existiert. Wenn es vorhanden ist und |
Max. Bone-Gewichtungsindex holen | Bestimmt den größten Bone-Gewichtungsindex, der auf dem Mesh vorhanden ist. |
Scheitelpunkt-Bone-Gewichtungen holen | Gibt ein Array von Bone-Gewichtungen an einem gegebenen Scheitelpunkt des Ziel-Mesh zurück. |
Größte Scheitelpunkt-Bone-Gewichtung holen | Gibt die Bone-Gewichtung der maximalen Gewichtung an einem bestimmten Scheitelpunkt des Ziel-Mesh zurück. |
Scheitelpunkt-Bone-Gewichtungen festlegen | Legt die Bone-Gewichtung an einem bestimmten Scheitelpunkt des Ziel-Mesh fest. |
Alle Scheitelpunkt-Bone-Gewichtungen festlegen | Legt alle Scheitelpunkte des Ziel-Mesh auf die gegebenen Bone-Gewichtungen fest. |
Glatte Bone-Gewichtungen berechnen | Berechnet eine glatte Skin-Bindung für das angegebene Mesh an das angegebene Skelett. |
Bone-Gewichtungen aus Mesh übertragen | Überträgt die Bone-Gewichtungen aus dem SourceMesh zum TargetMesh. Setzt voraus, dass die Meshs ausgerichtet sind. Verwende andernfalls die Geometrie-Script-Funktion „Mesh transformieren“, um sie auszurichten. |
Bones aus Mesh kopieren | Kopiert die Bone-Attribute (Skelett) vom Quell-Mesh zum Ziel-Mesh. |
Bones aus Mesh verwerfen | Verwirft die Bone-Attribute (Skelett) aus dem Ziel-Mesh. |
Bone-Index holen | Holt den Index des Bone mit dem gegebenen Namen. |
Stamm-Bone-Name holen | Holt den Namen des Stamm-Bone. |
Bone-Children holen | Holt die Informationen über die Children des Bone. |
Alle Bone-Infos holen | Holt ein Array mit Bones, die das Skelett darstellen. Jeder Eintrag enthält Informationen über den Bone. |
Bone-Info holen | Holt den Index des Bone mit dem gegebenen Namen. |
Bone-Gewichtungen auf Mesh kopieren | Kopiert alle Bone-Gewichtungen von einem Quellprofil auf ein Zielprofil auf demselben Mesh und ersetzt alle. |
Bone-Gewichtungen überblenden | Überblendet zwei Bone-Gewichtungen mit einem Alpha-Wert, der von 0 bis einschließlich 1 reicht. |
Bone-Gewichtungen beschneiden | Beschneidet alle angegebenen Bones aus einer beliebigen Bone-Gewichtungszuweisung im angegebenen Profil. |
Geometrische Mesh-Abfragen
Funktionen für geometrisch Abfragen eines Mesh auf hoher Ebene.
| Knoten-Name | Beschreibung |
|---|---|
Mesh-Begrenzungsrahmen holen | Berechnet den Begrenzungsrahmen der Mesh-Scheitelpunkte. |
Volumen und Fläche für Mesh holen | Berechnet das Volumen und die Fläche des Mesh. |
„Ist geschlossenes Mesh“ holen | Gibt True zurück, wenn das Mesh geschlossen ist, beispielsweise ohne topologischen Grenzen. |
Anzahl offener Randschleifen holen | Gibt die Anzahl offener Randschleifen zurück, beispielsweise „Lücken“ im Mesh. |
Anzahl offener Randkanten holen | Gibt die Anzahl der topologischen Begrenzungskanten im Mesh zurück. |
Anzahl verbundener Komponenten holen | Gibt die Anzahl separater verbundener Komponenten im Mesh zurück, etwa „Dreieck-Patches“, die durch gemeinsame Kanten verbunden sind. |
Mesh-Konvex-Hülle berechnen | Berechnet die Konvex-Hülle eines bestimmten Mesh oder eines Teils des Mesh, den du durch den Auswahl-Input definierst, und gibt das Ergebnis in einem separaten Mesh zurück. |
Vom Mesh gewischte Hüllen berechnen | Berechnet eine gewischte 2D-Hülle des Input-Mesh und gibt sie in einem separaten Mesh zurück. |
Konvex-Zersetzung des Mesh berechnen | Berechnet eine Zersetzung der Konvex-Hülle des gegebenen Ziel-Mesh. Falls mehr als eine Hülle angefordert wird, werden mehrere Hüllen zurückgegeben, die versuchen, das Mesh anzunähern. Es gibt keine Garantie, dass das gesamte Mesh in den Hüllen enthalten ist. |
Zentrum, Volumen und Fläche für Mesh holen | Berechnet das Volumen, die Fläche und den Masseschwerpunkt des Mesh. |
Mesh-Geodäte
Diese Funktionen berechnen den kürzesten gegebenen Pfad auf einer Mesh-Oberfläche.
| Knoten | Beschreibung |
|---|---|
Kürzesten Scheitelpunktpfad holen | Berechnet eine Scheitelpunktliste, die den kürzesten Pfad darstellt, der entlang der Kanten des Mesh-Dreiecks zwischen dem vorgegebenen Start- und Endscheitelpunkt verläuft. Dies kann fehlschlagen, wenn die Start- und Endpunkte innerhalb separater verbundener Komponenten des Mesh liegen. |
Kürzesten Oberflächenpfad berechnen | Berechnet einen PolyPath, der den kürzesten Mesh-Oberflächenpfad zwischen zwei vorgegebenen Punkten auf dem bereitgestellten Mesh darstellt. Dies kann fehlschlagen, wenn sich die Start- und Endpunkte innerhalb separater verbundener Komponenten des Mesh befinden.
|
Oberflächenpfad berechnen | Berechnet einen PolyPath, der einen „geraden“ Oberflächenpfad darstellt, der an dem vorgeschriebenen Punkt auf dem Mesh beginnt und in der angegebenen Richtung weitergeht, bis die angeforderte Pfadlänge erreicht ist oder auf eine Mesh-Grenze stößt, je nachdem, was zuerst eintritt.
|
Mesh-Pool
Funktionen zum Aufrufen and Freigeben des Berechnungs-Mesh-Pool.
| Knoten-Name | Beschreibung |
|---|---|
Globalen Mesh-Pool holen | Greift auf einen globalen Berechnungs-Mesh-Pool zu (wird beim ersten Zugriff erstellt). |
Globalen Mesh-Pool verwerfen | Löscht oder zerstört den aktuellen globalen Mesh-Pool vollständig, sodass er und alle seine Meshs vom Garbage Collector aufgeräumt werden können. |
Berechnungs-Mesh anfordern und freigeben | Makro zur Anforderung eines Berechnungs-Mesh, das über den Ausführungs-Pin „With Mesh“ verwendet und dann automatisch vor dem Ausführungs-Pin „After Release“ freigegeben werden kann. |
Berechnungs-Mesh von globalem Pool anfordern und freigeben | Makro zum Anfordern und Freigeben eines Berechnungs-Mesh unter Verwendung des globalen Berechnungs-Mesh-Pools. |
Einfaches Polygon
Ein einfaches 2D-Polygon ist ein geschlossenes Polygon ohne Lücken. Mit diesen Funktionen können Sie einfache Polygone aufrufen und verändern.
| Knoten | Beschreibung |
|---|---|
Polygon-Scheitelpunktanzahl holen | Gibt die Anzahl der Scheitelpunkte in einem einfachen Polygon zurück. |
Polygon-Scheitelpunkt holen | Gibt den angegebenen Scheitelpunkt eines einfachen Polygons zurück. Der Scheitelpunktindex durchläuft eine Schleife, das heißt, –1 gibt den letzten Scheitelpunkt im Polygon aus. Wenn das Polygon keine Scheitelpunkte hat, wird der Nullvektor zurückgegeben. |
Polygon-Scheitelpunkt festlegen | Setzt den spezifizierten Scheitelpunkt eines einfachen Polygons. Der Scheitelpunktindex durchläuft eine Schleife, das heißt, –1 gibt den letzten Scheitelpunkt im Polygon aus. Tut nichts, wenn das Polygon keine Scheitelpunkte hat. |
Polygon-Scheitelpunkt hinzufügen | Setzt den spezifizierten Scheitelpunkt eines einfachen Polygons. Gibt den Index des hinzugefügten Scheitelpunkts zurück. |
Polygon-Tangente holen | Gibt die Tangente eines Scheitelpunkts eines einfachen Polygons zurück. Der Scheitelpunktindex durchläuft eine Schleife. –1 gibt die Tangente des letzten Scheitelpunkts im Polygon aus. Wenn das Polygon keine Scheitelpunkte hat, wird der Nullvektor zurückgegeben. |
Polygon-Bogenlänge holen | Gibt die Bogenlänge eines einfachen Polygons zurück. |
Polygonfläche holen | Gibt die von einem einfachen Polygon umschlossene Fläche zurück. |
Polygon-Begrenzungen abfragen | Gibt den Begrenzungsrahmen eines einfachen Polygons zurück. |
Spline in Polygon konvertieren | Sampelt Positionen von einer |
Einfaches Polygon zu Array von Vektoren | Gibt ein Array von 3D-Vektoren mit den Polygon-Scheitelpunktpositionen zurück. Die Z-Koordinate ist dabei auf null festgelegt. |
Einfaches Polygon zu Array von Vector2D | Gibt ein Array von 2D-Vektoren mit den Polygon-Scheitelpunktpositionen zurück. |
Array von Vector zu Einfaches Polygon | Gibt ein Polygon zurück, das aus einem Array von 3D-Positionsvektoren erstellt wurde, und ignoriert die Z-Koordinate. |
Array von Vector2D zu Einfaches Polygon | Gibt ein Polygon zurück, das aus einem Array von 2D-Positionsvektoren erstellt wurde. |
Polygonliste
Eine Polygonliste enthält eine Liste von allgemeinen Polygonen, die Lücken haben können. Mit diesen Funktionen können Sie Polygone in einer Polygonliste aufrufen und bearbeiten.
| Knoten | Beschreibung |
|---|---|
Polygon-Scheitelpunktanzahl holen | Gibt die Anzahl der Scheitelpunkte in der äußeren Form eines Polygons zurück, wenn der Lückenindex -1 ist, oder in der angegebenen inneren Lücke. Gibt 0 für ungültige Polygon- oder Lückenindizes zurück. |
Polygon-Scheitelpunkt holen | Gibt den angegebenen Scheitelpunkt eines Polygons zurück – entweder das äußere Polygon, wenn der Lückenindex -1 ist, oder die angegebene innere Lücke. Scheitelpunkt sind der Null-Vektor für ungültige Polygon- oder Lückenindizes, oder wenn das Polygon leer ist. Der Scheitelpunktindex macht eine Schleife. |
Polygonanzahl holen | Gibt die Anzahl der Polygone in der Polygonliste zurück. |
Anzahl der Polygonlücken holen | Gibt die Anzahl der Lücken in einem Polygon zurück. Gibt Null für einen ungültigen Polygon-Index zurück. |
Polygon-Scheitelpunkte holen | Gibt die Scheitelpunkte eines Polygons zurück. Entweder das äußere Polygon, wenn der Lückenindex –1 ist, oder die angegebene innere Lücke. Äußere Scheitelpunkte sind leer für ungültige Polygon- oder Lückenindizes. |
Polygonfläche holen | Gibt die von einem Polygon umschlossene Fläche zurück. Gibt Null für einen ungültigen Polygon-Index zurück. |
Polygon-Begrenzungen abfragen | Gibt den Begrenzungsrahmen eines Polygons zurück. Gibt eine leere, ungültige Box für einen ungültigen Polygon-Index zurück. |
Einfaches Polygon holen | Gibt ein angegebenes einfaches Polygon aus einer Polygonliste zurück – entweder das äußere Polygon, wenn der Lückenindex –1 ist, oder die angegebene innere Lücke. Polygone sind bei ungültigen Polygon- oder Lückenindizes leer. |
Polygonliste Fläche holen | Gibt die von einem Polygon umschlossene Fläche zurück. |
Polygonliste Begrenzungen holen | Gibt den Begrenzungsrahmen eines Polygons zurück. |
Polygonliste aus einzelnem Polygon erstellen | Erstellt eine Polygonliste aus einem einzelnen Polygon mit optionalen Lücken. |
Polygon zur Liste hinzufügen | Fügt ein Polygon zu einer Polygonliste hinzu, mit optionalen Löchern. Gibt den Index des hinzugefügten Polygons zurück. |
Polygonliste aus einfachen Polygonen erstellen | Erstellt eine Polygonliste aus einem Array einfacher Polygone. |
Polygonliste anfügen | Fügt die Polygone in „Anzufügende Polygone“ zur Polygonliste hinzu. |
Polygone Vereinigung | Berechnet die Vereinigung aller Polygone in der Polygonliste. Löst auch Selbstüberschneidungen innerhalb jedes Polygons auf. |
Polygone Unterschied | Berechnet die Differenz zwischen Polygonliste und der zu subtrahierenden Polygone. |
Polygone Schnittstelle | Berechnet die Schnittstelle der Polygonliste und der zu schneidenden Polygone. |
Polygone Exklusives Oder | Berechnet das Exklusiv-Oder der Polygonliste und der „Polygone zu Exklusiv-Oder“. |
Polygone Versatz | Wendet einen einzelnen Versatz auf eine Liste von geschlossenen Polygonen an. |
Polygone Versätze | Wendet zwei Versätze hintereinander auf eine Liste geschlossener Polygone an. |
Polygone Morphologie öffnen | Wendet einen Morphologie-Öffnen-Operator auf eine Liste geschlossener Polygone an. Zuerst mit einem Versatz um –Offset, dann um +Offset. Ist der Versatz negativ, funktioniert das stattdessen wie eine Schließ-Operation. |
Polygone Morphologie schließen | Wendet einen Morphologie-Schließen-Operator auf eine Liste geschlossener Polygone an. Zuerst Versatz um +Offset, dann um –Offset. Ist der Versatz negativ, funktioniert das stattdessen wie eine Öffnen-Operation. |
Polygone aus Pfadversatz erstellen | Wendet einen Versatz auf einen einzelnen offenen 2D-Pfad an und generiert als Ergebnis geschlossene Polygone. |
PolyPath
Diese Funktionen führen PolyPath-Handhabungen durch. Ein PolyPath ist ein Pfad, der durch eine Reihenfolge von Scheitelpunkten definiert wird.
| Knoten-Name | Beschreibung |
|---|---|
Anzahl der Scheitelpunkte im PolyPath holen | Gibt die Anzahl der Scheitelpunkte im PolyPath zurück. |
Letzten Index des PolyPath holen | Gibt den Index des letzten Scheitelpunkts im Poly-Pfad zurück. |
PolyPath-Scheitelpunkt holen | Gibt die 3D-Position des angegebenen Scheitelpunkts zurück. |
PolyPath-Tangente holen | Gibt den lokalen Tangentenvektor des PolyPath am angegebenen Scheitelpunktindex zurück. |
PolyPath-Bogenlänge holen | Gibt die Länge des PolyPath zurück. |
Nächstgelegenen Scheitelpunktindex holen | Gibt den Index des nächstgelegenen PolyPath-Scheitelpunkts zum angegebenen Punkt in 3D zurück. |
Abflachen zu 2D auf Achse | Erstellt eine flache 2D-Kopie des Pfads, indem die angegebene Achse weggelassen wird und die anderen beiden Koordinaten als neue X-, Y-Koordinaten verwendet werden. |
Spline in PolyPath konvertieren | Sampelt die Positionen einer USplineComponent in einen PolyPath, basierend auf den angegebenen Sampling-Optionen. |
PolyPath in Array konvertieren | Füllt ein Array von 3D Vektoren mit den Positionen der PolyPath-Scheitelpunkte. |
Array in PolyPath konvertieren | Erstellt einen PolyPath aus einem Array von 3D-Positionsvektoren. |
PolyPath in Array von Vektor-2D konvertieren | Erstellt ein Array von 2D-Vektoren, wobei die Positionen der PolyPath-Scheitelpunkte auf die XY-Ebene projiziert werden. |
Array von Vektor-2D in PolyPath konvertieren | Erstellt einen PolyPath aus einem Array von 2D-Positionsvektoren. Die Z-Koordinate der entsprechenden PolyPath-Scheitelpunkte ist Null. |
3D-Kreispfad erstellen | Erstellt einen geschlossenen Kreis um den Ursprung auf der XY-Ebene und wird anschließend durch den Transformations-Input neu positioniert. |
2D-Kreispfad erstellen | Erstellt einen geschlossenen Kreis auf der XY-Ebene um das angegebene Zentrum. Bei geschlossenen Pfaden ist der End-Scheitelpunkt kein Duplikat des Start-Scheitelpunkts. |
3D-Bogenpfad erstellen | Erstellt einen offenen Bogen um den Ursprung auf der XY-Ebene und wird anschließend durch den Transformations-Input neu positioniert. |
2D-Bogenpfad erstellen | Erstellt einen offenen Bogen auf der XY-Ebene um das angegebene Zentrum. |
Mesh-Vergleiche
Funktionen zum Vergleichen zweier Meshs. Diese Knoten modifizieren durch ihre Verwendung keines der Meshs.
| Knoten-Name | Beschreibung |
|---|---|
Ist dasselbe Mesh wie | Gibt True zurück, wenn die beiden Input-Meshs bei den durch die Input-Optionen definierten Vergleiche gleichwertig sind. |
Abstände zwischen Meshs messen | Misst die minimalen/maximalen und durchschnittlichen Abstände zwischen zwei Meshs. |
Ist ein sich überschneidendes Mesh | Gibt True zurück, wenn die zwei Input-Meshs (mit optionalen Transformationen) sich geometrisch überschneiden. |
BVH und räumliche Abfragen
Diese Funktionen erstellen ein Begrenzungsvolumen-Hierarchieobjekt (BHV) für ein Mesh und fragen es ab.
| Knoten-Name | Beschreibung |
|---|---|
BVH für Mesh erstellen | Erstellt ein BVH-Objekt für ein Mesh, das von den Knoten Ist BVH gültig für Mesh, BVH für Mesh neu erstellen, Den nächstgelegenen Punkt auf dem Mesh finden, Nächsten Strahlenschnittpunkt mit Mesh finden und Liegt Punkt innerhalb des Mesh verwendet werden kann. Die Funktion gibt eine dynamische BVH-Mesh-Struktur für das Geometrie-Script zurück. |
Ist BVH gültig für Mesh | Prüft, ob das BVH-Objekt noch mit dem Mesh verwendet werden kann. Gibt in der Regel False zurück, wenn das Mesh geändert wurde. |
BVH für Mesh neu erstellen | Erstellt das BVH-Objekt für das Mesh an Ort und Stelle neu, was im Vergleich zur Erstellung eines neuen BVH die Speicherallokationen reduzieren kann. |
Den nächstgelegenen Punkt auf dem Mesh finden | Findet den nächstgelegenen Punkt auf dem Mesh/BVH zu einem gegebenen 3D-Punkt. |
Nächsten Strahlenschnittpunkt mit Mesh finden | Findet den am nächsten gelegenen Schnittpunkt eines 3D-Strahls mit dem Mesh oder BVH. |
Punkt ist innerhalb des Mesh | Überprüft mithilfe der Abfrage „Schnell windende Zahl“, ob ein Punkt innerhalb des Mesh/BVH liegt. |
Hilfsmittel
Diese Hilfsfunktionen sind nützlich bei der Verarbeitung von Geometrie-Script-Mesh-Verarbeitung und prozeduralen Generatoren.
| Knoten-Name | Beschreibung |
|---|---|
Dynamisches-Mesh-Pool erstellen | Erstellt ein neues Dynamisches-Mesh-Pool-Objekt. |
Eindeutigen neuen Asset-Pfadnamen erstellen | Erstellt einen neuen, eindeutigen Asset-Namen mit einem Basispfad und einem Basis-Asset-Namen. Dies ist bei Funktionen wie Neues Statisches-Mesh-Asset aus Mesh erstellen nützlich. Dieser Knoten funktioniert nur im Editor. |
Mesh-Info-String holen | Gibt einen Debug-String zurück, der Mesh-Statistiken und andere Informationen enthält. |
Spline zu Transformationen sampeln | Sampelt eine USplineComponent in eine Liste von FTransforms, basierend auf den angegebenen Sampling-Optionen. |
Glossar
| Begriff | Definition |
|---|---|
Overlay | Eine Datenstruktur, die einen Typ von Scheitelpunkt-Daten repräsentiert, die auf ein Mesh angewendet werden. Zu diesen Typen gehören: Scheitelpunkt-Farbe, Normalen, Tangenten und UVs. An einem einzigen Scheitelpunkt können mehrere Werte des angegebenen Typs gespeichert werden. In solchen Fällen wird je nach Typ eines der folgenden Verfahren angewendet: der letzte Wert wird verwendet, die Werte werden gemittelt, oder es wird ein beliebiger Wert verwendet. |
Ein-Ring | Die benachbarten Scheitelpunkte des ausgewählten Scheitelpunkts, verbunden durch eine Kante. Der Ein-Ring von Scheitelpunkt M. |
UV-Set | Enthält die UV-Koordinaten eines Mesh, auch als UV-Kanal bezeichnet. Du kannst mehrere UV-Kanäle verwenden, um verschiedene UV-Maps zu repräsentieren. |
Grenzen | Die Halbdimensionen einer Box, gemessen entlang der drei Achsen. Sie werden verwendet, um zu bestimmen, wie weit von einem Mittelpunkt aus verlängert werden soll. Ein Mittelpunkt C und eine Grenze E ergeben sich aus einer Box mit einer unteren linken Ecke bei |
h PolyGroup-Begrenzungskanten