A* Pathfinding Project
3.1.4
The A* Pathfinding Project for Unity 3D
|
Simplifies a path using raycasting. More...
Public Member Functions | |
override void | Apply (Path p, ModifierData source) |
Main Post-Processing function. | |
bool | ValidateLine (Node n1, Node n2, Vector3 v1, Vector3 v2) |
Public Member Functions inherited from MonoModifier | |
virtual Vector3[] | Apply (Node[] path, Vector3 start, Vector3 end, int startIndex, int endIndex, NavGraph graph) |
virtual Vector3[] | Apply (Vector3[] path, Vector3 start, Vector3 end) |
virtual void | ApplyOriginal (Path p) |
void | Awake () |
Alerts the Seeker that this modifier exists. | |
void | OnDestroy () |
void | OnDisable () |
void | OnEnable () |
virtual void | PreProcess (Path p) |
Public Member Functions inherited from IPathModifier | |
void | Apply (Path p, ModifierData source) |
void | ApplyOriginal (Path p) |
void | PreProcess (Path p) |
Public Attributes | |
int | iterations = 2 |
LayerMask | mask = -1 |
Vector3 | raycastOffset = Vector3.zero |
bool | subdivideEveryIter = false |
Use the exact points used to query the path. | |
bool | thickRaycast = false |
float | thickRaycastRadius = 0 |
bool | useGraphRaycasting = false |
Use raycasting on the graphs. | |
bool | useRaycasting = true |
Public Attributes inherited from MonoModifier | |
int | priority = 0 |
Higher priority modifiers are executed first. | |
Seeker | seeker |
Properties | |
override ModifierData | input [get] |
override ModifierData | output [get] |
Properties inherited from MonoModifier | |
abstract ModifierData | input [get] |
abstract ModifierData | output [get] |
int | Priority [get, set] |
Properties inherited from IPathModifier | |
ModifierData | input [get] |
ModifierData | output [get] |
int | Priority [get, set] |
Static Private Attributes | |
static List< Vector3 > | nodes |
To avoid too many memory allocations. | |
Simplifies a path using raycasting.
This modifier will try to remove as many nodes as possible from the path using raycasting (linecasting) to validate the node removal. Either graph raycasts or Physics.Raycast
|
staticprivate |
To avoid too many memory allocations.
An array is kept between the checks and filled in with the positions instead of allocating a new one every time.
bool subdivideEveryIter = false |
Use the exact points used to query the path.
If false, the start and end points will be snapped to the node positions.
bool useGraphRaycasting = false |
Use raycasting on the graphs.
Only currently works with GridGraph and NavmeshGraph and RecastGraph.