为什么所有物体都在滑动? Godot 3中的凹多边形碰撞形状
Why all objects are sliding? Concave polygon collision shape in godot 3
我有一个平面网格。我只是点击 mesh -> create trimesh collision sibling
然后,我有一个碰撞形状(凹多边形),如果我添加 kinematicBody3d、StaticBody3d 或 RigidBody3d 等。这些对象在表面上滑动(移动)(或不滑动)
添加对象:
几秒后
但如果我更改碰撞形状模式,它将正常工作
刚体受物理影响。为了控制这一点,有几个参数。我认为您可能正在寻找的是 linear damp 属性
如果设置为60,应该在一帧内停止对象
如果你不想让树移动。曾经。让他们 StaticBody
.
如果你想让它们受重力影响并让其他东西推动它们,那么使用RigidBody
。
既然您使用的是 RigidBody
,我想这就是您想要的。这就引出了一个问题:如何制作一个 RigidBody
在有东西推动它之前不会移动的东西?添加它睡觉。 RigidBody
有一个 sleeping
布尔值 属性,您可以将其设置为 true 以禁用其模拟。
顺便说一句,您还可以更改RigidBody
的gravity_scale
。这意味着您可以使用 gravity_scale
set to 0
, and on the "body_entered"
信号添加它们,将 gravity_scale
设置为 1
.
而当我们这样做时,如果使用 "body_entered"
信号是可行的,另一种设置 mode
of the RigidBody
to static, and change it o rigid on the "body_entered"
signal. By the way, you would need to change mode
using set_deferred
or call_deferred
的替代方法是因为您无法在 Godot 进行物理解析时更改 mode
(这也是 Godot 发送 "body_entered"
信号的时候。
是的,我知道 RigidBody
modes 令人困惑。
我有一个平面网格。我只是点击 mesh -> create trimesh collision sibling
然后,我有一个碰撞形状(凹多边形),如果我添加 kinematicBody3d、StaticBody3d 或 RigidBody3d 等。这些对象在表面上滑动(移动)(或不滑动)
添加对象:
几秒后
但如果我更改碰撞形状模式,它将正常工作
刚体受物理影响。为了控制这一点,有几个参数。我认为您可能正在寻找的是 linear damp 属性
如果设置为60,应该在一帧内停止对象
如果你不想让树移动。曾经。让他们 StaticBody
.
如果你想让它们受重力影响并让其他东西推动它们,那么使用RigidBody
。
既然您使用的是 RigidBody
,我想这就是您想要的。这就引出了一个问题:如何制作一个 RigidBody
在有东西推动它之前不会移动的东西?添加它睡觉。 RigidBody
有一个 sleeping
布尔值 属性,您可以将其设置为 true 以禁用其模拟。
顺便说一句,您还可以更改RigidBody
的gravity_scale
。这意味着您可以使用 gravity_scale
set to 0
, and on the "body_entered"
信号添加它们,将 gravity_scale
设置为 1
.
而当我们这样做时,如果使用 "body_entered"
信号是可行的,另一种设置 mode
of the RigidBody
to static, and change it o rigid on the "body_entered"
signal. By the way, you would need to change mode
using set_deferred
or call_deferred
的替代方法是因为您无法在 Godot 进行物理解析时更改 mode
(这也是 Godot 发送 "body_entered"
信号的时候。
是的,我知道 RigidBody
modes 令人困惑。