Полезное

Мы Вконтакте

Discord канал

Искусственный интеллект

UEngine.RU » Материалы сайта » Документация » Искусственный интеллект

Июл 11 2015

Этот материал обозревает большинство стандартных процедур используемых во время работы с Behavior Trees.

Создание ассетов Behavior Tree

Cоздание Behavior Tree

Вы можете создать новый Behavior Tree используя контент браузер.

  1. В Content Browser нажмите на кнопку Add New
  2. Выберете Behavior Tree в разделе Miscellaneous

Создание Blackboard

Вы можете создать Blackboard ассет используя ContentBrowser.

  1. В Content Browser нажмите на кнопку Add New
  2. Выберите Blackboard в разделе Miscellaneous.

Или, если вы начали редактировать Behavior Tree (или просто хотите создать новый Blackboard для Behavior Tree), вы можете нажать на копку в редакторе Behavior Tree. (находясь в режиме редактирования)

Создание задачи (Blueprint)

  1. Нажмите на кнопку в редакторе Behavior Tree (находясь в режиме редактирования Behavior Tree).
  2. Выберите Behavior Tree Task класс для наследования от BTTask_BlueprintBase по умолчанию в разделе blank.
  3. Блупринт с новой задачей будет создан в той же папке где и ваш Behavior Tree ассет.

Создание Decorator (Blueprint)

  1. Нажмите на кнопку в редакторе Behavior Tree (находясь в режиме редактирования Behavior Tree).
  2. Выберите Behavior Tree Decorator класс для наследования от BTDecorator_BlueprintBase по умолчанию в разделе blank.
  3. Новый Decorator Blueprint будет создан в той же паке где и ваш Behavior Tree ассет.

Создание Service (Blueprint)

  1. Нажмите на кнопку в редакторе Behavior Tree (находясь в режиме редактирования).
  2. Выберите Behavior Tree Service класс для наследования от BTService_BlueprintBase по умолчанию в разделе class
  3. Новый Service Blueprint будет создан в той же паке где и ваш Behavior Tree ассет.

Редактирование Blackboard

Вы можете редактировать Blackboard либо двойным нажанием в Content Browser-e для открытия в редакторе Behavior Tree

Или переключением текущего редактора Behavior Tree в Blackboard Edit Mode

Добавление ключей

  1. Нажмите на кнопку
  2. Выберите тип добавляемого ключа
  3. Дайте название ключу

Удаление ключей

  1. Выберите ключ
  2. Нажмите на Delete

Переименование ключей

  1. Выберите ключ, который вы хотите переименовать
  2. Нажмите правой кнопкой и выберите Rename(либо нажмите F2)
  3. Введите новое имя ключа

Объектые ключи

Ключи объектного типа выделяются тем, что вы можете поменять их вид. Это позволяет вам хранить ссылку на объект не только Actor, но и ссылку на объект конкретного типа (например Character), благодаря чему не потребуется преобразование классов через Cast внутри задач.

Так некоторые Декораторы и Сервисы функци требуют ключи объектного типа, это то как вы меняете Object тип в Actor тип.

  1. Выберите Object Key
  2. На панели Details разверните свойства Key Type
  3. Измените Base Class свойства к желаемому Object Type.

Редактирование Behavior Tree

Вы можете редактировать Behavior Tree через двойной клик в Content Browser чтобы открыть редактор Behavior Tree

Либо переключив открытый редактор Behavior Tree в режим редактирования.

Настройка Blackboard ассета для использования

  1. Выберите запись Root из Behavior Tree (или уберите выбор выражений)
  2. На панели Details задайте желаемый Blackboard ассет

Добавление выражения (composites and tasks)

  1. Нажмите правой кнопкой мыши в области Behavior Tree чтобы вызвать контекстное меню.
  2. Выберите выражение которые вы хотите добавить из контекстного меню.

Удаление выражения

  1. Выберите выражение левой кнопкой мыши.
  2. Нажмите кнопку Delete

Соединение выражений

Соединение выражений в Behavior Tree подобно соединению выводов в Blueprint. Тем не менее, основным различием является направление соединений: вы можете подключить выход ко входу.

