2021-11-02 09:00:58 +08:00
<?xml version="1.0" encoding="UTF-8" ?>
2022-02-14 21:18:53 +08:00
<class name= "PhysicsRayQueryParameters3D" inherits= "RefCounted" version= "4.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation= "../class.xsd" >
2021-11-02 09:00:58 +08:00
<brief_description >
Parameters to be sent to a 3D ray physics query.
</brief_description>
<description >
This class contains the ray position and other parameters to be used for [method PhysicsDirectSpaceState3D.intersect_ray].
</description>
<tutorials >
</tutorials>
2022-06-11 05:37:04 +08:00
<methods >
<method name= "create" qualifiers= "static" >
<return type= "PhysicsRayQueryParameters3D" />
<argument index= "0" name= "from" type= "Vector3" />
<argument index= "1" name= "to" type= "Vector3" />
<argument index= "2" name= "collision_mask" type= "int" default= "4294967295" />
<argument index= "3" name= "exclude" type= "Array" default= "[]" />
<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>
<member name= "exclude" type= "Array" setter= "set_exclude" getter= "get_exclude" default= "[]" >
The list of objects or object [RID]s that will be excluded from collisions.
</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>