mirror of
https://github.com/godotengine/godot-docs.git
synced 2025-12-31 17:49:03 +03:00
1121 lines
76 KiB
ReStructuredText
1121 lines
76 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. meta::
|
|
:keywords: spatial
|
|
|
|
.. 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/Node3D.xml.
|
|
|
|
.. _class_Node3D:
|
|
|
|
Node3D
|
|
======
|
|
|
|
**Inherits:** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
**Inherited By:** :ref:`AudioListener3D<class_AudioListener3D>`, :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`, :ref:`BoneAttachment3D<class_BoneAttachment3D>`, :ref:`Camera3D<class_Camera3D>`, :ref:`CollisionObject3D<class_CollisionObject3D>`, :ref:`CollisionPolygon3D<class_CollisionPolygon3D>`, :ref:`CollisionShape3D<class_CollisionShape3D>`, :ref:`GridMap<class_GridMap>`, :ref:`ImporterMeshInstance3D<class_ImporterMeshInstance3D>`, :ref:`Joint3D<class_Joint3D>`, :ref:`LightmapProbe<class_LightmapProbe>`, :ref:`Marker3D<class_Marker3D>`, :ref:`NavigationLink3D<class_NavigationLink3D>`, :ref:`NavigationObstacle3D<class_NavigationObstacle3D>`, :ref:`NavigationRegion3D<class_NavigationRegion3D>`, :ref:`OpenXRCompositionLayer<class_OpenXRCompositionLayer>`, :ref:`OpenXRHand<class_OpenXRHand>`, :ref:`OpenXRRenderModel<class_OpenXRRenderModel>`, :ref:`OpenXRRenderModelManager<class_OpenXRRenderModelManager>`, :ref:`Path3D<class_Path3D>`, :ref:`PathFollow3D<class_PathFollow3D>`, :ref:`RayCast3D<class_RayCast3D>`, :ref:`RemoteTransform3D<class_RemoteTransform3D>`, :ref:`ShapeCast3D<class_ShapeCast3D>`, :ref:`Skeleton3D<class_Skeleton3D>`, :ref:`SkeletonModifier3D<class_SkeletonModifier3D>`, :ref:`SpringArm3D<class_SpringArm3D>`, :ref:`SpringBoneCollision3D<class_SpringBoneCollision3D>`, :ref:`VehicleWheel3D<class_VehicleWheel3D>`, :ref:`VisualInstance3D<class_VisualInstance3D>`, :ref:`XRFaceModifier3D<class_XRFaceModifier3D>`, :ref:`XRNode3D<class_XRNode3D>`, :ref:`XROrigin3D<class_XROrigin3D>`
|
|
|
|
Base object in 3D space, inherited by all 3D nodes.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Description
|
|
-----------
|
|
|
|
The **Node3D** node is the base representation of a node in 3D space. All other 3D nodes inherit from this class.
|
|
|
|
Affine operations (translation, rotation, scale) are calculated in the coordinate system relative to the parent, unless the **Node3D**'s :ref:`top_level<class_Node3D_property_top_level>` is ``true``. In this coordinate system, affine operations correspond to direct affine operations on the **Node3D**'s :ref:`transform<class_Node3D_property_transform>`. The term *parent space* refers to this coordinate system. The coordinate system that is attached to the **Node3D** itself is referred to as object-local coordinate system, or *local space*.
|
|
|
|
\ **Note:** Unless otherwise specified, all methods that need angle parameters must receive angles in *radians*. To convert degrees to radians, use :ref:`@GlobalScope.deg_to_rad()<class_@GlobalScope_method_deg_to_rad>`.
|
|
|
|
\ **Note:** In Godot 3 and older, **Node3D** was named *Spatial*.
|
|
|
|
.. rst-class:: classref-introduction-group
|
|
|
|
Tutorials
|
|
---------
|
|
|
|
- :doc:`Introduction to 3D <../tutorials/3d/introduction_to_3d>`
|
|
|
|
- `All 3D Demos <https://github.com/godotengine/godot-demo-projects/tree/master/3d>`__
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Properties
|
|
----------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Basis<class_Basis>` | :ref:`basis<class_Node3D_property_basis>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Basis<class_Basis>` | :ref:`global_basis<class_Node3D_property_global_basis>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`global_position<class_Node3D_property_global_position>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`global_rotation<class_Node3D_property_global_rotation>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`global_rotation_degrees<class_Node3D_property_global_rotation_degrees>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Transform3D<class_Transform3D>` | :ref:`global_transform<class_Node3D_property_global_transform>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`position<class_Node3D_property_position>` | ``Vector3(0, 0, 0)`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Quaternion<class_Quaternion>` | :ref:`quaternion<class_Node3D_property_quaternion>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`rotation<class_Node3D_property_rotation>` | ``Vector3(0, 0, 0)`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`rotation_degrees<class_Node3D_property_rotation_degrees>` | |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`RotationEditMode<enum_Node3D_RotationEditMode>` | :ref:`rotation_edit_mode<class_Node3D_property_rotation_edit_mode>` | ``0`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` | :ref:`rotation_order<class_Node3D_property_rotation_order>` | ``2`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`scale<class_Node3D_property_scale>` | ``Vector3(1, 1, 1)`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`top_level<class_Node3D_property_top_level>` | ``false`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`Transform3D<class_Transform3D>` | :ref:`transform<class_Node3D_property_transform>` | ``Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0)`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`NodePath<class_NodePath>` | :ref:`visibility_parent<class_Node3D_property_visibility_parent>` | ``NodePath("")`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`visible<class_Node3D_property_visible>` | ``true`` |
|
|
+-------------------------------------------------------+-------------------------------------------------------------------------------+-----------------------------------------------------+
|
|
|
|
.. rst-class:: classref-reftable-group
|
|
|
|
Methods
|
|
-------
|
|
|
|
.. table::
|
|
:widths: auto
|
|
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`add_gizmo<class_Node3D_method_add_gizmo>`\ (\ gizmo\: :ref:`Node3DGizmo<class_Node3DGizmo>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`clear_gizmos<class_Node3D_method_clear_gizmos>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`clear_subgizmo_selection<class_Node3D_method_clear_subgizmo_selection>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`force_update_transform<class_Node3D_method_force_update_transform>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Array<class_Array>`\[:ref:`Node3DGizmo<class_Node3DGizmo>`\] | :ref:`get_gizmos<class_Node3D_method_get_gizmos>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Transform3D<class_Transform3D>` | :ref:`get_global_transform_interpolated<class_Node3D_method_get_global_transform_interpolated>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Node3D<class_Node3D>` | :ref:`get_parent_node_3d<class_Node3D_method_get_parent_node_3d>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`World3D<class_World3D>` | :ref:`get_world_3d<class_Node3D_method_get_world_3d>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`global_rotate<class_Node3D_method_global_rotate>`\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`global_scale<class_Node3D_method_global_scale>`\ (\ scale\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`global_translate<class_Node3D_method_global_translate>`\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`hide<class_Node3D_method_hide>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_local_transform_notification_enabled<class_Node3D_method_is_local_transform_notification_enabled>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_scale_disabled<class_Node3D_method_is_scale_disabled>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_transform_notification_enabled<class_Node3D_method_is_transform_notification_enabled>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`bool<class_bool>` | :ref:`is_visible_in_tree<class_Node3D_method_is_visible_in_tree>`\ (\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`look_at<class_Node3D_method_look_at>`\ (\ target\: :ref:`Vector3<class_Vector3>`, up\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0), use_model_front\: :ref:`bool<class_bool>` = false\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`look_at_from_position<class_Node3D_method_look_at_from_position>`\ (\ position\: :ref:`Vector3<class_Vector3>`, target\: :ref:`Vector3<class_Vector3>`, up\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0), use_model_front\: :ref:`bool<class_bool>` = false\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`orthonormalize<class_Node3D_method_orthonormalize>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`rotate<class_Node3D_method_rotate>`\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`rotate_object_local<class_Node3D_method_rotate_object_local>`\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`rotate_x<class_Node3D_method_rotate_x>`\ (\ angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`rotate_y<class_Node3D_method_rotate_y>`\ (\ angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`rotate_z<class_Node3D_method_rotate_z>`\ (\ angle\: :ref:`float<class_float>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`scale_object_local<class_Node3D_method_scale_object_local>`\ (\ scale\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_disable_scale<class_Node3D_method_set_disable_scale>`\ (\ disable\: :ref:`bool<class_bool>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_identity<class_Node3D_method_set_identity>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_ignore_transform_notification<class_Node3D_method_set_ignore_transform_notification>`\ (\ enabled\: :ref:`bool<class_bool>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_notify_local_transform<class_Node3D_method_set_notify_local_transform>`\ (\ enable\: :ref:`bool<class_bool>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_notify_transform<class_Node3D_method_set_notify_transform>`\ (\ enable\: :ref:`bool<class_bool>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`set_subgizmo_selection<class_Node3D_method_set_subgizmo_selection>`\ (\ gizmo\: :ref:`Node3DGizmo<class_Node3DGizmo>`, id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`show<class_Node3D_method_show>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`to_global<class_Node3D_method_to_global>`\ (\ local_point\: :ref:`Vector3<class_Vector3>`\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| :ref:`Vector3<class_Vector3>` | :ref:`to_local<class_Node3D_method_to_local>`\ (\ global_point\: :ref:`Vector3<class_Vector3>`\ ) |const| |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`translate<class_Node3D_method_translate>`\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`translate_object_local<class_Node3D_method_translate_object_local>`\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
| |void| | :ref:`update_gizmos<class_Node3D_method_update_gizmos>`\ (\ ) |
|
|
+--------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Signals
|
|
-------
|
|
|
|
.. _class_Node3D_signal_visibility_changed:
|
|
|
|
.. rst-class:: classref-signal
|
|
|
|
**visibility_changed**\ (\ ) :ref:`🔗<class_Node3D_signal_visibility_changed>`
|
|
|
|
Emitted when this node's visibility changes (see :ref:`visible<class_Node3D_property_visible>` and :ref:`is_visible_in_tree()<class_Node3D_method_is_visible_in_tree>`).
|
|
|
|
This signal is emitted *after* the related :ref:`NOTIFICATION_VISIBILITY_CHANGED<class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED>` notification.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Enumerations
|
|
------------
|
|
|
|
.. _enum_Node3D_RotationEditMode:
|
|
|
|
.. rst-class:: classref-enumeration
|
|
|
|
enum **RotationEditMode**: :ref:`🔗<enum_Node3D_RotationEditMode>`
|
|
|
|
.. _class_Node3D_constant_ROTATION_EDIT_MODE_EULER:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`RotationEditMode<enum_Node3D_RotationEditMode>` **ROTATION_EDIT_MODE_EULER** = ``0``
|
|
|
|
The rotation is edited using a :ref:`Vector3<class_Vector3>` in `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__.
|
|
|
|
.. _class_Node3D_constant_ROTATION_EDIT_MODE_QUATERNION:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`RotationEditMode<enum_Node3D_RotationEditMode>` **ROTATION_EDIT_MODE_QUATERNION** = ``1``
|
|
|
|
The rotation is edited using a :ref:`Quaternion<class_Quaternion>`.
|
|
|
|
.. _class_Node3D_constant_ROTATION_EDIT_MODE_BASIS:
|
|
|
|
.. rst-class:: classref-enumeration-constant
|
|
|
|
:ref:`RotationEditMode<enum_Node3D_RotationEditMode>` **ROTATION_EDIT_MODE_BASIS** = ``2``
|
|
|
|
The rotation is edited using a :ref:`Basis<class_Basis>`. In this mode, the raw :ref:`basis<class_Node3D_property_basis>`'s axes can be freely modified, but the :ref:`scale<class_Node3D_property_scale>` property is not available.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Constants
|
|
---------
|
|
|
|
.. _class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED:
|
|
|
|
.. rst-class:: classref-constant
|
|
|
|
**NOTIFICATION_TRANSFORM_CHANGED** = ``2000`` :ref:`🔗<class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED>`
|
|
|
|
Notification received when this node's :ref:`global_transform<class_Node3D_property_global_transform>` changes, if :ref:`is_transform_notification_enabled()<class_Node3D_method_is_transform_notification_enabled>` is ``true``. See also :ref:`set_notify_transform()<class_Node3D_method_set_notify_transform>`.
|
|
|
|
\ **Note:** Most 3D nodes such as :ref:`VisualInstance3D<class_VisualInstance3D>` or :ref:`CollisionObject3D<class_CollisionObject3D>` automatically enable this to function correctly.
|
|
|
|
\ **Note:** In the editor, nodes will propagate this notification to their children if a gizmo is attached (see :ref:`add_gizmo()<class_Node3D_method_add_gizmo>`).
|
|
|
|
.. _class_Node3D_constant_NOTIFICATION_ENTER_WORLD:
|
|
|
|
.. rst-class:: classref-constant
|
|
|
|
**NOTIFICATION_ENTER_WORLD** = ``41`` :ref:`🔗<class_Node3D_constant_NOTIFICATION_ENTER_WORLD>`
|
|
|
|
Notification received when this node is registered to a new :ref:`World3D<class_World3D>` (see :ref:`get_world_3d()<class_Node3D_method_get_world_3d>`).
|
|
|
|
.. _class_Node3D_constant_NOTIFICATION_EXIT_WORLD:
|
|
|
|
.. rst-class:: classref-constant
|
|
|
|
**NOTIFICATION_EXIT_WORLD** = ``42`` :ref:`🔗<class_Node3D_constant_NOTIFICATION_EXIT_WORLD>`
|
|
|
|
Notification received when this node is unregistered from the current :ref:`World3D<class_World3D>` (see :ref:`get_world_3d()<class_Node3D_method_get_world_3d>`).
|
|
|
|
This notification is sent in reversed order.
|
|
|
|
.. _class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED:
|
|
|
|
.. rst-class:: classref-constant
|
|
|
|
**NOTIFICATION_VISIBILITY_CHANGED** = ``43`` :ref:`🔗<class_Node3D_constant_NOTIFICATION_VISIBILITY_CHANGED>`
|
|
|
|
Notification received when this node's visibility changes (see :ref:`visible<class_Node3D_property_visible>` and :ref:`is_visible_in_tree()<class_Node3D_method_is_visible_in_tree>`).
|
|
|
|
This notification is received *before* the related :ref:`visibility_changed<class_Node3D_signal_visibility_changed>` signal.
|
|
|
|
.. _class_Node3D_constant_NOTIFICATION_LOCAL_TRANSFORM_CHANGED:
|
|
|
|
.. rst-class:: classref-constant
|
|
|
|
**NOTIFICATION_LOCAL_TRANSFORM_CHANGED** = ``44`` :ref:`🔗<class_Node3D_constant_NOTIFICATION_LOCAL_TRANSFORM_CHANGED>`
|
|
|
|
Notification received when this node's :ref:`transform<class_Node3D_property_transform>` changes, if :ref:`is_local_transform_notification_enabled()<class_Node3D_method_is_local_transform_notification_enabled>` is ``true``. This is not received when a parent **Node3D**'s :ref:`transform<class_Node3D_property_transform>` changes. See also :ref:`set_notify_local_transform()<class_Node3D_method_set_notify_local_transform>`.
|
|
|
|
\ **Note:** Some 3D nodes such as :ref:`CSGShape3D<class_CSGShape3D>` or :ref:`CollisionShape3D<class_CollisionShape3D>` automatically enable this to function correctly.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_Node3D_property_basis:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Basis<class_Basis>` **basis** :ref:`🔗<class_Node3D_property_basis>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_basis**\ (\ value\: :ref:`Basis<class_Basis>`\ )
|
|
- :ref:`Basis<class_Basis>` **get_basis**\ (\ )
|
|
|
|
Basis of the :ref:`transform<class_Node3D_property_transform>` property. Represents the rotation, scale, and shear of this node in parent space (relative to the parent node).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_global_basis:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Basis<class_Basis>` **global_basis** :ref:`🔗<class_Node3D_property_global_basis>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_global_basis**\ (\ value\: :ref:`Basis<class_Basis>`\ )
|
|
- :ref:`Basis<class_Basis>` **get_global_basis**\ (\ )
|
|
|
|
Basis of the :ref:`global_transform<class_Node3D_property_global_transform>` property. Represents the rotation, scale, and shear of this node in global space (relative to the world).
|
|
|
|
\ **Note:** If the node is not inside the tree, getting this property fails and returns :ref:`Basis.IDENTITY<class_Basis_constant_IDENTITY>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_global_position:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **global_position** :ref:`🔗<class_Node3D_property_global_position>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_global_position**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_global_position**\ (\ )
|
|
|
|
Global position (translation) of this node in global space (relative to the world). This is equivalent to the :ref:`global_transform<class_Node3D_property_global_transform>`'s :ref:`Transform3D.origin<class_Transform3D_property_origin>`.
|
|
|
|
\ **Note:** If the node is not inside the tree, getting this property fails and returns :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_global_rotation:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **global_rotation** :ref:`🔗<class_Node3D_property_global_rotation>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_global_rotation**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_global_rotation**\ (\ )
|
|
|
|
Global rotation of this node as `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians and in global space (relative to the world). This value is obtained from :ref:`global_basis<class_Node3D_property_global_basis>`'s rotation.
|
|
|
|
- The :ref:`Vector3.x<class_Vector3_property_x>` is the angle around the global X axis (pitch);
|
|
|
|
- The :ref:`Vector3.y<class_Vector3_property_y>` is the angle around the global Y axis (yaw);
|
|
|
|
- The :ref:`Vector3.z<class_Vector3_property_z>` is the angle around the global Z axis (roll).
|
|
|
|
\ **Note:** Unlike :ref:`rotation<class_Node3D_property_rotation>`, this property always follows the YXZ convention (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`).
|
|
|
|
\ **Note:** If the node is not inside the tree, getting this property fails and returns :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_global_rotation_degrees:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **global_rotation_degrees** :ref:`🔗<class_Node3D_property_global_rotation_degrees>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_global_rotation_degrees**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_global_rotation_degrees**\ (\ )
|
|
|
|
The :ref:`global_rotation<class_Node3D_property_global_rotation>` of this node, in degrees instead of radians.
|
|
|
|
\ **Note:** If the node is not inside the tree, getting this property fails and returns :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_global_transform:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Transform3D<class_Transform3D>` **global_transform** :ref:`🔗<class_Node3D_property_global_transform>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_global_transform**\ (\ value\: :ref:`Transform3D<class_Transform3D>`\ )
|
|
- :ref:`Transform3D<class_Transform3D>` **get_global_transform**\ (\ )
|
|
|
|
The transformation of this node, in global space (relative to the world). Contains and represents this node's :ref:`global_position<class_Node3D_property_global_position>`, :ref:`global_rotation<class_Node3D_property_global_rotation>`, and global scale.
|
|
|
|
\ **Note:** If the node is not inside the tree, getting this property fails and returns :ref:`Transform3D.IDENTITY<class_Transform3D_constant_IDENTITY>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_position:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **position** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_Node3D_property_position>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_position**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_position**\ (\ )
|
|
|
|
Position (translation) of this node in parent space (relative to the parent node). This is equivalent to the :ref:`transform<class_Node3D_property_transform>`'s :ref:`Transform3D.origin<class_Transform3D_property_origin>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_quaternion:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Quaternion<class_Quaternion>` **quaternion** :ref:`🔗<class_Node3D_property_quaternion>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_quaternion**\ (\ value\: :ref:`Quaternion<class_Quaternion>`\ )
|
|
- :ref:`Quaternion<class_Quaternion>` **get_quaternion**\ (\ )
|
|
|
|
Rotation of this node represented as a :ref:`Quaternion<class_Quaternion>` in parent space (relative to the parent node). This value is obtained from :ref:`basis<class_Node3D_property_basis>`'s rotation.
|
|
|
|
\ **Note:** Quaternions are much more suitable for 3D math but are less intuitive. Setting this property can be useful for interpolation (see :ref:`Quaternion.slerp()<class_Quaternion_method_slerp>`).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_rotation:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **rotation** = ``Vector3(0, 0, 0)`` :ref:`🔗<class_Node3D_property_rotation>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_rotation**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_rotation**\ (\ )
|
|
|
|
Rotation of this node as `Euler angles <https://en.wikipedia.org/wiki/Euler_angles>`__, in radians and in parent space (relative to the parent node). This value is obtained from :ref:`basis<class_Node3D_property_basis>`'s rotation.
|
|
|
|
- The :ref:`Vector3.x<class_Vector3_property_x>` is the angle around the local X axis (pitch);
|
|
|
|
- The :ref:`Vector3.y<class_Vector3_property_y>` is the angle around the local Y axis (yaw);
|
|
|
|
- The :ref:`Vector3.z<class_Vector3_property_z>` is the angle around the local Z axis (roll).
|
|
|
|
The order of each consecutive rotation can be changed with :ref:`rotation_order<class_Node3D_property_rotation_order>` (see :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` constants). By default, the YXZ convention is used (:ref:`@GlobalScope.EULER_ORDER_YXZ<class_@GlobalScope_constant_EULER_ORDER_YXZ>`).
|
|
|
|
\ **Note:** This property is edited in degrees in the inspector. If you want to use degrees in a script, use :ref:`rotation_degrees<class_Node3D_property_rotation_degrees>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_rotation_degrees:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **rotation_degrees** :ref:`🔗<class_Node3D_property_rotation_degrees>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_rotation_degrees**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_rotation_degrees**\ (\ )
|
|
|
|
The :ref:`rotation<class_Node3D_property_rotation>` of this node, in degrees instead of radians.
|
|
|
|
\ **Note:** This is **not** the property available in the Inspector dock.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_rotation_edit_mode:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`RotationEditMode<enum_Node3D_RotationEditMode>` **rotation_edit_mode** = ``0`` :ref:`🔗<class_Node3D_property_rotation_edit_mode>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_rotation_edit_mode**\ (\ value\: :ref:`RotationEditMode<enum_Node3D_RotationEditMode>`\ )
|
|
- :ref:`RotationEditMode<enum_Node3D_RotationEditMode>` **get_rotation_edit_mode**\ (\ )
|
|
|
|
How this node's rotation and scale are displayed in the Inspector dock.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_rotation_order:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **rotation_order** = ``2`` :ref:`🔗<class_Node3D_property_rotation_order>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_rotation_order**\ (\ value\: :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>`\ )
|
|
- :ref:`EulerOrder<enum_@GlobalScope_EulerOrder>` **get_rotation_order**\ (\ )
|
|
|
|
The axis rotation order of the :ref:`rotation<class_Node3D_property_rotation>` property. The final orientation is calculated by rotating around the local X, Y, and Z axis in this order.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_scale:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`Vector3<class_Vector3>` **scale** = ``Vector3(1, 1, 1)`` :ref:`🔗<class_Node3D_property_scale>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_scale**\ (\ value\: :ref:`Vector3<class_Vector3>`\ )
|
|
- :ref:`Vector3<class_Vector3>` **get_scale**\ (\ )
|
|
|
|
Scale of this node in local space (relative to this node). This value is obtained from :ref:`basis<class_Node3D_property_basis>`'s scale.
|
|
|
|
\ **Note:** The behavior of some 3D node types is not affected by this property. These include :ref:`Light3D<class_Light3D>`, :ref:`Camera3D<class_Camera3D>`, :ref:`AudioStreamPlayer3D<class_AudioStreamPlayer3D>`, and more.
|
|
|
|
\ **Warning:** The scale's components must either be all positive or all negative, and **not** exactly ``0.0``. Otherwise, it won't be possible to obtain the scale from the :ref:`basis<class_Node3D_property_basis>`. This may cause the intended scale to be lost when reloaded from disk, and potentially other unstable behavior.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_top_level:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **top_level** = ``false`` :ref:`🔗<class_Node3D_property_top_level>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_as_top_level**\ (\ value\: :ref:`bool<class_bool>`\ )
|
|
- :ref:`bool<class_bool>` **is_set_as_top_level**\ (\ )
|
|
|
|
If ``true``, the node does not inherit its transformations from its parent. As such, node transformations will only be in global space, which also means that :ref:`global_transform<class_Node3D_property_global_transform>` and :ref:`transform<class_Node3D_property_transform>` will be identical.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_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_Node3D_property_transform>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_transform**\ (\ value\: :ref:`Transform3D<class_Transform3D>`\ )
|
|
- :ref:`Transform3D<class_Transform3D>` **get_transform**\ (\ )
|
|
|
|
The local transformation of this node, in parent space (relative to the parent node). Contains and represents this node's :ref:`position<class_Node3D_property_position>`, :ref:`rotation<class_Node3D_property_rotation>`, and :ref:`scale<class_Node3D_property_scale>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_visibility_parent:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`NodePath<class_NodePath>` **visibility_parent** = ``NodePath("")`` :ref:`🔗<class_Node3D_property_visibility_parent>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_visibility_parent**\ (\ value\: :ref:`NodePath<class_NodePath>`\ )
|
|
- :ref:`NodePath<class_NodePath>` **get_visibility_parent**\ (\ )
|
|
|
|
Path to the visibility range parent for this node and its descendants. The visibility parent must be a :ref:`GeometryInstance3D<class_GeometryInstance3D>`.
|
|
|
|
Any visual instance will only be visible if the visibility parent (and all of its visibility ancestors) is hidden by being closer to the camera than its own :ref:`GeometryInstance3D.visibility_range_begin<class_GeometryInstance3D_property_visibility_range_begin>`. Nodes hidden via the :ref:`visible<class_Node3D_property_visible>` property are essentially removed from the visibility dependency tree, so dependent instances will not take the hidden node or its descendants into account.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_property_visible:
|
|
|
|
.. rst-class:: classref-property
|
|
|
|
:ref:`bool<class_bool>` **visible** = ``true`` :ref:`🔗<class_Node3D_property_visible>`
|
|
|
|
.. rst-class:: classref-property-setget
|
|
|
|
- |void| **set_visible**\ (\ value\: :ref:`bool<class_bool>`\ )
|
|
- :ref:`bool<class_bool>` **is_visible**\ (\ )
|
|
|
|
If ``true``, this node can be visible. The node is only rendered when all of its ancestors are visible, as well. That means :ref:`is_visible_in_tree()<class_Node3D_method_is_visible_in_tree>` must return ``true``.
|
|
|
|
.. rst-class:: classref-section-separator
|
|
|
|
----
|
|
|
|
.. rst-class:: classref-descriptions-group
|
|
|
|
Method Descriptions
|
|
-------------------
|
|
|
|
.. _class_Node3D_method_add_gizmo:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **add_gizmo**\ (\ gizmo\: :ref:`Node3DGizmo<class_Node3DGizmo>`\ ) :ref:`🔗<class_Node3D_method_add_gizmo>`
|
|
|
|
Attaches the given ``gizmo`` to this node. Only works in the editor.
|
|
|
|
\ **Note:** ``gizmo`` should be an :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>`. The argument type is :ref:`Node3DGizmo<class_Node3DGizmo>` to avoid depending on editor classes in **Node3D**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_clear_gizmos:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **clear_gizmos**\ (\ ) :ref:`🔗<class_Node3D_method_clear_gizmos>`
|
|
|
|
Clears all :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` objects attached to this node. Only works in the editor.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_clear_subgizmo_selection:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **clear_subgizmo_selection**\ (\ ) :ref:`🔗<class_Node3D_method_clear_subgizmo_selection>`
|
|
|
|
Deselects all subgizmos for this node. Useful to call when the selected subgizmo may no longer exist after a property change. Only works in the editor.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_force_update_transform:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **force_update_transform**\ (\ ) :ref:`🔗<class_Node3D_method_force_update_transform>`
|
|
|
|
Forces the node's :ref:`global_transform<class_Node3D_property_global_transform>` to update, by sending :ref:`NOTIFICATION_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED>`. Fails if the node is not inside the tree.
|
|
|
|
\ **Note:** For performance reasons, transform changes are usually accumulated and applied *once* at the end of the frame. The update propagates through **Node3D** children, as well. Therefore, use this method only when you need an up-to-date transform (such as during physics operations).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_get_gizmos:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Array<class_Array>`\[:ref:`Node3DGizmo<class_Node3DGizmo>`\] **get_gizmos**\ (\ ) |const| :ref:`🔗<class_Node3D_method_get_gizmos>`
|
|
|
|
Returns all the :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` objects attached to this node. Only works in the editor.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_get_global_transform_interpolated:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Transform3D<class_Transform3D>` **get_global_transform_interpolated**\ (\ ) :ref:`🔗<class_Node3D_method_get_global_transform_interpolated>`
|
|
|
|
When using physics interpolation, there will be circumstances in which you want to know the interpolated (displayed) transform of a node rather than the standard transform (which may only be accurate to the most recent physics tick).
|
|
|
|
This is particularly important for frame-based operations that take place in :ref:`Node._process()<class_Node_private_method__process>`, rather than :ref:`Node._physics_process()<class_Node_private_method__physics_process>`. Examples include :ref:`Camera3D<class_Camera3D>`\ s focusing on a node, or finding where to fire lasers from on a frame rather than physics tick.
|
|
|
|
\ **Note:** This function creates an interpolation pump on the **Node3D** the first time it is called, which can respond to physics interpolation resets. If you get problems with "streaking" when initially following a **Node3D**, be sure to call :ref:`get_global_transform_interpolated()<class_Node3D_method_get_global_transform_interpolated>` at least once *before* resetting the **Node3D** physics interpolation.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_get_parent_node_3d:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Node3D<class_Node3D>` **get_parent_node_3d**\ (\ ) |const| :ref:`🔗<class_Node3D_method_get_parent_node_3d>`
|
|
|
|
Returns the parent **Node3D** that directly affects this node's :ref:`global_transform<class_Node3D_property_global_transform>`. Returns ``null`` if no parent exists, the parent is not a **Node3D**, or :ref:`top_level<class_Node3D_property_top_level>` is ``true``.
|
|
|
|
\ **Note:** This method is not always equivalent to :ref:`Node.get_parent()<class_Node_method_get_parent>`, which does not take :ref:`top_level<class_Node3D_property_top_level>` into account.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_get_world_3d:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`World3D<class_World3D>` **get_world_3d**\ (\ ) |const| :ref:`🔗<class_Node3D_method_get_world_3d>`
|
|
|
|
Returns the :ref:`World3D<class_World3D>` this node is registered to.
|
|
|
|
Usually, this is the same as the world used by this node's viewport (see :ref:`Node.get_viewport()<class_Node_method_get_viewport>` and :ref:`Viewport.find_world_3d()<class_Viewport_method_find_world_3d>`).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_global_rotate:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **global_rotate**\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_global_rotate>`
|
|
|
|
Rotates this node's :ref:`global_basis<class_Node3D_property_global_basis>` around the global ``axis`` by the given ``angle``, in radians. This operation is calculated in global space (relative to the world) and preserves the :ref:`global_position<class_Node3D_property_global_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_global_scale:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **global_scale**\ (\ scale\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Node3D_method_global_scale>`
|
|
|
|
Scales this node's :ref:`global_basis<class_Node3D_property_global_basis>` by the given ``scale`` factor. This operation is calculated in global space (relative to the world) and preserves the :ref:`global_position<class_Node3D_property_global_position>`.
|
|
|
|
\ **Note:** This method is not to be confused with the :ref:`scale<class_Node3D_property_scale>` property.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_global_translate:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **global_translate**\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Node3D_method_global_translate>`
|
|
|
|
Adds the given translation ``offset`` to the node's :ref:`global_position<class_Node3D_property_global_position>` in global space (relative to the world).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_hide:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **hide**\ (\ ) :ref:`🔗<class_Node3D_method_hide>`
|
|
|
|
Prevents this node from being rendered. Equivalent to setting :ref:`visible<class_Node3D_property_visible>` to ``false``. This is the opposite of :ref:`show()<class_Node3D_method_show>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_is_local_transform_notification_enabled:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_local_transform_notification_enabled**\ (\ ) |const| :ref:`🔗<class_Node3D_method_is_local_transform_notification_enabled>`
|
|
|
|
Returns ``true`` if the node receives :ref:`NOTIFICATION_LOCAL_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_LOCAL_TRANSFORM_CHANGED>` whenever :ref:`transform<class_Node3D_property_transform>` changes. This is enabled with :ref:`set_notify_local_transform()<class_Node3D_method_set_notify_local_transform>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_is_scale_disabled:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_scale_disabled**\ (\ ) |const| :ref:`🔗<class_Node3D_method_is_scale_disabled>`
|
|
|
|
Returns ``true`` if this node's :ref:`global_transform<class_Node3D_property_global_transform>` is automatically orthonormalized. This results in this node not appearing distorted, as if its global scale were set to :ref:`Vector3.ONE<class_Vector3_constant_ONE>` (or its negative counterpart). See also :ref:`set_disable_scale()<class_Node3D_method_set_disable_scale>` and :ref:`orthonormalize()<class_Node3D_method_orthonormalize>`.
|
|
|
|
\ **Note:** :ref:`transform<class_Node3D_property_transform>` is not affected by this setting.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_is_transform_notification_enabled:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_transform_notification_enabled**\ (\ ) |const| :ref:`🔗<class_Node3D_method_is_transform_notification_enabled>`
|
|
|
|
Returns ``true`` if the node receives :ref:`NOTIFICATION_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED>` whenever :ref:`global_transform<class_Node3D_property_global_transform>` changes. This is enabled with :ref:`set_notify_transform()<class_Node3D_method_set_notify_transform>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_is_visible_in_tree:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`bool<class_bool>` **is_visible_in_tree**\ (\ ) |const| :ref:`🔗<class_Node3D_method_is_visible_in_tree>`
|
|
|
|
Returns ``true`` if this node is inside the scene tree and the :ref:`visible<class_Node3D_property_visible>` property is ``true`` for this node and all of its **Node3D** ancestors *in sequence*. An ancestor of any other type (such as :ref:`Node<class_Node>` or :ref:`Node2D<class_Node2D>`) breaks the sequence. See also :ref:`Node.get_parent()<class_Node_method_get_parent>`.
|
|
|
|
\ **Note:** This method cannot take :ref:`VisualInstance3D.layers<class_VisualInstance3D_property_layers>` into account, so even if this method returns ``true``, the node may not be rendered.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_look_at:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **look_at**\ (\ target\: :ref:`Vector3<class_Vector3>`, up\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0), use_model_front\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_Node3D_method_look_at>`
|
|
|
|
Rotates the node so that the local forward axis (-Z, :ref:`Vector3.FORWARD<class_Vector3_constant_FORWARD>`) points toward the ``target`` position. This operation is calculated in global space (relative to the world).
|
|
|
|
The local up axis (+Y) points as close to the ``up`` vector as possible while staying perpendicular to the local forward axis. The resulting transform is orthogonal, and the scale is preserved. Non-uniform scaling may not work correctly.
|
|
|
|
The ``target`` position cannot be the same as the node's position, the ``up`` vector cannot be :ref:`Vector3.ZERO<class_Vector3_constant_ZERO>`. Furthermore, the direction from the node's position to the ``target`` position cannot be parallel to the ``up`` vector, to avoid an unintended rotation around the local Z axis.
|
|
|
|
If ``use_model_front`` is ``true``, the +Z axis (asset front) is treated as forward (implies +X is left) and points toward the ``target`` position. By default, the -Z axis (camera forward) is treated as forward (implies +X is right).
|
|
|
|
\ **Note:** This method fails if the node is not in the scene tree. If necessary, use :ref:`look_at_from_position()<class_Node3D_method_look_at_from_position>` instead.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_look_at_from_position:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **look_at_from_position**\ (\ position\: :ref:`Vector3<class_Vector3>`, target\: :ref:`Vector3<class_Vector3>`, up\: :ref:`Vector3<class_Vector3>` = Vector3(0, 1, 0), use_model_front\: :ref:`bool<class_bool>` = false\ ) :ref:`🔗<class_Node3D_method_look_at_from_position>`
|
|
|
|
Moves the node to the specified ``position``, then rotates the node to point toward the ``target`` position, similar to :ref:`look_at()<class_Node3D_method_look_at>`. This operation is calculated in global space (relative to the world).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_orthonormalize:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **orthonormalize**\ (\ ) :ref:`🔗<class_Node3D_method_orthonormalize>`
|
|
|
|
Orthonormalizes this node's :ref:`basis<class_Node3D_property_basis>`. This method sets this node's :ref:`scale<class_Node3D_property_scale>` to :ref:`Vector3.ONE<class_Vector3_constant_ONE>` (or its negative counterpart), but preserves the :ref:`position<class_Node3D_property_position>` and :ref:`rotation<class_Node3D_property_rotation>`. See also :ref:`Transform3D.orthonormalized()<class_Transform3D_method_orthonormalized>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_rotate:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **rotate**\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_rotate>`
|
|
|
|
Rotates this node's :ref:`basis<class_Node3D_property_basis>` around the ``axis`` by the given ``angle``, in radians. This operation is calculated in parent space (relative to the parent) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_rotate_object_local:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **rotate_object_local**\ (\ axis\: :ref:`Vector3<class_Vector3>`, angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_rotate_object_local>`
|
|
|
|
Rotates this node's :ref:`basis<class_Node3D_property_basis>` around the ``axis`` by the given ``angle``, in radians. This operation is calculated in local space (relative to this node) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_rotate_x:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **rotate_x**\ (\ angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_rotate_x>`
|
|
|
|
Rotates this node's :ref:`basis<class_Node3D_property_basis>` around the X axis by the given ``angle``, in radians. This operation is calculated in parent space (relative to the parent) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_rotate_y:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **rotate_y**\ (\ angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_rotate_y>`
|
|
|
|
Rotates this node's :ref:`basis<class_Node3D_property_basis>` around the Y axis by the given ``angle``, in radians. This operation is calculated in parent space (relative to the parent) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_rotate_z:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **rotate_z**\ (\ angle\: :ref:`float<class_float>`\ ) :ref:`🔗<class_Node3D_method_rotate_z>`
|
|
|
|
Rotates this node's :ref:`basis<class_Node3D_property_basis>` around the Z axis by the given ``angle``, in radians. This operation is calculated in parent space (relative to the parent) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_scale_object_local:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **scale_object_local**\ (\ scale\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Node3D_method_scale_object_local>`
|
|
|
|
Scales this node's :ref:`basis<class_Node3D_property_basis>` by the given ``scale`` factor. This operation is calculated in local space (relative to this node) and preserves the :ref:`position<class_Node3D_property_position>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_disable_scale:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_disable_scale**\ (\ disable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Node3D_method_set_disable_scale>`
|
|
|
|
If ``true``, this node's :ref:`global_transform<class_Node3D_property_global_transform>` is automatically orthonormalized. This results in this node not appearing distorted, as if its global scale were set to :ref:`Vector3.ONE<class_Vector3_constant_ONE>` (or its negative counterpart). See also :ref:`is_scale_disabled()<class_Node3D_method_is_scale_disabled>` and :ref:`orthonormalize()<class_Node3D_method_orthonormalize>`.
|
|
|
|
\ **Note:** :ref:`transform<class_Node3D_property_transform>` is not affected by this setting.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_identity:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_identity**\ (\ ) :ref:`🔗<class_Node3D_method_set_identity>`
|
|
|
|
Sets this node's :ref:`transform<class_Node3D_property_transform>` to :ref:`Transform3D.IDENTITY<class_Transform3D_constant_IDENTITY>`, which resets all transformations in parent space (:ref:`position<class_Node3D_property_position>`, :ref:`rotation<class_Node3D_property_rotation>`, and :ref:`scale<class_Node3D_property_scale>`).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_ignore_transform_notification:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_ignore_transform_notification**\ (\ enabled\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Node3D_method_set_ignore_transform_notification>`
|
|
|
|
If ``true``, the node will not receive :ref:`NOTIFICATION_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED>` or :ref:`NOTIFICATION_LOCAL_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_LOCAL_TRANSFORM_CHANGED>`.
|
|
|
|
It may useful to call this method when handling these notifications to prevent infinite recursion.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_notify_local_transform:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_notify_local_transform**\ (\ enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Node3D_method_set_notify_local_transform>`
|
|
|
|
If ``true``, the node will receive :ref:`NOTIFICATION_LOCAL_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_LOCAL_TRANSFORM_CHANGED>` whenever :ref:`transform<class_Node3D_property_transform>` changes.
|
|
|
|
\ **Note:** Some 3D nodes such as :ref:`CSGShape3D<class_CSGShape3D>` or :ref:`CollisionShape3D<class_CollisionShape3D>` automatically enable this to function correctly.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_notify_transform:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_notify_transform**\ (\ enable\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_Node3D_method_set_notify_transform>`
|
|
|
|
If ``true``, the node will receive :ref:`NOTIFICATION_TRANSFORM_CHANGED<class_Node3D_constant_NOTIFICATION_TRANSFORM_CHANGED>` whenever :ref:`global_transform<class_Node3D_property_global_transform>` changes.
|
|
|
|
\ **Note:** Most 3D nodes such as :ref:`VisualInstance3D<class_VisualInstance3D>` or :ref:`CollisionObject3D<class_CollisionObject3D>` automatically enable this to function correctly.
|
|
|
|
\ **Note:** In the editor, nodes will propagate this notification to their children if a gizmo is attached (see :ref:`add_gizmo()<class_Node3D_method_add_gizmo>`).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_set_subgizmo_selection:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **set_subgizmo_selection**\ (\ gizmo\: :ref:`Node3DGizmo<class_Node3DGizmo>`, id\: :ref:`int<class_int>`, transform\: :ref:`Transform3D<class_Transform3D>`\ ) :ref:`🔗<class_Node3D_method_set_subgizmo_selection>`
|
|
|
|
Selects the ``gizmo``'s subgizmo with the given ``id`` and sets its transform. Only works in the editor.
|
|
|
|
\ **Note:** The gizmo object would typically be an instance of :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>`, but the argument type is kept generic to avoid creating a dependency on editor classes in **Node3D**.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_show:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **show**\ (\ ) :ref:`🔗<class_Node3D_method_show>`
|
|
|
|
Allows this node to be rendered. Equivalent to setting :ref:`visible<class_Node3D_property_visible>` to ``true``. This is the opposite of :ref:`hide()<class_Node3D_method_hide>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_to_global:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **to_global**\ (\ local_point\: :ref:`Vector3<class_Vector3>`\ ) |const| :ref:`🔗<class_Node3D_method_to_global>`
|
|
|
|
Returns the ``local_point`` converted from this node's local space to global space. This is the opposite of :ref:`to_local()<class_Node3D_method_to_local>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_to_local:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
:ref:`Vector3<class_Vector3>` **to_local**\ (\ global_point\: :ref:`Vector3<class_Vector3>`\ ) |const| :ref:`🔗<class_Node3D_method_to_local>`
|
|
|
|
Returns the ``global_point`` converted from global space to this node's local space. This is the opposite of :ref:`to_global()<class_Node3D_method_to_global>`.
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_translate:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **translate**\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Node3D_method_translate>`
|
|
|
|
Adds the given translation ``offset`` to the node's position, in local space (relative to this node).
|
|
|
|
\ **Note:** Prefer using :ref:`translate_object_local()<class_Node3D_method_translate_object_local>`, instead, as this method may be changed in a future release.
|
|
|
|
\ **Note:** Despite the naming convention, this operation is **not** calculated in parent space for compatibility reasons. To translate in parent space, add ``offset`` to the :ref:`position<class_Node3D_property_position>` (``node_3d.position += offset``).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_translate_object_local:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **translate_object_local**\ (\ offset\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_Node3D_method_translate_object_local>`
|
|
|
|
Adds the given translation ``offset`` to the node's position, in local space (relative to this node).
|
|
|
|
.. rst-class:: classref-item-separator
|
|
|
|
----
|
|
|
|
.. _class_Node3D_method_update_gizmos:
|
|
|
|
.. rst-class:: classref-method
|
|
|
|
|void| **update_gizmos**\ (\ ) :ref:`🔗<class_Node3D_method_update_gizmos>`
|
|
|
|
Updates all the :ref:`EditorNode3DGizmo<class_EditorNode3DGizmo>` objects attached to this node. Only works in the editor.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
|
|
.. |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.)`
|