Чтобы соединить выражения:

  1. Нажмите левой кнопкой мыши на выход и зажмите ее
  2. Перенесите курсор ко входу
  3. Отпустите левую кнопку мыши

Отсоединение выражений

  1. Нажмите правой кнопкой мыши по соединению для вызова контекстного меню
  2. Выберите “Break Link(s)”

Либо зажмите Alt и нажмите по необходимому соединению

Изменение свойств выражения

  1. Выберите выражение
  2. Задайте свойства выражения на панели Details

Добавление Decorates и Services к выражениям

  1. Кликнете правой кнопкой мыши на Composite или Task node чтобы вызвать контекстное меню. Лучше нажимать на левые или правые края.
  2. Выберите Decorator или Service который вы хотите добавить к выражению

Удаление Decorators и Services из выражений

  1. Выберите Decorator или Service на выражении нажав левой кнопкой мыши (Decorator или Service обведется красным контуром)
  2. Нажмите кнопку Delete

Редактирование Decorators и Services

  1. Выберите Decorator или Service на выражении нажав левой кнопкой мыши (Decorator или Service обведется красным контуром)
  2. Задайте свойства для Decorator или Service используя панель Details

Особенности Composite Decorator

Дважды кликните на Composite Decorator чтобы открыть вкладку Composite Decorator’s

Вкладка Composite Decorator работает также как и блупринт, но работает только с True/False полученными из различных Decorators доступных в Behavior Tree

Изменение задачи (Blueprint)

Вы можете дважды кликнуть на расположенное выражение в редакторе Behavior Tree чтобы открыть ее в Blueprint редакторе.

Или вы можете дважды кликнуть на задачу в Content Browser.

Редактирование Service (Blueprint)

Вы можете дважды кликнуть на расположенный Service в редакторе Behavior Tree чтобы открыть его в редакторе Blueprint.

Или вы можете дважды нажать на Service в Content Browser.

Редактирование Decorator (Blueprint)

Вы можете дважды кликнуть на расположенный Decorater в редакторе Behavior Tree чтобы открыть его в редакторе Blueprint.

Или вы можете дважды нажать на Decorator в Content Browser.


Июл 11 2015
Behavior Tree

Начиная с маленьких тараканов, которые прячутся от света и заканчивая ботом в шутере, который знает, когда стрелять и где искать аптечки и патроны. Behavior tree является сильным инструментом для создания Искусственного Интеллекта в UE4.

Behavior Tree представляют из себя комбинацию двух видов ассетов: The Blackboard и сам Behavior Tree

Тип ассета Описание
Blackboard Blackboard является памятью ИИ, которая содержит в себе переменные для использования их в “древе поведения”.
Behavior Tree Behavior Tree это процесс, который принимает решения и выполняет их основываясь на своем выборе.

О том, как создать Behavior Tree, читайте руководство.

Блоки Behavior Tree

Ниже вы найдете описание блоков, доступных в редакторе Behavior Tree. Вы можете увидеть больше в зависимости от проекта над которым вы работаете (например таким как шутер). Здесь представлены пять типов выражений Behavior Tree.

Тип выражения Описание
Composite Эти выражения определяют основания ветви и базовые правила, которые определяют как этот ветвь выполняется.
Task Эти ответления Behavior Tree, выражения которые “делают” вещи и не имеют выхода
Decorator Выражения также известные как “условные”. Их прикрепляют к другим выражениям и создают выполняемые решения для ответвления в дереве или отдельного выражения выражения
Service Их прикрепляют к Composite выражениям, и выполняют c определенной частотой до те пор, пока ветка выполняется. Они часто используются для создания проверок и обновления Blackboard. Они занимают место парралельно другим выражениям в Behavior Tree
Root Выражение Root уникальное в Behavior Tree и является отправной точкой. Оно может иметь только одно соединение, и вы не можете подключить Decorators или Services к нему. Выражение Root не несет в себе никаких свойств, но выбрав это выражение вы увидите свойства Behavior Tree в свойствах на панели Details где вы можете задать Blackboard ассет вашего Behavior Tree
Root блок

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница