我在Unity中构建了一个subGraph,将GameObject ("returnThisGameObject")从其当前位置(A点)移动到它的originalPosition (B点)。
代码每分钟运行十几次,并且通常会完成它的工作。但有时GameObject并不会移动整个距离,只会部分地停留在那里。在这些情况下,子图中的While循环没有完成,因为后面的后续图不会运行。
我可以破解它,以便While循环在继续之前只运行一定数量的帧。但是,我正在试图找出原因,为什么why循环不总是工作。我不太熟悉平滑潮湿(或LERP),所以我可以得到一些指导。
知道为什么这段循环并不总是完成的吗?
编辑:正如建议的那样,我为objectVelocity添加了一个变量,并将其插入到两边光滑的潮湿节点中。仍然遇到的问题,GameObject并不总是坚持到B点.
发布于 2023-03-12 09:49:08
只想一劳永逸地确认上面的代码没有任何问题!它成功地、一致地将GameObject从A点移动到B点。
但当我试图快速移动2 GameObjects时.有时,第一个GameObject无法完全实现它的目标。
下面是我如何构造代码的方法:
如果只需要移动一个GameObject,代码就能完美地工作。但由于某些原因我仍然不明白,如果两个GameObjects被快速地连续移动.有时,第一个GameObject会在达到目标之前停止移动。
为了解决这个问题,我将移动管理器中的移动代码移到GameObjects的预置文件中。因此:
这完全解决了这个问题。我仍然不知道为什么移动代码在移动管理器内部时不起作用,但我很高兴它现在都能工作了。
感谢每一个帮助我确认在运动代码中没有问题的人!这帮助我孤立了问题,并最终找到了解决办法。
https://gamedev.stackexchange.com/questions/204773
复制相似问题