Ambient Occlusion¶
Ambient Occlusion – это сложный алгоритм трассировки лучей, который имитирует мягкие тени от глобального освещения путём фальсификации темноты, воспринимаемой в углах и на пересечениях полисеток, в сгибах и трещинах, где окружающий свет закрывается или блокируется.
There is no such thing as AO in the real world; AO is a specific not-physically-accurate (but generally nice-looking) rendering trick. It basically samples a hemisphere around each point on the face, sees what proportion of that hemisphere is occluded by other geometry, and shades the pixel accordingly.
It is got nothing to do with light at all; it is purely a rendering trick that tends to look nice because generally in real-world surfaces that are close together (like small cracks) will be darker than surfaces that do not have anything in front of them, because of shadows, dirt, etc.
Процесс AO, тем не менее, аппроксимирует этот результат; он не имитирует свет, отражающийся от расположенных вокруг поверхностей или проходящий сквозь предметы. По этой причине АО работает даже тогда, когда у вас в сцене нет никакого освещения, и именно поэтому простое включение AO – очень плохой способ «осветить» сцену.
Чтобы AO заработал, вам необходимо включить трассировку лучей на панели Затенение вкладки Визуализация.
Также у вас должен быть цвет окружения, установленный по вашему желанию. По умолчанию цвет окружения (мира) является чёрным, имитируя полночь в подвале во время отключения электроэнергии. Применяя этот цвет в качестве цвета окружения, вы затемните все цвета. Хорошим цветом для открытых сцен середины дня является RGB(0.9, 0.9, 0.8), который представляет собой беловато-жёлтый солнечный цвет в яркий-но-не-ослепительно-яркий день.
Параметры¶

Панель окружающей среды с подсвеченными ползунками цвета среды
- Множитель
- Сила эффекта AO, множитель для добавления.
В процессе визуализации Ambient Occlusion смешивается с основным изображением. Доступно два режима смешивания:
- Добавить
- Пиксель получает свет соответственно количеству не закрытых лучей. Сцена становится светлее. Этот режим имитирует глобальное освещение.
- Умножить
- Ambient Occlusion умножается на затенение, делая объекты темнее.
Примечание
Если выбрано умножение, в сцене должны быть другие источники света; в противном случае сцена будет чёрной, как смоль. В двух других случаях сцена будет освещена эффектом АО, даже если в ней нет явного источника света. Хотя многие люди любят использовать AO в качестве быстрого способа освещения сцены, результаты, которые он даёт, будут приглушёнными и плоскими, как пасмурный день. В большинстве случаев лучше всего освещать сцену с помощью стандартных ламп Blender’а, а затем использовать поверх них AO с режимом Умножить для подчёркивания деталей и теней.
Панель Сбор содержит параметры качества отражённого Ambient Occlusion. Обратите внимание, что эти параметры также применяются к освещению от окружения и к отражённому освещению.
Для вычисления Ambient Occlusion используется один из двух методов: трассировка лучей или приближённый метод.
Сбор¶
Трассировка лучей¶

