我正在将我的游戏从 godot 3 转换为 godot 4.
以前在 godot 3 中,当我使用旋转平台时,我的播放器会在旋转平台向上移动时下沉几个像素,而在平台向下移动时在上方悬停几个像素。我通过在移动平台上打开与物理同步来解决这个问题。
现在问题又来了,没有sync to physics选项
我只是想知道这是否很容易解决?还是我应该完全重做移动平台系统?
谢谢。
在 Godot 3.x 中推荐的用于移动平台的
Node
是 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
)。我向你保证,从引擎设计的角度来看这是有道理的,而且它是一个无休止争论的主题(特别是如果旨在移动)。但我们未能就更好的事情达成一致。请按原样接受。