This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы

Временное сглаживание (TAA)

Temporal anti-aliasing (also known as TAA) is a anti-aliasing technique to reduce temporal aliasing (flickering or shimmering effects). This technique can be combined with FXAA for better quality. Временное сглаживание (также известное как TAA ) - это метод сглаживания, позволяющий уменьшить алиасинг (эффекты дрожания или мерцания). Этот метод можно комбинировать с FXAA для лучшего качества.

ISS without TAA. ISS без TAA.
ISS with TAA. ISS с TAA.

TAA Features
Особенности TAA#

Unlike Multisample anti-aliasing (MSAA) that performs anti-aliasing only on edges of polygons (and makes this edges smoother), Temporal anti-aliasing applies smoothing to the whole scene. In case of full deferred rendering (when the final image is composed of different texture buffers: depth, normal, etc.), MSAA will increase performance costs, because Multisample anti-aliasing should be applied to each texture buffer. В отличие от Multisample anti-aliasing (MSAA), который выполняет сглаживание только на краях многоугольников (и делает эти края более гладкими), Temporal Anti-aliasing применяет сглаживание ко всей сцене. В случае полного отложенного рендеринга (когда конечное изображение состоит из различных буферов текстуры: глубины, нормалей и т.д.) MSAA увеличит снижение производительности, потому что к каждому буферу текстуры будет применяться сглаживание Multisample.

How TAA works
Как работает TAA#

The main concept of temporal anti-aliasing is to use a subpixel jitter of scene camera every frame and then combine all this frames into the final image. So, it will take time to get a smoothed picture (for example, 5-7 frames), but with the frequency of 60 frames per second it will look seamlessly. Основная концепция временного сглаживания заключается в использовании субпиксельного дрожания камеры сцены в каждом кадре, а затем объединении всех этих кадров в окончательное изображение. Так что для получения сглаженного изображения потребуется время (например, 5-7 кадров), но с частотой 60 кадров в секунду оно будет выглядеть безупречно.

Simplified demonstration of the TAA camera jitter. Упрощенная демонстрация дрожания камеры TAA.

During rasterization process, there is a test whether the object will get into pixel or not. And the object will not be rendered if it doesn't occupy a major part of a pixel. В процессе растеризации происходит проверка, попадет ли объект в пиксель или нет. И объект не будет отображаться, если он не занимает большую часть пикселя.

Vector image before rasterization. Векторное изображение до растеризации.

And here we can get an error, when we have a sphere object before rasterization and get a square object after, because some parts of the sphere doesn't occupy enough pixel space. И здесь мы можем получить ошибку, когда у нас есть объект сферы до растеризации и получается квадратный объект после, потому что некоторые части сферы не занимают достаточно места в пикселях.

Bitmap image after rasterization without TAA. Растровое изображение после растеризации без TAA.

Not a very good rendering, right? And temporal anti-aliasing solves this problem, because camera will have a subpixel jitter, and each part of this sphere at least once will be rendered in a frame. And after combining these frames, we will get a true sphere, not a square! Voila! Не очень хороший рендеринг, правда? А временное сглаживание решает эту проблему, потому что камера будет иметь субпиксельный джиттер, и каждая часть этой сферы хотя бы один раз будет визуализирована в кадре. И после объединения этих кадров мы получим настоящую сферу, а не квадрат! Вуаля!

Bitmap image after rasterization with TAA. Растровое изображение после растеризации с помощью TAA.

Ghosting
Ghosting-эффект (шлейф)#

This anti-aliasing technique works perfectly for static scenes (without any moving objects). But when objects are moving, frames will significantly differ one from another and we will see a trail of "ghosts" of the moving object. This effect is called ghosting. Этот метод сглаживания отлично работает для статичных сцен (без движущихся объектов). Но когда объекты движутся, кадры будут существенно отличаться друг от друга, и мы увидим след «призраков» движущегося объекта. Этот эффект называется шлейфом .

To get rid of ghosting, there is a velocity buffer. Velocity buffer stores information about transformations of objects. Due to this buffer, the engine knows about the object transformation and don't render the "ghosts" of the moving object. Also, the engine checks the color intensity of the pixel, because of camera jitter. Чтобы избавиться от шлейфов, есть буфер скорости . В буфере скорости хранится информация о преобразованиях объектов. Благодаря этому буферу движок знает о преобразовании объекта и не отображает «призраков» движущегося объекта. Кроме того, движок проверяет интенсивность цвета пикселя вследствие дрожания камеры.

Summary
Резюме#

