Войти
ПрограммированиеСтатьиИгровая логика и ИИ

Behavior Trees в Unreal Engine 4 (2 стр)

Автор:

Руководство по узлам Behavior Tree


Это руководство по узлам, по умолчанию доступных в редакторе Behavior Tree. Есть пять типов узлов дерева поведения:
Тип Описание
Composite (Составной) Эти узлы определяют корень ветви и базовые правила того, как выполняется эта ветвь.
Task (Задача) Эти листья дерева поведения, узлы, которые "выполняют" действия и не имеют подключения на выходе.
Decorator (Условный декоратор) Также известный как условие. Они прикрепляются к другому узлу и принимают решения о том, может ли ветвь в дереве, или в одном узле, быть выполнена.
Service (Служба) Они прикрепляются к составным узлам (Composite), и выполняются с заданной частотой, до тех пор пока их ветвь выполняется. Они часто используются, чтобы сделать проверки и обновления Blackboard. Они занимают место традиционных параллельных узлов в других системах Behavior tree.
Root (Корень) Корневой узел является уникальным в дереве поведения и является начальной точкой для дерева поведения. Он может иметь только одно соединение, и вы не можете прикрепить декораторов или службы к нему. Корневой узел не имеет собственных свойств, но выбрав его, вы увидите свойства дерева в панели Details, где вы можете установить для него нужную Blackboard.

Composite - составные узлы


Составные узлы определяют корень ветви и базовые правила того, как выполняется эта ветвь. Они могут иметь Условные Декораторы применяемые к ним, чтобы изменить ввод в их ветви или даже отменить выполнение в середине. Кроме того, они могут иметь Службы, прикрепленные к ним, которые будут активны только тогда, пока дочерние узлы этого составного узла выполняются.

Узел Selector



Узел Selector выполняет дочерние узлы слева направо и останавливает их выполнение когда любой из дочерних узлов выполнится успешно. Если дочерние узлы узла Selector выполняются успешно, то и он заканчивает выполнение успешно, и наоборот.
Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.

Узел Sequence



Узел Sequence выполняет дочерние узлы слева направо и останавливает их выполнение когда один из дочерних узлов завершит выполнение неудачно. Если все дочерние узлы узла Sequence выполняются успешно, то и он заканчивает выполнение успешно, и наоборот.
Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.

Узел Simple Parallel



Узел Simple Parallel позволяет одному узлу главной задачи, выполняться по всему дереву и выполнять фоновую задачу. После завершения основной задачи, установка режима Finish Mode указывает, должен ли узел закончить работу и прервать работу вторичного дерева, или он должен ждать завершения работы вторичного дерева, чтобы закончить работу.
Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.
Finish Mode
Immediate - Как только главная задача завершиться, фоновая задача прервёт своё выполнение.
Delayed - Главная задача будет ждать завершения работы фоновой задачи.

Decorator


Декораторы, также известные как условия в других системах деревьев поведения, присоединяются к их Составному узлу (Composite) или Задаче (Task), и определяют будет ли выполняться дочернее дерево или отдельный дочерний узел.

Blackboard



Декоратор Blackboard будет проверять установлено ли значение по заданному ключу в Blackboard.
Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.
Notify Observer
On Result Change - Если условие изменилось.
On Value Change - Если наблюдаемое значение Blackboard изменилось.
Observer Aborts
None - Ничего не делать.
Self - Прервать свою работу и все под-деревья работающие под этим узлом.
Lower Priority - Прервать все узлы справа от этого узла.
Both - Прервать свою работу, все под-деревья работающие под этим узлом и все узлы справа от этого узла.
Key Query
Is Set - Значение установлено?
Is Not Set - Значение не установлено
Blackboard Key Ключ по которому будет проверяться значение. Это часто используется для типов данных которые могут возвращать None, такие как Object, или другие инициализированные значения(0, false, {0,0,0}, и т.д....).

Compare Blackboard Entries



Декоратор Compare Blackboard Entries сравнивает значения двух ключей в Blackboard и блокирует или не блокирует выполнение узла в зависимости от результата сравнения.
Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.
Operator
Is Equal To Значения равны?
Is Not Equal To Значения не равны?
Blackboard Key A Первый ключ, значение которого будет использоваться при сравнении
Blackboard Key B Второй ключ, значение которого будет использоваться при сравнении
Observer Aborts
None - Ничего не делать.
Self - Прервать свою работу и все под-деревья работающие под этим узлом.
Lower Priority - Прервать все узлы справа от этого узла.
Both - Прервать свою работу, все под-деревья работающие под этим узлом и все узлы справа от этого узла.

