BehaviourMachine(BM)
- Это сочетание двух подходов - Машины состояний (Finite State Machine) и Дерева поведений (Behaviour Tree). Отсюда и название BehaviourMachine
. BM
позволяет связывать поведения как через код, так и визуально - с помощью GameObject'ов на сцене. С ее помощью можно легко оживить NPC или обрабатывать состояния каких-либо систем.
Позволяет обрабатывать состояния иерархично и/или параллельно. При желании можно легко написать собственный обработчик.
Общая схема графа:
-
Создайте пустой
GameObject
на сцене. Для удобства переименнуйте его вBehaviourMachine
. -
Добавьте на него компонент
BehaviourMachine
.Add Component
-->BehaviourMachine
. -
Поставьте галочку
StartGraphOnStart
и нажмите на кнопкуInit Visualized Root Tree
.Автоматически создастся новый
VisualizedRootTree
с прикрепленным компонентомVisualizedEmptyHierarchyTree
, который также автоматически заполнит собой ссылку вBehaviourMachine.cs
. -
Теперь следует заполнить "Листья" и "Связи" между ними. Чтобы добавить пустышки для "Листьев" нажмите
Add Leaf
, чтобы создать пустышку "Связь" нажмитеAdd Link
. -
После создания пустышек, следует создать свои "Листья" и "Линки" и назначить их на пустышки. После этого проставьте их в компонент
VisualizedEmptyHierarchyTree
. Укажите с какого "Листа" дереву следует начатьStartableLeaf_ID
и для удобства можно указатьFriendly Name
(Это поле нужно для Debug'а).
Простое дерево состояний готово. Чтобы узнать больше - читайте ниже.