如何解决Godot-在不破坏物理性能的情况下加快游戏速度
我正在制作一款足球模拟游戏,为此,我将普通的2DBody节点用于球员和球。但是我希望能够加快游戏速度,而又不破坏物理原理并获得其他结果。
为加快游戏速度,我发现 Engine.time_scale 和 Engine.iterations_per_second 影响游戏速度。
仅通过设置 time_scale = 0.5 ,物理似乎就破裂了。至少我可以看到,它看起来不如正常速度自然。
通过设置 time_scale = 0.5 和每秒迭代次数= 120来加速时, 所以物理似乎没有破裂。 但是我不能真正确定这是否是100%正确。 (也可以99%接受;-))
那么有人知道另一种加快游戏速度的方法而又不会破坏物理性吗?或者可以确认,修改的time_scale和每秒迭代次数不会破坏物理性吗? >
解决方法
首先,Godot文档说:
float time_scale
-控制游戏中时钟滴答声相对于真实时钟滴答声的快慢。默认为1.0。值为2.0表示游戏的移动速度是现实生活的两倍,而值为0.5表示游戏的移动速度为正常速度的一半。
因此,如果您想加快游戏时间,应该增加该值,而不是减少。据我了解,此值将影响将delta
传递给_physics_process(delta)
方法(以及其他引擎内部物理计算)的时间,而time_scale
充当该值的多人游戏。 / p>
物理引擎以固定的时间步长运行,因此iterations_per_second
将对其产生影响,如文档所述:
int iterations_per_second
-每秒的固定迭代次数(用于固定过程和物理)。
是的,同时修改两个值应该会带来更好的结果,因为增加iterations_per_second
可以使物理计算更加频繁,也就意味着更精确(我们称其为“时间细节”)。还能“打破物理学”吗?是的,如果物理计算的速度不足以跟上引擎的迭代频率。在这种情况下,唯一的解决方案就是优化游戏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。