Ambient Occlusion
SSAO по Z + Normal
Рассчитывает Screen Space Ambient Occlusion как 2D post-effect после Renderer3D. Нужны rendered image с Z + Normal и matching Camera3D; Output остаётся обычным image stream.
2D image stream после Renderer3D; для корректного SSAO поток должен содержать RGBA, Z и Normal.
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.
AmbientOcclusion в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для AmbientOcclusion.
Оригинальное изображение