Saltar al contenido principal

Estados

Los estados te permiten guardar distintos aspectos de un objeto y cambiar entre ellos. Úsalos para un interruptor de luz, una puerta, un resaltado o un producto en varios colores.

Un estado es una copia guardada de los ajustes del objeto: dónde está, su color, si es visible, qué animación tiene seleccionada. Cambia a un estado y el objeto recupera ese aspecto.

Cuándo usar un estado​

Lo que quieresQué usar
Un interruptor de luz: encendido y apagadoestados
Una puerta: cerrada, abierta, bloqueadaestados
Un producto en tres coloresestados
Un personaje que camina por una rutaanimación
Algo que cambia en una cantidad calculadaun patch o un script

Una regla sencilla: un conjunto fijo de situaciones con nombre es trabajo para los estados. Todo lo que cambia de forma continua es trabajo para la animación.

Crear estados​

  1. Selecciona el objeto.
  2. En el inspector, haz clic en + new component y elige States. El primer estado, Default, guarda el objeto tal como está ahora.
  3. Haz clic en + add state. El estado nuevo queda seleccionado.
  4. Cambia el objeto: muévelo, cámbiale el color, ocúltalo. El estado seleccionado va guardando tus cambios.
  5. Repite los pasos 3 y 4 para cada estado que necesites.

Para ver cómo queda un estado, haz clic en él en la lista.

Mientras hay un estado seleccionado, tus cambios van a ese estado

Al editar el objeto cambias el estado seleccionado, no el objeto en sí. Es lo que quieres mientras creas estados. Pero si olvidas que hay un estado seleccionado, puede parecer que tu cambio «no se guarda» cuando cambias de estado.

Cambiar de estado​

En un evento, usa el paso Set state. Elige el estado y, si quieres, una duración y un easing.

Con una duración, el cambio es suave. El objeto pasa poco a poco de donde está al aspecto guardado, sin saltos. Tienes una animación sin tener que crearla.

Cambiar desdeCómo
Un eventoel paso Set state
Un patchel nodo set_states
Un scriptescribe activeStateId en el componente States

Reaccionar a un cambio de estado​

Hay dos disparadores que se activan en el objeto cuyo estado ha cambiado:

DisparadorSe dispara cuando
State activeel objeto ha entrado en el estado que elegiste
State inactiveel objeto ha salido de ese estado

Cada evento vigila un estado, que eliges en su campo State. Así un objeto puede reaccionar de forma distinta a cada estado. Por ejemplo, una puerta puede mostrar un cartel al abrirse y otro al cerrarse, sin condiciones.

Estos disparadores solo los recibe el propio objeto

Un cambio de estado no llega a los padres del objeto, a diferencia de un toque.

Cambiar algunas cosas sin crear un estado​

A veces quieres «como ahora, pero en rojo» sin crear un estado completo. Usa el paso Override properties. Aplica unos pocos valores una vez, como un estado temporal. Tiene los mismos ajustes de duración y easing.

Úsalo para un resaltado rápido al pasar el cursor o un destello cuando algo recibe un golpe. Reserva los estados de verdad para las situaciones que el objeto tiene realmente.

Qué guarda un estado​

Un estado guarda los componentes del objeto. La posición, la rotación, la escala, el material, la visibilidad y todo lo demás cambian a la vez.

Un estado pertenece a un solo objeto

No guarda los hijos del objeto. Para cambiar un grupo, dale a cada objeto sus propios estados. Después cámbialos todos desde un mismo evento: el campo Target object del paso acepta una lista.

A qué prestar atención​

  • Un estado que se ha quedado seleccionado en el editor recibe tus cambios. Si un objeto vuelve una y otra vez a un aspecto antiguo, comprueba qué estado está seleccionado.
  • Los estados y la animación en el mismo objeto entran en conflicto. Usa una cosa o la otra.
  • Si quitas un componente, también desaparece de todos los estados.
  • Si el estado seleccionado ya no existe, se usa el primer estado.

Siguiente: Patches — lógica que construyes con nodos.