Class DynamicObstacle Extends GraphModifier, DynamicGridObstacle
Updates graphs around the object as it moves.
Attach this script to any obstacle with a collider to enable dynamic updates of the graphs around it. When the object has moved or rotated at least updateError world units then it will call AstarPath.UpdateGraphs to update the graph around it.
Make sure that any children colliders do not extend beyond the bounds of the collider attached to the GameObject that the DynamicObstacle component is attached to since this script only updates the graph around the bounds of the collider on the same GameObject.
An update will be triggered whenever the bounding box of the attached collider has changed (moved/expanded/etc.) by at least updateError world units or if the GameObject has rotated enough so that the outmost point of the object has moved at least updateError world units.
This script works with both 2D colliders and normal 3D colliders.
This script works with a GridGraph, PointGraph, LayerGridGraph or RecastGraph. However, for recast graphs, you can often use the NavmeshCut instead, for simple obstacles. The NavmeshCut can be faster, but it's not quite as flexible.
Public Methods
Public Variables
Time in seconds between bounding box checks.
The minimum change in world units along one of the axis of the bounding box of the collider to trigger a graph update.
Inherited Public Members
Called after graphs have been updated using GraphUpdateObjects or navmesh cutting.
Private/Protected Members
Collider to get bounds information from.
2D Collider to get bounds information from
Bounds of the collider the last time the graphs were updated.
True if the collider was enabled last time the graphs were updated.
Rotation of the collider the last time the graphs were updated.
Cached transform component.
Unique persistent ID for this component, used for serialization.
Maps persistent IDs to the component that uses it.