mirror of
https://github.com/godotengine/godot.git
synced 2024-12-27 11:24:59 +08:00
da3fbc0296
Co-authored-by: PouleyKetchoupp <pouleyketchoup@gmail.com>
55 lines
2.6 KiB
XML
55 lines
2.6 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="PhysicsShapeQueryParameters3D" inherits="Reference" version="4.0">
|
|
<brief_description>
|
|
Parameters to be sent to a 3D shape physics query.
|
|
</brief_description>
|
|
<description>
|
|
This class contains the shape and other parameters for 3D intersection/collision queries. See also [PhysicsShapeQueryResult3D].
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
</methods>
|
|
<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="2147483647">
|
|
The physics layer(s) the query will take into account (as a bitmask).
|
|
</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="margin" type="float" setter="set_margin" getter="get_margin" default="0.0">
|
|
The collision margin for the shape.
|
|
</member>
|
|
<member name="shape" type="Resource" setter="set_shape" getter="get_shape">
|
|
The [Shape3D] that will be used for collision/intersection queries. This stores the actual reference which avoids the shape to be released while being used for queries, so always prefer using this over [member shape_rid].
|
|
</member>
|
|
<member name="shape_rid" type="RID" setter="set_shape_rid" getter="get_shape_rid">
|
|
The queried shape's [RID] that will be used for collision/intersection queries. Use this over [member shape] if you want to optimize for performance using the Servers API:
|
|
[codeblock]
|
|
var shape_rid = PhysicsServer3D.shape_create(PhysicsServer3D.SHAPE_SPHERE)
|
|
var radius = 2.0
|
|
PhysicsServer3D.shape_set_data(shape_rid, radius)
|
|
|
|
var params = PhysicsShapeQueryParameters3D.new()
|
|
params.shape_rid = shape_rid
|
|
|
|
# Execute physics queries here...
|
|
|
|
# Release the shape when done with physics queries.
|
|
PhysicsServer3D.free_rid(shape_rid)
|
|
[/codeblock]
|
|
</member>
|
|
<member name="transform" type="Transform" setter="set_transform" getter="get_transform" default="Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )">
|
|
The queried shape's transform matrix.
|
|
</member>
|
|
</members>
|
|
<constants>
|
|
</constants>
|
|
</class>
|