Lou*_*lus 5 game-development game-engine godot
我正在将我的游戏从 godot 3 转换为 godot 4。
之前在 godot 3 中,当我使用旋转平台时,我的玩家会在旋转平台向上移动时将几个像素下沉到其中,并在平台向下移动时将其悬停在上方几个像素。我通过在移动平台上打开物理同步来修复此问题。
现在问题又回来了,并且没有同步到物理选项。
我只是想知道这是否是一个简单的修复?或者我应该完全重做移动平台系统?
谢谢。
NodeGodot 3.x 中移动平台的建议是KinematicBody( 2D) 并motion/sync_to_physics设置为true。
如您所知,KinematicBody( 2D) 在 Godot 4 中变成了CharacterBody( 2D/ 3D)。但是,不再建议在移动平台上使用它。相反,建议Node移动平台是AnimatableBody( 2D/ 3D),它有一个sync_to_physics可以完成您想要的操作的属性。
因此,您的修复方法是将节点的类型更改为AnimatableBody( 2D/ 3D) 并确保该sync_to_physics属性设置为true(这是默认值)。
是的,AnimatableBody(2D/ 3D)就是StaticBody(2D/ 3D)。我向您保证,从引擎设计的角度来看,这是有道理的,而且这是一个无休止争论的主题(特别是如果StaticBody(2D/ 3D)有时打算移动,是否仍应称为“静态”)。但我们未能就更好的事情达成一致。请接受它的本来面目。