A* Pathfinding Project
3.7.3
The A* Pathfinding Project for Unity 3D
|
Simplifies a path using raycasting. More...
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
Public Member Functions | |
override void | Apply (Path p, ModifierData source) |
Main Post-Processing function. | |
bool | ValidateLine (GraphNode n1, GraphNode n2, Vector3 v1, Vector3 v2) |
Check if a straight path between v1 and v2 is valid. | |
Public Member Functions inherited from MonoModifier | |
void | Awake () |
Alerts the Seeker that this modifier exists. | |
void | OnDestroy () |
void | OnDisable () |
void | OnEnable () |
void | PreProcess (Path p) |
Public Member Functions inherited from IPathModifier | |
void | Apply (Path p, ModifierData source) |
void | PreProcess (Path p) |
Public Attributes | |
int | iterations = 2 |
LayerMask | mask = -1 |
Vector3 | raycastOffset = Vector3.zero |
bool | subdivideEveryIter |
bool | thickRaycast |
float | thickRaycastRadius |
bool | useGraphRaycasting |
Use raycasting on the graphs. | |
bool | useRaycasting = true |
Public Attributes inherited from MonoModifier | |
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] |
Higher priority modifiers are executed first. | |
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. | |
|
virtual |
Main Post-Processing function.
Implements MonoModifier.
Check if a straight path between v1 and v2 is valid.
int iterations = 2 |
LayerMask mask = -1 |
|
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.
Vector3 raycastOffset = Vector3.zero |
bool subdivideEveryIter |
bool thickRaycast |
float thickRaycastRadius |
bool useGraphRaycasting |
Use raycasting on the graphs.
Only currently works with GridGraph and NavmeshGraph and RecastGraph.
bool useRaycasting = true |
|
get |
|
get |