Composite



Декоратор Composite позволяет вам задать более расширенную логику которая встроена в узлы, но не такая сложную как blueprint. После того как вы добавили декоратор Composite к узлу, щелкните два раза его для того чтобы перейти в граф логики этого декоратора. Щелкнув правой кнопкой в области графа, вы можете добавить узлы декоратора как самостоятельные узлы, которые можно затем связать с помощью узлов AND, OR и NOT, для того чтобы задать логику поведения декоратора.


Изображение

Свойство Описание
Composite Name Имя узла которое будет отображаться в графе Behavior Tree.
Show Operations Включает отображение операторов декоратора в текстовом представлении.

Conditional Loop



Декоратор условного цикла выполняется циклически пока соблюдается условие.

Свойство Описание
Node Name Имя узла которое будет отображаться в графе Behavior Tree.
Key Query
Is Set - Значение установлено?
Is Not Set - Значение не установлено
Blackboard Key Ключ по которому будет проверяться значение. Это часто используется для типов данных которые могут возвращать None, такие как Object, или другие инициализированные значения(0, false, {0,0,0}, и т.д....).

Cone Check

ConeCheck.png

Декоратор Cone Check получает три векторных ключа: первый - местоположения, где начинается конус, второй - направление конуса, а третий - позиция которую нужно проверить - находится ли она в конусе. Угол конуса задаётся половиной угла, то есть если нужно указать конус с углом 90 градусов, вы указываете 45 градусов.

Свойство Описание
Cone Half Angle Половина угла конуса.
Observer Aborts
None - Ничего не делать.
Self - Прервать свою работу и все под-деревья работающие под этим узлом.
Lower Priority - Прервать все узлы справа от этого узла.
Both - Прервать свою работу, все под-деревья работающие под этим узлом и все узлы справа от этого узла.
Cone Origin Позиция начала конуса.
Cone Direction Направление конуса.
Observed Позиция или Actor. который будет проверяться на видимость конусом.
Inverse Condition Инверсия результата условия.
Node Name Имя узла которое будет отображаться в графе Behavior Tree.

Cooldown

Cooldown.png

Декоратор Cooldown блокирует выполнение узла на заданное время.

Свойство Описание
Cool Down time Время в секундах.
Observer Aborts
None - Ничего не делать.
Self - Прервать свою работу и все под-деревья работающие под этим узлом.
Lower Priority - Прервать все узлы справа от этого узла.
Both - Прервать свою работу, все под-деревья работающие под этим узлом и все узлы справа от этого узла.
Node Name Имя узла которое будет отображаться в графе Behavior Tree.

Does Path Exist

DoesPathExist.png

Декоратор Does Path Exist проверяет, может ли путь проложен между двумя точками: Blackboard Key A и Blackboard Key B.

Свойство Описание
Blackboard Key A Первая точка маршрута.
Blackboard Key B Вторая точка маршрута.
Path Query Type
NavMesh Raycast 2D Очень быстрая проверка.
Hierarchical Query Быстрая проверка.
Regular Path Finding Медленная проверка
Inverse Condition Инверсия результата.
Observer Aborts
None - Ничего не делать.
Self - Прервать свою работу и все под-деревья работающие под этим узлом.
Lower Priority - Прервать все узлы справа от этого узла.
Both - Прервать свою работу, все под-деревья работающие под этим узлом и все узлы справа от этого узла.
Filter Class Определяет какие данные навигации должны быть использованы. Если задано None, то данные по умолчанию будут использованы.
Node Name Имя узла которое будет отображаться в графе Behavior Tree.

Force Success

ForceSuccess.png

Декоратор Force Success принудительно выставляет результат выполнение узла как успешный. То есть узел завершает свою работу всегда успешно, вне зависимости от результата выполнения.

Свойство Описание
Node Name Имя узла которое будет отображаться
Страницы: 1 2 3 4 Следующая »

#ИИ, #Behavior tree, #Unreal Engine

30 сентября 2016 (Обновление: 31 дек. 2018)

Комментарии [13]