unity3d - Astar Pathfinding Project 将 AI 代理的 z 位置设置为 2D 项目中的错误值
问题描述
我正在 Unity 中开发 2D 游戏,并且正在使用Aron Granberg 的 A* Pathfinding Package。
一切似乎都运行良好。AIPath 正在生成,AI 代理正在点对点导航,并按预期避开障碍物。没关系,除了一件事。
position.z
AI 代理的 不正确。
AI 代理的生成原点的 az 为 0,目标点的 az 为 0,但 AI 代理的 z 在遍历路径时在 -9 和 -1 之间波动。路径本身在每个航路点的 z 位置似乎都为 0。
我根本没有修改包中的代码,只是在设置 2D 时遵循了文档。
有什么想法可能导致这种情况吗?
注意:我没有包含它的屏幕截图,但是作为 AI 代理生成的预制件的变换位置为 (0,0,0)。
A-star 探路者对象:
解决方案
以防其他人遇到这个问题。
解决方法是向我的 AI 代理添加 Rigidbody2D 并将重力比例设置为 0。
尽管我的游戏没有使用 Unity 的物理系统进行移动,并且 Astar 包可以通过变换移动 AI 代理,但出于某种原因,它需要一个刚体来保持 Z 位置为 0。
我仍然不确定为什么这能解决问题,因为当我调试第三方 Astar 代码时,它总是返回 Z 位置为 0 的 nextPosition 值,但 AI 代理更新为具有不同 Z 的实际位置职位...
如果您有更多信息,请发表评论,我会将其添加到答案中。
推荐阅读
- php - 无法将类型 ... 的 PHP 值转换为类型 ...。应为以下类型之一:null、DateTime
- c++ - 如何获得带有引号的句子?
- git - 弹出并重放一堆 git 提交
- vba - 根据货币乘以每个单元格
- karma-jasmine - 尽管在 fakeAsync 中刷新,但计时器仍在队列中
- sql - 有没有办法在 Oracle 19 中向 JSON 数组添加/附加值?
- c++ - 数学函数的不一致死码消除
- javascript - 如何将流从客户端上传并保存到 mp4 中的节点服务器
- reactjs - 即使在卸载组件后,useEffect 中的此清理功能也会运行吗?
- reactjs - 反应:未处理的拒绝(TypeError):无法读取未定义的属性'catch'