SirCustomAssetGraph
Ознакомительное видео о том, как пользоваться плагином.
Документация и примеры использования имеются на GitHub
Основные настройки для плагина SirCustomAssetGraph".
- Добавить в Unreal Engine плагин "SirCustomAssetGraph".
- Подключите плагин в своём проекте во вкладке plugins.
- !ВАЖНО! Укажите в "Asset Мanager" своего проекта путь, где будут располагаться дата ассеты и установите тип используемого дата ассета "SirCppDataAssetAttrV3".
- Установите в "Asset Manager" своего проекта правило для "Cook Rule" которое будет равно "Always Cook".
Настройки Asset Manager
- Добавьте Primary Asset Type = SirCppDataAssetAttrV3
- Измените Asset Base Class на SirCppDataAssetAttrV3
- Добавьте путь к папке с Data Assets данными.
- Правило Cook Rule = Always Cook
Основные функции для работы с графом.
- Создаем пустой актор. Добавляем актор в мир с игрой. В акторе создаем переменную типа “SirCppCustomGraphAsset”.
- Указываем в созданной переменной граф.
- Теперь вы можете получить из данной переменной все нужные функции, вытянете ноду и напишите sircpp
- Функция SirCppGetUniqueIndexFirstNode.Из переменой с гафом получаем функцию “SirCppGetUniqueIndexFirstNode". На выходе данной функции получаем индекс первой ноды, которая подключена к ноде Start.
- Функция SirCppFindNodeGetAttrData00 Зная уникальный индекс ноды, разработчик может свободно обращаться к ноде и получать указанную там информацию. Например, базовые атрибуты ноды “00 Attr”
- Атрибут OutputTags - Массив тегов, которые разработчик задал на выходе ноды. Если нода имеет несколько выходных параметров, создаем отдельный виджет, куда указываем тэг ответа. По этим данным мы можем найти ноду, которая подключена к данному ответу. И получить всю нужную информацию.
- Функция SirCppFindNodeGetAttrData00_UseTag Игрок нажимает на виджет с ответом, виджет данный ответ возвращает в актор, где разработчик через функцию “SirCppFindNodeGetAttrData00_UseTag” может получить уникальный индекс ноды, которая подключена к данному ответу.
ВАЖНО: Тег ответа должен быть уникальным. Так как логика функции находит первый похожий тег и даёт возможность получить данные именно первого найденного.
- Нода End в графе имеет свои собственные атрибуты, которые разработчик может задать.
- TagForFindNode- тег. Пример, для поиска в графе ноды с таким же уникальным тегом.
- CustomAction- строка. Разработчик сам указывает, через условие, какое действие будет выполнятся. (Если CustomAction == Quest, то выполнять квест.)PrimaryDataAsset - дата ассет.
- Функция SirCppFindNode_END_GetAttrData_01
Получаем из базовой функции уникальное значение ноды и проверяем тип ноды, относится ли она к End node. Если да, то в переменной графа находим функцию SirCppFindNode_END_GetAttrData_01 и передаем туда уникальное значение ноды. На прямую или через переменную. После чего на выходе можем работать уже со значениями из данной ноды.
- Для построения тела графа имеются 2 ноды:
Continue node - Custom data (Все параметры указываются внутри данной ноды)
Continue node - Data asset (Нода содержит в себе дата ассет)
- Обе ноды имеют атрибут UniqueTagToSearchForThisNode
типа тег.
Базовое значение в том, чтобы задавать уникальный тег для данной ноды и используя функцию SirCppFindNodeUse_TagForFindNode находить уникальный индекс ноды с текущим уникальным тегом.
Например, вы делаете новелу и вам нужно возвращаться на кнопку back назад, на предыдущую ноду или искать в графе какую-то уникальную ноду, которая может быть вообще не подключена, но содержать нужную информацию.
- Все функции для ноды Continue Custom Data и Continue Data Asset
- Обращаемся к данным в ноде Continue (Continue Custom Data или Continue Data Asset)
ВАЖНО: Наименование для каждого поля должны быть уникальными! Использовать имя None приведёт к ошибке, при попытке создать новое значение.
SirCppFindNodeContinueGetData_01_FindArrInt
Возвращает целое число.
Возвращает целое число.
SirCppFindNodeContinueGetData_01_FindArrText
Возвращает текст.
Возвращает текст.
SirCppFindNodeContinueGetData_01_FindArrName
Возвращает переменную типа Name (Используется для дата тейблов)
Возвращает переменную типа Name (Используется для дата тейблов)
SirCppFindNodeContinueGetData_01_FindArrUObject
Возвращает объект (Например текстуры, материал или статик меш)
Возвращает объект (Например текстуры, материал или статик меш)
SirCppFindNodeContinueGetData_01_FindArrClassUObject
Возвращает класс объекта (Виджеты или класс для спавна)
Возвращает класс объекта (Виджеты или класс для спавна)