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数组。使用ColliderObjectBase.get_rid()获取与ColliderObjectBase派生节点关联的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()
在运动应该开始的全局空间中进行变换。通常设置为Item3D.global_transform用于当前身体的变换。
增加冲突检测中涉及的形状的大小。
返回冲突的最大数量,在1和32之间。始终返回检测到的最深碰撞。
Vector3 motion = Vector3(0, 0, 0) 🔗
运动矢量定义要测试的运动的长度和方向。
bool recovery_as_collision = false 🔗
如果设置为true,则恢复阶段的任何脱失都将报告为冲突;例如,由CharacterBulk用于改进地板捕捉期间的地板检测。
如果设置为false,则仅报告运动导致的冲突,这通常是所需的行为。