Link Search Menu Expand Document

Plot Edges Pathfinding

PCGEx | Pathfinding : Plot Edges

Find a path that goes through multiple chained points.

The Plot Edges Pathfinding mode …


Vtx
Endpoints of the input Edges
Edges
Edges associated with the input Vtxs
Plots
Plot points in the form of points collections.
Heuristics
Heuristics nodes that will be used by the pathfinding search algorithm
Paths
A single path per plot collection input

Table of content


The Plot Edges Pathfinding node takes multiple input dataset as “plot” and finds a path that connects each point in a given plot, in order. It’s very straightforward to use, and should generally be preferred over its Edges Pathfinding alternative.

details/pathfinding/pathfinding-edges-plot-lead.png


Properties


Property Description
Plot inclusiong
Add Seed to Path Prepends the seed position at the beginning of the output path.
This will create a point with the position of the seed.
Add Goal to Path Appends the goal position at the end of the output path.
This will create a point with the position of the goal.
Add Plot Points to Path Include plot points positions as part of the output path.
Does not includes seed or goal points.
Closed Loop Whether the plots should generate closed paths.
If enabled, the last plot point will create a path that wraps with the first plot point.
Path Composition Whether the output paths are made from Vtx or Edges points.
Picking
Seed Picking Lets you control how the seed node (Vtx) will be picked based on the provided seed position.
Goal Picking Lets you control how the goal node (Vtx) will be picked based on the provided goal position.
Search Algorithm Let you pick which ⊚ Search algorithm to use to resolve pathfinding.

Seed/Goal picking is resolved for each pair of point in a given plot.

Misc
Use Octree Search Whether or not to search for closest node using an octree. Depending on your dataset, enabling this may be either much faster, or much slower.
I highly recommend enabling it if you resolve a lot of paths at the same time, but as a rule of thumb just profile it with/without and pick what works best in your setup.
Omit Complete Path on Failed Plot If enabled, a single seed/goal pair fail will invalidate the full plotted path. If disabled, failed segments will ungracefully connect plot points with a straight line.
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.

Available ⊚ Search modules


Dijkstra

Dijkstra’s Algorithm

Dijkstra’s Algorithm implementation.

A* Star

A* Algorithm

A* Algorithm implementation.


Available 🝰 Heuristics modules


🝰 Heuristic Attribute

Attribute-driven heuristics

The Attribute heuristics uses custom point or edge value as raw score.

🝰 Shortest Distance

Favor shortest distance.

The Shortest Distance heuristic node …

🝰 Feedback

Favor uncharted points & edges.

The Feedback heuristic add/remove score value to points & edges that are “in use” by other previously computed paths.

🝰 Inertia

Favor active direction preservation.

The Inertia heuristic uses the ongoing traversal data to try and maintain a consistent direction, as if the algorithm had “inertia”.

🝰 Steepness

Favor flat trajectories.

The Steepness heuristic uses the edge angle against an up vector to compute a dot product that is used to determine whether the edge should be considered flat or not.

🝰 Azimuth

Favor edges directed toward the goal.

The Azimuth heuristic attempt to force the path to always aim toward the goal.

🝰 Least Nodes

Favor traversing the least amount of nodes.

The Least Nodes heuristic favor node count traversal over anything else.