Unity在2D游戏里可以使用navmesh自动寻路算法吗

Jia_zx 2018-08-23 03:16:36
就比如元气骑士那种2D地图风格
...全文
2711 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jia_zx 2018-08-28
  • 打赏
  • 举报
回复
引用 2 楼 wurh80 的回复:
可以用,但是navmesh有天生的缺陷,如果碰到需要动态障碍(DOTA老牛沟壑这种障碍)的需求会很蛋疼

的确,我们这个游戏(就是几个大学生瞎搞的。。)障碍物是能破坏的。。
Jia_zx 2018-08-28
  • 打赏
  • 举报
回复
引用 1 楼 leon548534leon 的回复:
可以,但多数使用AStar寻路,楼主可以了解一下

谢谢。前几天我学习了A*算法,但是遇到一个很蛋疼的问题:

如何判断某个区域内是否有Colider2D对象。
或者说: Physics.2D如何在一个位置假定一个平面矩形来检测与周围碰撞

具体我遇到的情况:

烘焙网格识别障碍物时,网上的通用方法是用Physics.CheckBox来检测——假定一个位置存在一个立方体是否会与周围发生碰撞来检测。
OK,然而我这个是2D,初期所有prefab都是按照sprite来设定的,而Physics2D里没有对应的方法,
我想到一个迂回的方法就是用射线来检测,但是这个感觉性能堪忧。。。
无名剑 2018-08-28
  • 打赏
  • 举报
回复
引用 3 楼 qq_38981285 的回复:
[quote=引用 1 楼 leon548534leon 的回复:]
可以,但多数使用AStar寻路,楼主可以了解一下

谢谢。前几天我学习了A*算法,但是遇到一个很蛋疼的问题:

如何判断某个区域内是否有Colider2D对象。
或者说: Physics.2D如何在一个位置假定一个平面矩形来检测与周围碰撞

具体我遇到的情况:

烘焙网格识别障碍物时,网上的通用方法是用Physics.CheckBox来检测——假定一个位置存在一个立方体是否会与周围发生碰撞来检测。
OK,然而我这个是2D,初期所有prefab都是按照sprite来设定的,而Physics2D里没有对应的方法,
我想到一个迂回的方法就是用射线来检测,但是这个感觉性能堪忧。。。[/quote]

射线法没问题,不要一整个大地图一起检测就行,分区域检测, 整个大游戏里头你只需要关心主角所在的一定范围区域就够了
给你两个屏幕大的区域,不是很极限很乱搞的情况 就射线检测还是算得过来的
Jia_zx 2018-08-28
  • 打赏
  • 举报
回复
引用 1 楼 leon548534leon 的回复:
可以,但多数使用AStar寻路,楼主可以了解一下

哈哈下午终于做出来了初版Demo
感谢提点

码农Hiccup 2018-08-24
  • 打赏
  • 举报
回复
可以,但多数使用AStar寻路,楼主可以了解一下
无名剑 2018-08-24
  • 打赏
  • 举报
回复
可以用,但是navmesh有天生的缺陷,如果碰到需要动态障碍(DOTA老牛沟壑这种障碍)的需求会很蛋疼

2,535

社区成员

发帖
与我相关
我的任务
社区描述
Unity3D相关内容讨论专区
游戏unity 技术论坛(原bbs)
社区管理员
  • Unity3D
  • 芝麻粒儿
  • 「已注销」
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

Unity3D社区公告:

  1. 社区致力于解决各种Unity3D相关的“疑难杂症”。
  2. 社区不允许发布与Unity3D或相关技术无关内容。
  3. 社区版主邀请各位一道为打造优秀社区不懈努力。

试试用AI创作助手写篇文章吧