Spatial

Inherits: Node < Object

Inherited By: ARVRAnchor, ARVRController, ARVROrigin, AudioStreamPlayer3D, BoneAttachment, Camera, CollisionObject, CollisionPolygon, CollisionShape, CullInstance, GridMap, Joint, Listener, Navigation, NavigationMeshInstance, Occluder, Path, PathFollow, Portal, Position3D, ProximityGroup, RayCast, RemoteTransform, Room, RoomGroup, RoomManager, Skeleton, SpringArm, VehicleWheel

El objeto de juego 3D más básico, padre de todos los nodos relacionados con el 3D.

Descripción

El objeto más básico de un juego en 3D, con un Transform 3D y ajustes de visibilidad. Todos los demás objetos de juegos 3D heredan de Spatial. Utiliza Spatial como nodo padre para mover, escalar, rotar y mostrar/esconder a los hijos en un proyecto 3D.

Las operaciones de afinación (rotar, escalar, traducir) ocurren en el sistema de coordenadas locales del padre, a menos que el objeto Spatial se establezca como de nivel superior. Las operaciones afines en este sistema de coordenadas corresponden a operaciones afines directas en la transformación de Spatial. La palabra local a continuación se refiere a este sistema de coordenadas. El sistema de coordenadas que está unido al propio objeto Spatial se denomina sistema de coordenadas objeto-local.

Nota: A menos que se especifique lo contrario, todos los métodos que tienen parámetros de ángulo deben tener ángulos especificados como radianes. Para convertir los grados en radianes, utilice @GDScript.deg2rad.

Propiedades

SpatialGizmo

gizmo

Transform

global_transform

Vector3

rotation

Vector3

rotation_degrees

Vector3( 0, 0, 0 )

Vector3

scale

Vector3( 1, 1, 1 )

Transform

transform

Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )

Vector3

translation

Vector3( 0, 0, 0 )

bool

visible

true

Métodos

void

force_update_transform ( )

Spatial

get_parent_spatial ( ) const

World

get_world ( ) const

void

global_rotate ( Vector3 axis, float angle )

void

global_scale ( Vector3 scale )

void

global_translate ( Vector3 offset )

void

hide ( )

bool

is_local_transform_notification_enabled ( ) const

bool

is_scale_disabled ( ) const

bool

is_set_as_toplevel ( ) const

bool

is_transform_notification_enabled ( ) const

bool

is_visible_in_tree ( ) const

void

look_at ( Vector3 target, Vector3 up )

void

look_at_from_position ( Vector3 position, Vector3 target, Vector3 up )

void

orthonormalize ( )

void

rotate ( Vector3 axis, float angle )

void

rotate_object_local ( Vector3 axis, float angle )

void

rotate_x ( float angle )

void

rotate_y ( float angle )

void

rotate_z ( float angle )

void

scale_object_local ( Vector3 scale )

void

set_as_toplevel ( bool enable )

void

set_disable_scale ( bool disable )

void

set_identity ( )

void

set_ignore_transform_notification ( bool enabled )

void

set_notify_local_transform ( bool enable )

void

set_notify_transform ( bool enable )

void

show ( )

Vector3

to_global ( Vector3 local_point ) const

Vector3

to_local ( Vector3 global_point ) const

void

translate ( Vector3 offset )

void

translate_object_local ( Vector3 offset )

void

update_gizmo ( )

Señales

  • gameplay_entered ( )

Emitted by portal system gameplay monitor when a node enters the gameplay area.


  • gameplay_exited ( )

Emitted by portal system gameplay monitor when a node exits the gameplay area.


  • visibility_changed ( )

Emitido cuando cambia la visibilidad del nodo.

Constantes

  • NOTIFICATION_TRANSFORM_CHANGED = 2000 --- Spatial nodes receives 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, users first need to ask for it, with set_notify_transform. The notification is also sent if the node is in the editor context and it has a valid gizmo.

  • NOTIFICATION_ENTER_WORLD = 41 --- Spatial nodes receives this notification when they are registered to new World resource.

  • NOTIFICATION_EXIT_WORLD = 42 --- Spatial nodes receives this notification when they are unregistered from current World resource.

  • NOTIFICATION_VISIBILITY_CHANGED = 43 --- Spatial nodes receives this notification when their visibility changes.

  • NOTIFICATION_ENTER_GAMEPLAY = 45 --- Spatial nodes receives this notification if the portal system gameplay monitor detects they have entered the gameplay area.

  • NOTIFICATION_EXIT_GAMEPLAY = 46 --- Spatial nodes receives this notification if the portal system gameplay monitor detects they have exited the gameplay area.

Descripciones de Propiedades

Setter

set_gizmo(value)

Getter

get_gizmo()

The SpatialGizmo for this node. Used for example in EditorSpatialGizmo as custom visualization and editing handles in Editor.


Setter

set_global_transform(value)

Getter

get_global_transform()

World space (global) Transform of this node.


Setter

set_rotation(value)

Getter

get_rotation()

Parte de la rotación de la transformación local en radianes, especificada en términos de ángulos YXZ-Euler en el formato (ángulo X, ángulo Y, ángulo Z).

Nota: En el sentido matemático, la rotación es una matriz y no un vector. Los tres ángulos de Euler, que son los tres parámetros independientes de la parametrización del ángulo de Euler de la matriz de rotación, se almacenan en una estructura de datos Vector3 no porque la rotación sea un vector, sino sólo porque el Vector3 existe como una estructura de datos conveniente para almacenar 3 números reales. Por lo tanto, la aplicación de operaciones afines en el "vector" de rotación no es significativa.


Default

Vector3( 0, 0, 0 )

Setter

set_rotation_degrees(value)

Getter

get_rotation_degrees()

