
寻路和智能
文章平均质量分 73
介绍一些寻路算法和人工智能相关的东西
阿赵3D
近二十年游戏开发经验,曾编写多个游戏前端框架,实现多种游戏核心玩法和战斗,熟悉各种美术资源处理、美术效果实现、美术性能优化
展开
-
集群算法介绍
demo视频1 demo视频2 集群,也叫做群聚,大概的意思就是模拟一大群行为相近的单位的行动。比较常见的有一群鱼在列队游行等。我也做了个demo,来大概模拟了这个集群的表现。这个群体里面有50个跟随者,还有一个领头者。跟随者一直跟随在领头者附近,相互之间会避开,遇到障碍会避开。如果不小心走远了,会回头继续跟随。 做集群的方法,一般有2种:1、平均行动向量的算法2、势函数算法...原创 2018-08-27 08:53:48 · 9094 阅读 · 6 评论 -
游戏角色ai的实现方式讨论
demo视频很久之前我曾经介绍过不少游戏角色寻路方面实现的方法,但作为完整角色ai行为,我觉得比较难以介绍,首先这涉及到比较多的知识面,然后实现的方式也很多,比如有限状态机、决策树、神经网络等,我认为各有各的优缺点。最后,能实现这个完整过程的手段和框架设计也很多。所以一般介绍角色ai的文章都比较长篇大论,甚至可以写出很多几百页的书籍。我的写作能力有限,技术水平也有限,所以一直觉得难以表达这...原创 2018-08-25 10:11:48 · 6166 阅读 · 2 评论 -
NavMesh动态创建寻路网格技术在多障碍物的情况下
demo视频 上次发上来的NavMesh动态生成技术,有网友问我效率的问题,上次的演示只是简单的测试实现的情况,然后简单的测试了在少数障碍物的情况下的时间是0毫秒。这次修改了一下,模型的范围不再是矩形,而是有了一个边角范围。这样的计算比上次的稍微复杂了一点。然后我这次放比较多的障碍物,来测试效率的问题。 看看上面的视频可以知道。在物体不多的情况下,基本上是感觉不出来生成网格的时...原创 2018-08-04 22:29:35 · 1526 阅读 · 0 评论 -
NavMesh寻路网格自动生成和动态障碍技术
demo视频 在之前的自己写的NavMesh网格寻路功能的基础上,做了个寻路网格动态自动生成的功能,突破了Unity的自带寻路不能动态生成寻路网格,一定要先break再用的缺点。 用法很简单,把可以走的地形设置成一个叫做“Walk”的标签,然后不能走的地方设置成叫“cantWalk”的标签,然后就什么都不用管了,直接运行即可。 在没有任何障碍物的情况下,就和之前的寻路一样...原创 2018-08-04 22:26:00 · 7082 阅读 · 3 评论 -
NavMesh队伍群组寻路
demo视频 在之前写的网格寻路功能的基础上,加上了队伍群组寻路的功能。有些朋友可能会搞混,这个不是Unity3D自带的那个寻路功能,是自己重新写的。这个方法原则上能用在所有的平台,因为只是一些纯数学的计算。这里用Unity3D来表现,只是因为unity是可视化的操作,比较直观。 在默认的情况下,队伍的成员可以分散在地图的各个位置,当点击地图,让他们有一个目标点之后,各个成员就开始集合...原创 2018-08-04 22:17:22 · 2643 阅读 · 2 评论 -
多边形寻路实现
demo视频 Unity3d本身自带有了NavMesh寻路功能。但用过这个功能的人,都会有各种的抱怨。比如,必须使用编辑器去烘焙、动态加载不方便、不能在服务器使用、不能随意的编辑,等等。 这里我自己做了一个多边形寻路的功能。这个功能纯粹是通过预存的数据生成一个模拟的多边形网格,然后通过坐标来计算的。所以这套东西是不限平台使用的,包括了在as3、在java或者c++的服务器、2d...原创 2018-08-04 22:12:01 · 1755 阅读 · 1 评论 -
unity自带寻路Navmesh入门教程(三)
继续介绍NavMesh寻路的功能,接下来阿赵打算讲一下以下两个例子,先看看完成的效果: 第一个例子对于喜欢DOTA的朋友应该很熟悉了,就是不同小队分不同路线进攻的寻路,红绿蓝三个队伍分别根据三条路线进攻。第二个例子是动态的控制道路的开关。当吊桥打开时,道路不通,当吊桥放下时,道路可以通行。先来说说第一个例子吧,第一个例子其实很简单,只需要在之前两节的基础上修改一下层的设置...原创 2018-08-01 09:28:24 · 2808 阅读 · 0 评论 -
unity自带寻路Navmesh入门教程(二)
上一节简单介绍了NavMesh寻路的基本用法,这次来介绍一下稍微复杂一点点的高低落差以及跳跃的做法,首先来看看这次的目标: 由于博客相册上传GIF有限制,所以我把整个过程切开了2部分上传,第一部分是爬楼梯,第二部分是横向跳跃和往下跳落 不管是爬楼梯,还是跳跃,NavMesh都是通过了OffMeshLink来做的。创建OffMeshLink的方法有两种,接下来会通过制作上面的例...原创 2018-08-01 09:20:25 · 1367 阅读 · 0 评论 -
unity自带寻路Navmesh入门教程(一)
unity自从3.5版本之后,增加了NavMesh寻路的功能。在此之前,unity用户只能通过第三方插件(如Astar寻路插件)等做寻路功能。阿赵我也使用过A*寻路插件,A*的原理并不复杂,有兴趣的朋友可以自己百度一下。不过由于不是自带的功能,所以在设定网格和烘焙的过程难免会出现很多不便。NavMesh作为unity自带的功能,用法和之前的LightMapping烘焙或者遮挡剔除Occlusio...原创 2018-08-01 09:08:59 · 18282 阅读 · 0 评论