Как сделать катсцену в unreal engine 4

Обновлено: 05.07.2024

​Реакции столкновения (Collision Responses) и реакции трассировки (Trace Responses) формируют основу для обработки столкновений и бросания лучей (ray casting) UE4 во время игры. Каждый объект, который может сталкиваться, получает объектный тип и ряд реакций, которые определяют как он будет взаимодействовать со всеми другими типами объектов. Когда происходит столкновение или событие пересечения, у всех взаимодействующих объектов может быть установлено воздействие или реакция на воздействие следующим образом: блокировкой, игнорированием или событием пересечения.

Trace Response в основном работает также, за исключением того, что сама трассировка (ray cast) может быть назначена как один из типов Trace Response, таким образом позволяя Actor либо блокировать его, либо игнорировать, основываясь на их Trace Response.

Взаимодействия

Нужно иметь ввиду несколько правил, по которым обрабатываются столкновения:

  • Блокировка естественно случится между двумя или более Actor, если у них установлено Block. Однако чтобы произошло событие попадания (Hit Event), которое используется в блюпринтах, разрушаемых Actor (Destructible Actor), триггерах и т.д., должен быть включен Simulation Generates Hit Events.
  • Установка у Actor Overlap часто выглядит так, как будто объекты игнорируют друг друга - без включения Generates Overlap Events, по сути Overlap работает также как Ignore.
  • Чтобы объекты блокировали друг друга, у всех должно быть выставлено Block в соответствующих типах объектов.
  • Для взаимодействующих объектов: если у одного стоит Overlap а у другого Block, то при столкновении сработает overlap а не block.
  • Overlap Event может быть сгенерировано даже если у объекта включен Block, особенно при движении на высокой скорости.
    • не рекомендуется для объекта иметь и событие пересечения и событие столкновения. Это требует ручной настройки.

    ​Для целей тестирования уровней и осмотра вашего мира:

    • В режиме по умолчанию Play In Editor камера является Pawn. Она может быть заблокирована любым Pawn с включенным Block.
    • В режиме Simulate In Editor камера, пока не вселилась во что-нибудь, не является Pawn. Она может свободно проходить сквозь все препятствия и не создает никаких событий и коллизий.

    ​Примеры взаимодействий при столкновениях

    Эти взаимодействия предполагают что у всех объектов в пункте Collision Enabled стоит Collision Enabled, так что они настроены на полное столкновение со всем. Если же коллизия выключена, это будет аналогично установке Ignore во всех пунктах Collision Responses.

    В следующем разделе будут даны настройки для объяснения происходящего:


    Здесь шар - PhysicsBody, a стена - WorldDynamic, и изменяя их настройки столкновения мы можем получить различные поведения.

    Столкновение

    Установив у обоих объектов в настройках коллизии блокировать друг друга, мы получим хороший пример взаимодействия объектов:


    Настройки коллизий шара Настройки коллизий Стенки


    В этом случае шар это PhysicsBody и он настроен на блокировку WorldDynamic (которой является стена). Стена это WorldDynamic и она установлена на блокировку PhysicsBody (которым является шар).

    В этом случае шар и стена просто столкнутся; никаких дополнительных уведомлений о столкновении не будет.

    Столкновение и генерирование Hit Event

    Просто столкновение полезно и в целом это достаточный минимум для физических взаимодействий, но если вы хотите чтобы возникало событие столкновения для срабатывания блюпринта или участка кода:


    Настройка коллизий шара Настройка коллизий стены


    Как и в предыдущем примере, шар это PhysicsBody и он настроен на блокировку WorldDynamic (которой является стена). Однако у него также включен Simulation Generates Hit Event, так что он будет сам вызывать событие каждый раз, когда сталкивается с чем-нибудь. Стена это WorldDynamic и она настроена на блокировку PhysicsBody (которым является шар). Поскольку у стены не включен Simulation Generates Hit Event, она не станет генерировать событие столкновения.

    С установкой у шара Simulation Generates Hit Event, он будет знать когда столкнется с чем-либо. В результате выдаются события в блюпринте шара, такие как RecieveHit и OnComponentHit. А вот у стены, если произойдет столкновение, никакого события не возникнет, так как она себе не сообщит об этом.

    Пересечение и игнорирование (Overlap и Ignore)

    Для всех намерений и целей, Overlap и Ignore работают точно также, как если Generate Overlap Events отключен. В этом случае шар настраивается на пересечение или игнорирование стены:


    Настройки Коллизий Шара Настройки Коллизий Стены


    Здесь шар настроен на пересечение с объектами WorldDynamic (как наша стена), но у него не включен Generate Overlap Events. Таким образом настроенный шар ни с чем не столкнется и не пересечется, то есть проигнорирует нашу стену. Стена является WorldDynamic и настроена на блокировку объектов PhysicsBody (которым является шар). Как указано выше, оба объекта должны быть настроены на блокировку соответствующих типов объектов, иначе столкновения не произойдет.

    Настройки Коллизий Шара Настройки Коллизий Стены


    Здесь шар настроен на игнорирование WorldDynamic ( таких как наша стена), и он пройдет сквозь стену. Стена является WorldDynamic и настроена на блокировку PhysicsBody (которым является наш шар). Как показано выше, оба объекта должны быть настроены на блокировку типов друг друга, иначе столкновения не произойдет.

    Пересечение и генерирование события пересечения (Overlap Event)

    В отличие от столкновений, которые срабатывают каждый кадр, события пересечения срабатывают в начале (RecieveBeginOverlap) и в конце (RecieveEndOverlap) пересечения.

    Для того, чтобы случилось пересечение, нужно чтобы у обоих Actor'ов был включен пункт Generate Overlap Events. Это сделано для производительности.

    Привет, меня зовут Алексей, я работаю в компании Pingle Game Studio на должности Head of Division харьковского департамента. Свою деятельность я начал в 1996 году, и она всегда была связана с видеоиграми. Помимо этого, я создавал видеоролики и всевозможные шоу для телевидения, кино и для научных разработок.

    В этой статье я расскажу вам, какие новые потрясающие инструменты предоставляет Unreal Engine 4, позволяющие сделать клип или визуальную сцену настолько быстро и просто, как никогда раньше.

    Моя статья про Unreal будет интересна как профессионалам, так и новичкам, которые хотят заниматься синематиками на этом движке.

    Инструменты Unreal Engine 4

    У Unreal Engine 4 появились свои особенности, благодаря которым работать с этим движком стало хоть и по-другому, но значительно проще.

    И если человек раньше работал на телевидении или в постпродакшне и познакомился с Unreal, то он может превратиться либо в Cinematic Artist, либо в Technical Artist — обе позиции очень востребованы в ІТ-компаниях.

    Landscape

    Unreal Engine 4

    Первый инструмент, на который я всегда обращаю внимание — это Landscape, он используется для построения ландшафтов. Существует множество других ландшафтных генераторов, и они предоставляют набор масок: отвечают за тип покрытия, карту высот, геометрию — это все хорошо импортируется в Unreal, где они превращаются в удобные поверхности для дальнейшей обработки.

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

    Unreal Engine 4


    У инструмента от Unreal есть своя особенность, которая делает LOD Level of Detail (уровень детализации) или Level of Development (уровень проработки модели) автоматически на разных дистанциях. Благодаря этому Landscape предоставляет огромный выигрыш по скорости обработки сцены.

    Unreal превосходно справляется с рендером как небольших локаций (до 4 х 4 км), так больших (28 х 28 км и даже больше) — все объекты на нем подгружаются очень быстро.

    Foliage

    Unreal Engine 4

    В Foliage можно даже анимировать объекты на уровне шейдеров. При этом такая высокая скорость реакции, как в Unreal, не встречается больше нигде.

    Приоритетность LOD

    Unreal Engine 4

    Unreal Engine 4

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

    В 2015 году мы тратили около трех дней на рендер лишь одного кадра с 15-тысячной толпой — это делала связка из 16-ти мощных компьютеров. В 2021 году возможности Unreal позволяют обработать всю сцену всего за пять минут на одном компьютере.

    Quixel Bridge


    Я крайне рекомендую использовать библиотеку Quixel Bridge. Правда, она доступна только для пользователей Epic Games Store, но регистрация там бесплатная. Пользователю будет доступны 15 тысяч ассетов Объектов, материалов, текстур, деталей — полностью бесплатно и все высочайшего качества.

    Unreal Engine 4

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

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

    При этом интеграция Quixel Bridge достаточно гибкая — экспорт в Unreal Engine происходит в один клик.

    Mixer

    Unreal Engine 4

    Стоит отметить еще один инструмент на базе Quixel Bridge — Mixer. Он работает в связке с Bridge. Если вы скачали что-то в Bridge, объект автоматически появится в Mixer. Он позволяет в два-три клика быстро изменить объект библиотеки с сохранением геометрии, но с новым шейдингом. При этом полученный результат можно сохранить как смарт-материал и использовать в последующих объектах.

    Volume

    Unreal Engine 4

    Volume — страшная штука для любого рендера из-за обилия эффектов света и тени, а также огромного количества плашек с текстурами. Если раньше на обработку сцены уходили дни, а то и недели, то в Unreal подобные эффекты просчитываются в реальном времени с сохранением высокого качества картинки. Причем неважно, какие это эффекты в сцене: туман, дым, облака, свет. Те, кто занимается синематикой, будут в восторге.

    Sequencer

    Unreal Engine 4

    Unreal Engine 4

    Отдельно отмечу возможность регулировки скорости проигрывания клипов — можно ускорять или замедлять. Это важно для качественной передачи анимации и динамики, а также для синхронизации скорости.

    CameraShake

    Unreal Engine 4

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

    Practicle FX

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

    Unreal Engine 4


    Раньше работа с эффектами в Unreal через Cascade была достаточно сложной и громоздкой. Благо, в четвертой версии движка был добавлен плагин Niagara. Он представляет собой автоматический конвертер. Достоинства плагина в том, что он дает большую производительность, высокое качество, а также предоставляет множество партиклов С помощью систем частиц создаются эффекты огня, дыма, искр и т.д. для насыщения сцены эффектами. Этот плагин наделен возможностью взаимодействия модулей между собой для придания более красивого визуала сцене.

    Unreal Engine 4

    Niagara также упрощает работу с толпой. Например, можно нарисовать косяк рыб, и он будет реалистично двигаться. При этом управление целым косяком очень простое: можно задавать им форму и направление движения.

    При этом нарисовать подобную сцену в Niagara крайне просто, а рендер будет происходить в реальном времени.

    Постпроцессинг и рендеринг

    После постпроцессинга все объекты определенным образом окрашивают нашу сцену. Дополнительно ей придают окрас glow-эффекты, motion blur. В итоге картинка получается перенасыщенной с высоким контрастом. Поэтому необходима дополнительная цветокоррекция. Но перекрасить такую сцену бывает очень сложно из-за «пережаренных« цветов.

    Unreal Engine 4

    В Unreal Engine и до этого была встроенная цветокоррекция. Но раньше на нее в движке мало кто обращал внимание. Но в четвертой версии все изменилось. В цветокоррекцию Unreal Engine 4 был добавлен специальный и очень простой фильтр, который добавляет широкий цветовой диапазон, что важно для покраски сцены. А дальше цветокорректору становится проще ее вытянуть по атмосфере и настроению.

    Еще один великолепный эффект — DOF (Depth of Field). Вы все знаете об эффекте боке, когда на фотографии задний фон размывается, создавая глубину, акцентируя больше внимания на объекте на переднем плане. Но стандартные рендеры не выдерживают этот эффект — появляются шумы и артефакты, а сам процесс создает дикую нагрузку на компьютеры. В Unreal Engine 4 DOF работает невероятно быстро, практически в реальном времени.

    Хочу отметить всевозможные типы Render Pass. Иногда мы используем специфические слои, в которых объявляются разнообразные свойства. Например, добавить сцене объемности, наполнить ее воздухом, сделать десатурацию, прибавить освещения с правильным отражением. Можно даже добавить свои шейдеры с уникальными свойствами. В Unreal Engine 4 появилась даже поддержка новомодных эффектов трассировки лучей, благодаря видеокартам NVIDIA RTX 20-й и 30-й серии.

    Unreal Engine 4

    Напоследок, в Unreal Engine есть возможность использовать разнообразные консольные команды. Это необходимо для добавления тонких настроек эффектам, вроде прописывания приоритета для LOD. Бояться их не стоит, они простые в использовании и все описаны в документации — достаточно скопировать и вставить их в консоль.

    App traffic analysis - solution for f2p games – photo 1

    НЕМНОГО О КУРСЕ

    Этот курс - инструкция по созданию игры на движке Unreal Engine отEpic Games. Вы когда-нибудь мечтали создать собственную игру? Теперь это возможно при помощи игрового движка Unreal Engine 4.

    В ходе курса мы создадим играбельный прототип в жанре Twin Stick Shooter и запустим его на устройстве Android: будем по шагам создавать игрового персонажа, врагов, настраивать звуки, свет, окружение, при этом знакомясь с основными разделами UE4. Мы познакомимся с Blueprints, настроим анимацию, создадим AI персонажа и врагов, поработаем с эффектами, звуками, освещением и синематикой. В завершение соберем игровой прототип под Android.

    Этот курс предназначен для тех, кто всегда хотел сделать свою игру и думал, что это сложно. Мы докажем, что это не так! Все довольно просто - и уже спустя 12 лекций у вас будет готов играбельный прототип мобильного шутера для Android.

    В нашей игре герой может перемещаться в трехмерном мире по двум осям, камера расположена сверху на довольно большой дистанции. Герой умеет стрелять из оружия в указанном направлении во время бега.

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

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

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

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

    Также мы используем систему виджетов UE4, позволяющую удобно отображать и обновлять элементы пользовательского интерфейса.
    Стоит отметить, что в данном курсе разработка механик игры рассматривается более подробно, чем изучение художественных элементов игры.

    Наконец, мы научимся собирать игру под Android, тестировать её на устройстве и узнаем, как можно уменьшить размер установочного файла, что особенно важно для мобильных платформ.
    Все ассеты (персонажи, текстуры, звуки, и т.д.) предоставлены компанией Epic Games на бесплатной основе.

    В этой статье представлены мировые настройки ue4 4.14.

    Знакомство со свойствами в настройках рендеринга:

    • Мобильный HDR: включен ли он на телефоне?Свет с высоким динамическим диапазоном(HDR), если вы выберете этот параметр, на мобильном телефоне будет использоваться полная функция освещения HDR и некоторые функции постобработки. Эти функции требуют большей производительности памяти в обмен на высококачественные световые эффекты. На мобильных телефонах, если вы не нужны лучшие световые эффекты, рекомендуется выключить этот пункт.Более
    • Max Dynamic Point Lights: максимальное количество динамических источников света, которое может поддерживать мобильное устройство. Если установлено значение 0, соответствующий шейдер не будет создаваться. Для изменения этого элемента требуется перезапуск редактора.
    • Использовать общие шейдеры динамических точечных источников света: если вы выберете этот параметр, несколько динамических источников света будут использовать один и тот же шейдер, что немного снизит эффективность, но может уменьшить объем генерации шейдеров. Для изменения этого параметра требуется перезапуск редактора.
    • Включить комбинированное статическое и CSM-тени: принимать ли статические тени и CSM-тени одновременно от фиксированных источников светаCSMТень (вопрос? Я не знаю, почему используются две тени. Следует ли понимать, что обычная карта теней используется для места далеко от камеры, а CSM используется для более близкого места)
    • Отключить затуманивание вершин в мобильных шейдерах: выберите этот параметр, шейдер, используемый на мобильном устройстве, не будет вычислять туман фазы затенения вершин (если есть) для повышения эффективности рендеринга.



    Dual CC Off



    Dual CC On

    • Occlusion Culling: разрешить ли обрезку закрытых объектов, чтобы они не участвовали в рендеринге.
    • Минимальный радиус экрана для источников света: радиус экрана, на котором обрезается источник света, то есть источник света будет обрезан, когда источник света проецируется в систему координат экрана, а его световой радиус меньше этого значения. Это можно понять что источник света отключен, когда источник света находится далеко от камеры возможность
    • Минимальный радиус экрана для раннего прохождения Z: когда радиус объекта, проецируемого на экран во время фазы тестирования Early-Z, меньше этого значения, объект будет обрезан на этапе Early-Z. Увеличение этого значения в определенном диапазоне может улучшить производительность рендеринга.Однако, если настройка слишком велика, большие объекты загораживания будут удалены, и движок может отобразить больше объектов.
    • Мин. Радиус экрана для каскадных теневых карт: (подлежит проверке)
    • Предупреждать об отсутствии предварительно вычисленной видимости: когда нетPrecomputed visibilityСледует ли печатать предупреждение, когда данные могут использоваться текущей камерой, это более практично в играх, требующих предварительно вычисленной видимости, таких как мобильные игры от первого лица.
    • Потоковая передача текстур: после открытия текстуры будут загружены только для видимых в данный момент объектов.
    • Использовать карты нормалей DXT5: следует ли использовать карту нормалей в формате DXT5. Если формат DXT5 не используется, будет использоваться карта нормалей в формате BC5, но формат BC5 поддерживается не всем оборудованием. Для изменения этого элемента требуется перезапуск редактора.
    • Reflection Capture Resolution: установите разрешение Cubmap, которое должно быть установлено в энную степень 2.
    • Уменьшить смешивание Lightmap на гладкой поверхности: (подлежит проверке)
    • Прямое затенение: следует ли использовать режим прямого рендеринга на ПК, для прямого рендеринга требуется аппаратная поддержка модели шейдеров 5, прямой рендеринг поддерживает сглаживание с множественной выборкой (MSAA) и накладные расходы относительно небольшие, но по сравнению с отложенным рендерингом многие эффекты, которые не могут быть достигнуты, для изменения этого пункта необходимо перезапустить редактор
    • Vertex Fogging for Opaque: пусть непрозрачные материалы используют вычисление тумана для каждой вершины, туман для каждой вершины имеет лучшую производительность и поддерживает сглаживание с множественной выборкой (MSAA). Этот параметр используется только для прямого рендеринга



    SSR Reflection



    PR Reflection

    • Адаптивные пиксели на треугольник: следует ли разделять треугольники так, чтобы каждый треугольник содержал одинаковое количество пикселей, чтобы увеличить детализацию модели.
    • Пользовательский проход трафарета глубины: (подлежит проверке)
    • Use Stencil for LOD Dither Fading: (необходимо проверить)
    • Ранний Z-проход Те объекты, которые необходимо визуализировать на ранней Z-фазе, Нет: объекты не обрабатываются, только непрозрачные сетки: отображаются только непрозрачные сетки, непрозрачные и замаскированные сетки решают автоматически: механизм решает, какие объекты визуализировать
    • Подвижные объекты в раннем Z-проходе: отображать ли движущиеся объекты на ранней стадии Z-прохода.
    • Очистить сцену: выберите метод очистки G-Buffer, Не очищать: неясно, является ли gbuffer самым быстрым методом, но если текущее изображение не может заполнить весь буфер, этот метод будет оставлен, поскольку изображение остается на экране, поэтому лучше всего использовать эту опцию для назначения сцены небесного бокса. Аппаратная очистка: аппаратная очистка полностью очищает перед рендерингом. Этот метод подходит для большинства ситуаций. Очистить на дальней плоскости: рисовать четырехугольную поверхность на дальней плоскости. плоскость отсечения. Этот метод быстрее, чем аппаратная очистка на некоторых графических процессорах.
    • Точные скорости от Vertex Deformation: (подлежит проверке)
    • Выборочно выводить в целевые объекты рендеринга GBuffer: не отображать несущественные вещи в GBuffer. Подробности см. В ответе инженера ue4: «Эта функция является оптимизацией для экономии полосы пропускания при чтении и записи gbuffer. в качестве флагов для кодирования предопределенных значений для других целей рендеринга. Например, если базовый шейдер passpixelshader гарантированно не выводит какие-либо предварительно вычисленные коэффициенты тени, вместо экспорта (0,0,0,0) в GBufferE, он не экспортирует в него (сохранение полосы пропускания) а точнее устанавливает флаг ZEROPRECSHADOWMASK ", чтобы изменить этот элемент, необходимо перезапустить редакторБолее
    • Включить вырезы для частиц по умолчанию: (необходимо отметить)
    • Формат GBuffer: выберите формат GBuffer. Различные форматы будут по-разному влиять на производительность, потому что разные форматы будут вызывать разный объем данных и использование памяти на графическом процессоре, что приводит к разной пропускной способности чтения и записи. Существуют дополнительные форматы., По умолчанию: PF_B8G8R8A8, принудительно 8 бит на канал: PF_B8G8R8A8, нормали высокой точности: PF_FloatRGBA, принудительно 16 бит на канал: Force16BitsPerChannel
    • Используйте GPU для вычисления целей морфинга: используйте cpu или gpu для смешивания буфера морфинга (morph targets) цели морфинга сохраняют снимок измененной вершины модели. Например, когда персонаж делает выражения лица, измененные выражения лица могут быть сохранены в цели морфинга, а затем выражения лица могут быть выражены путем смешивания цели морфинга с оригинальная модель
    • Поддержка Compute Skincache: (подлежит проверке) 4.14. Новая добавленная функция все еще является экспериментальной. Вероятно, это означает, что вычислительный шейдер используется для вычисления скина на графическом процессоре, а затем кэшируется в отдельном буфере для последующих пакетов рендеринга. Для изменения этого элемента требуется перезапуск редактирования. Устройство
    • Поддерживает ли Instanced Stereo создание экземпляров стерео-рендеринга (Instanced Stereo) Рендеринг глаз поддерживает только D3D, SM5, PS4
    • Multi-View: включить ли рендеринг с несколькими экранами для Instanced Stereo, поддерживает только PS4
    • Mobile Multi-View: следует ли включать мультиэкранный рендеринг для Instanced Stereo на мобильной платформе, поддерживает только устройства es3.1 Android GearVR.

    -Wireframe Cull Threshold: установка радиуса обрезки окна редактора в каркасном режиме.

    Как создать катсцену в Unreal Engine 4

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

    Просто спасибо ты гений чувак

    А как сделать чтобы катсцена была в начале игры?

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

    Действительно полезный видос за 6 минут 44 секунды узнал больше чем в 5 видосах по часу)

    Охуеннуй урок!1 делай еще. У тебя есть еще уроки. Подобные. Хочу создавать ролики на движке это научиться. А принципы прям как в блендере похожие офигенное!

    Читайте также: