zoukankan      html  css  js  c++  java
  • A*算法、导航网格、路径点寻路对比(A-Star VS NavMesh VS WayPoint)

    在Unity3d中,我们一般常用的寻路算法:
     
    1.A*算法插件
     
    与贪婪算法不一样,贪婪算法适合动态规划,寻找局部最优解,不保证最优解。A*是静态网格中求解最短路最有效的方法。也是耗时的算法,不宜寻路频繁的场合。一般来说适合需求精确的场合。
     
    与启发式的搜索一样,能够根据改变网格密度、网格耗散来进行调整精确度。
     
    使用较好的地方:
    a.策略游戏的策略搜索
    b.方块格子游戏中的格子寻路
     
     
    2.U3D自带的导航网格系统
     
    U3D内置了NavMesh导航网格系统,一般来说导航网格算法大多是“拐角点算法”,具体大家可以去查下。效率是比较高的,但是不保证最优解算法。
     
    使用较好的地方:
    a.游戏场景的怪物寻路
    b.动态规避障碍
     
    3.WayPoint寻路插件
     
    速度最快,但相应来说表现也非常局限,它常常走“Z”型的轨迹,并不适合复杂场合的使用。例如它不能根据宽度、高度、路径点耗散等来改变行进路径。
     
    使用较好的地方:
    a.塔防怪物行进路径
    b.AI巡逻路线
     
     
     
    大概简单一说,其实大家心里都会有个底,什么情况用什么。并没有说一种寻路可以通吃所有场合或想适应所有场合。选择都是基于需求而定。
  • 相关阅读:
    python 模块之-time
    asp.net web 通过IHttpAsyncHandler接口进行消息推送
    模拟登陆
    Socket发送文件
    asp.net 在自己指定的文件夹下面弄个App.config来读取配置
    C#多线程数据分布加载
    socket收发消息
    .net分布在指定文件夹的web.confgi或者app.config
    linux 修改oracle字符集
    文件读取草稿(excel,csv)
  • 原文地址:https://www.cnblogs.com/kanekiken/p/7533507.html
Copyright © 2011-2022 走看看