4f8d761be6
Added a parameter in test_body_motion to exclude attached objects from collision, used to avoid collision with all TileMap tiles with moving platform motion instead of just the one tile the character touches. Same changes made in 3D for consistency, and handling potential similar cases.
36 lines
2.3 KiB
XML
36 lines
2.3 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="PhysicsTestMotionParameters3D" inherits="RefCounted" version="4.0">
|
|
<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>
|
|
<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>
|
|
<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>
|