Blueprints Урок 4

Опубликовал Konradvall
20-09-2018, 06:07
450
0
Blueprints Урок 4

На прошлом уроке мы остановились на создании разрушаемых объектов, теперь я предлагаю вам создать пару подвижных платформ с разными функциональными наборами, но для начала мы очистим проект от лишних ассетов и прочего хлама.

очистка проекта



В прошлый раз мы добавляли в наш проект стартовый набор ассетов от разработчиков движка, сегодня мы удалим лишнее и оставим только то, что нам понадобиться для сегодняшнего и дальнейших уроков. Для начала нам необходимо вспомнить что мы использовали для создания наших BP в прошлом уроке, а в частности мины, так как ассеты по большей части были добавлены только ради нее. Для того что бы быстро определить что имеет отношение к тому или иному BP вы можете вызвать карту зависимостей, найдите наш BP с логикой мины и выделите его, вызовите контекстное меню и выберите пункт Reference Viewer (или используйте горячие клавиши Alt+Shift+R назначенные по умолчанию) и перед вами предстанет окно где будет указанно какие ассеты используются в данной логике.



Если вы просмотрите ветви наших зависимостей, то увидите что можно открывать зависимости и дальше, к примеру попробуйте открыть дальнейшие зависимости для партикла взрыва, для этого просто сделайте двойной клик по нему.



И так вы можете просматривать до тех пор, пока цепь зависимостей не прервется. Отлично теперь исходя из полученных данных мы удалим лишние ассеты из нашего проекта, для этого в браузере контента выделите один или несколько ассетов или папку с таковыми и нажмите Delete, либо удаляйте через вызов контекстного меню.
Если во время удаления будет затронуты ассеты в которые на данный момент используются или с ними есть связи каких либо BP, то система вам выдаст уведомление, где представит вам данные связи, предложит удалить их в экстренном режиме, заменить их на аналогичный BP, либо отказаться от удаления.



С этим разобрались, теперь давайте отчистим наш проект от лишнего и продолжим работу с проектом, единственное оставьте в проекте стандартный меш floor_400x400, а также папки оставьте без изменений Props, Particles, Audio, Materials, Textures, ну и конечно все что связанно уже с созданными BP в нашем проекте. Закончили? Тогда едем дальше...

Создание платформы вариант 1



Итак преступим, для начала создадим второй ярус на нашем уровне



теперь создадим новый BP и добавим в него меш Floor, на него накинем Box Collision таким образом



теперь перейдем в Event Graph и напишем логику нашей платформы, вызовите эвенты для нашей коллизии On component degin overlap и On component end overlap соответственно. Далее нам необходимо скастовать нашего персонажа и сразу же назначим функции отключения и включения управления нашего персонажа для данного BP.



Также создадим новую клавишу для обработки контекстных событий, давайте по умолчанию зададим такую кнопку с названием UseInput с назначенной клавишей E. Вызовем ее в нашем блупринте, далее вызовите контекстное меню и найдите функцию TimeLine.



Timeline представляет собой функцию, позволяющую встраивать в блупринт срабатывание логики согласно расставленным временным ключам. Двойным кликом откройте редактор Timeline и инициализируйте временную шкалу типа float и назовите ее Alpha.



На треке вызовите контекстное меню и добавьте два ключа для реализации логики. Выравнять показатели ключей можно с помощью параметров Time и Value вверху трека. Выставите значения Time и Value для первого в обоих случаях на параметр 0, а для второго ключа значения Time и Value на параметры 3 и 1 соответственно.





параметр Time отвечает за время выполнения логики согласно трека, а параметр Value за значение показателей ключей трека соответственно.
Вернемся к написанию логики. Вызовем переменную функцию Lerp (vector) и соединим его с нашим TimeLine через пин который появился в связи с созданием трека Alpha. Теперь создайте две переменные типа vector - StartPosition и EndingPosition. Для первой оставьте значения осей нулевыми, а вот для второй значение оси Z устанавливаем на 890.



Вызовите функцию Set relative location для нашего меша, это поможет в отслеживании нашей платформы в пространстве. Накиньте эту функцию на return value в нашем Lerp(vector), а вывод логики необходимо соединить с TimeLine



Далее расширьте логику функцией FlipFlop таким образом



это сделано для того что бы мы могли в любой момент включить реверс нашей платформы, разместите наш блупринт с платформой в локации и запустите проект, проверьте результат.

