Link Search Menu Expand Document

Break to Paths

PCGEx | Cluster : Break to Paths

Breaks clusters edge chains into individual paths

The Break Clusters to Paths node converts edge chains into individual paths, offering a quick way to extract paths or splines from a refined topology without requiring complex pathfinding, but is less suited for dense clusters with highly connected vertices.


Vtx
Endpoints of the input Edges
Edges
Edges associated with the input Vtxs
Break Conditions
Filters used to know which points are 'break' points.
Packed Clusters
Individually packed vtx/edges pairs

Table of content


The Break Cluster to Path turns all Edges chains to individual paths. It’s useful to quickly get a bunch of paths or splines out of a refined topology without the need for pathfinding.

details/clusters-break-to-paths/lead.png

It is not recommended to use this node on very dense clusters (where a lot of Vtx have more than two connections), as it quickly ends up creating a single point data per individual edge.


Properties


Property Description
Settings
Operate On Lets you choose how to break cluster down.
- Paths : Operate on edge chains which form paths with no crossings. e.g, nodes with only two neighbors.
- Edges : Operate on each edge individually (very expensive)
Direction Settings Drive how path points should be ordered.
See below.
Pruning
Min Point Count This lets you filter out output paths that have less that the specified number of points.
Max Point Count If enabled, this lets you filter out output paths that have more that the specified number of points.
Tagging
Is Closed Loop Tag If enabled, will tag closed loop paths data with the specified tag.
Is Open Path Tag If enabled, will tag open paths data with the specified tag.

Direction Settings


Property Description
Direction Method Defines which endpoints “order” will be used to define the direction reference for the ouputs.
Direction Choice Further refines the direction method, based on the above selection.
-Smallest to Greatest will order direction reference metrics in ascending order.
-Greatest to Smallest will order direction reference metrics in descending order.
Really it’s how the endpoint reference value is sorted, but I couldn’t call that Direction’ direction.
Dir Source Attribute The attribute that will be used by the selected method.

If the selected method is Edge Dot Attribute, the attribute will be read from Edges as an FVector direction.

Method

The Direction method, combined with the Direction Choice determine which endpoint should be considered the Start & End of the edge. The “direction” of the edge used for computing outputs & properties is the safe normal going from the start to the end of the edge.

Mode Description
Endpoints order Will use the endpoints’ as ordered during cluster construction.
Endpoints indices Will use the endpoints’ point index.
Endpoints Sort Enables the use of any number of Sorting Rules to determine direction.
This method, while more expensive, is the most efficient.
Edge Dot Attribute Will use an attribute (converted to an FVector) from the edges’ and do a Dot Product with the edge’ direction.
This method, combined with Direction Choice offers full control over direction.

explainers/edge-direction-method.png

Using Edge Dot Attribute only uses the first available edge in the chain to infer direction.


Using Break Conditions

The break condition filters can be used to get tighter control over when to split a clean edge chain into more sub-paths than the default behavior. If the point pass the specified filters, it will stop whatever path was being created. If the point


🝖 AND / OR (Group)

Group multiple filters to set up complex AND/OR branches.

🝖 Adjacency (Node)

Check if adjacent node meet specific conditions

🝖 Compare Nearest (Numeric)

The Numeric Comparison Filter compares the arithmetic value of an attribute against the closest point from another dataset.

🝖 Compare (Numeric)

The Numeric Comparison Filter compares the arithmetic value of two attributes

🝖 Edge Direction (Node)

Check if adjacent node meet specific conditions

🝖 Compare (String)

Compares two string-like attributes against each other.

🝖 Neighbors Count (Node)

Check a node’ neighbors count

🝖 Bool

Performs a simple boolean comparison, converting numeric values to true (> 0) or false (<= 0).

🝖 Within Range

Checks if an attribute value falls within a specified range.

🝖 Dot Product

Compares the dot product of two direction vectors against a third value.

🝖 Modulo Comparison

Compares the modulo of two attributes against a third operand, with configurable comparisons and tolerance.

🝖 Edge Direction (Edge)

Check if the edge direction is within a given range.

🝖 Bounds

Checks if a point is inside or outside the provided bounds, with options for bounds types and an epsilon adjustment.

🝖 Endpoints Compare (Numeric)

Compare the value of an attribute on each of the edge endpoint.

🝖 Endpoints Compare (String)

Compare the value of an attribute on each of the edge endpoint.

🝖 Bitmask

Checks specific flags in an int64 bitmask attribute with configurable mask types, comparisons, and an option to invert results.

🝖 Neighbors Count (Edge)

Check a node’ neighbors count

🝖 Random

Random filter.

🝖 Mean Value

The Mean Value Filter compares per-point values of an attribute against the mean statistical value of that same attribute.

🝖 Self Compare (Numeric)

Compares the numeric value at one index against the same attribute at another index.

🝖 Self Compare (String)

Compares the string value at one index against the same attribute at another index.

🝖 Spline Inclusion

Checks against how a point is included in a spline.

🝖 Path Inclusion

Checks against how a point is included in a path.