Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Spatial¶
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.
Tutoriales¶
Propiedades¶
|
||
|
||
|
||
|
||
|
Métodos¶
void |
|
get_parent_spatial ( ) const |
|
get_world ( ) const |
|
void |
global_rotate ( Vector3 axis, float angle ) |
void |
global_scale ( Vector3 scale ) |
void |
global_translate ( Vector3 offset ) |
void |
hide ( ) |
is_local_transform_notification_enabled ( ) const |
|
is_scale_disabled ( ) const |
|
is_set_as_toplevel ( ) const |
|
is_transform_notification_enabled ( ) const |
|
is_visible_in_tree ( ) const |
|
void |
|
void |
look_at_from_position ( Vector3 position, Vector3 target, Vector3 up ) |
void |
orthonormalize ( ) |
void |
|
void |
rotate_object_local ( Vector3 axis, float angle ) |
void |
|
void |
|
void |
|
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 ( ) |
void |
|
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¶
SpatialGizmo gizmo
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.
Transform global_transform
Setter |
set_global_transform(value) |
Getter |
get_global_transform() |
World space (global) Transform of this node.
Vector3 rotation
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.
Vector3 rotation_degrees
Default |
|
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).
Vector3 scale
Default |
|
Setter |
set_scale(value) |
Getter |
get_scale() |
Parte de Escala de la transformación local.
Transform transform
Default |
|
Setter |
set_transform(value) |
Getter |
get_transform() |
El espacio local Transform de este nodo, con respecto al nodo padre.
Vector3 translation
Default |
|
Setter |
set_translation(value) |
Getter |
get_translation() |
Traducción local de este nodo.
bool visible
Default |
|
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.