[Глава 3] Как создать игру на Unreal Engine 4 / 5. Blueprints Создаём интерактивный лифт [практика]
ฝัง
- เผยแพร่เมื่อ 26 ธ.ค. 2019
- В этом практическом уроке мы создадим стеклянный лифт с интерактивными кнопками и запрограммируем его с помощью blueprint на игровом движке Unreal Engine
Логика будет построена на основе:
Timeline - Анимация
Spline - Направляющая
Line Trace - Линейная трассировка
Input - Назначение клавиш
Cast - Обмен данными между двумя блупринтами
Материал
Collision - Невидимая оболочка
Events - События
Attach - Скрепление объектов
Inherit - Наследование классов
Аудио - Звук
Разовый донат new.donatepay.ru/@cyberstars
Patreon - / cyberstars
Discord - / discord
Google Play - play.google.com/store/apps/de...
Facebook - CyberstarsEn...
Instagram - cyberstars_...
ВКонтакте - cyberstars_entertainment
@UnrealEngine
Модель лифта лежит в комментариях
vk.com/cyberstars_entertainment?w=wall-179051326_46
Брат возвращайся к нам мы тебя все ждем
@@user-lt3ms2ju8w а почему не в описании?
Единственный ютубер, который может понятно объяснить как сделать ту или иную вещь в игре!
В принципе, всё просто, как писать обычную прогу. Думал, в анриле надо много писать кода на C++, как в юните на шарпе))
У тебя клёвый канал! Желаю успехов и развития!
Крутой видосик, со стороны вроде сложно, а скачал и втянулся полностью👍
Благодарю за столь подробное видео. Только начинаю разбираться с движком - твои уроки очень помогают.
Топчик новый формат видосов всегда радует. 5 из 5
Очень интересно и познавательно. Спасибо за такие подробные уроки!
Ставлю Лайк не глядя, знаю будет чёткий урок! 👍
Давно искала что то подобное. Благодарю)
Это именно то что я искал, прям золото, спасибо!!!
спасибо вам большое за ваши уроки, ничего интереснее в жизни не видел, однозначно лайк и подписка
Классный видос! Узнал для себя много нового. Побольше бы таких видосов
супер видосик)
Крутой урок. Но почему ты не попробовал разбить логику - по типу MVC или еще чего-нибудь. Чтобы не городить все в один блупринт, я сделал контроллер кнопок и дверей лифта. Нажимая кнопку, она передает в контроллер номер этажа, переменную, а контроллер уже открывает двери, соответствующие номеру этажа. Так же лифт отправляясь говорит контроллеру закрыть дверь, а тот уже сам знает какая дерь текущая и говорит ей закрыться. Так же методы открытия и закрытия двери содердит сама дверь. Контроллер лишь говорит двери закрыться, а она сама видит открыта она или нет и не делает открытия, если она открыта. Таким образом можно упростить логику каждого конкретного блупринта. Как вариант, если дверей будет 20, тебе придется делать сравнение по имени объекта 20 раз. И главное, чтоб в ходе проекта кто-ниюудь случайно не переименовал объекты. Но урок реально зачетный, пришлось подумать и попрактиковаться удалось.
Ты крут, не останавливайся
Мега залипательный процесс, но сложный
Спасибо мне очень помогло!!!
Мега познавательное видео не на один день просмотра. В моём случае получилось что: 1)Line trace (c видом от 3го лица) не двигается по вертикали; 2)Двери всё равно закрываются при закрытом состоянии; 3)Одна внутренняя дверь не закрывается полностью, а в каких-то случаях уезжает далеко. А до звуков я ещё не досмотрел. Очень жарко)) За-то зеркало в лифте работает корректно и управление авто не сломалось которое тоже подвязано на line trace. Автору большущее спасибо)
Спасибо за Ваши уроки.
Работаю на версии 5.1
На 27 минуте пока не переключил с local на world в нодах Get Location at time и Get Location at Sline Poin не работало движение лифта, вернее он резко падал на пол корпуса вниз.
Ты лучший)) Спасибо тебе большое
Ай молодец!, все красиво!
хотим продвинутой математики наглядно, и VR...
Осилил)) Спасибо
После второй главы сидишь и думаешь "сколько всего, где и как это вообще применять?" создаётся ощущение, что половина информации будет редко использоваться, а потом включаешь третью главу и тут рассказывается как на примере простого лифта используется почти всё, что рассказывалось во второй главе
Все продуманно)
Отличные видео! Но есть вопрос - когда получаю ссылку на BP Лифта: если имя ивента начинается не с цифры (GoFirstFloor), то привязять через makeArray не получается. Не могу понять почему...
Привет! Спасибо тебе за твои труды)) Давно хотел освоить UE4. Скажи пожалуйста, а как этот лифт переделать под vr игру?
круто, спасибо. А есть ли способ точно настроить лайнтрейс для TPS режима а не FPS?
вкрутил логику, но лучи пуляет не туда куда смотрю, а как попало
Топовые, но музыку на задний фон надо, а то засыпаю в моменты тишины. Лайк
Курто всё четко 👍👍 но думаю можно сделать другим легким способом
я проверил разные способы этот лучше, но не отрицаю, что возможны и другие пути
замечательно и все понятно, но мог бы и шлифануть до конца ))
Норм, спасибо
Правда после ланча кнопка вызова не работала и двери внешние не открывались, но там видимо я накосячил
Добрый день всем! откуда найдем элеватор лифт .fbx? ? ? скиньте please !!
Aziz Salokhitdinov Я сам не знаю(
Нашёл более простой и быстрый способ выделения сразу всех объектов, чтобы не выделять по-одному (имею в виду этот момент th-cam.com/video/uV8hkA9f_vk/w-d-xo.html ). Способ: yapx.ru/v/GWdJP (все объекты, находящиеся на одной линии, сразу выделяются, затем копируем их, зажав кнопку ALT)
Привет, подскажи как правильней модифицировать кнопки лифта, чтобы можно было ещё одной кнопкой в лифте останавливать его в любом месте?
И при этом чтобы анимация работала плавной остановки а не резкой)
Здравствуйте, подскажите пожалуйста в чем может быть ошибка.
1. У меня звук движения лифта срабатывает как только я жму на Play, как будто у меня логика к ивенту begin play привязана, хотя я делал все как в видео. И этот звук проигрывается 1-й раз, а после все работает.
2. У меня почему то, когда я еду с 3-го этажа на любой другой не проигрываются ни какие звуки кроме звука открытия дверей.
3. Также у меня звук нажатия кнопки работает только при нажатии кнопки 1-го этажа, кнопки stop и кнопки вызова лифта с 1-го этажа, а все остальные не работают
Приветствую Разработчик! Вопрос - почему не работает анимация нажатия кнопки в дочернем блюпринт классе? В симуляции анимация присутствует (если установить Begin Play), в "игре" родительская кнопка двигается, дочерняя - нет. Куда копать нужно? Спасибо!
Всем привет, у меня такой вопрос есть, вот у него на видео с помощью куба он вырезает дыру в стене или в потолке, в общем где угодно, так вот, я когда делаю абсолютно тоже самое(ставлю тот же куб и также делаю его невидимым), то он просто пропадает из виду и при этом дыра в стене появляется, кто знает что можно сделать, чтобы работало точно также как и у автора этого видео ?
У меня наверное очень глупый вопрос но в эту тему первую неделю начал вникать, подскажите ктонебуть. Можно ли без C++ создать игру для мобильных устройств наподобие ПАБГ только с сюжетом???
блэт, на этапе проверки первой жму контрол и лифт то ли улетает в небеса то ли просто исчезает(
не открываются двери на первом этаже что делать?
Вопросик: как у Вас получилось, поставить лестницы в обрезанный объём на 8:30?
Я ставлю и у меня лестница тоже вырезается(((
Там в настройках была галка. Но я непомню название
как сделать второй лифт?
Здравствуйте! Код идентичный.Лифт едет вверх а вниз нет с чем это может быть связанно?
такая же проблема!!!
Я так и не смог пока найти урок по тому как можно сделать кнопку стоп находящуюся в лифте. Если у тебя будет возможность, можешь дать направление в каком искать информацию? Спасибо заранее!
В этом уроке такая кнопка есть
@@cyberstars-5839 пересмотрю ещё раз внимательнее) спасибо за ответ!!
Решено! Было: У меня Лифт всегда улетает в нули X и Y и там ездит по Z. Решение: Spline должен находиться в корне DefaultSceneRoot
Добрый игры когда будут создавать из истории Евреев из Египта такая у меня задумка сильная мировая игра получилась бы (:
Для тех, у кого в 2022 не едет лифт вниз (если ВЫ такой же затылок как я) - ставьте "на какой этаж" в "где лифт сейчас" - это сет после бранча, который идёт на стоп таймлайна!
Почти 2 часа я не мог понять, что не так. Там реально изи запутаться, судя по паре комментам ниже))))😆🤣
Спасибо, 1.5 часа голову ломал, а надо просто читать комментарии ))
@@VladimirB_43 ого, рад был помочь)
58:28 а если в мире будет 100 кнопок с разными назначениями? Неужели придётся для каждой создавать отдельное сравнение по имени и дальнейшую логику? Есть ли более практичный способ?
нету, добро пожаловать в программирование)))
@@cyberstars-5839 В смысле нету??? Урок в принципе хороший для базового понимания. Но вот подходов ООП тут явно не хватает. Я пока совсем не разбираюсь в UE, но нашел метод Cast To с помощью которого можно избежать всего этого дублирования логики для каждой кнопки.
Т.е. у меня все кнопки на этажах это один и тот же BluePrint, с параметром этажа. Кнопки в лифте тоже один BluePrint с указанием этажа.
Дальше после BreakHitResults в FirstPerson делаю Cast To CallButton параметра HIt Actor и если true то вызываю событие нажатия, дальше в BP кнопки вызова идет обработка. Если нет то проверяю Cast To ElevatorButton.
Получается у меня можно теперь сделать 100 кнопок и этажей и не нужно совсем ничего менять, только кнопки расставить и указать у них в параметрах нужный этаж.
Но Cast To тоже какой-то костыльный метод, но пока другого не нашел. Нужно по идее делать наследование полноценное.
А зачем к set "где лифт сейчас" добавлять переменную "на какой этаж"?
Потому что нам же нужно просто определить, где находится лифт в данный момент
это жырный лайк господа
Привет. Подскажи пожалуйста, почему лифт не доезжает до точки. Не пойму вообще закономерности его остановок. Первая точка на сплайне стоит на уровне 2 этажа, лифт останавливается ровно поверхности пола ( все отлично). Вторая точка стоит даже выше 3 этажа, а лифт не доезжает. Середина лифта примерно на уровне пола 3 этажа. Получается, если бы я точку поставил бы на уровне пола 3 этажа, лифт остановился бы еще ниже. Даже крышей бы не достал до3-го.
доезжает до точки сплайна то место у лифта где находится его опорная точка(pivot), если опорная точка лифта не доезжает до нужной точки в сплайне, то дело уже в логике блупринта - смотрите сам timeline.
Отсоедините лишнее, оставьте только лифт с timeline и погоняйте его по этажам
@@cyberstars-5839 Разобрался что мешало. В Велью на графике поставил не один, а номер максимальной точки. У меня 4 этажа, значит ставим значение 3 и все заработало. Не пойму как на видео сработало)
Можно еще вопросик? В таймлайне есть плей и реверс. Плай - всегда движение в сторону +, а реверс в сторону - ? Ведь то что лифт двигается именно вверх , за это плей отвечает?
Здравствуйте,не подскажете где скачать лифт?
vk.com/cyberstars_entertainment
Под постом с роликом о лифте в комментариях лежит архив
У меня небольшая проблема с моей шахтой
Шахта должна быть широкой, чтобы лифт свободно проходил
@@xo0oxNicKeRxo0ox есть неполадки с прохождением лифта на начальных этапах
@@rapatologyrrr472Не используйте два лифта в одной шахте!
Убедитесь в том, что ваш лифт не шире шахты,
либо используйте модель лифта росчитаную на одного человека
@@cyberstars-5839 спасибо за совет, я раздвинула шахту и лифт проскользнул
Привет! Код идентичный, сплайн идентичный. Мой куб улетает мгновенно. Код, который самый первый на left ctrl.
Нет не идентичный. Я New_Track_0 присвоил к Time, а нужно было к Z вектору. Теперь заработало, как надо.
Да, я не выставил в timeline от 0 до 1, а оставил 1000. Поэтому куб улетал мгновенно. Проблема решена.
Я поставил 666й лайк ))
Интересно, понятно, но на твой алгоритм мне как профессиональному программисту с 12-летним стажем без слёз смотреть не получается: какие условия, какие ветки вверх вниз?! всё что нужно 2 переменные: текущая Z координата и конечная, и осуществляешь анимацию от текущей к конечной, при этом каждая кнопка содержит константу - свою конечную координату.
Звучит красиво, а теперь попробуйте это провернуть на Blueprint)))
при попытке запихнуть координаты в анимацию timeline, ваша логика обросла бы еще слоем нод,
И анимируетя время а не координаты, так оптимальней
Как вообще много времени занимает вникание....во все это....?
Пол года практики, думаю будет достаточно чтобы научится выстраивать алгоритмы (и думать как компьютер)
@@mrs7638 Аж хрюкнул)))
Брат возвращайся к нам мы тебя все ждем
как сделать line trace для камеры от 3 лица?
также, камера висит за персонажем, найдите блуприн персонажа
@@cyberstars-5839 что то ничего не получилось
2
Зачем перезаливать?
Было нарушение по музыке
ты так все запутал, сука столько нервов моих потратил
Аааааааа
Эти Блюпринты реально сложнее и запутаннее кода.
Вроде интересная тема. Но мутный урок, двери то вместе в право открываются, то одна открывается влево вторая стоит....ерунда не работает это
Ужасная логика. Просто ужасная.
1. Правильнее было бы решать все интеракты с кнопками через интерфейс как здесь: th-cam.com/video/YeSMZVQXnYA/w-d-xo.html
2. При такой реализации анимация не может быть плавной, поскольку при достижении до определенного этажа, кроме верхнего играется не весь цикл анимации! А следовательно невозможно сделать плавное затухание движения графиком в таймлапсе.
3. По всей вероятности именно из-за сплайна (по которому лифт поднимается) невозможно сделать второй такой же лифт на сцене. Он просто не работает. Движение лифта надо реализовывать явно каким-то другим способом, например вектором, как в том же ролике: th-cam.com/video/YeSMZVQXnYA/w-d-xo.html
4. Ну и напоследок - такая проверка нажатия кнопок реально - полное говно. Лифт на 10 этажей уже порождает такой гигантский спрут из нод - что это просто кошмар. В любом случае нужно более оптимальное решение.