Мощная система, позволяющая отслеживать определенные состояния, менять их при различных условиях и выполнять все в реальном времени.
Система State Tree появилась недавно, в 5 версии Unreal. Она использовалась в примере от Epic Games – Matrix для управления искусственным интеллектом людей на карте. Прежде чем начать работать с данной системой, необходимо активировать плагины движка:
Перезапускаем проект и, непосредственно, нам стали доступны новые Blueprint классы. Это один основной компонент и 3 вспомогательных класса. У персонажа который является ботом, или класс, к которому мы хотим добавить дерево состояний – добавляется компонентом State Tree Component в иерархии объекта. А в него, в details – подставляется наш созданный в контент браузере State Tree. И так, посмотрим на эти классы:
Главный класс, в котором происходит детальная настройка состояний. Именно он подставляется в компонент объекта и начинает взаимодействие
Blueprint, в котором мы можем построить схему для определения условий и состояний.
Объект служит для инициализации переменных, проверок в таймере и т.д. В общем, в нем мы 1 раз делаем нужные касты, установку значений – и в дальнейшем используем для построения логики.
Таски выполняются в дереве и могут возвращать bool ответ, был ли он выполнен. Как раз в них и описывается поведение объекта и условие выхода из этого состояния.
А так выглядит сам главный класс Stete Tree. Слева – мы указываем какому классу принадлежит дерево, вставляем наши EValuators и биндим input значения, основываясь на владельце.
По центру, наши ветки, в Details которых мы указываем таски, условия перехода из одной ветки в другую и т.п. Очень много возможностей и соблюдений.
Справа – Указываем Таск, выставляем переменные Таска, добавляем условия перехода на другие ветки дерева.
Достаточно мощный и оптимизированный инструмент для изменения состояний объеков.
Вы всегда можете обратиться к нашей команде за помощью в разработке, обучению или заказать прототип под ключ. Вступайте в наш telegram канал: