首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用统一视觉脚本一致地将GameObject从A点移动到B点

使用统一视觉脚本一致地将GameObject从A点移动到B点
EN

Game Development用户
提问于 2023-03-08 09:52:02
回答 1查看 83关注 0票数 2

我在Unity中构建了一个subGraph,将GameObject ("returnThisGameObject")从其当前位置(A点)移动到它的originalPosition (B点)。

代码每分钟运行十几次,并且通常会完成它的工作。但有时GameObject并不会移动整个距离,只会部分地停留在那里。在这些情况下,子图中的While循环没有完成,因为后面的后续图不会运行。

我可以破解它,以便While循环在继续之前只运行一定数量的帧。但是,我正在试图找出原因,为什么why循环不总是工作。我不太熟悉平滑潮湿(或LERP),所以我可以得到一些指导。

知道为什么这段循环并不总是完成的吗?

编辑:正如建议的那样,我为objectVelocity添加了一个变量,并将其插入到两边光滑的潮湿节点中。仍然遇到的问题,GameObject并不总是坚持到B点.

EN

回答 1

Game Development用户

回答已采纳

发布于 2023-03-12 09:49:08

只想一劳永逸地确认上面的代码没有任何问题!它成功地、一致地将GameObject从A点移动到B点。

但当我试图快速移动2 GameObjects时.有时,第一个GameObject无法完全实现它的目标。

下面是我如何构造代码的方法:

  • 我在一个名为“Manager”的GameObject中运行了移动代码。
  • Move Manager有一个队列,该队列将要移动的GameObjects堆在一起,
  • 移动管理器代码将顶部的GameObject从A点移到B点.一旦完成,它将把下一个GameObject从A点移到B点.等。

如果只需要移动一个GameObject,代码就能完美地工作。但由于某些原因我仍然不明白,如果两个GameObjects被快速地连续移动.有时,第一个GameObject会在达到目标之前停止移动。

为了解决这个问题,我将移动管理器中的移动代码移到GameObjects的预置文件中。因此:

  • 移动管理器可以管理GameObjects的队列(要移动)
  • GameObjects自己也会处理他们自己的运动。

这完全解决了这个问题。我仍然不知道为什么移动代码在移动管理器内部时不起作用,但我很高兴它现在都能工作了。

感谢每一个帮助我确认在运动代码中没有问题的人!这帮助我孤立了问题,并最终找到了解决办法。

票数 0
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/204773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档