Provides parameters for [method PhysicsServer3D.body_test_motion]. By changing various properties of this object, such as the motion, you can configure the parameters for [method PhysicsServer3D.body_test_motion]. 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. Optional array of body [RID] to exclude from collision. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node. Optional array of object unique instance ID to exclude from collision. See [method Object.get_instance_id]. Transform in global space where the motion should start. Usually set to [member Node3D.global_transform] for the current body's transform. Increases the size of the shapes involved in the collision detection. Maximum number of returned collisions, between [code]1[/code] and [code]32[/code]. Always returns the deepest detected collisions. Motion vector to define the length and direction of the motion to test. 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. If set to [code]false[/code], only collisions resulting from the motion are reported, which is generally the desired behavior.