2021-10-01 02:28:57 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "PhysicsTestMotionParameters3D" inherits= "RefCounted" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2021-10-01 02:28:57 +08:00
<brief_description >
Parameters to be sent to a 3D body motion test.
</brief_description>
<description >
This class contains parameters used in [method PhysicsServer3D.body_test_motion].
</description>
<tutorials >
</tutorials>
<members >
<member name= "collide_separation_ray" type= "bool" setter= "set_collide_separation_ray_enabled" getter= "is_collide_separation_ray_enabled" default= "false" >
If set to [code]true[/code], shapes of type [constant PhysicsServer3D.SHAPE_SEPARATION_RAY] are used to detect collisions and can stop the motion. Can be useful when snapping to the ground.
If set to [code]false[/code], shapes of type [constant PhysicsServer3D.SHAPE_SEPARATION_RAY] are only used for separation when overlapping with other bodies. That's the main use for separation ray shapes.
</member>
2022-11-24 01:32:30 +08:00
<member name= "exclude_bodies" type= "RID[]" setter= "set_exclude_bodies" getter= "get_exclude_bodies" default= "[]" >
Optional array of body [RID] to exclude from collision. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node.
2021-10-01 02:28:57 +08:00
</member>
2022-11-24 01:32:30 +08:00
<member name= "exclude_objects" type= "int[]" setter= "set_exclude_objects" getter= "get_exclude_objects" default= "[]" >
2021-10-01 02:05:30 +08:00
Optional array of object unique instance ID to exclude from collision. See [method Object.get_instance_id].
</member>
2021-10-01 02:28:57 +08:00
<member name= "from" type= "Transform3D" setter= "set_from" getter= "get_from" default= "Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)" >
Transform in global space where the motion should start. Usually set to [member Node3D.global_transform] for the current body's transform.
</member>
<member name= "margin" type= "float" setter= "set_margin" getter= "get_margin" default= "0.001" >
Increases the size of the shapes involved in the collision detection.
</member>
<member name= "max_collisions" type= "int" setter= "set_max_collisions" getter= "get_max_collisions" default= "1" >
Maximum number of returned collisions, between [code]1[/code] and [code]32[/code]. Always returns the deepest detected collisions.
</member>
<member name= "motion" type= "Vector3" setter= "set_motion" getter= "get_motion" default= "Vector3(0, 0, 0)" >
Motion vector to define the length and direction of the motion to test.
</member>
2022-04-29 04:44:09 +08:00
<member name= "recovery_as_collision" type= "bool" setter= "set_recovery_as_collision_enabled" getter= "is_recovery_as_collision_enabled" default= "false" >
2022-09-16 23:07:51 +08:00
If set to [code]true[/code], any depenetration from the recovery phase is reported as a collision; this is used e.g. by [CharacterBody3D] for improving floor detection during floor snapping.
2022-11-01 22:29:38 +08:00
If set to [code]false[/code], only collisions resulting from the motion are reported, which is generally the desired behavior.
2022-04-29 04:44:09 +08:00
</member>
2021-10-01 02:28:57 +08:00
</members>
</class>