Skip to content

fdick/BehaviourMachine

Repository files navigation

BehaviourMachine

BehaviourMachine(BM) - Это сочетание двух подходов - Машины состояний (Finite State Machine) и Дерева поведений (Behaviour Tree). Отсюда и название BehaviourMachine. BM позволяет связывать поведения как через код, так и визуально - с помощью GameObject'ов на сцене. С ее помощью можно легко оживить NPC или обрабатывать состояния каких-либо систем. Позволяет обрабатывать состояния иерархично и/или параллельно. При желании можно легко написать собственный обработчик. Общая схема графа:

image

Производительность

Быстрый старт

  1. Создайте пустой GameObject на сцене. Для удобства переименнуйте его в BehaviourMachine.

  2. Добавьте на него компонент BehaviourMachine. Add Component --> BehaviourMachine.

    image

  3. Поставьте галочку StartGraphOnStart и нажмите на кнопку Init Visualized Root Tree.

    Автоматически создастся новый VisualizedRootTree с прикрепленным компонентом VisualizedEmptyHierarchyTree, который также автоматически заполнит собой ссылку в BehaviourMachine.cs.

    image

  4. Теперь следует заполнить "Листья" и "Связи" между ними. Чтобы добавить пустышки для "Листьев" нажмите Add Leaf, чтобы создать пустышку "Связь" нажмите Add Link.

  5. После создания пустышек, следует создать свои "Листья" и "Линки" и назначить их на пустышки. После этого проставьте их в компонент VisualizedEmptyHierarchyTree. Укажите с какого "Листа" дереву следует начать StartableLeaf_ID и для удобства можно указать Friendly Name (Это поле нужно для Debug'а).

    image

Простое дерево состояний готово. Чтобы узнать больше - читайте ниже.

Releases

No releases published

Packages

No packages published

Languages