Поведение машин состояний
State Machine Behaviour — особый класс скрипта. Подобно тому как обычные скрипты Unity (MonoBehaviour) прикрепляются к отдельным GameObject, скрипт StateMachineBehaviour можно прикрепить к отдельному состоянию внутри машины состояний. Это позволяет писать код, который выполняется, когда машина состояний входит в определённое состояние, выходит из него или остаётся в нём. Благодаря этому вам не нужно писать собственную логику для проверки и обнаружения смены состояний.
Несколько примеров использования этой функции могут быть следующими:
- Воспроизвести звуки при вхождении в состояние или выходе из него
- Выполнять определенные тесты (например, обнаружение земли) только в соответствующих состояниях
- Активация и управление специальными эффектами, связанными с конкретными состояниями
Поведения машин состояний создаются и добавляются к состояниям почти так же, как вы создаёте и добавляете скрипты к GameObject. Выберите состояние в своей машине состояний, а затем в инспекторе нажмите кнопку «Add Behaviour», чтобы выбрать существующий StateMachineBehaviour или создать новый.
Скриптам State Machine Behaviour доступны события, которые вызываются, когда Animator входит в различные состояния (или подмашины состояний), обновляет их и выходит из них. Также предусмотрены события для обработки Root Motion и вызовов обратной кинематики.
Более подробную информацию см. Поведение машины состояния ссылка на скрипт.