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>
<member name= "exclude_bodies" type= "Array" setter= "set_exclude_bodies" getter= "get_exclude_bodies" default= "[]" >
Optional array of body [RID] to exclude from collision.
</member>
2021-10-01 02:05:30 +08:00
<member name= "exclude_objects" type= "Array" setter= "set_exclude_objects" getter= "get_exclude_objects" default= "[]" >
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>
</members>
</class>