TAA has a wide scope of usage, because it improves whole image (not only the edges of the geometry, like MSAA) including geometry, shadows, etc. It greatly reduces all the problems, and does not cut the performance down, working well with both static and dynamic images. However, keep in mind that the key factor of good TAA performance is optimized content of the scene: the higher FPS is, the faster temporal anti-aliasing smooths the scene. In addition to this, UNIGINE allows you to choose the type of anti-aliasing: TAA or FXAA, or combine them both for better image quality (FXAA is applied before temporal summing). TAA имеет широкую сферу применения, так как улучшает все изображение (не только края геометрии, как MSAA), включая геометрию, тени и т. д. Это значительно снижает все проблемы и не снижает производительность, хорошо работает как со статическими, так и с динамическими изображениями. Однако имейте в виду, что ключевым фактором хорошей производительности TAA является оптимизированный контент сцены: чем выше FPS, тем быстрее TAA сглаживает сцену. В дополнение к этому, UNIGINE позволяет вам выбрать тип сглаживания: TAA или FXAA , или объединить их оба для лучшего качества изображения. (FXAA применяется перед временным суммированием).

TAA Adjustment
Регулировка TAA#

Temporal Anti-Aliasing (TAA) settings are available for adjustment via the Render -> Antialiasing section of the Settings window, along with SRAA, Fast approXimate Anti-Aliasing (FXAA) and Supersampling settings. The following settings are available when the Custom preset for Anti-Aliasing is selected. Параматры временного сглаживания (TAA) доступны для настройки в разделе Render -> Antialiasing окна Settings наряду с настройками Fast ApproXimate Anti-Aliasing (FXAA) и Supersampling .

TAA Settings

Anti-Aliasing Settings Настройки сглаживания

Настройки TAA#

TAA Включает и выключает TAA.
Fix Flicker Удаляет яркие пиксели, используя информацию о яркости пикселей из предыдущего кадра. Мы рекомендуем включать эту опцию для ярких тонких веревок, проводов и лески. Однако при включении могут возникать артефакты из-за удаления небольших ярких объектов.
Примечание
Может управляться консольной командой render_taa_fix_flicker .
Frames By Color Включает и выключает накопление переменного числа кадров во времени в зависимости от разницы в цвете пикселей между текущим и предыдущим кадрами. Если цвет пикселя в текущем кадре сильно отличается от цвета пикселя предыдущего кадра, эти кадры не объединяются и не смешиваются во время TAA. При включении изображение становится более резким, но может вызывать дополнительное мерцание, тонкие объекты могут быть размытыми (например, трава, металлические конструкции, провода и т.д.). Отключение этой опции может привести к более заметному эффекту ореола.
Примечание
Может управляться с помощью render_taa_frames_by_color консольной команды.
Fix Blur Включает и выключает передискретизацию Catmull-Rom. Эта опция позволяет уменьшить размытость изображения при движении камеры вперед / назад, что приводит к более резкому изображению. Рекомендуется отключать передискретизацию при низких настройках.
Примечание
Может управляться консольной командой render_taa_catmull_resampling .

Antialiasing In Motion Включает и выключает улучшенное сглаживание в движении (для перемещения камеры и объектов).
Примечание
Может управляться консольной командой render_taa_antialiasing_in_motion .

Antialiasing In Motion

Diagonal Neighbors Включает и выключает учет диагонально соседних пикселей в процессе клампинга цвета.

Preserve Details Управляет уровнем детализации TAA: чем выше значение, тем детальнее изображение. При значении 0 изображение становится размытым при перемещении камеры, однако эффект TAA лучше. При высоких значениях этот параметр может вызвать дополнительное мерцание. Таким образом, чтобы улучшить эффект сглаживания, вы можете уменьшить значение; чтобы минимизировать размытость - увеличьте.
Примечание
Может управляться консольной командой render_taa_preserve_details .
Frame Count Задает количество кадров, которые объединяются и смешиваются при вычислении TAA. Чем выше значение, тем больше кадров объединяется в окончательное изображение и тем лучше сглаживание.
Примечание
  • Это значение используется только тогда, когда параметр Frames By Velocity ниже отключен.
  • Может управляться консольной командой render_taa_frame_count .
Pixel Offset Определяет размер смещения выборки, выполняемого во время субпиксельного дрожания. Этот параметр позволяет указать смещение меньше пикселя: например, если вы укажете 0,5 , кадры будут сдвинуты на половину пикселя. Параметр позволяет уменьшить мерцание мелких элементов на экране.
Примечание
Может управляться консольной командой render_taa_pixel_offset .
TAA Samples Задает количество смещений выборки, выполняемых во время субпиксельного дрожания. При минимальном значении 1 отсутствуют смещения и, следовательно, сглаживание. Параметр позволяет уменьшить дрожание и размытость изображения. Доступные значения: 1 , 4 , 8 и 16 .
Примечание
Может управляться консольной командой render_taa_samples .

Кадры по скорости

Enabled Включает и выключает накопление переменного количества кадров во времени в зависимости от разницы в скорости пикселей между текущим и предыдущим кадрами. Перепроецирование пикселей предыдущего кадра выполняется с учетом буфера скорости, а результат объединяется с пикселями текущего кадра. Этот параметр уменьшает размытие и двоение в динамических сценах с большим количеством движущихся объектов.
Примечание
Может управляться с помощью render_taa_frames_by_velocity консольной команды.
Threshold Задает пороговое значение, определяющее чувствительность к изменению скорости (порог скорости, при котором пиксели считаются быстро перемещающимися).
Примечание
Может управляться консольной командой render_taa_frames_velocity_threshold .
Max Frame Count Устанавливает количество объединенных и смешанных кадров для пикселей, которые не перемещаются относительно экрана.
Примечание
Может управляться консольной командой render_taa_max_frames_by_velocity .
Min Frame Count Устанавливает количество объединенных и смешанных кадров для быстро движущихся пикселей на экране.
Примечание
Может управляться консольной командой render_taa_min_frames_by_velocity .

Recommendations
Рекомендации#

As you can see TAA has a lot of settings enabling you to adjust it for relatively static scenes as well as for dynamically changing environments. Как видите, TAA имеет множество настроек, позволяющих настраивать его как для относительно статичных сцен, так и для динамически меняющейся среды.

Static Scenes
Статические сцены#

Below is an example of TAA settings for relatively static scenes. Ниже приведен пример настроек TAA для относительно статичных сцен.

TAA Settings for Relatively Static Scenes

Recommended Antialiasing Settings for Relatively Static Scenes Рекомендуемые настройки сглаживания для относительно статических сцен
  • The Diagonal Neighbors option should be enabled, as it provides more accurate pixel color information reducing the stair-step effect. At the same time TAA causes more blurring is case of fast camera movement, which is especially noticeable on grass and other similar high-contrast screen areas. Параметр Diagonal Neighbors должен быть включен, поскольку он обеспечивает более точную информацию о цвете пикселей, уменьшая эффект ступенчатости. В то же время TAA вызывает большее размытие при быстром движении камеры, что особенно заметно на траве и других подобных высококонтрастных областях экрана.
  • Preserve Detail value is decreased to reduce flickering of small pixels. Значение Preserve Detail уменьшено, чтобы уменьшить мерцание мелких пикселей.
  • The number of TAA Samples is set to 16, which increases the number of variants for subpixel camera jittering, thus making the stair-step effect even less noticeable. Для количества выборок TAA установлено значение 16 , что увеличивает количество вариантов субпиксельного дрожания камеры, делая, таким образом, ступенчатый эффект еще менее заметным.

Dynamic Scenes
Динамические сцены#

Below is an example of TAA settings for very dynamic scenes where trails from thin objects are especially noticeable. Ниже приведен пример настроек TAA для очень динамичных сцен, где особенно заметны следы от тонких объектов.

TAA Settings for Dynamic Scenes

Recommended Antialiasing Settings for Dynamic Scenes Рекомендуемые настройки сглаживания для динамических сцен
  • The Diagonal Neighbors option should be turned off, as it may result in significant blurring of small details in motion. Опцию Diagonal Neighbors следует отключить, так как это может привести к значительному размытию мелких деталей в движении.
  • Increase the Preserve Details value up to 1 or higher to reduce ghosting effect for moving objects. Увеличьте значение Preserve Details до 1 или выше, чтобы уменьшить эффект ореола для движущихся объектов.
  • Set TAA Samples value to 4 to reduce flickering of small pixels when the camera does not move. Установите значение TAA Samples на 4 , чтобы уменьшить мерцание мелких пикселей, когда камера не двигается.
  • It is also recommended to reduce Max Frame Count to 60 or lower, to accumulate less frames for slow motion, reducing the ghosting effect. Также рекомендуется уменьшить Max Frame Count до 60 или ниже, чтобы накапливать меньше кадров для замедленного движения и уменьшить эффект двоения.
Последнее обновление: 24.06.2021
Build: ()