Parte de la rotación de la transformación local en grados, especificada en términos de ángulos YXZ-Euler en el formato (ángulo X, ángulo Y, ángulo Z).


Default

Vector3( 1, 1, 1 )

Setter

set_scale(value)

Getter

get_scale()

Parte de Escala de la transformación local.


Default

Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0 )

Setter

set_transform(value)

Getter

get_transform()

El espacio local Transform de este nodo, con respecto al nodo padre.


Default

Vector3( 0, 0, 0 )

Setter

set_translation(value)

Getter

get_translation()

Traducción local de este nodo.


Default

true

Setter

set_visible(value)

Getter

is_visible()

Si true, este nodo se dibuja. El nodo sólo es visible si todos sus antecedentes también lo son (en otras palabras, is_visible_in_tree debe devolver true).

Descripciones de Métodos

  • void force_update_transform ( )

Obliga a la transformación a actualizarse. Los cambios en la física de las transformaciones no son instantáneos por razones de rendimiento. Las transformaciones se acumulan y luego se fijan. Usa esto si necesitas una transformación actualizada cuando hagas operaciones de física.


  • Spatial get_parent_spatial ( ) const

Returns the parent Spatial, or an empty Object if no parent exists or parent is not of type Spatial.


  • World get_world ( ) const

Returns the current World resource this Spatial node is registered to.


Gira la transformación global (del mundo) alrededor del eje, una unidad Vector3, por un ángulo especificado en radianes. El eje de rotación está en el sistema de coordenadas globales.


  • void global_scale ( Vector3 scale )

Escala la transformación global (del mundo) por los factores de escala Vector3 dados.


  • void global_translate ( Vector3 offset )

Mueve la transformación global (del mundo) por el desplazamiento del Vector3. El desplazamiento está en el sistema de coordenadas globales.


  • void hide ( )

Desactiva la representación de este nodo. Cambia visible por false.


  • bool is_local_transform_notification_enabled ( ) const

Returns whether node notifies about its local transformation changes. Spatial will not propagate this by default.


  • bool is_scale_disabled ( ) const

Devuelve si este nodo utiliza una escala de (1, 1, 1) o su escala de transformación local.


  • bool is_set_as_toplevel ( ) const

Devuelve si este nodo se establece como Toplevel, es decir, si ignora las transformaciones de sus nodos padres.


  • bool is_transform_notification_enabled ( ) const

Returns whether the node notifies about its global and local transformation changes. Spatial will not propagate this by default.


  • bool is_visible_in_tree ( ) const

Devuelve true si el nodo está presente en el SceneTree, su propiedad visible es true y todos sus antecedentes también son visibles. Si algún antecedente está oculto, este nodo no será visible en el árbol de la escena.


Se rota a sí mismo para que el eje -Z local apunte hacia la posición del target.

La transformación girará primero alrededor del vector up dado, y luego se alineará completamente con el objetivo mediante una nueva rotación alrededor de un eje perpendicular tanto al vector target como al up.

Las operaciones tienen lugar en el espacio global.


Mueve el nodo a la posición position especificada, y luego se rota para apuntar hacia el target según el look_at. Las operaciones tienen lugar en el espacio global.


  • void orthonormalize ( )

Restablece las transformaciones de este nodo (como escala, sesgo y conicidad) preservando su rotación y traslación al realizar la ortonormalización de Gram-Schmidt en la Transform de este nodo.


Gira la transformación local alrededor del eje, una unidad Vector3, por un ángulo especificado en radianes.


Gira la transformación local alrededor del eje, una unidad Vector3, por un ángulo especificado en radianes. El eje de rotación está en el sistema de coordenadas locales del objeto.


  • void rotate_x ( float angle )

Gira la transformación local alrededor del eje X por el ángulo en radianes.


  • void rotate_y ( float angle )

Gira la transformación local alrededor del eje Y por el ángulo en radianes.


  • void rotate_z ( float angle )

Gira la transformación local alrededor del eje Z por el ángulo en radianes.


  • void scale_object_local ( Vector3 scale )

Escala la transformación local mediante factores de escala tridimensionales dados en el sistema de coordenadas objeto-local.


  • void set_as_toplevel ( bool enable )

Hace que el nodo ignore las transformaciones de sus padres. Las transformaciones del nodo sólo se dan en el espacio global.


  • void set_disable_scale ( bool disable )

Establece si el nodo utiliza una escala de (1, 1, 1) o su escala de transformación local. Los cambios en la escala de transformación local se conservan.


  • void set_identity ( )

Reinicia todas las transformaciones para este nodo (establece su Transform a la matriz de identidad).


  • void set_ignore_transform_notification ( bool enabled )

Establece si el nodo ignora la notificación de que su transformación (global o local) ha cambiado.


  • void set_notify_local_transform ( bool enable )

Sets whether the node notifies about its local transformation changes. Spatial will not propagate this by default.


  • void set_notify_transform ( bool enable )

Sets whether the node notifies about its global and local transformation changes. Spatial will not propagate this by default, unless it is in the editor context and it has a valid gizmo.


  • void show ( )

Permite la representación de este nodo. Cambia visible a true.


Transforma local_point del espacio local de este nodo al espacio mundial.


Transforma global_point del espacio mundial al espacio local de este nodo.


  • void translate ( Vector3 offset )

Cambia la posición del nodo por el desplazamiento dado Vector3.

Observe que la traslación offset se ve afectada por la escala del nodo, de modo que si se escalara por ejemplo por (10, 1, 1), una traslación por un offset de (2, 0, 0) añadiría en realidad 20 (2 * 10) a la coordenada X.


  • void translate_object_local ( Vector3 offset )

Cambia la posición del nodo por el desplazamiento dado Vector3 en el espacio local.


  • void update_gizmo ( )

Updates the SpatialGizmo of this node.