Здравствуйте, дорогие Пикабушники и Пикабушницы!
Сегодня мы посмотрим, как выглядит дерево поведения!
Использование дерева поведения требует прикрепления к игровому объекту специального компонента - BehaviourTreeComponent.
В компоненте указывается только конфиг с настройками дерева. Конфиг у нас в виде ScriptableObject и настройки всех нод дерева тоже выполнены в виде ScriptableObject, но уже вложенных.
Двойным кликом по конфигу открываем его редактор. В левой части располагается инспектор, в котором будут отображаться параметры узлов. А в правой части поле для визуального редактирования дерева через graph api.
Есть несколько типов нод - корневая, составная (параллельная, выборочная, последовательная), условная и действие (состояние). Все выделено особым цветом для удобства. При клике на ноду видим ее параметры.
Присутствует режим отладки, когда в рантайме дерево подсвечивает активные узлы для конкретного объекта.
Зеленым выделены активные узлы
Система получилось достаточно гибкая и легкая. 500 юнитов с деревьями поведения кушают 2-3 мс процессорного времени. У меня в игре не будет замесов между армиями, состоящими из сотен юнитов, плюс будут дальнейшие оптимизации при масштабировании, так что определенный запас производительности я себе обеспечил.
Подробности, как всегда, в полном видео на моем канале
А потом приглашаю в комментарии - задавайте вопросы по видео и просто по юнити!