Saltar al contenido principal

Comparativa entre Timeline y State Machine para narrativas.

TimelineState 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:

State Machine V. 2023

https://learn.unity.com/tutorial/introduction-to-timeline-2019-3#

https://github.com/inmersysmx/Unity-Modules/tree/main/VR/UX/State%20Machine

https://www.youtube.com/watch?v=gsEe0_o_934&t=2735s