Полезное

Мы Вконтакте

Обновление 4.14

Добавлено Ноя 15 2016

Обновление 4.14

Вчера Epic Games выпустили обновление 4.14. В этом обновлении можно найти forward shading renderer, оптимизированный для VR, обеспечивающий четкое сглаживание в играх. Новая функция Contact Shadows позволяет создать красивые детализированные тени для сложных объектов. Epic Games также добавили новую функцию — Автоматическая генерация уровней детализации для статических объектов, которая не требует дополнительных библиотек.

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

 

 

FORWARD SHADING РЕНДЕР С MSAA

Новый forward shading рендер сочетает в себе высококачественные возможности освещения UE4 с поддержкой мультисеплового сглаживания (MSAA). MSAA и опция для включения по материальной оптимизации делает этот рендер хорошим выбором для VR.
Обновление 4.14 в unreal engine 4

Forward рендер работает посредством отбора освещение и отражений в сетку фрустума. Каждый пиксель в forward проходе взаимодействует с освещением и отражениями влияющими на него, затеняя материал с ними. Динамические тени для стационарного освещения просчитываются заранее и упаковываются в канал screen-space shadow mask, позволяя нескольким функциям затенения эффективно их использовать. Включение «Forward Shading» производится во вкладке Rendering в настройках проекта с последующим перезапуском редактора.

Обновление 4.14 в unreal engine 4

Поддерживаемые forward рендером функции:

  • Полная поддержка стационарных источников света, включая динамические тени от подвижных объектов, с последующим их смешиванием с заранее просчитанными тенями окружения.
  • Несколько захватов отражений смешиваются вместе с последующей parallax корректированием.
  • Плоские отражения части сцены скомпонованы в захват отражений.
  • D-Buffer декали.
  • Заранее просчитанное освещение и skylights.
  • Капсульные тени.
  • Alpha-to-coverage для masked материалов.
  • Совместимость с instanced stereo.

Некоторые функции пока что не поддерживаемые forward шейдингом:

  • Screen space технологии (SSR, SSAO, Contact Shadows).
  • Тени от подвижных источников освещения.
  • Динамическое затенение полупрозрачностей.
  • Полупрозрачности получаемые тенями окружения от стационарных источников освещения.
  • Световые функции и IES профили.
  • Alpha to Coverage.
  • MSAA на D-Buffer декалях, размытие в движении, динамические и капсульные тени.

Обновление 4.14 в unreal engine 4
Проекты, которые решили использовать MSAA захотят построить контент, дабы смягчить зеркальное сглаживание. Функция Normal to Roughness может помочь уменьшить зеркальное сглаживание от деталезированных карт нормалей. Автоматическая генерация ЛОДов для статик мешей имеет функцию расплющивания для объектов на расстоянии, тем самым помогая в уменьшении сглаживания от маленьких треугольников.

По нашим тестам, использование MSAA вместо TAA, увеличивает время кадра примерно на 25%, но фактическое значение будет зависеть от вашего контента.

Для использования MSAA смените Anti-Aliasing Method во вкладке Rendering в настройках проекта:

Обновление 4.14 в unreal engine 4

Консольная переменная r.MSAACount контролирует то, сколько MSAA семплов будет вычисляться для каждого пикселя. r.MSAACount 1 имеет особое значение, т.к. переключает обратно на ТАА, что упрощает переключение между методами сглаживания.

Производительность

Forward рендер может быть быстрее чем deferred рендер для некоторого контента. Большая часть улучшения производительности происходит от функций, которые могут быть отключены в материале. По умолчанию, только ближайший захват отражений будет применяться без параллаксного сглаживания, если материал выбран в High Quality Reflections, высотный туман вычисляется повертексно, а плоские отражения применяются только на тех материалах, в которых они включены.

Обновление 4.14 в unreal engine 4

Используя эти параметры в новой VR игре от Epic, Robo Recall, forward рендер быстрее примерно на 22% нежели deferred на NVIDIA с 970 GTX.

Контактные тени

Обновление 4.14 в unreal engine 4

Обновление 4.14 в unreal engine 4

Функция контактных теней добавляет небольшой проход луча в экранном пространстве от буфера глубины дабы знать, где пиксель покрывается или нет данным источником освещения. Это помогает обеспечить чёткие детализированные тени в точке контакта геометрии. Есть целый ряд причин, почему тени через других алгоритмов могут быть пропущены или размываться в месте контакта. Как правило, это происходит из-за отсутствия разрешения или смещения глубины. Независимо от причины, новая функция контактных теней может заполнить пустоту за небольшую цену.

