ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI
ОбработкаFUSION

AmbientOcclusion

SSAO по Z + Normal

Рассчитывает Screen Space Ambient Occlusion как 2D post-effect после Renderer3D. Нужны rendered image с Z + Normal и matching Camera3D; Output остаётся обычным image stream.

Нода в работе
Иллюстрация нодыAmbientOcclusion
РезультатИзображение

AmbientOcclusion

Обзор

Что делает AmbientOcclusion

AmbientOcclusion [SSAO] относится к Deep Pixel/post-render инструментам Fusion. Это принципиально не 3D geometry node: сначала scene3d проходит через Renderer3D, и только затем AmbientOcclusion анализирует уже полученное 2D изображение вместе с auxiliary channels.

Главный Input — orange image connection. Blackmagic описывает его как 2D RGBA image, содержащий Z-Depth и Normals. Поэтому beauty RGB сам по себе недостаточен: в Renderer3D для этого workflow нужно включить RGBA, Z и Normal output channels.

Второй обязательный вход — green Camera. Он принимает Camera3D либо 3D Scene с камерой, которой был создан входной render. Камера нужна для корректной интерпретации depth/normal относительно view transform. Нельзя подменять её другой случайной камерой или считать Camera input необязательным.

Третий вход — optional blue Effect Mask. Это обычная Fusion mask: Rectangle, Ellipse, Polygon, Bitmap и т. п. Она ограничивает область применения уже рассчитанного эффекта и не заменяет ни rendered image, ни Z/Normal data, ни Camera input.

Ambient occlusion имитирует низкочастотное окружное освещение: участки, где поверхности расположены близко друг к другу или образуют углубления, получают меньше условного ambient light и затемняются. Это не sharp shadow, не diffuse/specular lighting и не замена нормальной световой схеме.

Output Mode = Color применяет AO к входному изображению. Output Mode = AO выводит чистый grayscale occlusion factor, который удобно использовать как utility pass для отдельного compositing/grade. Это всё равно image output, а не Fusion mask datatype.

Kernel Type = Hemisphere — нормальный production baseline: samples распределяются по полусфере, ориентированной по surface normal. Sphere существует как более стилизованный вариант; на плоской поверхности он принципиально ведёт себя иначе и может давать серый response там, где Hemisphere остаётся светлым.

Kernel Radius — один из главных параметров. Он задаёт, насколько далеко в 3D/depth пространстве искать occluders для каждого pixel. Слишком малый radius пропускает соседние поверхности; слишком большой превращает AO в грязную крупномасштабную дымку и резко повышает требования к Number of Samples.

Number of Samples отвечает за качество sampling. Сначала нужно найти правильный Radius для масштаба сцены и только потом увеличивать Samples до исчезновения noise/banding. Попытка лечить неверный radius огромным sample count обычно просто тратит время рендера.

Lift, Gamma и Tint — художественная shaping-стадия после геометрически правильного AO. Lift поднимает самые тёмные участки, Gamma меняет тональное распределение, Tint/Red/Green/Blue окрашивают AO. Эти controls не могут восстановить отсутствующий Z/Normal или исправить неправильную Camera.

Eye задаёт mono/left/right stereo context. Camera control относится к camera context, доступному через camera input; при обычном прямом Camera3D workflow безопасный baseline — Mono + Default, если нет осознанной stereo/multi-camera задачи.

SSAO — screen-space approximation. Оно быстро и GPU-friendly, но видит только то, что представлено во входных buffers, поэтому на границах, тонкой geometry и сложной depth discontinuity возможны artifacts. Это ограничение метода, а не обязательно ошибка материала или света.

Current Fusion 21 feature matrix Blackmagic по-прежнему указывает GPU accelerated Ambient Occlusion rendering, а bundled Inspector capture совпадает с классическим набором Controls: Output Mode, Kernel Type, Samples, Radius, Lift/Gamma/Tint, Eye и Camera. Live target-build execution в этом пакете не выполнялся.

Во всех трёх практиках задана одна сцена: сфера Radius=1 на Y=1 касается пола Plane Size=10 на Y=0; камера (0,3,8) наклонена на −14° по X. Используется Software Renderer с RGBA, Normal и Z, а Kernel Radius начинается с 0,5. Сравнивайте контакт под сферой и открытый пол на одном кадре.

Когда применять

  • Добавить контактное затемнение между близко расположенными 3D-поверхностями после Renderer3D.

  • Подчеркнуть внутренние углы, стыки и углубления в motion-graphics/CG render.

  • Получить отдельный AO utility pass для Multiply/grade-композитинга.

  • Быстро добавить ощущение объёма без тяжёлого глобального освещения.

  • Использовать Renderer3D Z + Normal как downstream deep-pixel data вместо повторной работы с geometry.

  • Локально ограничить AO через Effect Mask уже в 2D post pipeline.