Руководство по Yaf-Ray :: Ambient Occlusion (АО)
CekuhnenTutorial R1.3 - 15 Sep 2007
Автор: Clanek Tomase Toegela (TomTNT)
Перевод: cyberdime
Ambient Occlusion (АО)
АО - метод, который не подражает реальному поведению света. Это просто уловка, позволяющая весьма неплохо моделировать реальное освещение. Здесь нет никакого моделирования отражений световых лучей. Просто каждый объект считается излучающим в окружающее пространство определённое количество энергии. Тут самый важный параметр, влияющий на конечный результат - расстояние, на которое излучается от объектов их энергия.
Принцип АО:
АО имеет очень широкий диапазон применения. Поскольку АО - лишь уловка, то она может вызывать некоторые аномалии в рендере, которые впрочем могут быть или легко замаскированы или просто незаметны непосвящённому человеку. АО часто используется при производстве анимации и в кинопроизводстве. Хорошо его использовать также на сложных просторных сценах с большим количеством объектов. Его преимущество в том, что на сложносоставных сценах время рендеринга не увеличивается так катастрофически, как при использовании иных «честных» методов. Недостаток - возможные потери светового потока. Поскольку АО создаёт в сцене равномерное гомогенное освещение, то иногда необходимо устанавливать дополнительный световой поток с помощью Area Light или увеличивать общее окружающее освещение. К сожалению в Блендере эти опции тоже недостаточно развиты.
Использование метода АО:
Я до конца не понимаю, как это работает, но получается, что при АО движок должен замерить расстояние между определёнными точками и окружающей средой. Пучок лучей испускается каждым видимым пикселем изображения. Длина каждого составляющего этот пучок луча от точки испускания до точки встречи с другой поверхностью (преградой) измеряется, и на основании этого измерения формируется чёрно-белая палитра градаций. Лучи, более длинные, чем заранее установленное расстояние (дистанция АО) в расчёт не принимаются, и таким образом, сложность вычислений снижается. Соответственно, чем больше дистанция АО, тем дольше рендеринг. В некоторых системах возможна также настройка угла рассеивания условного пучка лучей (напр. Mental Ray). На следующем рисунке - пример простой сцены, где обозначено положение камеры (конус). Красные стрелки - лучи зрения от наблюдателя к видимым пикселям изображения. Чёрные стрелки - пучки лучей, по которым вычисляется освещённость пикселей, синие эллипсы - дистанция АО.
Ambient Occlusion (АО)
Настройки АО доступны в панели окружения World button (F8) на закладке Amb Occ:
Настраиваемые параметры следующие:
Samples - количество излучаемых из видимой точки лучей. Большее число повышает качество, уменьшая шум, но увеличивает время рендеринга.
Dist - дистанция АО.
Random Sampling - случайное сэмплирование. Не столь нужный параметр, т. к. производит, обычно, больше шума, чем напрямую заданное значение Samples.
Use Distances - Использовать дистанции ( не совсем понятно различие между этой настройкой и Dist, возможно при использовании стиля АО, отличного от Plain (см. о стилях ниже) дистанция используется независимо, или используется дистанция между видимым пикселем и небом)
Add, Sub, Both - опции смешивания в Блендере просчитанного АО с другими визуальными свойствами материала (diffuse, specular и т. д.) Не вижу причины менять этот параметр от значения по умолчанию (Add)
Plain, Sky, SkyTexture - отвечает за цвет выводимой палитры АО. Plain - чёрно-белая палитра; максимальное количество энергии - белый цвет, минимальное - чёрный, Sky - использует для значения максимума цвет неба, установленный в закладке World (F8). SkyTexture - соответственно цвета пикселей текстуры неба.
АО в Блендер, к сожалению довольно плохо интегрирован. Создание с его помощью реалистичныхизображений - весьма трудная задача. Это вызвано не столь хорошей реализацией источников света в Блендере, особенно Area Light. Другим недостатком является то, что в Блендере АО просчитывается как глобальный параметр для всей сцены, а не как свойство материала. Если бы это было свойством материала, тогда можно было бы легче симулировать реальный световой поток, а не только диффузное рассеяное освещение. К слову все современные рендереры имеют реализацию АО, как свойств материала, и только Блендер имеет тут свой подход. К сожалению не очень эффективный.
Создание светового потока мультиматериалом с различными установками АО
Создано в Mental Ray
Установка дистанции АО в свойствах материала=0. Вычисляется только видимая часть неба. Создаётся световой поток от неба.
Установка дистанции АО в свойствах материала=100мм. Высота модели - 250мм. Создаётся взаимное смешение между различными световыми потоками, однако помещение выглядит освещённым ненаправленным источником света.
Добавление обоих предыдущих материалов (0 и 100мм) к объекту. Настройкой многослойных материалов с различным значением АО в слоях мы можем, таким образом, добиваться весьма реалистичных результатов. Только два материала было назначено объекту в этой сцене. Получилось симулировать и световой поток от неба и рассеянное освещение в интерьере. Но это Mental Ray, а Блендер , к сожалению не позволяет сделать это напрямую, а только методом композа или каким нибудь другим путём.