Создание платформы вариант 2



Скопируйте наш блупринт с платформой и переименуйте дубликат как вам угодно, откройте его. Для данной платформы мы ограничим управление - пока платформа не подымется вверх, не возможно вызвать движение вниз. Создайте постоянную проверяющую движется ли платформа или нет с названием IsMoving и значением false. Используя Branch измените логику таким образом



добавьте наш блупринт на сцену и запустите проект.

Создание платформы вариант 3



Снова дублируем нашу первую платформу и удаляем из него коллизию, а также очищаем Event Graph. Сразу к делу, добавьте Event Begin Play и Get actor location, выводим их состояния на нашу векторную Start position. Далее создадим новый timeline внутри которого активируем трек типа vector и назовем его Moving.



Усложняем задачу. В поле где вы вызываете новый трек, найдите параметры Length - длина трека (общее время) и установите сколько бы вы хотели что бы проигрывалась логика по времени. Чекбокс Loop - отвечает за повторное проигрывание после прохождения последнего ключа. Чуть ниже вы увидите небольшое оконце где указаны оси, нажав на замочек вы деактевируете не нужные, оставьте только ось Z.
Добавьте 3 ключа на трек и укажите значения параметров Time & Value которые вас устраивают, выделите все три ключа и вызвав контекстное меню на любом из них, выберите пункт Auto. Система сама подгонит искривление графика, что бы движение нашей платформы было плавным.



а далее делаем такую логику (расписывать не буду, тоже самое что и в прошлых примерах)



Создание платформы вариант 4



Последнее что я хотел бы вам рассказать, не показывая метод реализации (так как мы будем работать с данным инструментом немного позже), это способ с использованием The Matinee - данная функция позволяет анимировать объект не используя заранее созданных блупринтов. Преимущество данного способа на лицо - не нужно заморачиваться с написанием логики и создания всяких переменных и постоянных. Отсюда вытекает и основной минус, если вы используете Matinee вы не сможете размещать его как блупринт в множестве мест простым выставлением на сцене.
К примеру у нас есть блупринт платформы которая двигается строго вверх и вниз, мы можем разместить данную платформу где нам угодно бесконечное количество раз изменяя какие либо параметры благодаря переменным. В случае же с Matinee нам придется каждый раз делать новый в запланированных местах. Это не удобно. Тогда в чем же плюсы Matinee? Если у вас платформа должна передвигаться по эллипсу или описывать сложную геометрическую фигуру во время движения в трех измерениях, тогда Matinee не заменим, так как в блупринте такое описать очень, очень, очень сложно (если конечно вы не расширите его "плюсами"). Вообще хотелось бы дать вам совет, если вы создаете объекты, как к примеру движущиеся платформы и т.п., то сначала всегда пробуйте написать логику в блупринте. Если же вы терпите фиаско - используйте Matinee.

На сегодня это все. Подробнее с материалом вы познакомитесь в видео, а для ленивых как обычно ссылки на проект под статьей. Думаю мы отвлечемся на один урок от блупринтов и поработаем с анимацией персонажа, что бы уже представлять как будет двигаться наш персонаж. Также хотелось бы отметить тех пользователей которые активно проявляют себя, пишут комментарии, спасибо вам огромное. Предлагайте темы, задавайте вопросы, обсуждайте, я стараюсь для вас и мне важно видеть что вы заинтересованы.



Если вы хотите поддержать меня и мои начинания, то можете сделать это просто:
Яндекс. Деньги - 410014371649547;
QIWI - +79141970017;
WebMoney - R277462752505;


До встречи на страницах GFX-HUB.
Комментарии к новости
Добавить комментарий
Добавить свой комментарий:
Ваше Имя:
Ваш E-Mail:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent
Введите два слова, показанных на изображении: *
Архив
«    Май 2019    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
2728293031 
Февраль 2019 (9)
Январь 2019 (85)
Декабрь 2018 (109)
Ноябрь 2018 (13)
Октябрь 2018 (33)
Сентябрь 2018 (98)
Опрос
ТОП Комментарии
alex
alex пишет:
Вот тут свежая версия -
Olga
saptsyna пишет:
Не может найти(
Igor пишет:
ну там просто только через премиум доступно скачивание...
alex
alex пишет:
Там все файлы есть на hitfile. В чем конкретно проблема?