PhysicsTestMotionParameters3D
继承: RefCounted < Object
为 PhysicsServer3D.body_test_motion 提供参数。
描述
更改该对象的运动等属性可以配置 PhysicsServer3D.body_test_motion 的参数。
属性
| ||
| ||
| ||
| ||
| ||
| ||
| ||
|
属性说明
bool collide_separation_ray = false
🔗
如果设置为 true
,则 PhysicsServer3D.SHAPE_SEPARATION_RAY 类型的形状用于检测碰撞,并可以停止运动。吸附到地面时很有用。
如果设置为 false
,则 PhysicsServer3D.SHAPE_SEPARATION_RAY 类型的形状仅在与其他物体重叠时用于分离。这是分离射线形状的主要用途。
Array[RID] exclude_bodies = []
🔗
可选的物体 RID 数组,会排除与这些物体的碰撞。请使用 CollisionObject3D.get_rid 来获取与派生自 CollisionObject3D 的节点关联的 RID。
Array[int] exclude_objects = []
🔗
可选的对象唯一实例 ID 数组,会排除与这些实例的碰撞。见 Object.get_instance_id。
Transform3D from = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)
🔗
void set_from(value: Transform3D)
Transform3D get_from()
运动开始处的全局空间变换。通常设为 Node3D.global_transform,使用当前物体的变换。
增加碰撞检测中涉及的形状的大小。
返回碰撞的最大数量,在 1
和 32
之间。始终返回检测到的最深碰撞。
Vector3 motion = Vector3(0, 0, 0)
🔗
运动向量,定义要测试的运动的长度和方向。
bool recovery_as_collision = false
🔗
如果设置为 true
,则把恢复阶段的穿透汇报为碰撞;使用场景包括 CharacterBody3D 提升地面吸附阶段的地面检测。
如果设置为 false
,则只会汇报移动造成的碰撞,一般符合预期行为。