![[Глава 2] Как создать игру на Unreal Engine 4 / 5. Программирование в Blueprint [в одном уроке]](https://i3.ytimg.com/vi/bid81A0hor8/maxresdefault.jpg)
[Глава 2] Как создать игру на Unreal Engine 4 / 5. Программирование в Blueprint [в одном уроке]
содержание видео
Дата: 2022-08-29
Похожие видео
Комментарии и отзывы: 20
Евгений
доброй ночи, новый вопросик, теперь посложней ) такая проблемка возникла, есть два обьекта, ячейка и пулька, у них настроены у обоих события onComponentHIt и если выводить в консоль то сообщения выводятся для обоих, пулька говорит что врезалась, а ячейка сообщает что в нее врезались. все хорошо, пока я не добавляю логику удаления пульки при контакте с ячейкей, я на onHit для пули вызываю DestroyActor, пуля исчезает, но второй хит у ячейки уже не отрабатывает. и это ОЧЕНЬ странно, мне пришлось перенести код удаления пули в код hit для ячейки, и выходит что обьект знает особенности удаления другого обьекта, что не очень ложится в SOLID, хотелось бы развязать эти два поведения. но мне очень не понятно зачем так сделали? я ожидал что хит отработотает на обоих обьектах. вынести код в пулю тоже оказалось не удобно, в силу того что, чтобы вызвать кастомное событие destroyCell, мне надо проверять в кого я врезался, делать cast и вызывать их. это превратилось в вермишель и все из-за того что второй hit не хочет вызываться. я предпологаю что я просто не коректно понимаю архитекругу событий движка, подскажите как быть. а то эта вермишель меня угнетает, думал еще вариант с диспатчером или интерфейсами. но это будет уже сахаром, он не отвечает на вопрос почему -гасится- цепочка событий пайплайна. если он там вообще есть. и в чем разница между Event Hit и onComponentHit? час спустя. пошел покурил. вернулся и меня осенило что если моя ячейке не стоит галочка simulate phisycs, выставил. и все стало на оборот, теперь ячейка отрабатывает первой а логика удаления пульки не срабатывает и думаю потому что ячейка тоже уничтожаемая, и теперь она убивается раньше и не передает эстафету hit пуле. что за круговая порука. я не хочу писать код все в одном блупринте только чтобы срабатывали события. в них тогда нет никакого смысла (
ответить
доброй ночи, новый вопросик, теперь посложней ) такая проблемка возникла, есть два обьекта, ячейка и пулька, у них настроены у обоих события onComponentHIt и если выводить в консоль то сообщения выводятся для обоих, пулька говорит что врезалась, а ячейка сообщает что в нее врезались. все хорошо, пока я не добавляю логику удаления пульки при контакте с ячейкей, я на onHit для пули вызываю DestroyActor, пуля исчезает, но второй хит у ячейки уже не отрабатывает. и это ОЧЕНЬ странно, мне пришлось перенести код удаления пули в код hit для ячейки, и выходит что обьект знает особенности удаления другого обьекта, что не очень ложится в SOLID, хотелось бы развязать эти два поведения. но мне очень не понятно зачем так сделали? я ожидал что хит отработотает на обоих обьектах. вынести код в пулю тоже оказалось не удобно, в силу того что, чтобы вызвать кастомное событие destroyCell, мне надо проверять в кого я врезался, делать cast и вызывать их. это превратилось в вермишель и все из-за того что второй hit не хочет вызываться. я предпологаю что я просто не коректно понимаю архитекругу событий движка, подскажите как быть. а то эта вермишель меня угнетает, думал еще вариант с диспатчером или интерфейсами. но это будет уже сахаром, он не отвечает на вопрос почему -гасится- цепочка событий пайплайна. если он там вообще есть. и в чем разница между Event Hit и onComponentHit? час спустя. пошел покурил. вернулся и меня осенило что если моя ячейке не стоит галочка simulate phisycs, выставил. и все стало на оборот, теперь ячейка отрабатывает первой а логика удаления пульки не срабатывает и думаю потому что ячейка тоже уничтожаемая, и теперь она убивается раньше и не передает эстафету hit пуле. что за круговая порука. я не хочу писать код все в одном блупринте только чтобы срабатывали события. в них тогда нет никакого смысла (
ответить
Евгений
добрый вечер, в чем особоенность defaultSceneRoot, очень себя странно ведут блупринты, в которых скажем куб находится как дочерний для него. в другом обьекте я захватываю событие onbeginOverlap, беру из него OtherActor меняю ему размер через setworldscale3d, и ничего не происходит, точнее в сообщениях консоли я вижу что значение меняется, но визуально компонент не меняется, переношу этот же код, в блупринт самого куба на beginStart, как обьект подсовываю ему прямую ссылку cube, и все увеличивается, причем если зайти в сам блупринт куба выделить defaultSceneRoot, там стоят для скейла 1 1 1, если их менять то меняется и сам cube, но в коде почему то не происходит, и самая вишенка, что если перетянуть куб из -дочерности- на defaultSceneRoot, то этот рут пропадает и остается только куб, и все начинает работать и на оверлап уже все реагирует как и ожидалось изначально. что за зверь такой этот defaultSceneRoot, зачем он нужен и как с ним коретко работать, как вытягивать правильно куб, там ведь могут быть и другие обьекты и если я захочу их скопом увеличить, то было бы удобно скажем удвоить развем по одной оси, но все равно оно не работает. тогда зачем он нужен? у вас в видео вы атачите капсулы к кубу, и тогда оно работает, но если скейлить сам defaultSceneRoot, ничего не происходит. у вас на 1: 39, вы делаете через интерфейсы и там получается прямую ссылку на цилиндр, НО, если я в коде получаю ссылку на сам блупринт, как мне достучатся к кубу внутри него, но главный вопрос, это почему увеличение через SetWorldScale для defaultSceneRoot, не приводит к визуальным изменениям? (
ответить
добрый вечер, в чем особоенность defaultSceneRoot, очень себя странно ведут блупринты, в которых скажем куб находится как дочерний для него. в другом обьекте я захватываю событие onbeginOverlap, беру из него OtherActor меняю ему размер через setworldscale3d, и ничего не происходит, точнее в сообщениях консоли я вижу что значение меняется, но визуально компонент не меняется, переношу этот же код, в блупринт самого куба на beginStart, как обьект подсовываю ему прямую ссылку cube, и все увеличивается, причем если зайти в сам блупринт куба выделить defaultSceneRoot, там стоят для скейла 1 1 1, если их менять то меняется и сам cube, но в коде почему то не происходит, и самая вишенка, что если перетянуть куб из -дочерности- на defaultSceneRoot, то этот рут пропадает и остается только куб, и все начинает работать и на оверлап уже все реагирует как и ожидалось изначально. что за зверь такой этот defaultSceneRoot, зачем он нужен и как с ним коретко работать, как вытягивать правильно куб, там ведь могут быть и другие обьекты и если я захочу их скопом увеличить, то было бы удобно скажем удвоить развем по одной оси, но все равно оно не работает. тогда зачем он нужен? у вас в видео вы атачите капсулы к кубу, и тогда оно работает, но если скейлить сам defaultSceneRoot, ничего не происходит. у вас на 1: 39, вы делаете через интерфейсы и там получается прямую ссылку на цилиндр, НО, если я в коде получаю ссылку на сам блупринт, как мне достучатся к кубу внутри него, но главный вопрос, это почему увеличение через SetWorldScale для defaultSceneRoot, не приводит к визуальным изменениям? (
ответить
pcsekret
31: 10 - большое спасибо за урок, весьма информативно, хотя только половину успел просмотреть. Возник вопрос, а каким образом контролируется частота проверок при вызове события при не удержании клавиши? 31: 11. Разве комп не грузит, если игра постоянно проверяет, а не нажата ли определенная клавиша?
К тому же, как можно менять, раз в какое время будет прибавляться значение к объекту? Например, если хочется, чтобы он увеличивался на +1 каждые 2 секунды удержания клавиши. А то я в InputAxis не вижу значения, ответственного за время удержания.
ответить
31: 10 - большое спасибо за урок, весьма информативно, хотя только половину успел просмотреть. Возник вопрос, а каким образом контролируется частота проверок при вызове события при не удержании клавиши? 31: 11. Разве комп не грузит, если игра постоянно проверяет, а не нажата ли определенная клавиша?
К тому же, как можно менять, раз в какое время будет прибавляться значение к объекту? Например, если хочется, чтобы он увеличивался на +1 каждые 2 секунды удержания клавиши. А то я в InputAxis не вижу значения, ответственного за время удержания.
ответить
Евгений
подскажите плиз, а как создать управляемый обьект, чтобы можно было ему так же сетить события на мувемент, выставлять параметры скорости и т. д. только чтобы это была не капсула а куб? а то я пытаюсь удалить капсулу а оно нивкакую. я хочу сделать доску отбивающую мячик, но для pawn и actor, таких настроек как скорость движения и прочего нет, и как быть? ) думал схитрю заменю капсулу на куб, а нету там закладки меша, я могу выставить капсуле nocolision, и добавить туда свой куб, но как то это уже пахнет костылями(заранее спасибо )
ответить
подскажите плиз, а как создать управляемый обьект, чтобы можно было ему так же сетить события на мувемент, выставлять параметры скорости и т. д. только чтобы это была не капсула а куб? а то я пытаюсь удалить капсулу а оно нивкакую. я хочу сделать доску отбивающую мячик, но для pawn и actor, таких настроек как скорость движения и прочего нет, и как быть? ) думал схитрю заменю капсулу на куб, а нету там закладки меша, я могу выставить капсуле nocolision, и добавить туда свой куб, но как то это уже пахнет костылями(заранее спасибо )
ответить
igorpopkoff
Автору: музыка на заднем фоне отвлекает.
Если мне надо будет дополнительно развлечься во время обучения, я всегда могу включить на своём компьютере всё, что мне надо - от радио и ютуба в другом браузере до игр. А так отвлекает, внимание переключается с урока на музыку. Иногда даже непонятно, что это музыка и начинаешь смотреть, что там упасть могло за спиной и издать такой звук.
ответить
Автору: музыка на заднем фоне отвлекает.
Если мне надо будет дополнительно развлечься во время обучения, я всегда могу включить на своём компьютере всё, что мне надо - от радио и ютуба в другом браузере до игр. А так отвлекает, внимание переключается с урока на музыку. Иногда даже непонятно, что это музыка и начинаешь смотреть, что там упасть могло за спиной и издать такой звук.
ответить
linkedhashmap
Спасибо за отличные уроки!
Подскажите новичку, пожалуйста. странная штука: клавиши управления персонажем самопроизвольно меняются с кнопок WASD на стрелочки. уже во втором проекте так случилось. никаких назначений клавишь не делал. Сделал таймлайн с поднимающейся платформой. вчера WASD был, сегодня стрелочки. Версия 4. 27. 1 на Ubuntu 20. 04
ответить
Спасибо за отличные уроки!
Подскажите новичку, пожалуйста. странная штука: клавиши управления персонажем самопроизвольно меняются с кнопок WASD на стрелочки. уже во втором проекте так случилось. никаких назначений клавишь не делал. Сделал таймлайн с поднимающейся платформой. вчера WASD был, сегодня стрелочки. Версия 4. 27. 1 на Ubuntu 20. 04
ответить
W.
А как поступить в таком случае? Есть 2-3 объекта, их надо поворачивать и двигать одновременно. Под каждый делать ветки Get All Actors of Class? А что если их 500? Объединение в группу (ctrl+G) хоть и даёт озможность двигать объекты во вьюпорте, но не даёт никакого инстанса в блюпринтах. Как объединить в группу и достучаться до неё?
ответить
А как поступить в таком случае? Есть 2-3 объекта, их надо поворачивать и двигать одновременно. Под каждый делать ветки Get All Actors of Class? А что если их 500? Объединение в группу (ctrl+G) хоть и даёт озможность двигать объекты во вьюпорте, но не даёт никакого инстанса в блюпринтах. Как объединить в группу и достучаться до неё?
ответить
Cyberstars
7: 46 Трансформация
15: 00 Timeline Анимация
22: 11 Назначение клавиш
34: 20 Cast
44: 26 Материал
54: 56 Коллизия
1: 00: 41 Физика
1: 08: 42 События
1: 17: 10 Event Dispatcher
1: 32: 21 Blueprint Interface
1: 47: 13 Структуры
1: 50: 06 Энумерация
1: 51: 43 Аудио
1: 58: 16 Время
2: 03: 50 Скрепление
2: 12: 56 Line Trace
2: 30: 09 Spline
2: 50: 41 Наследование
ответить
7: 46 Трансформация
15: 00 Timeline Анимация
22: 11 Назначение клавиш
34: 20 Cast
44: 26 Материал
54: 56 Коллизия
1: 00: 41 Физика
1: 08: 42 События
1: 17: 10 Event Dispatcher
1: 32: 21 Blueprint Interface
1: 47: 13 Структуры
1: 50: 06 Энумерация
1: 51: 43 Аудио
1: 58: 16 Время
2: 03: 50 Скрепление
2: 12: 56 Line Trace
2: 30: 09 Spline
2: 50: 41 Наследование
ответить
Seliverstoff
21: 44 -Плавную анимацию-? -Применить интерполяцию-? По вашему до этого была анимация не плавной, а интерполяция отсутствовала? Правильно было бы сказать: -Можно менять режимы интерполяции от линейной к сглаженной (бизье и её разновидности)-.
ответить
21: 44 -Плавную анимацию-? -Применить интерполяцию-? По вашему до этого была анимация не плавной, а интерполяция отсутствовала? Правильно было бы сказать: -Можно менять режимы интерполяции от линейной к сглаженной (бизье и её разновидности)-.
ответить
Nikolay
Отличная лекция! По материалам только бросилось в глаза, что normal не работает на основе чёрного и белого, а bump это старая технология появившаяся ещё до normal, diffuse это просто цвет объекта, а specular не отражение, а карта бликов: )
ответить
Отличная лекция! По материалам только бросилось в глаза, что normal не работает на основе чёрного и белого, а bump это старая технология появившаяся ещё до normal, diffuse это просто цвет объекта, а specular не отражение, а карта бликов: )
ответить
int
Спасибо за урок!
Но зачем такая бьющая по ушам музыка на фоне в начале ролика. Она же конкретно мешает воспринимать информацию. Поставил бы что-нибудь нейтральное или спокойное, было бы совсем другое дело.
ответить
Спасибо за урок!
Но зачем такая бьющая по ушам музыка на фоне в начале ролика. Она же конкретно мешает воспринимать информацию. Поставил бы что-нибудь нейтральное или спокойное, было бы совсем другое дело.
ответить
Дядя
Все очень интересно, но мне кажется будет хорошо, если все эти примеры были бы показаны в примере, зачем и что решает они в игровых проектах. Или я просто не понял, как где это правильно применить)
ответить
Все очень интересно, но мне кажется будет хорошо, если все эти примеры были бы показаны в примере, зачем и что решает они в игровых проектах. Или я просто не понял, как где это правильно применить)
ответить
freeMYSTANG
То самое чувство, когда досмотрел до конца: глаза красные, мозг кипит, сам в шаге от нервного срыва и тут фраза: -. ух, что нас ждёт! - и у меня глаз задёргался)
ответить
То самое чувство, когда досмотрел до конца: глаза красные, мозг кипит, сам в шаге от нервного срыва и тут фраза: -. ух, что нас ждёт! - и у меня глаз задёргался)
ответить
Voin
У меня возникла проблема! Когда я сделал светящийся материал и приблизился к нему редактор потемнел, а когда отдалился снова стал светлым. Как это убрать?
ответить
У меня возникла проблема! Когда я сделал светящийся материал и приблизился к нему редактор потемнел, а когда отдалился снова стал светлым. Как это убрать?
ответить
Roman
Лучшие обучающие видео в рус. сегменте. -
Проработаный материал, качественная подача, приянтая дикция, где донатить? -
Твори еще, будем ждать!
ответить
Лучшие обучающие видео в рус. сегменте. -
Проработаный материал, качественная подача, приянтая дикция, где донатить? -
Твори еще, будем ждать!
ответить
Дмитрий
Спасибо большое за такие отличные курсы, з такой проделанный труд! А есть ли такая же структурированная информация в текстовом виде?
ответить
Спасибо большое за такие отличные курсы, з такой проделанный труд! А есть ли такая же структурированная информация в текстовом виде?
ответить
Евгений
по какой лицензии вы используете музыку, есть ли проблемы с авторским правом на ютуб? или видео не расматривалось для монетизации?
ответить
по какой лицензии вы используете музыку, есть ли проблемы с авторским правом на ютуб? или видео не расматривалось для монетизации?
ответить
Mozoz
На 36: 36 видео у тебя присутствует вкладка default но у меня её нет на панели вообще. Это обнова или я что то сделал не так?
ответить
На 36: 36 видео у тебя присутствует вкладка default но у меня её нет на панели вообще. Это обнова или я что то сделал не так?
ответить
SchiZoFriends
Алилуя я дошел до конца ролика, значит я не так и безнадёжен, ну хоть немного понятно шо это такое) спасибо
ответить
Алилуя я дошел до конца ролика, значит я не так и безнадёжен, ну хоть немного понятно шо это такое) спасибо
ответить
Gryazekrab
Круто, бро. У тебя есть всё чего не хватает unreal engine rus. Т. е. умения доступно подавать информацию. Продолжай.
ответить
Круто, бро. У тебя есть всё чего не хватает unreal engine rus. Т. е. умения доступно подавать информацию. Продолжай.
ответить
Добавить отзыв, комментарий















