Полезное
Мы Вконтакте
Discord канал
Events — События, которые определяют начало конкретной логической последовательности. Они позволяют Блупринту исполнять какие либо действия при выполнении события, например, при старте игры, при рестарте уровня или получении урона. Events могут быть доступны в блупринте через Контекстное меню. В одном Блупринте может быть любое количество событий, однако по одному каждого типа.
Каждое событие может вызывать только одну последовательность. Если вам нужно вызвать сразу несколько, используйте соответствующие блоки контроля последовательности.
Событие Level Reset срабатывает при перезапуске уровня.
Событие Actor Begin Overlap срабатывает, когда какой либо объект пересекается с данным блупринтом или объектом, в случае с объектным событием(Чаще используется в Level Blueprint).
Для срабатывания данного события, оба объекта должны иметь тип Overlap, а так же пересекающийся объект иметь активированную опцию Generate Overlap Events .
Когда нужный объект(Player Actor) пересекается с данным блупринтом, к переменной Counter прибавляется 1.
Коннекторы | |
Other Actor | Объект, который пересекается с Блупринтом. |
Событие Actor End Overlap срабатывает, когда какой либо объект прекращает пересекается с данным блупринтом или объектом, в случае с объектным событием(Чаще используется в Level Blueprint).
Для срабатывания данного события, оба объекта должны иметь тип Overlap, а так же пересекающийся объект иметь активированную опцию Generate Overlap Events.
Коннекторы | |
Other Actor | Объект, который закончил пересекаться с Блупринтом. |
Когда нужный объект(Player Actor) перестал пересекается с данным блупринтом, этот объект удаляется
Событие срабатывает, когда какой либо объект ударяет Блупринт.
Для срабатывания данного события, оба объекта должны иметь иметь активированную опцию Simulation Generates Hit Events.
Коннекторы | |
My Comp | Компонент в исполняемом(текущем) Блупринте, который был ударен |
Other | Объект, который учавствовал в ударе |
Other Comp | Компонент в другом Блупринте, который был ударен. |
Self Moved | — |
Hit Location | Положение удара в пространстве |
Hit Normal | Направление удара |
Normal Impulse | Сила удара |
Hit | Вся вышеописанная информация. Используйте блок Break, что бы разделить на отдельные составляющие. |
В данном примере, при ударе будет вызван эффект взрыва на месте столкновения.
Событие срабатывает, когда приченяется какой-либо урон.
Событие выполняется на стороне сервера. В одиночных играх клиент является сервером.
Коннекторы | |
Damage | Количество получаемого урона |
Damage Type | Содержит объект с дополнительной информацией об уроне |
Instigated By | Объект, ответственный за причиняемый урон. Это может быть Объект, который выстрелил или который кинул гранату. |
Damage Causer | Объект, который нанес урон. Например пуля или граната. |
В примере, если урон получается от воды, уменьшать переменную Health(жизни) на причиняемый урон и выводить служебный текст You Are Drowning(Вы тоните)
Событие срабатывает, когда причиняется точечный урон(От пули, удара холодным оружием и т.д.)
Коннекторы | |
Damage | Количество получаемого урона |
Damage Type | Содержит объект с дополнительной информацией об уроне |
Hit Location | Положение удара в пространстве |
Hit Normal | Направление удара |
Hit Component | Компонент в исполняемом(текущем) Блупринте, который был ударен |
Bone Name | Название кости, которая получила урон |
Shot from Direction | Направление, откуда пришелся урон |
Instigated By | Объект, ответственный за причиняемый урон. Это может быть Объект, который выстрелил или который кинул гранату. |
Damage Causer | Объект, который нанес урон. Например пуля или граната. |
В данном примере, при получении урона, уменьшается переменная Health(жизни) на получаемый урон. Если урон пришелся в голову, переменную ставить на -1. В любом из этих случаев удалять объект, который непосредственно нанес урон
Событие срабатывает, когда получаемый урон идет от иточника, причиняемого радиальный урон. Может быть применяно в случае, к примеру, взрыва бомбы.
Коннекторы | |
Damage Received | Количество получаемого урона |
Damage Type | Содержит объект с дополнительной информацией об уроне |
Origin | Содержит информацию о том, где расположен Урон в пространстве |
Instigated By | Контроллер(ИИ или игрок), ответственный за причиняемый урон. |
Damage Causer | Объект, который нанес урон. Например ракета или граната. |
Hit Info | Вся информация об ударе. Используйте блок Break, что бы разделить на отдельные составляющие. |
Данное событие срабатывает, когда курсор(когда он активен) находится поверх Объекта.
В примере, при наведении курсора, меняется параметр Highlight Инстанса Материала Dynamic Material Instance на 1
Данное событие срабатывает, когда курсор(когда он активен) прекращает находиться поверх Объекта.
Событие срабатывает при старте уровня. Так же срабатывает внутри вызанного на сцену Блупринта. Например при спауне персонажа, внутри Блупринта персонажа вызывается данное событие.
В примере, при старте уровня, переменная Health ставится на 1000, а Score на 0
Событие вызывается, когда объект прекращает существование на сцене.
Как только объект исчезает со сцены, высвечивается служебный текст с причиной исчезновения.
Коннекторы | |
End Play Reason | Причина, по которой вызванно событие |
Событие вызывается, когда Объект был разрушен.
В будущих версиях данное событие будет удалено и заменено на End Play
Событие вызывается каждый кадр процесса игры.
Коннекторы | |
Delta Seconds | Количество времени между кадрами |
В данном примере событие Event Tick используется для создания таймера.
Событие вызывает прорисовку всех элементов интерфейса. Блоки интерфейса(HUD) требуют наличие этого события в последовательности.
Данное событие доступно только в классе HUD Блупринта
Коннекторы | |
Size X | Ширина окна, в котором рендерится картинка |
Size Y | Высота окна, в котором рендерится картинка |
В данном примере создается Хитбокс и квадрат, создавая кнопку. Все это центрируется по середине экрана.
Пользовательское событие, служащее для создания своего события, которое будет вызываться из другой последовательности или же из другого Блупринта.
Переменные — это параметры, которые хранят в себе какое-либо значение, или же содержат в себе отсылку к объекту. Данные параметры могут быть доступны как внутри Блупринта, так и из внешней среды для того, что бы разработчик мог контролировать копию Блупринта, которая была помещена на сцену.
Переменные отображаются ввиде закругленных прямоугольников, которые отображают цвет типа переменной и её имя.
Переменные могут быть созданы с разным типом, включая типы с данным, такие как Булевые, целые числы или текст, и типы отсылки к объектам. Так же могут быть созданы Массивы для каждого типа переменных.
Пример | Тип | Цвет | Использование |
![]() |
Boolean | Красный | Булевая переменная. Хранит в себе значения «Правда» или «Ложь» |
![]() |
Integer | Голубой | Переменная, которая хранит в себе целые числа, такие как 0, 13, 280, -42 |
![]() |
Float | Зеленый | Переменная, которая хранит в себе дробные числа. Например 0.0, 4.34, -89.3452 |
![]() |
String | Пурпурный | Строчная переменная для хранения небольших буквенных данных |
![]() |
Text | Розовый | Текстовая переменная для хранения локализированного текста. |
![]() |
Vector | Золотой | Переменная, которая сожержит векторные данные с 3мя элементами: X, Y и Z. Может так же подходить как RGB вектор. |
![]() |
Rotator | Фиолетовый | Переменная с данными, которые определяют ориентацию в пространстве |
![]() |
Transform | Оранжевый | Переменная, включающая в себя векторное значение(тип Vector), поворот(тип Rotator) и размер(тип Vector) |
![]() |
Object | Синий | Переменная, хранящая в себе отсылку к определенному объекту. Например источнике света, объекте на сцене, камере или звуке |
Панель My Blueprint содержит список всех переменных, добавленных в блупринт, а так же список компонентов, для отсылки к ним. Через данную панель можно так же добавить переменные.
Новые переменные могут быть добавлены нажатием на кноку + . После создания, вы сможете сразу переименовать переменную, а так же изменить дополнительные параметры на панеле Details.
Чтобы добавить переменную:
Что бы вызвать переменную:
Есть возможность вызвать переменную из контакта блоков.
Что бы переименовать переменную:
Вы можете установить нужные параметры переменной на панеле Details. Некоторые переменные могут иметь больше параметров.
Variable Type | Тип переменной, а так же выбор, будет ли переменная массивом или нет |
Editable | Возможность изменить значение по умолчанию в режиме Defaults или на панеле Details в редакторе уровней |
Tooltip | Добавляет подсказку при наведении |
Private | Устанавливает, будет ли переменная приватной и недоступной в наследуемых блупринтах |
Category | Устанавливает категорию, в которой находится переменная. При введении уже существующей категории, переменная будет помещена под неё. При введении другого имени, будет создана новая категория. Установка переменной определяет, где будет расположена переменная на панелях My Blueprint, Defaults и Details |
Replication | Должна ли переменная реплицироваться между клиентами в сети или нет. |
Переменные так же могут быть изменены по ходу выполнения последовательности. Самый легкий способ установить переменную или получить её в графике, это перетащить переменную напрямую с панели My Blueprint на график. Откроется небольшое меню, предлагающее, хотите ли вы получить переменную или установить её.
Блок Get позволяет получить значение переменной в графике. После создания, переменная будет иметь выход для соеденения с другими функциями или блоками.
Блок Set устанавливает переменную на входящее или введенное значение. Обратите внимание, что во вход можно присоеденить лишь один контакт, когда из Get можно вытягивать соеденения в множество блоков.
Горячие клавиши | ||
Ctrl + перетянуть | Создает Get блок | |
Alt + перетянуть | Создает Set блок |
Использование Блупринт Интерфейсов позволяет совершенно разным типам Объектов использовать какую либо общую функциональность. Например, можно иметь совершенно разные типы объектов, такие как деревья, машины, мебель, однако все они будут наследовать какую-либо определенную возможность, например всех их можно расстрелять и разрушить. При создании Блупринт Интерфейса с функцией OnTakeWeaponFire, функция может быть вызвана и использована, если в Блупринты(Машина, дерево и т.д.) внедрен данный Интерфейс.
Blueprint Interface можно создать через Content Browser, кликнув на кнопку New, либо через контекстное меню. Данный тип Блупринта находится в подменю Blueprints, там же, где и Macro Library.
После создания, нужно открыть Интерфейс с Блупринт редакторе и настроить функции.
Блупринт Интерфейсы редактируются в специальной версии Блупринт редактора. Поскольку вы не можете создавать свои переменные, графики или компоненты, процесс редактирования Интерфейсов сильно отличается от редактирования обычных Блупринтов.
После создания, Blueprint Interface не будет иметь никаких функций и окно редактора будет выглядеть примерно так:
Обратите внимание на отсутствие графика из-за отсутствия созданных функций.
Функции — главный элемент Блупринт Интерфейсов и не имеют реализации сами по себе. Они существуют лишь с набором входных и выходных контактов. Это может быть использовано для передачи информации через Интерфейс, а так же для изменения значений в Блупринтах, в которые внедрен Интерфейс.
Что бы добавить функцию, нажмите на кнопку на категории функций
, после чего введите имя новой функции.
Создастся новый график всесте с функцией. Обратите внимание, что график не активн и не имеет никаких контактов. Всю функциональность функции вы будете добавлять в конкретных объектах, к которому будет примене
Поскольку на данном этапе, функция не имеет никакой функциональности и реализации, все, что можно сделать, это создать входные и выходные контакты.
Вызов Эвент Диспатчера происходит с помощью Call блоков, которые вызывают все связанные события. Возможно создание более одного Call блока на каждый Эвент Диспатчер, а так же их можно создать как и в Классовом, так и в Уровневом Блупринтах.
Или:
Появится Call блок для вашего Евент Диспатчера, который будет автоматически нацелен на нужный объект.
Панель Components позволяет добавлять различные компоненты в Блупринт. Под компонентами подрузомевается добавление СтатикМешей, колизий, СкелеталМешей, камеры, источники освещения и остальное. Компоненты могут быть добавлены через панель Components, который так же предоставляет список уже добавленных.
Чтобы добавить компонент, вы можете использовать выпадающее меню сверху нанели Components. Откроется список всех возможных компонентов для добавления.
После создания будет предложено назвать компонент.
Что бы добавить компонент напрямую через Content Browser, можно перетянуть напрямую нужный контент на панель Components и отпустить. Вы можете добавить Статик и Скелетал мешы, звуковые композиции и частицы.
Что бы удалить компонент, нажмите правой клавишей мыши по компоненту и выберете «Detele«.
Изначально, все компоненты становятся в положение по умолчанию. Однако они могут быть перемещены, повернуты и отмаштабированы через панель Details или во Вьюпорте.
Выбирать компоненты можно как через список, так и в самом Вьюпорте.
При перемещении, повороте или маштабировании вы можете включить привязку к координатам или процентам, нажав Shift. Для работы привязки, необходимо, что бы она была включена в редакторе уровня. Настройки привязки так же будут те, что и в редакторе уровня.
Вы так же можете манипулировать вашим компонентов вручную через панель Details.
Манипуляция объектом будет так же влиять на все компоненты, родителем которых является выбранный компонент.
Корневой (ROOT) (компонент не может быть подвергнут манипуляцией, так как он является основой. Все остальные компаненты могут быть перемещены, повернуты или отмаштабированы.
Что бы назначить ассет на компонент, вам нужно выбрать нужный в Контент Браузере, а так же выбрать нужный компонент на панеле Components. Откроются детали на панеле Details
Нажмите стрелочку в разделе *Тип Ассета*, что бы привязать выбранный ассет на нужный компонент.
Вы так же можете назначить ассет через выпадающее меню прямо в разделе назначения.
Что бы снять ассет с компонента, откройте выпадающее меню рядом с выбранным ассетом на панеле Details. Затем нажмите Clear в открывшемся меню.
После того, как ассет будет снят, на иконке ассета будет надпись «None«.
Когда ассет назначен на компонент, вы можете быстро найти его в Контент Браузере нажав на кнопку . Окно Content Browser автоматически откроет папку с выбранным ассетом.
При создании компонента, он будет автоматически назван в зависимости от его типа. Однако в целях организации, советуется переименовывть компоненты для того, что бы потом не запутаться в них.
Для переименования компонента выберете его на панеле Components List. На панеле Details откроются параметры компонента, и в разделе Variable вы сможете поменять имя компонента(Variable Name)
В зависимости от типа компонента, вы можете добавлять события или функции в график, присутствующие только выбранному типу. Например компонент Box может иметь событие BeginOverlap, которое будет вызвано когда другой объект пересечется с данным компонентом. Так же компонент Point Light имеет функцию Set Light Color, которое изменяет цвет источника освещения.
Содание событий или функций:
Вы так же можете создать событие через панель Details при выбранном компоненте. События находятся в разделе Events.
Таким образом вы создадите событие или функцию, которая будет оперировать с выбранным ранее компонентом.
Не все компоненты имеют события. Так компонент типа Point Light имеет только функции
С помощью назначение одного или более события на Event Dispatcher, вы можете вызвать все эти события одновременно, как только Эвент Диспатчер будет вызван.
Эвент Диспатчеры могут быть созданы через панель My Blueprint в редакторе Блупринтов.
При выборе Диспатчера в панеле My Blueprint, вы можете редактировать некоторые свойства. Вы можете установить категорию, добавить описание, а так же добавить входные параметры.
Добавление входных параметров позволит передавать переменные на каждое связанное событие с Евент диспатчером. Передача информации может происходить не только внутри Классового Блупринта, но и на Блупринт Уровня.
Процесс добавления схож с добавлением параметров в функциях, пользовательских событиях и макро функциях. Если вы хотите использовать те же параметры, что и другое событие, вы можете использовать выпадающее меню Copy Signature from для выбора события.
Что бы установить входные параметры:
Как только вы создали Евент Диспатчер, вы можете добавлять блоки событий, назначать блоки или снимать их с Евент Диспатчера. Двойной клик левой клавишей мыши по Эвент Диспатчеру на панеле My Blueprint откроет его график. Сам график заблокирован и не может быть отредактирован на прямую. Назначение позволяет добавлять события к писку Евент Диспатчера.
Вызов Евент Диспатчера с помощью Call блока, вызывает все события, которые связаны с Эвент Диспатчером. Вы можете иметь больше чем один Call блок на каждый Диспатчер, а так же можете вызвать ЭД как и в Классовом Блупринте, так и в Блупринте уровня.
Что бы Эвент Диспатчер работал как нужно, требуется назначить событие на него. Каждый ЭД имеет свой список с событиями, ассоциируемыми к нему. Добавить событие в список можно используя блок Bind Event, в то время как блок Unbind Event убирает событие из списка. Так же возможно отвязать все события через Unbind All Events блок.
Используя опцию Event в меню Эвент Диспатчера, можно создать пользовательское событие, которое можно будет привязать к Диспатчеру. Данное событие будет похоже на обычное пользовательское событие, однако до тех пор, пока оно не будет связано с Bind блоком, оно никогда не сработает при вызове блока Call [название события].