Jump to content

"Формирование кадра" в новой версии движка


Linear
 Share

Recommended Posts

Формирование кадра (Rendering) в текущей версии движка Unity реализовано с ограниченным набором спец.эффектов, в особенности отложенных эффектов (post-processing), и не несёт в себе некоторых довольно значительных функций для сохранения динамики в итоговом кадре. Иначе говоря - каждый сформированный сейчас кадр выглядит довольно статично и не связан с предыдущим кадром почти ничем, кроме эффектов со вспышками.

Про переход на обновлённую версию Unity2018 говорилось уже многое и ещё многое будет сказано, но хотелось бы предложить разработчикам уделить внимание следующим эффектам при переходе на новую версию движка:

1) Многие пользователи и графические инженеры здесь наверняка уже видели демо-версию Book of the Dead на Unity2018, но на всякие случай выложу его копию для тестирования и обзора ещё раз =

https://drive.google.com/drive/folders/1qHpOwcznCHzWM7KV1_I9uV59E92iIBRx

В данной демке хотелось бы отметить работу Screen Space Ambient Occlusion, SSAO, фоновое затенение, которое реализовано с меньшим "шумом", и с гораздо меньшим количеством проходов, чем в нынешней версии движка - а значит итоговый эффект формируется быстрее и качественней. Возможно импортировать именно версию SSAO с этой демо-версии, либо дать на выбор HDAO+ в опциях.

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

И последнее что хотелось бы извлечь из вышеуказанной демке в проект Тарков - примерно такую же фокусировку и дефокусировку на ближний/дальний объект с размытием дальнего плана. Как мы видим в демо-версии - эта функция работает быстро и качественно с допустимой нагрузкой на современные видеокарты.

(допускаю что к моменту выхода патча 0.12 стандарт мощности видеокарты будет не ниже GF1060)

2) При формировании кадра очень важно содержание информации о движении из предыдущего кадра. Иными словами обязательно нужен object-based motion blur и минимально-тонко настроенный global camera motion blur. Огромная просьба не упускать возможность внедрить эти спецэффекты при переходе на новую версию движка Unity2018 с самого начала, чтобы в дальнейшем было проще его калибровать и оттачивать мелочи. Для динамики кадра этот эффект играет очень большую роль и восприятие глазом динамичных сцен напрямую завязано на реализацию данного эффекта.

В качестве примера приведу несколько скриншотов из старой игры Killzone3 (PS3), в которой проделана просто эталонная работа с object-based motion blur, и это при том что видеокарта той приставки равна древней GeForce 6600    (кадры взяты при помощи эмулятора PS3)

Motion1.thumb.jpg.8e47646339a358954b399f611e64fa75.jpgMotion2.thumb.jpg.c0c164b9b67f289ef983b0c319db5439.jpgStatic1.thumb.jpg.cc504d52a04d16e9c7826df66b76c881.jpg3

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

3) Полноэкранное сглаживание - тут уже многое говорилось про скорое внедрение ТАА, и не зря именно ТАА, ведь только этот метод даст нашему глазу отличный итоговый кадр в движении и устранит пиксельное месиво на расстоянии, которое так сильно портит картинку в настоящее время. Просьба только использовать качественно настроенные фильтры ТАА, либо дать в опциях выбор качества filmic TAA фильтров для межпиксельного сглаживания.

4) Screen Space Reflections. Отражения объектов на плоскостях, материалы которых позволяют физически видеть эти отражения при допустимых углах - весьма важный в наше время спец.эффект. От метода его реализации зависит почти треть качества всей графической составляющей кадра, и если есть возможность - то просьба использовать полный набор объектов (если точнее - большое количество) для отражения на плоскостях, подобно Metro Exodus, в которой большое количество объектов отражается в столь же большом количестве соседних плоскостей. И в Unity2018 есть масса возможностей реализовать этот эффект без критического падения производительности (даже демка Unity Adam это доказывает).

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

5) Добавьте пост-эффект в виде ещё одного ближнего слоя с полётом двумерных спрайтов частиц пыли/дождя/капель в сильно расфокусированном виде, также как например в той же Killzone3 - это даст более впечатляющее восприятие погодных эффектов при почти нулевой нагрузке на железо, ведь спрайты будут заранее просчитаны и размыты так как если бы реальные частицы подверглись бы эффекту глубокого Z-blur у глаз персонажа. А ориентация их движения могла бы быть привязана к направлению общего погодного ветра на карте.

6) Внедрение двумерных спрайтовых гильз от каждого выстрела и с просчётом в каждом кадре без пропуска. Этот метод позволит реализовать кинематографичное отбрасывание стреляных гильз без потери производительности, ведь в ближней зоне глаз персонажа итак геометрия должна быть размыта, согласно тому же z-blur, а для более честного восприятия отлетевшей гильзы - добавить ей всё тот же object-based motion blur и тонкий анимированный дымовой след (опять же спрайтовый). Для более быстрой реализации можно возложить этот эффект на просчёт через пиксельные шейдеры. Яркий пример = Killzone 3 и Call of Duty Modern Warfire.

7) Удачи всем !

  • Like 1
  • Hot 3
  • Upvote 4
Link to comment
Share on other sites

  • 1 month later...

Было бы здорово увидеть новое сглаживание в качестве промежуточного решения между FXAA и SSAA. Ибо FXAA уже довольно стар и не устраняет лесенки с достаточной эффективностью, а SSAA устраивает пытку большинству видеокарт за счет избыточной выборки. TAA было бы неплохим решением, по моему скромному мнению.

  • Thanks 1
  • Hot 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...