2021-11-02 09:00:58 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2023-03-01 08:44:37 +08:00
<class name= "PhysicsRayQueryParameters3D" inherits= "RefCounted" version= "4.1" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2021-11-02 09:00:58 +08:00
<brief_description >
2023-04-29 04:59:03 +08:00
Provides parameters for [method PhysicsDirectSpaceState3D.intersect_ray].
2021-11-02 09:00:58 +08:00
</brief_description>
<description >
2023-04-29 04:59:03 +08:00
By changing various properties of this object, such as the ray position, you can configure the parameters for [method PhysicsDirectSpaceState3D.intersect_ray].
2021-11-02 09:00:58 +08:00
</description>
<tutorials >
</tutorials>
2022-06-11 05:37:04 +08:00
<methods >
<method name= "create" qualifiers= "static" >
<return type= "PhysicsRayQueryParameters3D" />
2022-08-07 02:11:48 +08:00
<param index= "0" name= "from" type= "Vector3" />
<param index= "1" name= "to" type= "Vector3" />
<param index= "2" name= "collision_mask" type= "int" default= "4294967295" />
2022-10-30 01:41:03 +08:00
<param index= "3" name= "exclude" type= "RID[]" default= "[]" />
2022-06-11 05:37:04 +08:00
<description >
Returns a new, pre-configured [PhysicsRayQueryParameters3D] object. Use it to quickly create query parameters using the most common options.
[codeblock]
var query = PhysicsRayQueryParameters3D.create(position, position + Vector3(0, -10, 0))
var collision = get_world_3d().direct_space_state.intersect_ray(query)
[/codeblock]
</description>
</method>
</methods>
2021-11-02 09:00:58 +08:00
<members >
<member name= "collide_with_areas" type= "bool" setter= "set_collide_with_areas" getter= "is_collide_with_areas_enabled" default= "false" >
If [code]true[/code], the query will take [Area3D]s into account.
</member>
<member name= "collide_with_bodies" type= "bool" setter= "set_collide_with_bodies" getter= "is_collide_with_bodies_enabled" default= "true" >
If [code]true[/code], the query will take [PhysicsBody3D]s into account.
</member>
<member name= "collision_mask" type= "int" setter= "set_collision_mask" getter= "get_collision_mask" default= "4294967295" >
2021-11-15 17:43:07 +08:00
The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See [url=$DOCS_URL/tutorials/physics/physics_introduction.html#collision-layers-and-masks]Collision layers and masks[/url] in the documentation for more information.
2021-11-02 09:00:58 +08:00
</member>
2022-10-30 01:41:03 +08:00
<member name= "exclude" type= "RID[]" setter= "set_exclude" getter= "get_exclude" default= "[]" >
2022-11-24 01:32:30 +08:00
The list of object [RID]s that will be excluded from collisions. Use [method CollisionObject3D.get_rid] to get the [RID] associated with a [CollisionObject3D]-derived node.
2021-11-02 09:00:58 +08:00
</member>
<member name= "from" type= "Vector3" setter= "set_from" getter= "get_from" default= "Vector3(0, 0, 0)" >
The starting point of the ray being queried for, in global coordinates.
</member>
2021-11-11 06:57:11 +08:00
<member name= "hit_back_faces" type= "bool" setter= "set_hit_back_faces" getter= "is_hit_back_faces_enabled" default= "true" >
If [code]true[/code], the query will hit back faces with concave polygon shapes with back face enabled or heightmap shapes.
</member>
<member name= "hit_from_inside" type= "bool" setter= "set_hit_from_inside" getter= "is_hit_from_inside_enabled" default= "false" >
If [code]true[/code], the query will detect a hit when starting inside shapes. In this case the collision normal will be [code]Vector3(0, 0, 0)[/code]. Does not affect concave polygon shapes or heightmap shapes.
</member>
2021-11-02 09:00:58 +08:00
<member name= "to" type= "Vector3" setter= "set_to" getter= "get_to" default= "Vector3(0, 0, 0)" >
The ending point of the ray being queried for, in global coordinates.
</member>
</members>
</class>