如何在Godot 4中关闭CharacterBody2D的无限惯性?
在Godot 4中关闭CharacterBody2D的无限惯性方法
在Godot 4里,CharacterBody2D默认开启无限惯性(对应Godot 3中KinematicBody2D的infinite_inertia参数默认状态),这会让它在与RigidBody2D交互时不受物理反作用力影响,进而引发异常交互问题。你可以通过以下两种方式关闭该特性:
编辑器可视化设置:选中目标CharacterBody2D节点,在检查器面板的「PhysicsBody2D」分类下找到「Infinite Inertia」选项,取消勾选即可。
代码动态控制:在CharacterBody2D的脚本中直接修改属性,比如在初始化时设置:
func _ready(): infinite_inertia = false
关闭无限惯性后,CharacterBody2D与RigidBody2D交互时会遵循物理规则,比如推动较重刚体时角色会受到反作用力弹开,能解决你遇到的异常交互问题。如果需要更灵活的控制,也可以在特定场景下临时切换该属性的状态。
内容的提问来源于stack exchange,提问作者Lou Bowlus
相关产品推荐
相关产品推荐