Контактные тени могут быть использованы путём увеличение параметра Contact Shadow Length в вашем источнике освещения. Данная опция управляет длиной прохода луча в экранном пространстве, где 1 — это весь проход через экран. Большое значение может ухудшить качество и производительность, поэтому постарайтесь использовать минимальное значение при котором достигается желаемый результат.

Ещё один случай использования контактных теней, это получение самозатенения от parallax occlusion mapping от произвольных источников освещения. Для этого требуется вывод pixel depth offset в материале. Анимация ниже показывает РОМ поверхность с контактными тенями длиной 0.1 .

Обновление 4.14 в unreal engine 4

Автоматическая генерация уровней детализации

UE4 теперь автоматически уменьшает полигонаж ваших статик мешей для создания ЛОДов!
Обновление 4.14 в unreal engine 4

Изображение выше показывает 5 ЛОДов, которые были автоматически сгенерированны. Каждый последующий ЛОД имеет в 2 раза меньше полигонов нежели предыдущий.
Автоматическая генерация ЛОДов использует так называемую quadric mesh упрощение. Объект упрощается исходя из значения визуальной разницы, которая получается при коллапсировании грани при сшивании двух вершин. Затем выбирается ребро с наименьшим количеством визуального воздействия и коллапсит его. В этот момент выбирается наилучшее место для размещения новых сшитых вершин и удаление любых треугольников которые были также сколлапсены вместе с гранью. Это будет продолжатся до тех пор, пока не будет достигнут требуемый полигонаж.

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

Параметры высокого уровня для управления сгенерированных ЛОДов находятся во вьювере статик меша во вкладке LOD Settings.
Обновление 4.14 в unreal engine 4

«LOD Group» предоставляет список пресетов. Они могут быть изменены для каждого проекта в BaseEngine.ini под [StaticMeshLODSettings]. Рекомендуется создать категории для вашего проекта и в большинстве случаем использовать именно их, вместо управления каждым ЛОДом.

«Auto Compute LOD Distances» — параметр заслуживающий внимания. Поскольку алгоритм знает, величину визуальной разницы каждого сколапсенного ребра, он может использовать эту информацию, чтобы определить, для какого расстояния количество ошибок является приемлемым. Это означает, что размер экранного пространства будет автоматически вычислен для каждого ЛОДа.

Если вы хотите поковыряться в настройках автогенерации ЛОДов, то найти вы их можете во вкладке Reduction Settings. Заметьте, что данный функционал применим сугубо лишь к статик мешам и mesh proxy пока не поддерживается.

PRECOMPUTED LIGHTING SCENARIOS

Теперь UE4 поддерживает предпросчитанное освещение для нескольких предустановок с одной и той же геометрией. Это особенно важно в случае использования VR или архитектурной визуализации, где вам необходимо максимальное качество при максимальной производительности.

Обновление 4.14 в unreal engine 4
Обновление 4.14 в unreal engine 4

На примерах выше направленное освещение, освещение неба и скайбокс были помещены в сценарий освещения уровня под названием DayScenario. Освещение улицы были помещены в сценарий под названием NightScenario.

Для использования сценария освещения:

  • ПКМ по под уровню в окне Levels и измените его на сценарий освещения. Когда сценарий освещения видим, его лайтмапы будут применяться к миру.
  • Смените метод стриминга уровней в блупринте сценария освещения уровня.
  • Разместите объекты и освещение на вашем уровне и просчитайте освещение.
  • В BeginPlay вашего Level Blueprint выполните Load Stream Level в сценарии освещения уровня который вы хотите активировать.

Обновление 4.14 в unreal engine 4

Ограничения:

  • Только один сценарий освещения уровня должен быть видим во время игры.
  • Когда показывается сценарий освещения уровня, данные лайтмап из всех под уровней будут в нём размещены, поэтому лайтмапы DayScenario могут быть использованы лишь в дневное время. Как результат, лайтмапы больше не будут стримиться посредством под уровней.
  • Обновление захвата отражений принудительно, что влечёт за собой увеличение времени загрузки при смене сценария освещения уровня.

Остальные нововведения

 

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

Добавил: RedComrade Категория: Новости


Комментарии
Аватар

Самое топовое обновление движка за год! Спасибо за перевод)

Оставить комментарий

Вы должны войти, что бы оставлять комментарии.

cron
UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница