Existen diversos nodos que nos permiten agrupar objetos:
- Nodo Group
- Nodo Transform
- Nodo Switch
- Nodo Billboard
Nodo Group
El nodo Group permite unir un conjunto de nodos de forma que actúen como una entidad única, pero sin efectuar ninguna transformación en ellos.
Sintaxis:
- Group { children [ ... ] }
Ejemplo:
- Group { children [ Shape { ... }, Shape { ... }, ... ] }
Nodo Transform
Por defecto todos los objetos (Shapes) se construyen en el centro del escenario virtual. El nodo transform nos va a permitir evitar esto, indicando la posición, orientación y tamaño de los diferentes objetos que va a crear.
Sintaxis:
- Transform{
- translation Eje_X Eje_Y Eje_Z
- rotation Eje_X Eje_Y Eje_Z Ángulo
- scale Eje_X Eje_Y Eje_Z
- children[...] }
El nodo Transform va a poseer su propio sistema de coordenadas, cuyos atributos se determinan a través de los campos translation, rotation y scale
- translation: permite indicar la posición del origen del nuevo sistema de coordenadas perteneciente al grupo dentro del sistema de coordenadas de nodo que lo engloba (nodo padre).
Ejemplo:
- Transform{
- # Ejes: X Y Z
- translation 2.0 0.0 0.0
- children [...] }
- rotation nos permite girar el sistema de coordenadas del grupo alrededor de uno de los ejes del sistema de coordenadas del nodo padre. Se ha de hacer referencia al grado de inclinación de dicho giro (en radianes).
Ejemplo:
- Transform{ # Ejes: X Y Z Ángulo rotation 0.0 0.0 1.0 0.52 children [...] }
- scale nos permite aumentar o reducir el tamaño de los ejes del sistema de coordenadas del grupo utilizando factores de escala que toman como referencia los ejes de coordenadas.
Ejemplo:
- Transform{ # Ejes: X Y Z scale 0.5 0.5 0.5 children [...] }
Nodo Switch
La característica de un nodo Switch es la de mostrar únicamente uno de los nodos hijos del nodo, el cual ha debido ser seleccionado previamente.Se pueden utilizar para conectar o desconectar los efectos de una determinada propiedad o para alternar entre propiedades diferentes.
- whichChild especifica el hijo choice que se va activar, siendo el 0 el del primer hijo. Su valor por defecto es -1, lo cual indica que ninguno de los hijos está seleccionado.
El campo whichChild es una entrada y por lo tanto puede ser modificado por otro nodo.
Sintaxis:
- Switch{ whichChoice 0 choice[...] ... choice[...] }
Nodo Billboard
El nodo Billboard permite crear un grupo con un sistema de coordenadas especiales, ya que a través del campo axisOfRotation (eje de rotación) indicamos el eje sobre el que a de girar el objeto, de forma que, siempre esté de cara al espectador:
Sintaxis:
Billboard{ axisOfRotation Eje_X Eje_Y Eje_Z
children[...]
}
No hay comentarios:
Publicar un comentario