유니티 에셋/A* Pathfinding project pro
Class DynamicGridObstacle Extends GraphModifier
스크립팅하는애님
2024. 6. 26. 23:19
이 스크립트를 콜라이더가 있는 장애물에 부착하여 주변 그래프의 동적 업데이트를 가능하게 합니다.
객체가 최소한 updateError 월드 유닛만큼 이동하거나 회전했을 때 AstarPath.UpdateGraphs 를 호출하여 주변 그래프를 업데이트합니다.
DynamicGridObstacle 컴포넌트가 부착된 게임 오브젝트에 부착된 콜라이더의 경계 내에서만 그래프가 업데이트되므로, 자식 콜라이더가 게임 오브젝트의 콜라이더 경계를 벗어나지 않도록 하십시오.
부착된 콜라이더의 경계 상자가 최소 updateError 월드 유닛만큼 변경(이동/확장 등)되거나, 게임 오브젝트가 회전하여 객체의 가장 바깥쪽 지점이 최소 updateError 월드 유닛만큼 이동한 경우 업데이트가 트리거됩니다.
이 스크립트는 2D 콜라이더와 일반 3D 콜라이더 모두에서 작동합니다.
checkTime
float checkTime = 0.2F
AstarPath.batchGraphUpdates 가 활성화된 경우, checkTime을 AstarPath.graphUpdateBatchingInterval 보다 훨씬 낮게 설정하는 것은 불필요한 그래프 업데이트를 추가할 뿐이므로 유익하지 않습니다.
실시간 초 단위 (Time.realtimeSinceStartup 기준).
updateError
float updateError = 1
그래프 업데이트를 트리거하기 위해 콜라이더의 바운딩 박스 축 중 하나를 따라 세계 단위로 최소 변화.
참고 이 스크립트는 GridGraph , PointGraph , LayerGridGraph 또는 RecastGraph 와 함께 작동합니다. 그러나 간단한 장애물의 경우 recast 그래프에서는 종종 NavmeshCut 을 대신 사용할 수 있습니다. NavmeshCut 이 더 빠를 수 있지만 유연성은 떨어집니다. |
참고 AstarPath.UpdateGraphs Graph Updates during Runtime Navmesh Cutting |