123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- :github_url: hide
- .. DO NOT EDIT THIS FILE!!!
- .. Generated automatically from Godot engine sources.
- .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
- .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/PhysicsShapeQueryParameters3D.xml.
- .. _class_PhysicsShapeQueryParameters3D:
- PhysicsShapeQueryParameters3D
- =============================
- **Inherits:** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
- Provides parameters for :ref:`PhysicsDirectSpaceState3D.intersect_shape<class_PhysicsDirectSpaceState3D_method_intersect_shape>`.
- .. rst-class:: classref-introduction-group
- Description
- -----------
- By changing various properties of this object, such as the shape, you can configure the parameters for :ref:`PhysicsDirectSpaceState3D.intersect_shape<class_PhysicsDirectSpaceState3D_method_intersect_shape>`.
- .. rst-class:: classref-reftable-group
- Properties
- ----------
- .. table::
- :widths: auto
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`collide_with_areas<class_PhysicsShapeQueryParameters3D_property_collide_with_areas>` | ``false`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`bool<class_bool>` | :ref:`collide_with_bodies<class_PhysicsShapeQueryParameters3D_property_collide_with_bodies>` | ``true`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`int<class_int>` | :ref:`collision_mask<class_PhysicsShapeQueryParameters3D_property_collision_mask>` | ``4294967295`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] | :ref:`exclude<class_PhysicsShapeQueryParameters3D_property_exclude>` | ``[]`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`float<class_float>` | :ref:`margin<class_PhysicsShapeQueryParameters3D_property_margin>` | ``0.0`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`Vector3<class_Vector3>` | :ref:`motion<class_PhysicsShapeQueryParameters3D_property_motion>` | ``Vector3(0, 0, 0)`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`Resource<class_Resource>` | :ref:`shape<class_PhysicsShapeQueryParameters3D_property_shape>` | |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`RID<class_RID>` | :ref:`shape_rid<class_PhysicsShapeQueryParameters3D_property_shape_rid>` | ``RID()`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- | :ref:`Transform3D<class_Transform3D>` | :ref:`transform<class_PhysicsShapeQueryParameters3D_property_transform>` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
- +----------------------------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------+
- .. rst-class:: classref-section-separator
- ----
- .. rst-class:: classref-descriptions-group
- Property Descriptions
- ---------------------
- .. _class_PhysicsShapeQueryParameters3D_property_collide_with_areas:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **collide_with_areas** = ``false`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_collide_with_areas>`
- .. rst-class:: classref-property-setget
- - |void| **set_collide_with_areas**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_collide_with_areas_enabled**\ (\ )
- If ``true``, the query will take :ref:`Area3D<class_Area3D>`\ s into account.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_collide_with_bodies:
- .. rst-class:: classref-property
- :ref:`bool<class_bool>` **collide_with_bodies** = ``true`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_collide_with_bodies>`
- .. rst-class:: classref-property-setget
- - |void| **set_collide_with_bodies**\ (\ value\: :ref:`bool<class_bool>`\ )
- - :ref:`bool<class_bool>` **is_collide_with_bodies_enabled**\ (\ )
- If ``true``, the query will take :ref:`PhysicsBody3D<class_PhysicsBody3D>`\ s into account.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_collision_mask:
- .. rst-class:: classref-property
- :ref:`int<class_int>` **collision_mask** = ``4294967295`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_collision_mask>`
- .. rst-class:: classref-property-setget
- - |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
- - :ref:`int<class_int>` **get_collision_mask**\ (\ )
- The physics layers the query will detect (as a bitmask). By default, all collision layers are detected. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_exclude:
- .. rst-class:: classref-property
- :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **exclude** = ``[]`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_exclude>`
- .. rst-class:: classref-property-setget
- - |void| **set_exclude**\ (\ value\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\]\ )
- - :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\] **get_exclude**\ (\ )
- The list of object :ref:`RID<class_RID>`\ s that will be excluded from collisions. Use :ref:`CollisionObject3D.get_rid<class_CollisionObject3D_method_get_rid>` to get the :ref:`RID<class_RID>` associated with a :ref:`CollisionObject3D<class_CollisionObject3D>`-derived node.
- \ **Note:** The returned array is copied and any changes to it will not update the original property value. To update the value you need to modify the returned array, and then assign it to the property again.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_margin:
- .. rst-class:: classref-property
- :ref:`float<class_float>` **margin** = ``0.0`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_margin>`
- .. rst-class:: classref-property-setget
- - |void| **set_margin**\ (\ value\: :ref:`float<class_float>`\ )
- - :ref:`float<class_float>` **get_margin**\ (\ )
- The collision margin for the shape.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_motion:
- .. rst-class:: classref-property
- :ref:`Vector3<class_Vector3>` **motion** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_motion>`
- .. rst-class:: classref-property-setget
- - |void| **set_motion**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
- - :ref:`Vector3<class_Vector3>` **get_motion**\ (\ )
- The motion of the shape being queried for.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_shape:
- .. rst-class:: classref-property
- :ref:`Resource<class_Resource>` **shape** :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_shape>`
- .. rst-class:: classref-property-setget
- - |void| **set_shape**\ (\ value\: :ref:`Resource<class_Resource>`\ )
- - :ref:`Resource<class_Resource>` **get_shape**\ (\ )
- The :ref:`Shape3D<class_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 :ref:`shape_rid<class_PhysicsShapeQueryParameters3D_property_shape_rid>`.
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_shape_rid:
- .. rst-class:: classref-property
- :ref:`RID<class_RID>` **shape_rid** = ``RID()`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_shape_rid>`
- .. rst-class:: classref-property-setget
- - |void| **set_shape_rid**\ (\ value\: :ref:`RID<class_RID>`\ )
- - :ref:`RID<class_RID>` **get_shape_rid**\ (\ )
- The queried shape's :ref:`RID<class_RID>` that will be used for collision/intersection queries. Use this over :ref:`shape<class_PhysicsShapeQueryParameters3D_property_shape>` if you want to optimize for performance using the Servers API:
- .. tabs::
- .. code-tab:: gdscript
- 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)
- .. code-tab:: csharp
- RID shapeRid = PhysicsServer3D.ShapeCreate(PhysicsServer3D.ShapeType.Sphere);
- float radius = 2.0f;
- PhysicsServer3D.ShapeSetData(shapeRid, radius);
-
- var params = new PhysicsShapeQueryParameters3D();
- params.ShapeRid = shapeRid;
-
- // Execute physics queries here...
-
- // Release the shape when done with physics queries.
- PhysicsServer3D.FreeRid(shapeRid);
- .. rst-class:: classref-item-separator
- ----
- .. _class_PhysicsShapeQueryParameters3D_property_transform:
- .. rst-class:: classref-property
- :ref:`Transform3D<class_Transform3D>` **transform** = ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` :ref:`🔗<class_PhysicsShapeQueryParameters3D_property_transform>`
- .. rst-class:: classref-property-setget
- - |void| **set_transform**\ (\ value\: :ref:`Transform3D<class_Transform3D>`\ )
- - :ref:`Transform3D<class_Transform3D>` **get_transform**\ (\ )
- The queried shape's transform matrix.
- .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
- .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
- .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
- .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
- .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
- .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`
- .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
- .. |void| replace:: :abbr:`void (No return value.)`
|