目录
案例1 Example2_Terrain(Example2场景)
案例2 Example5_PointGraph(PointGraphExample场景)
案例4 Example9_Penalties(PenaltiesExample场景)
案例5 Example12_Procedural(Procedural场景)
案例1 Example2_Terrain(Example2场景)
类比Nav但多了个动态的网格生成graph寻路
会移动的Cube需要带上
支持实时更新导航网格
注意:mine_bot_render预制体需设置AnimatorController(资源名:mine_bot)
Bot物体的MineBotAnimation脚本需赋值mine_bot_render物体的AnimatorController
EndOfPathEffect是移动结束后创建的特效预制体,可以不填,如果填了要自己管理销毁特效
案例2 Example5_PointGraph(PointGraphExample场景)
3D场景的少量节点寻路point寻路
Recursive勾选 全部子节点都作为寻路节点,否则只会选第一层子节点
Max Distance子节点之间允许通过的最大距离,要设置到一个合适的距离才能让寻路有意义
勾选并点击Scan即可看见辅助线条
案例3 Example6_Navmesh(NavMeshExample场景)
缺少mesh需手动填上并且点击Fix按钮,根据网格生成导航网格。
运行后,双击地面进行开始寻路。
案例4 Example9_Penalties(PenaltiesExample场景)
2个怪一个会走进蓝色区域,一个不会
Points是区域的顶点参数数据,TagValue是标签值,设置小怪的脚本
Traversable可越过的,取消勾选则为不可越过区域(这里取消了那2个区域的页签)
案例5 Example12_Procedural(Procedural场景)
演示了一个动态生成场景并且A*能动态地进行生成导航网格的过程
控制地形生成,按块生成
移动多少距离进行刷新一次网格 主要通过graph.RecalculateCell进行刷新,具体可看源码
案例6 Example15_2D(2D场景)
勾选2D和Use 2D physics 开启Collision testing 设置为Point模式,层级为Default ,它会避开在Default层的碰撞器构建2D导航网格
位于Obstacles空物体下的SpriteRenderer New Sprite (xxx)的Sprite是Null导致无法看到2D地图,可以设置一个格子图片进去。