Mesh to Clusters
Convert mesh/geometry topology to usable clusters.
The Mesh to Cluster node transforms raw mesh geometry into clusters by extracting vertices and edges, which are then copied to input points. This is useful for leveraging mesh topology within a cluster-based workflow.
Related
Table of content
The Mesh to Cluster node converts raw geometry from meshes (either specific reference or by sampling the scene) into Clusters, using geometry’ vertices and triangles to build Vtx
and Edges
and copy them onto the input points, much like Copy Cluster to Points does.
Note that the current implementation is very prototype-y : when using an actor reference, only the first primitive will be processed.
Properties
Property | Description |
---|---|
Graph Output Type | Defines how the raw geometry will be converted to Vtx & Edges
|
Static Mesh Source | Select the source for the mesh(es) to be converted. - Constant is a single StaticMesh picker that will be used for each of the input points.- Attribute on the other end lets you pick an attribute on the input points that contains an object path to either a StaticMesh or an Actor reference. |
Static Mesh Constant | The static mesh to convert to a graph & copy to input points. |
Static Mesh Attribute | The name of the attribute that contains a path to a StaticMesh or Actor.FSoftObjectPath is preferred, but supports Fname , FString
|
Attribute Handling | Lets you pick how the soft path should be handled, either as StaticMesh or an ActorReference. Note that this is legacy is will be removed in an upcoming update to support both. Meanwhile, you still need to choose one. |
Transform Details | |
Inherit Scale | If enabled, cluster points will be scaled by the target’ scale. |
Inherit Rotation | If enabled, cluster points will be scaled by the target’ rotation. |
Misc | |
Ignore Mesh Warning | If enabled, skips over invalid meshes path without warning. |
Cluster Output Settings | See below. |
Attributes Forwarding | See below. |
Graph Output Type
Output Type | Description |
---|---|
Raw Uses the raw, unedited mesh topology. | |
Dual Uses the dual graph of the mesh topology. | |
Hollow Uses a special combination of both raw and dual graph to create more edges. |
Cluster Output Settings
Property | Description |
---|---|
Edge Position | If enabled, edge point’ position will be the result of that value used as a lerp between its start and end Vtx point. |
Pruning | |
Min Vtx Count | If enabled, only ouputs clusters that have more ( > ) Vtx than the specified number. |
Max Vtx Count | If enabled, only ouputs clusters that have less ( < ) Vtx than the specified number. |
Min Edge Count | If enabled, only ouputs clusters that have more ( > ) Edge than the specified number. |
Max Edge Count | If enabled, only ouputs clusters that have less ( < ) Edge than the specified number. |
Misc | |
Refresh Edge Seed | If enabled, Edge points gets a fresh seed. |
Build and Cache Cluster | If enabled, pre-build and cache cluster along with the point data. This has a slight memory cost associated to it, but can offer tremendous performance improvement. If disabled, cluster processors that comes down the line have to rebuild clusters from point data, which is very costly as they are also tested for errors and possible disconnections in the process. |
Expand Clusters | If enabled, also build & cache another layer of cache data. This can have a significant memory cost, as well as a minimal performance overhead, but can greatly improve certain specific operations down the line. |
Attribute Forwarding
Note that at the time of writing, attribute forwarding is not implemented
Since this node merges multiple inputs together, “Carry over” settings lets you pick-and-choose which attributes & tags carry over to the new data.
Property | Description |
---|---|
Enabled | Whether attribute forwarding is enabled or not. |
Preserve Attributes Default Value | If enabled, the node will attempt to create attributes on the data in a way that preserve the original, underlying default value of the attribute. This can be critical in order to identify which data originally belonged to which, as well as properly initializing flags to a desirable default. |
Note that the filters look for a single valid match amongst the list; you cannot create and/or conditions.
Filter Details
Property | Description |
---|---|
Filter Mode | Chooses how the filter operates. - All let everything pass.- Exclude filters out the result of the filter.- Include only allows the items that pass the filters. |
Matches | Lets you define a list of checks pairs: a string value, and a Match Mode . |
Comma Separated Names | Easy to override, lets you specify a list of comma-separated names. The only caveat is that you can only pick a unique match mode used for each entry. |
Comma Separated Names Filter | Which filter will be used along the Comma Separated Names. |
Preserve PCGEx Data | Most of the time you’ll want to leave it to its default value. It ensures PCGEx/ prefixed data are not captured by the filter. |
Filter Modes
Mode | Description |
---|---|
Equals | Checks for strict equality of the filtered value and the associated string. |
Contains | Checks if the filtered value contains the associated string. |
Starts With | Checks if the filtered value is prefixed with the associated string. |
Ends With | Checks if the filtered value is suffixed with the associated string. |