Полезное
Мы Вконтакте
Discord канал
Construction Script выполняется, когда копия классового Блупринта создается на сцене, или же происходит взаимодействие с ней. Другими словами, последовательность в Construction Script исполняется при работе с объектом в самом редакторе и никак не отражается внутри самой игре. Это полезно, когда нужно создать настраиваемый объект, параметры которого можно изменить на конкретной копии Блупринта, при этом не редактируя его самого. Так же может быть использовано для генерации группы объектов или для того, что бы устанавливались соответствующие свойства компонентов Блупринта автоматически.
Только Классовые Блупринты имеют Construction Script. Блупринт уровня или UMG виджеты не имеют их.
Событие с данном скрипте всего одно и помечено фиолетовым цветом. При этом, событие срабатывает в редакторе на конкретной копии Блупринта на сцене при взаимодействии с ней.
EventGraph(График) Блупринта содержит в себе сеть, состоящую из Событий и Функций, которые определяются в последовательность и служат для работы логики в вашем проекте. В графике создается основная логика работы конкретного Булпринта. Например, существует Блупринт с источником света, который должен отключаться при получении урона. Это должно автоматически влиять на все копии Блупринта, размещенных на вашей сцене.
EventGraph Блупринта уровня содержит график, который так же использует события и функции, для того что бы создавать какую либо реакцию на поведение пользователя. Однако данный график, в основном, служит для создания каких-либо действий непосредственно на текущей сцене, и используется для взаимодействия с конкретными объектами на уровне.
График отображает визуальную структуру логики определенного класса объектов вместе со всеми блоками(нодами) и соеденениями между ними. Так же он предоставляет возможность строить данную структуру, посредством вызова блоков функций и соеденения их между собой.
Вызов Эвент Диспатчера происходит с помощью Call блоков, которые вызывают все связанные события. Возможно создание более одного Call блока на каждый Эвент Диспатчер, а так же их можно создать как и в Классовом, так и в Уровневом Блупринтах.
Или:
Появится Call блок для вашего Евент Диспатчера, который будет автоматически нацелен на нужный объект.
Вызов Эвент Диспатчера не будет иметь никакого эффекта, пока не назначены события к нему. Каждый ЭД имеет свой список с событиями, ассоциируемыми к нему. Добавить событие в список можно используя блок Bind Event, в то время как блок Unbind Event убирает событие из списка. Так же возможно отвязать все события через Unbind All Events блок.
Каждое событие может быть привязано только один раз, даже если Bind Event вызывается несколько раз. Также, события в Class Blueprint и Level Blueprint привязываются и добавляются к одному списку Евент Диспатчера, а блок Unbind All Events отвязывает события в обоих типах блупринтов.
Процесс создания Bind Event, Unbind Event и Unbind All Events блоков очень похож. Следующие шаги объясняют как создать Bind Event, однако остальные блоки могут быть созданы тем же способом, за исключением выбора соответствующих блоков в нужном шаге.
Или:
Появится соответствующий блок для вашего Евент Диспатчера, который будет автоматически нацелен на нужный объект.
После этого останется только присоеденить ваше событие к Event контакту.
Используя опцию Event в меню Event Dispatcher, можно создать пользовательское событие, которое можно будет привязать к Диспатчеру. Данное событие будет похоже на обычное пользовательское событие, однако до тех пор, пока оно не будет связано с Bind блоком, оно никогда не сработает при вызове блока Call [название события].
Блоки Евент Диспатчера соеденяются с Bind Event посредством красного контакта, находящегося в верхнем правом углу события и соответствующего контакта. Если у вас уже есть Bind Event на какой-либо Эвент Диспатчер, то вы можете создать событие для него:
В блупринте уровня можно установить специальный тип событий для Event Dispatcher’а, и данное событие будет сразу привязано к ЭД. Данные события создаются тем же способом, что и обычные события(Например через Overlap или Clicked).
Данные события автоматически привязываются к началу игры. В результате, вызванный блок Unbind All отаяжет все события, однако их снова можно будет привязать через Bind Event.
Как и обычные события(Events), пользовательские события имеют выходной исполняемый коннектор, а так же набор информационных контактов, которые можно добавить, в случае необходимости. Пользовательские события можно создавать в любых количествах и помещать на груфик Блупринта. Они так же как и остальные события, определяют начало последовательности, выполняя последующие функции. Данные события созданы для того, что бы можно было вызывать их при каких либо обстоятельствах в других последовательностей с помощью вызова произвольного события (Custom Event Call) или через консольные команды CE или RE.
Пользовательские события предоставляют возможность начать определенную последовательность с какими-либо свойствами в любом месте вашего графика. Дополнительные контакты используются для вызова события с нужными параметрами, которые устанавливаются либо стандартными значениям, либо при вызове события в другой последовательности. Обычно Пользовательские События используются для взаимодействия одной части Блупринта с другой, однако они могут быть вызваны даже из совершенно других блупринтов.
Так же можно добавить нужные входные параметры
Переместить параметр в нужное место с помощью кнопок перемещения.
Как и обычные события, созданные самостоятельно будут вызывать последовательность при срабатывании.
В отличии от обычных событий, которые срабатывают автоматически, пользовательские события нужно вызвать вручную. Найти событие можно в контекстном меню в разделе Call Function, или же через поиск.
Все параметры, которые были установлены, будут сразу доступны ввиде входных контактов, которые будут переданы на блок события, при вызове.
В данном примере, событие вызывает функцию Print String (Внизу справа). Текст для функции устанавливает событие. Сверху слева показана последовательность, в которой событие вызывается, и к входному контакту присоеденена переменная с текстом для назначения в собитии.
Если у вас высвечивается сообщение Warning на собитии, а в логах написано «Unable to find function with name [название]», вам нужно скомпилировать Блуприинт.
Если вы меняете количество параметров в событии, то все они будут показывать сообщение об ошибке при компиляции Блупринта.
Вы должны перезагрузить все измененные события. Это можно сделать через контекстное меню, вызываемого правой клавишей мыши по блоку, выбором пункта Refresh Nodes.
Что бы перезагрузить все блоки в графике Блупринта, нажмите File > Refresh All Nodes в меню окна редактора Блупринтов.