Version: 2017.3
State Machine Behaviours
Слои анимации

Вложенные конечные автоматы

Персонаж зачастую выполняет сложные действия, состоящие из нескольких этапов. Вместо того, чтобы управлять всем действием одним состоянием, есть смысл определить отдельные этапы и использовать отдельное состояние для каждого из этапов. Например, у персонажа может быть действие под названием “Trickshot” - персонаж приседает, чтобы точно прицелиться, стреляет и снова встает.

The sequence of states in a Trickshot action
The sequence of states in a “Trickshot” action

Хотя это полезно в целях контроля, недостатком является то, что конечный автомат становится большим и громоздким если добавлено много этих сложных действий. Вы можете упростить все в несколько раз, визуально разделив группы состояний пустым пространством в редакторе. Однако Mecanim идет на шаг впереди, позволяя вам свернуть группи состояний в единый элемент с названием в диаграмме конечного автомата. Эти свёрнутые группы состояний называются Sub-state machines.

Вы можете создать sub-state machine (вложенный конечный автомат) щёлкнув правой кнопкой мыши по пустому месту в окне Animator Controller и выбрать Create Sub-State Machine в контекстном меню. Вложенный конечный автомат представлен в редакторе в виде удлиненного шестиугольника, чтобы отличить его от обычных состояний.

A sub-state machine
A sub-state machine

Когда вы дважды щелкаете по шестиугольнику, редактор очищается, чтобы позволить вам отредактировать вложенный конечный автомат, как будто это совершенно отдельный и самостоятельный конечный автомат. Полоса в верхней части окна показывает навигационную цепочку, которая показывает, какой вложенный конечный автомат в настоящее время редактируется (обратите внимание на то, что вы можете создать вложенный конечный автомат в других вложенных конечных автоматах и т.д.). Нажатие на элементе цепочки сфокусирует редактор на нажатом вложенном конечном автомате.

The breadcrumb trail
The “breadcrumb trail”

Внешние переходы

As noted above, a sub-state machine is just a way of visually collapsing a group of states in the editor, so when you make a transition to a sub-state machine, you have to choose which of its states you want to connect to.

Choosing a target state within the Trickshot sub-state machine
Choosing a target state within the “Trickshot” sub-state machine

Вы заметите дополнительное состояние во вложенном конечном автомате, имя которого начинается с Up.

The Up state
The “Up” state

Состояние Up представляет “внешний мир”, конечный автомат, который окружает вложенный конечный автомат. Если вы добавите переход от состояния вложенного конечного автомата к состоянию Up, вам будет необходимо выбрать одно из состояний окружающего автомата для их соединения.

Соединение с состоянием в окружающем автомате
Соединение с состоянием в окружающем автомате
State Machine Behaviours
Слои анимации
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961