Es común para un personaje tener acciones complejas que consistan de un número de estados. En vez de manejar la acción entera con un solo estado, tiene sentido identificar los estados separados y utilizar un estado separado para cada uno. Por ejemplo, un personaje puede tener una acción llamada “Trickshot” dónde se agacha para tener una puntería estable, disparar y luego pararse otra vez.
Aunque esto es útil por propósitos de control, la desventaja es que la maquina de estado se volverá grande y difícil de manejar a medida que más acciones complejas sean agregadas. Usted puede simplificar las cosas de alguna manera simplemente separando los grupos de estados visuales con espacios vacíos en el editor. No obstante, Mecanim va un paso más allá que esto al permitirle colapsar un grupo de estados a un solo elemento con nombre en el diagrama de estados de maquina. Estos grupos colapsados de estados son llamados Sub-state machines.
Usted puede crear un sub-maquina de estado haciendo click derecho en un espacio vacío dentro de la ventana del Animator Controller y seleccionando Create Sub-State Machine del menú de contexto. Una sub-maquina de estado es representada en el editor por un hexágono alargado para distinguirlo de estados normales.
Cuando haga doble-click en el hexágono, el editor se vacía para permitirle editar la sub-maquina de estado como si fuera una maquina de estado completamente separada en su propio derecho. La barra en la parte superior de la ventana muestra una “ruta de navegación” para mostrar qué sub-maquina de estado está actualmente siendo editada (y tenga en cuenta que usted puede crear sub-maquinas de estado dentro de otras sub-maquinas de estado, y así). Haciendo click en un elemento en la ruta va a enfocar el editor en esa sub-maquina de estado en particular.
Como se tiene en cuenta arriba, una sub-maquina de estado es una manera de colapsar visualmente un grupo de estados en el editor, entonces cuando haga usted una transición de una sub-maquina de estado, usted tenga que escoger con cuál de sus estados usted lo quiere conectar.
Usted verá un estado extra en la sub-maquina de estado dónde su nombre comienza con Up.
El estado Up representa el “mundo de afuera”, la maquina de estado que encierra esa sub-maquina de estado en la vista. Si usted agrega una transición de un estado en la sub-maquina de estado al estado Up, usted se le preguntará que escoja uno de los estados de la maquina encerrada para conectarse.