Персонаж зачастую выполняет сложные действия, состоящие из нескольких этапов. Вместо того, чтобы управлять всем действием одним состоянием, есть смысл определить отдельные этапы и использовать отдельное состояние для каждого из этапов. Например, у персонажа может быть действие под названием “Trickshot” - персонаж приседает, чтобы точно прицелиться, стреляет и снова встает.
Хотя это полезно в целях контроля, недостатком является то, что конечный автомат становится большим и громоздким если добавлено много этих сложных действий. Вы можете упростить все в несколько раз, визуально разделив группы состояний пустым пространством в редакторе. Однако Mecanim идет на шаг впереди, позволяя вам свернуть группи состояний в единый элемент с названием в диаграмме конечного автомата. Эти свёрнутые группы состояний называются Sub-state machines.
Вы можете создать sub-state machine (вложенный конечный автомат) щёлкнув правой кнопкой мыши по пустому месту в окне Animator Controller и выбрать в контекстном меню. Вложенный конечный автомат представлен в редакторе в виде удлиненного шестиугольника, чтобы отличить его от обычных состояний.
Когда вы дважды щелкаете по шестиугольнику, редактор очищается, чтобы позволить вам отредактировать вложенный конечный автомат, как будто это совершенно отдельный и самостоятельный конечный автомат. Полоса в верхней части окна показывает навигационную цепочку, которая показывает, какой вложенный конечный автомат в настоящее время редактируется (обратите внимание на то, что вы можете создать вложенный конечный автомат в других вложенных конечных автоматах и т.д.). Нажатие на элементе цепочки сфокусирует редактор на нажатом вложенном конечном автомате.
Как отмечено выше, вложенный конечный автомат - это просто способ визуального вложения группы положений в редакторе, поэтому когда вы делаете переход к вложенному конечному автомату, вы должны выбрать с каким из его положений вы хотите его соединить.
Вы заметите дополнительное состояние во вложенном конечном автомате, имя которого начинается с Up.
Состояние Up представляет “внешний мир”, конечный автомат, который окружает вложенный конечный автомат. Если вы добавите переход от состояния вложенного конечного автомата к состоянию Up, вам будет необходимо выбрать одно из состояний окружающего автомата для их соединения.