Most basic 3D game object, parent of all 3D related nodes.
Most basic 3D game object, with a 3D [Transform] and visibility settings. All 3D physics nodes and sprites inherit from Spatial. Use Spatial as a parent node to move, scale, rotate and show/hide children in a 3D project.
Return the SpatialGizmo for this node. Used for example in [EditorSpatialGizmo] as custom visualization and editing handles in Editor.
Return the global transform, relative to worldspace.
Return the parent [Spatial], or an empty [Object] if no parent exists or parent is not of type [Spatial].
Return the rotation (in radians).
Return the rotation (in degrees).
Return the local transform, relative to the bone parent.
Return current [World] resource this Spatial node is registered to.
Rotate current node along normal [Vector3] by angle in radians in Global space.
Move current node by [Vector3] offset in Global space.
Disable rendering of this node. Change Spatial Visible property to false.
Returns whether node sends notification that its local transformation changed. Spatial will not propagate this by default.
Returns whether this node is set as Toplevel, ignoring its parent node transformations.
Returns whether node sends notification that its transformation changed. Spatial will not propagate this by default.
Returns whether this node is set to be visible.
Returns whether this node is visible, taking into consideration that its parents visibility.
Rotates itself to point into direction of target position. Operations take place in global space.
Moves itself to specified position and then rotates itself to point into direction of target position. Operations take place in global space.
Reset this node transformations (like scale, skew and taper) preserving its rotation and translation. Performs orthonormalization on this node [Transform3D].
Rotates node in local space on given normal [Vector3] by angle in radians.
Rotates node in local space on X axis by angle in radians.
Rotates node in local space on Y axis by angle in radians.
Rotates node in local space on Z axis by angle in radians.
Makes this node ignore its parents tranformations. Node tranformations are only in global space.
Set [SpatialGizmo] for this node. Used for example in [EditorSpatialGizmo] as custom visualization and editing handles in Editor.
Set the transform globally, relative to world space.
Reset all tranformations for this node. Set its [Transform3D] to identity matrix.
Set whether this node ignores notification that its transformation changed.
Set whether this node sends notification that its local transformation changed. Spatial will not propagate this by default.
Set whether this node sends notification that its transformation changed. Spatial will not propagate this by default.
Set the rotation (in radians).
Set the rotation (in degrees).
Set the scale.
Set the transform locally, relative to the parent spatial node.
Enable rendering of this node. Change Spatial Visible property to false.
Tranform [Vector3] from this node local space to world space.
Tranform [Vector3] from world space to this node local space.
Change node position by given offset [Vector3].
Update [SpatialGizmo] of this node.
World space (global) [Transform] of this node.
Local euler rotation in radians of this node.
Local euler rotation in degrees of this node.
Local scale of this node.
Local space [Transform] of this node.
Local translation of this node.
Visibility of this node. Toggles if this node is rendered.
Emitted when node visibility changed.
Spatial nodes receive this notification when their global transform changes. This means that either the current or a parent node changed its transform.
In order for NOTIFICATION_TRANSFORM_CHANGED to work user first needs to ask for it, with set_notify_transform(true).
Spatial nodes receive this notification when they are registered to new [World] resource.
Spatial nodes receive this notification when they are unregistered from current [World] resource.
Spatial nodes receive this notification when their visibility changes.