5种常用的碰撞体CollisionObject
CollisionObject
是Godot中所有可参与碰撞的节点类的基类:
-
Area
:没有“外壳”的区域性碰撞体,其它碰撞体都是有“外壳”的 -
KinematicBody(动力体)
:完全不受物理系统影响,其运动完全由用户控制。 -
PhysicalBone(物理骨骼)
:这个其实并不常用,具有物理性质的骨骼,一般用在布娃娃系统中(ragdoll system) -
RigidBody(刚体)
:其运动完全受物理系统支配,用户不能直接移动它,只能通过施加外力或改变速度来影响它的运动。 -
StaticBody(静态体)
:用于模拟那些巨大的如“地面”或“墙”一类不会移动的物体。
RigidBody
的4种模式
Rigid模式
默认模式,也就是正常的刚体行为模式,刚体的移动受物理引擎控制和用户代码二者影响。
Static模式
这种模式中刚体的行为会和StaticBody
一样,无法被物理引擎移动,只能被代码移动。注意:StaticBody
本身是无法发出碰撞信号的,如果想让StaticBody
发出碰撞信号,可以使用RigidBody
的Static模式
Character模式
这种模式和Rigid模式
差不多,但是物理引擎无法旋转刚体。平台跳跃游戏中主角或NPC的刚体会比较多
Kinematic模式
这种模式中刚体的行为会和KinematicBody
一样,只能被用户代码移动