微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Godot-在不破坏物理性能的情况下加快游戏速度

如何解决Godot-在不破坏物理性能的情况下加快游戏速度

我正在制作一款足球模拟游戏,为此,我将普通的2DBody节点用于球员和球。但是我希望能够加快游戏速度,而又不破坏物理原理并获得其他结果。

为加快游戏速度,我发现 Engine.time_scale Engine.iterations_per_second 影响游戏速度。

因此,时间刻度的认值= 1,迭代次数/秒的认值= 60

仅通过设置 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 举报,一经查实,本站将立刻删除。