分享两个基于Three.js结合寻路算法实现的项目效果;第一个是用Dijkstra实现的,是我大学的毕业设计,熟悉蜂鸟视图产品的同志,可能会感觉很相似哈,就简单截个图了哈。
上面当然会有些缺陷了哈,路径不够平滑,其实在得到最短路径之后,我们是可以用贝塞尔曲线或者B样条做曲线拟合的生成光滑的路径点,所以呢,在我实习的时候,遇到了类似的需求我就在得到最短路径后利用Three.js的B样条曲线生成了光滑的路径点,下面的效果就是基于A*算法实现的效果。
这里的A*的启发函数不是依据网格的关联计算的,而是依据方块之间的距离。能在两个灰色格子之间穿过,是因为我在生成初始路网数据的时候,没有做很细致,就简单做了效果。
最后呢,发下广告啦啦啦!这里有WebGL、Vulkan、OpenGL,也有Three.js、Unity、UE4!当然也有图形图像处理大佬哈!我们在这里期待你的加入,欢迎交流!