Панель «Сбор», метод «Трассировка лучей»
Трассировка лучей даёт более точные, но также и более шумные результаты. Вы можете получить изображение почти без шумов, но для этого придётся пожертвовать временем визуализации… Это единственный вариант, если вы хотите использовать цвета текстуры вашего неба.
- Затухание
- Length of rays defines how far away other faces may be and still have an occlusion effect. The longer this distance, the greater impact that far away geometry will have on the occlusion effect. A high Distance value also means that the renderer has to search a greater area for geometry that occludes, so render time can be optimized by making this distance as short as possible for the visual effect that you want.
Сэмплинг
- Метод сэмплирования
- Равномерный QMC
- Базовый метод квази-Монте-Карло, дающий равномерное и случайное распределение лучей.
- Адаптивный QMC
Улучшенный метод квази-Монте-Карло, который пытается определить, когда можно понизить количество выборок или вообще их пропустить на основе следующих двух параметров:
- Порог
- Предел, ниже которого выборка считается полностью закрытой («чёрной») или не закрытой («белой») и пропускается.
- Адаптация к скорости
- Коэффициент для уменьшения количества выборок AO для быстро движущихся пикселей. Поскольку он использует проход визуализации Вектор, тот также должен быть включён (смотрите страницу с описанием проходов визуализации).
Примечание
О методе квази-Монте-Карло
See also the ray-traced shadows page for more info about the Quasi-Monte Carlo sampling method.
- Равномерный разброс
Исторический метод выборок, более подверженный артефактам «погрешности»…
- Погрешность
Угол (в радианах), на который будет уменьшена полусфера (то есть «полусфера» технически больше не будет настоящей полусферой: её сечение больше не будет полукругом, а будет дугой окружности: pi - погрешность радиан).
Настройка погрешности позволяет вам контролировать, насколько гладкими будут «гладкие» грани при визуализации AO. Поскольку AO рассчитывается по исходной гранёной полисетке, может случиться так, что свет от AO сделает грани видимыми даже на объектах с «гладким» затенением. Это связано с тем, как учитываются лучи АО, и этот учёт можно контролировать с помощью ползунка погрешности. Обратите внимание, что хотя такое может произойти даже с методами выборки квази-Монте-Карло, эффект гораздо более заметен с методом Равномерный разброс, ну и в любом случае, параметра Погрешность для квази-Монте-Карло нет.
- Сэмплы
The number of rays used to detect if an object is occluded. Higher numbers of samples give smoother and more accurate results, at the expense of slower render times. The default value of 5 is usually good for previews. The actual number of rays shot out is the square of this number (i.e.*Samples* at 5 means 25 rays). Rays are shot at the hemisphere according to a random pattern (determined by the sample methods described above); this causes differences in the occlusion pattern of neighboring pixels unless the number of shot rays is big enough to produce good statistical data.
Приближённо¶

Панель «Сбор», метод «Приближённо»
Приближённый метод даёт более чистый результат за то же самое время визуализации, но, как следует из его названия, это всего лишь приближение метода трассировки лучей, что предполагает, что он может давать некоторые артефакты. Также с этим методом в качестве базового цвета нельзя использовать текстуру неба.
Этот метод более подвержен «излишней окклюзии» в результатах. У вас есть два дополнительных варианта решения этой проблемы:
- Проходы
- Задаёт количество проходов предварительной обработки, принимает значение в диапазоне (от 0 до 10). Введение проходов предварительной обработки значительно увеличивает время визуализации, но также устраняет некоторые артефакты и излишнюю окклюзию.
- Ошибка
- Это коэффициент допуска погрешности аппроксимации (то есть, максимально допустимая разница между приближённым и честно посчитанным результатом). Чем он ниже, тем медленнее визуализация, но тем более точные результаты… Принимает значение в диапазоне (от 0.0 до 10.0), по умолчанию установлен в 0.250.
- Кэш пикселей
- Если включён, значения рассчитанных пикселей будут сохраняться и интерполироваться по соседним пикселям. Это дополнительно ускоряет визуализацию, как правило, без видимой потери качества…
- Коррекция
- Поправочный коэффициент для уменьшения излишней окклюзии. Принимает значения в диапазоне (от 0.0 до 1.0).
Общие параметры¶
- Спад
При активации этого параметра расстояние до заслоняющих объектов будет влиять на «глубину» тени. Это значит, что чем дальше будет заслоняющая геометрия, тем светлее будет её «тень». Этот эффект возникает только при значении коэффициента силы, большем 0.0. Он имитирует рассеяние света в атмосфере…
- Сила
- Управляет затуханием теней, включённым параметром Спад. Более высокие значения дают более короткую тень, поскольку она спадает быстрее (соответствует более туманной/пыльной атмосфере). Значения лежат в диапазоне от (0.0 до 10.0), по умолчанию 0.0, что означает отсутствие спада.
Технические подробности¶
Ambient Occlusion рассчитывается путём испускания лучей из каждой видимой точки и подсчёта количества тех, что фактически достигли неба, и тех, что, напротив, перекрылись объектами.
Количество света в точке пропорционально числу лучей, которые «ускользнули» и достигли неба. Это достигается путём испускания лучей в полусферу теней. Если луч попадает в другую грань (он заслонён), он считается «тенью», иначе он считается «светом». Отношение между лучами «тени» и «света» определяет, насколько ярким является данный пиксель.
Подсказки¶
Ambient Occlusion – это метод трассировки лучей (по крайней мере при использовании метода Трассировка лучей), поэтому он может быть очень медленным. Кроме того, производительность сильно зависит от размера октодерева, смотрите главу по визуализации для получения дополнительной информации.