Comparativa entre Timeline y State Machine para narrativas.
| Timeline | State machine |
|---|---|
| Herramientas para crear flujos lineales. Permiten el “Branching” o ramificación del flujo pero para explotar su máximo potencial es recomendable mantener secuencias lineales. | |
| Se puede cambiar el orden de los Timelines, clips o tracks para probar distintos flujos o hacer testing. | Se puede cambiar el orden de las máquinas de estados y de los estados para probar distintos flujos o hacer testing, sin embargo, las acciones de los estados podrían depender de acciones en otros estados. Se podría dar una dependencia entre acciones. |
| Es más flexible al visualizar cambios o avances mediante el editor, sin la necesidad de entrar a Play Mode. | Requiere de ejecutar Play mode para poder visualizar cambios o avances dentro del flujo. E igual de manipular manualmente la máquina para visualizar determinados estados. |
| Se pueden ejecutar múltiples Timelines al mismo tiempo, cada uno con una secuencia de clips o tracks diferente. | No se pueden ejecutar múltiples máquinas de estados al mismo tiempo. |
| Puedes reproducir un Timeline dentro de otro distinto como si fuera una acción más. (Embeber Timeline assets) | No se puede ejecutar una máquina de estados dentro de otra, hay que esperar a que termine o terminarla mediante código para iniciar una distinta. |
| Se pueden ejecutar animaciones, audios, código y demás assets mediante Signals o tracks. | Se pueden ejecutar animaciones, audios, código y demás assets mediante Unity Events dentro de los estados. |
| Es capaz de ejecutar múltiples acciones. Ya sean clips o tracks al mismo tiempo o en secuencia dentro del mismo Timeline asset. | Ejecuta múltiples acciones al mismo tiempo dentro de cada estado. Se recomienda el uso de varios estados para ejecutar acciones en secuencia. |
| Mediante Signals, se pueden ejecutar acciones fuera de Timeline en cualquier frame. Da mucha flexibilidad para ejecutar cualquier acción en cualquier instante dentro del Timeline. | Mediante Unity events, se pueden ejecutar acciones únicamente al inicio o termino de un estado. No hay mucha flexibilidad para ejecutar cualquier acción en cualquier instante. |
| Se pueden crear/importar, editar y controlar animaciones, movimientos de cámara o la duración de los clips y tracks dentro del Timeline. | No permite crear, editar o controlar animaciones o movimientos de cámara. Sólo ejecutarlos. |
| Está diseñado para crear Secuencias de animaciones, Narrativa interactiva y Cut scenes (Cambio de cámaras). Contiene una interfaz de usuario basada en programas de animación y modelado 3D. | Está diseñado para crear secuencias de UX, mediante el principio de Paso a Paso, el cual consiste de completar un paso antes de pasar al siguiente. Su interfaz de usuario está basada en el editor de Unity con Unity Events. |
| Permite un trabajo colaborativo en paralelo, haciendo uso de distintos Timelines y sin la necesidad de cambios a la escena. | No permite del todo un trabajo colaborativo en paralelo. Se requiere comunicación y coordinación efectiva entre desarrolladores para editar las máquinas de estados dentro de las escenas. |
| Permite una mejor organización, ya que se pueden tener múltiples Timelines dedicados a distintos tipos de acciones o assets. Por ejemplo, tener un Timeline de sólo clips de animación y otro con acciones o signals para ejecutar código. | No permite tener máquinas de estados dedicadas a tipos de acción. Por ejemplo tener una máquina que sólo ejecute animaciones y otra que sólo ejecute código y reproducirlas al mismo tiempo. |
Referencias:
https://learn.unity.com/tutorial/introduction-to-timeline-2019-3#
https://github.com/inmersysmx/Unity-Modules/tree/main/VR/UX/State%20Machine