Unity 6.3
0 онлайн 95 гостей 3 в системе
Вход
Animation Шаг 51 из 74

Поведение машин состояний

State Machine Behaviour — особый класс скрипта. Подобно тому как обычные скрипты Unity (MonoBehaviour) прикрепляются к отдельным GameObject, скрипт StateMachineBehaviour можно прикрепить к отдельному состоянию внутри машины состояний. Это позволяет писать код, который выполняется, когда машина состояний входит в определённое состояние, выходит из него или остаётся в нём. Благодаря этому вам не нужно писать собственную логику для проверки и обнаружения смены состояний.

Несколько примеров использования этой функции могут быть следующими:

  • Воспроизвести звуки при вхождении в состояние или выходе из него
  • Выполнять определенные тесты (например, обнаружение земли) только в соответствующих состояниях
  • Активация и управление специальными эффектами, связанными с конкретными состояниями

Поведения машин состояний создаются и добавляются к состояниям почти так же, как вы создаёте и добавляете скрипты к GameObject. Выберите состояние в своей машине состояний, а затем в инспекторе нажмите кнопку «Add Behaviour», чтобы выбрать существующий StateMachineBehaviour или создать новый.

Машина state с поведением, связанным с заземлением state
Машина состояний с поведением, привязанным к состоянию Grounded

Скриптам State Machine Behaviour доступны события, которые вызываются, когда Animator входит в различные состояния (или подмашины состояний), обновляет их и выходит из них. Также предусмотрены события для обработки Root Motion и вызовов обратной кинематики.

Более подробную информацию см. Поведение машины состояния ссылка на скрипт.