Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3dsmax2009intro.pdf
Скачиваний:
151
Добавлен:
05.06.2015
Размер:
4.48 Mб
Скачать

экспозицией” (Exposure Control). Но не всегда это дает необходимый результат, поэтому применяются более сложные алгоритмы. Часто этот процесс совмещается с коррекцией гаммы.

Надо отметить, что последнее время все большее распространение получает рендеринг в файл формата широкого динамического диапазона и преобразование на этапе постобработки. Это дает большую свободу, но при этом требует и больших вычислительных ресурсов. Так или иначе, делать преобразование цвета во время рендеринга или после, зависит от конкретной производственной необходимости.

Рис. 1.60 Принцип Color Mapping.

Часть 2. Vray

Настройки VRay

Замечание. В этом документе рассматриваются настройки версии VRay 1.50.SP1, настройки для более ранних или более поздних версий могут немного отличатся. Прежде всего, в версиях – кандидатах на релиз (RCx) и более ранних отсутствует деление на вкладки, все параметры расположены в одной вкладке.

Вкладка VRay

В свитке VRay:: Global Switches (глобальные переключатели) расположены элементы, управляющие рендерингом в целом.

Вгруппах Geometry (геометрия), Lighting (освещение) и Materials (материалы) включаются или отключаются те или иные элементы, в основном, для ускорения предварительных расчетов. Остановимся только на некоторых.

Втом случае, если вы используете только освещение небом, т.е. без использования прямых источников света, необходимо отключить действие источников света по умолчанию, сняв флажок Default Lights.

При установленном флажке Hidden Lights скрытые источники света продолжают освещать сцену. Если этот флажок снять, то скрытые источники света не будут работать. Это удобно в том случае, когда источники света распределены по слоям, например, для дневного освещения и вечернего.

Для оптимизации расчетов можно ограничить количество отражений и преломлений (Max Depth в группе Materials), а так же глубину трассировки прозрачности, полученной при помощи карт на канале Opacity (непрозрачность), например, для уменьшения времени рендеринга листвы (параметры Max Transparency Level и

Transp. Cutoff).

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 50

Флажок Don't render final image позволяет не производить расчет окончательного изображения, что полезно при расчете глобального освещения и записи его в файл.

Небольшое (0.001 – 0.01) значение параметра Secondary rays bias (смещение вторичных лучей) в группе Raytracing позволяет избежать артефактов при наложении полигонов, но лучше избегать такого наложения. А вот при запекании текстур (Render to Texture) этот параметр необходимо поставить в небольшое значение.

В свитке VRay:: Image Sampler (Antialiasing) выбираются алгоритмы для антиалиасинга, и выбор и настройки фильтров.

VRay предоставляет три алгоритма антиалиасинга.

Простейший алгоритм, Fixed (фиксированный) настраивается только одним параметром, Subdivs, определяющим, сколько лучей будет испущено в каждый пиксел. Количество лучей равно значению Subdivs в квадрате. При 1 вы получите изображение без антиалиасинга, при 2 будет испущено 4 луча, 3 – 9 и т.д. Этот алгоритм прост и иногда, например, в случае большого количества мелких деталей и текстур, дает результат того же качества, что и адаптивные, но при этом быстрее.

Второй алгоритм, который подходит при рендеринге объектов с небольшим количеством эффектов с размытием (размытые отражения, преломления, тени и т.д.) – Adaptive Subdivision (адаптивное подразбиение). Он аналогичен Image Sampler в mental ray. В нем присутствуют начальное (Min Rate) и максимальное количество лучей (Max Rate), испускаемых в пиксел. Счет также, как и в случае Fixed, ведется квадратами значений. Отрицательные значения означают, что лучи при рендеринге испускаются не в каждый пиксел, а через 2, 4 и т.д. пиксела.

В отличие от mental ray, кроме порога по цвету (Color Threshold), имеется дополнительный параметр – порог срабатывания по разности нормалей между поверхностями (Normal Threshold), который может помочь при рендеринге неконтрастных по цвету изображений. Принцип тот же самый – чем меньше пороги, тем чаще запускается процесс уточнения, и заканчивается либо при достижении пороговых значений, либо значения Max

Rate.

Флажок Object Outline (обводить объекты) всегда запускает антиалиасинг с максимальным числом лучей на границах объектов. Применение этого эффекта требует осторожности, так как результат не всегда выглядит натурально.

Флажок Randomize Samples (случайное распределение образцов) аналогичен флажку Jitter в mental ray.

Для быстрого рендеринга можно все оставить по умолчанию, или даже уменьшить значение Max Rate до 1. Для получения более качественного результата Min / Max Rate можно установить равными 0 и 3 соответственно, и уменьшить порог срабатывания Clr Thresh до 0.05 – 0.03.

Недостатком этого алгоритма является большое потребление памяти, и неудовлетворительное время рендеринга на комплексных сценах.

Третий алгоритм, Adaptive DMC image sampler (адаптивный алгоритм, основанный на алгоритме МонтеКарло) является наилучшим выбором по соотношению качество изображения/время рендеринга на комплексных сценах с большим количеством мелких деталей и эффектами размытия. Он напрямую связан со всеми процессами, имеющимися в VRay – расчетом непрямого освещения, эффектами размытия и т.д.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 51

Два параметра, Min Subdivs и Max Subdivs (минимальное и максимальное разбиение) определяют начальное и максимальное количество лучей, испускаемых в один пиксел. После усреднения значение сравнивается с соседними пикселами, и если оно выше значения порога срабатывания, процесс испускания лучей продолжается.

Порог срабатывания (Color Threshold) по умолчанию завязан на аналогичный параметр в DMC Sampler (об этом ниже). Это разумное решение, но если вы хотите увеличить качество антиалиасинга не затрагивая остальные процессы, вы можете снять флажок Use DMC Sampler Thresh. и настроить порог срабатывания индивидуально.

Для предварительных расчетов вполне достаточно значений Min Subdivs и Max Subdivs по умолчанию. Для окончательного рендеринга можно поднять значение Max Subdivs до 6 - 8. Но все это

очень сильно зависит от сцены.

Для усреднения образцов можно применять фильтры, их в VRay очень много. Использовать имеет смысл новые фильтры, в самом низу списка. VRayLanczosFilter дает четкую картинку, а VRaySincFilter – сглаженную.

Замечание. Не используйте фильтры Blackman и Catmull-Rom – очень часто они дают неудовлетворительный результат с неприятными контурами.

Имейте ввиду, что применение фильтров замедляет процесс рендеринга, поэтому при больших размерах окончательного изображения зачастую имеет смысл вообще отключить применение фильт-

ров, сняв соответствующий флажок. В этом случае все образцы просто усредняются, как в случае фильтра Box

вmental ray. Кстати, такой фильтр появился и VRay.

Всвитке VRay:: Environment есть возможность заменить окружение 3ds Max для освещения, отражений и преломлений.

Для того чтобы иметь возможность сделать рендеринг на черном фоне, но при этом не потерять освещение,

назначьте на канал GI Environment (skylight) (небо) карту VRaySky, а на канал Reflection/Refraction Environment (окружение для отражений и преломлений) – карту VRayHDRI с введенным и настроенным файлом.

В свитке VRay:: Color Mapping (преобразование цвета) настраивается закон пересчета изображения с широким динамическим диапазоном (HDR), получаемым при рендеринге, в изображение узкого динамического диапазона, пригодного для отображения на экране монитора, видео, печати и т.д.

Из многообразия, предлагаемого VRay, сейчас используются линейное преобразование (Linear), логарифмическое, или экспонентоциальное (Exponential) и преобразование по методу Рейнхарда (Reinhard).

При линейном преобразовании используются два множителя, для черной и белой точки, Dark Multiplier и Bright Multiplier. Для осветления темных участков увеличивают параметр Dark Multiplier, а для уменьшения пересветов уменьшают Bright Multiplier. В результате теряется контрастность. Но в случае “классического освещения”, т.е. когда свет настроен в диапазоне от 0 до 1, и использования гамма-коррекции этот метод вполне приемлем.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 52

При экспонентоциальном преобразовании легко “победить” яркие пересвеченные области, но “плывут” цвета текстур, и изображение так же получается неконтрастным.

Преобразование по методу Reinhard является лучшим решением, позволяющим одновременно сохранить контрастность в темных и средних тонах, и эффективно бороться с пересветами.

Значение Multiplier определяет общий коэффициент пересчета HDR в LDR.

До значения Burn Value преобразование ведется по линейному закону, что хорошо для сохранения контраста и цветов текстур. После этого значения преобразование ведется по “экспоненте”, что позволяет легко побороть пересветы. Нормальные значения этого параметра лежат в передалах 0.5 – 0.8, но иногда можно использовать и значения больше единицы для достижения повышенного контраста. При этом в большинстве случаев нужно уменьшать значение Multiplier.

Какой бы вы не использовали метод преобразования, значение Gamma при окончательном рендеринге нужно устанавливать именно здесь, объяснение этому дается ниже. Чтобы при этом не происходило двойной гаммакоррекции, в глобальных установках 3ds Max значение Gamma устанавливается равным 1, значение на входе – 2.2, а на выходе – так же 1, так как VRay устанавливает это значение помимо 3ds Max. При выводе в VRay Framе Buffer первое условие не является обязательным, можно оставить значение гаммы в 3ds Max равным 2.2, оно будет проигнорировано.

Флажок Sub-Pixel Mapping приводит к преобразованию на уровне образцов антиалиасинга, а не пиксела. Это немного замедляет процесс рендеринга и, по утверждению разработчиков, дает несколько более темный результат, но зато позволяет сглаживать яркие блики.

Флажок Clamp Output (отсекать верхние значения выходного изображения) в принудительном порядке отсекает значения больше, установленного параметром Clamp Level (уровень отсечки, обычно 1). Использовать этот флажок мы не рекомендуем, хотя существует и обратное мнение, так как при включенном “клэмпинге” так же яркие освещенные места и блики сглаживаются лучше. Ни в коем случае не используйте этот флажок при рендеринге в формат с большим динамическим диапазоном!

Снятие флажка Affect Background (действовать за фон) приводит к тому, что при рендеринге фоне не изменяется. Но имейте ввиду, что в отражениях и преломлениях используется откорректированное изображение.

А вот флажок Don’t Affect Colors (adaptation onlу) (не оказывать влияния на цвета) требует дополнительного обсуждения. Дело в том, что все пороговые значения (Thresholds), используемые для антиалиасинга, фильтрации глобального освещения и т.д., рассчитываются по изображению, уже подвергнутому преобразованию цвета. При рендеринге в формат с большим динамическим диапазоном, как правило, не используют преобразование цвета. Но при этом при последующей цветокоррекции вы можете получить нежелательные шумы в затененных областях. Поэтому проводится “виртуальное” преобразование цвета, не влияющие на окончательное изображение, соответствующее дальнейшей предполагаемой цветокоррекции. По этой же причине и значение гаммы устанавливается здесь, а не в глобальных настройках 3ds Max.

VRay:: Frame Buffer описан ниже

Вкладка Indirect Illumination (непрямое освещение)

Вэтой вкладке настраиваются процессы, относящиеся к расчету непрямого, или глобального освещения.

Всвитке VRay:: Indirect Illumination (GI) определяются глобальные настройки и выбираются алгоритмы для расчета первичного и вторичного отскоков.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 53

Флажки в группе GI Caustics (каустика ГО) позволяют генерировать глобальное освещение не только с учетом диффузной компоненты (если оба флажка сняты), но и зеркальности и прозрачности. Следует иметь ввиду, что достичь хорошего вида такой каустики можно только при очень качественных настройках, в противном случае вы получите грязные пятна. Особенно это критично для зеркальных поверхностей (а зеркальной считается любая поверхность, в материале которой присутствует ненулевое значение Reflection, даже если отсутствует трассировка отражений). Поэтому флажок Reflectivе, как правило, снимают. С рефрактивной каустикой все не так однозначно, но если есть возможность заменить ее полупрозрачными тенями – лучше ее не использовать, так как в любом случае расчет занимает больше времени.

Вгруппе Post-Processing (постобработка) устанавливаются параметры, изменяющие цветовую насыщенность (Saturation) и контрастность (Contrast и Contrast base) глобального освещения. Часто для того, чтобы обесцветить глобальное освещение с целью уменьшить взаимное переокрашивание объектов (Color Bleed, например, потолка в цвет пола), или синеву от неба, уменьшают параметр Saturation. На наш взгляд, это радикальный, но не самый лучший способ, так как это влияет на все непрямое освещение. Лучше использовать настройки материалов и объектов.

Вгруппах Primary Bounces и Secondary Bounces (первичный и вторичный отскоки) выбираются алгоритмы и устанавливаются коэффициенты влияния (Multiplier). В большинстве случаев не стоит менять значения по умолчанию (1.0)

На первичный отскок можно назначить четыре алгоритма – Irradiance Map (карта осещенности), Light Cache (“хранилище света”), Brute Force (“грубая сила”) и Global Photon Map (глобальная карта фотонов). На вторичный – все тоже самое, за исключением Irradiance Map.

Из этого разнообразия рассмотрим только актуальное в нашем случае решение, дающее приемлемое качество за приемлемое время – Irradiance Map на первичный отскок, и Brute Force и Light Cache – на вторичный. Все эти алгоритмы относятся к алгоритмам сбора.

Настройки карты освещенности расположены в свитке Irradiance Map. Как видите, много всего. Из этого “богатства” мы опишем только самое необходимое. Дело в том, что за почти 8-ми летнюю историю VRay много всего было предложено и реализовано, и не все сейчас актуально.

При выборе на первичный отскок Irradiance Map появляется свиток с его настройками.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 54

Прекрасно понимая, что настройка “с нуля” – занятие неблагодарное, Владо предлагает несколько предустановок в группе Built -in Presets. Для черновых расчетов подойдут настройки Very Low и Low, для окончательных расчетов статичного изображения подойдет Medium.

Если же все вы решите настройть этот процесс самостоятельно – переключайтесь в Custom (по выбору) и регулируйте значения параметров в группе Basic Parameters (основные параметры)

Алгоритм расчета карты освещенности в общем случае адаптивный и многопроходный. При первом проходе лучи, определяющие освещенность, посылаются с частотой, определяемой параметром Min Rate. Если это значение отрицательное, то лучи посылаются не в каждый пиксел, а через несколько пикселов. Для определения необходимости запуска дальнейшего уточнения разность значений соседних образцов сравнивается с пороговыми значениями по цвету (Color Threshold), углами между нормалями (Normal Threshold) и расстоянием между поверхностями (Distance Threshold). Если разность больше какого-либо порога – то запускается следующий проход и так далее до тех пор, пока не будут достигнуты пороговые значения или максимальное значение Max Rate. Если значение Max Rate также отрицательное, то карта получается меньшего размера, чем окончательное изображение.

Важными параметрами являются параметры Hemisphere Subdivs (разбиение полусферы), определяющее количество лучей, на которое разбивается первичный луч и Interpolation Samples, определяющих количество образцов, подлежащих усреднению. Чтобы получить более точное распределение света, особенно в “узких” местах (например, у бордюрного камня или плинтусов), это значение увеличивают до 80 – 100. Увеличение второго параметра ведет к более размытой карте освещенности. На практике при увеличении Hemisphere Subdivs его тоже увеличивают, но ненамного, до 30.

Как не парадоксально, но при увеличении параметра Max Rate до 2-x, для ускорения расчета не в ущерб качеству можно, наоборот, уменьшить Hemisphere Subdivs до 30 – 40. Правда, смысла в такой большой (в четыре раза больше самого кадра) карте освещенности особого нет.

Параметр Interp. Frames (количество кадров для интерполяции) используется при рендеринге анимации объектов и обсуждается ниже.

Флажки в группе Options – Show calc. phases (показывать процесс расчета) и Show direct light (показывать свет от источников света) позволяют контролировать процесс.

Параметры в группе Detail enhancement (Повышение деталей) включают и управляют процессом, позволяющим добиться проработки мелких деталей. Этот процесс похож на Ambient Occlusion в mental ray, но реализован несколько по-другому. Используется механизм Brute Force (грубая сила), что дает кроме затенения еще и перенос цвета. При окончательном рендеринге с поверхности объектов испускаются лучи на расстояние, заданное параметром Radius (радиус), и если на пути возникает препятствие, лучи переотражаются. Радиус оп-

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 55

ределяется либо в постранстве экрана (параметр Scale равен Screen) в пикселах, либо в пространстве сцены (World) в единицах измерения сцены. Чем больше значение радиусов, тем более точным является процесс, тем дольше расчет. Количество образцов определяется количеством Hemisphere Subdivs, помноженным на пара-

метр Subdivs. Multiplier

В группе Advanced Options настраиваются специфические параметры, менять их без необходимости не стоит.

Тип интерполяции (Interpolation Type) установлен по умолчанию в положение Least squares fit (метод наименьших квадратов) и позволяет получать гладкое решение, но при этом достаточно медленный.

Метод Weighted Average (взвешенное усреднение) более быстрый, так как более простой, но может давать “пятнистость”.

Метод Delone triangulation (триангуляция Делоне), в отличие от остальных методов, не размывает карту, что дает возможность получить более четкое и точное решение, но при этом возможно появление шумов. Бороться с ними можно увеличением количества образцов в параметре Hemisphere Subdivs, или уменьшением порогово-

го значения Noise Threshold (порог по шуму) в свитке VRay:: DMC Sampler (вкладка Settings).

В группе Sample Lookup (поиск образцов) определяется метод отбора образцов для последующей интерполяции. Не вдаваясь в подробности, метод, установленный по умолчанию (Density Based, основанный на плотности), можно считать универсальным во многих случаях. В некоторых случаях для увеличения скорости используют метод Overlapping (перекрытие) как более быстрый.

Настройке типа интерполяции и поиска образцов используются во время рендеринга, т.е. после расчета карты освещенности. Поэтому их можно настраивать, используя рассчитанную и сохраненную карту.

В группе Mode (режим) задается режим использования карты освещенности.

При использовании Single Frame (один кадр) карта освещенности рассчитывается для каждого кадра заново. Этот режим не подходит при рендеринге анимации, ни простом пролете камерой, ни анимации объектов, так как требует очень много времени из-за необходимости использования очень большого количества образцов, чтобы избежать эффекта мерцания и шума.

Для создания пролета или облета камеры используется режим Multiframe incremental (покадровое приращение). В этом случае происходит досчитывание карты освещенности при необходимости, что ускоряет процесс и уменьшает мерцание.

Режимы Add to Current Map и Incremental add to Current map делают примерно одно и то же – добавляют ин-

формацию к карте, сохраненной в памяти. Но если в первом случае каждая новая карта рассчитывается заново, то во втором – только по необходимости.

Все эти карты можно сохранить в файл и использовать в дальнейшем, используя режим From File (из файла). Таким образом, при ренедринге пролета камеры вы можете заранее записать карту освещенности, причем при медленном движении камеры не в каждом кадре, а через 5, 10 или больше кадров, и после использовать данные из файла. Вы можете так же использовать этот прием в том слу чае, если вам необходимо получить большое количество статических изображений примерно с одного ракурса.

При рендеринге анимации объектов в новой версии VRay добавлено два режима – Animation (рrepass) и Animation (rendering) (предварительный расчет и рендеринг). Сначала вы запускаете Animation (рrepass), при котором создается последовательность файлов с информацией об освещенности. При окончательном рендеринге эти файлы загружаются и интерполируются. Сколько кадров использовать для интерполяции задается параметром Interp. frames в группе Basic Parameters.

В группе On render end (в конце рендеринга) есть возможность задать автоматическое сохранение и использование карты освещенности.

Имейте ввиду, что не все эти режимы возможно использовать при распределенном рендеринге, как при использовании Backburner, так и собственного механизма VRay. Можно использовать только режимы Single Frame (и как его вариант, Bucket Mode), From File и Animation. При этом файлы с картами освещенности должны быть доступны для всех компьютеров в сети. Подробнее об этом вы можете узнать в Руководстве пользователя VRay (http://www.spot3d.com)

При выборе на первичный или вторичный отскок режима Brute Force, появляется соотвествующий свиток. Как видите, настройки очень просты. Subdivs определяет количество вторичных лучей, а Secondary bounces – количество вторичных отскоков. В нашем случае можно увеличить первый параметр до 10 – 12, и уменьшить второй до 1 – 2.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 56

Имейте ввиду, что при использовании на первичном отскоке Irradiance Map, информация, получаемая от вторичных отскоков, записывается в карту освещенности.

Хотя для экстерьерных сцен принята связка Irradiance Map + Brute Force, вы можете так же поэкспериментировать с другим механизмом, Light Cache (дословно “хранилище света”). Свиток с его настройками появляется при выборе этого алгоритма на первичный или вторичный отскок

Смысл этого процесса несколько отличается от предыдущих, и является аналогом трассировки фотонов, с той лишь разницей, что лучи испускаются из камеры, а не из источников света. При попадании на поверхность, каждый луч не разбивается на множество лучей, а трассируется в случайном направлении.

Количество лучей задается параметром Subdivs. Не забывайте, что истинное количество лучей равно этому числу в квадрате, т.е. Subdivs. равное 1000 дает 1 000 000 лучей.

Шаг, с которым выбираются точки для последующего сбора, задается параметром Sample Size (размер образца).В пространстве экрана (Scale равен Screen) этот размер задается в до-

лях площади экрана, в пространстве сцены (World) – в единицах измерения сцены. Второй способ дает лучшие результаты в интерьерах, в экстерьерных выгоднее первый вариант, так как при больших пространствах время расчета увеличивается во много раз.

Параметр Number of Passes (количество проходов) определяет количество проходов расчета Light Cache. При этом лучший с точки зрения результат достигается при одном проходе. Несколько же проходов позволяют оптимально распределить процесс расчета Light Cache по процессорам. Таким образом, если вы имеете двухядерный процессор с технологией гипертрединг, т.е. виртуально 4 процессора, имеет смысл установить это значение равным 4. Для однопроцессорной системы без гипертрединга установите это значение в 1.

Установка флажка Store direct light (сохранять прямой свет) приводит к тому, что Light Cache записывает и интерполирует прямой свет. Если на первичный отскок при этом назначена Irradiace Map или Brute Force, то для своих расчетов они берут не прямой свет от источников, а свет из Light Cache. Это дает более сглаженную картину непрямого освещения.

Adaptive Tracing (адаптивная трассировка) перераспределяет большее количество лучей Light Cache в светлые области, т.е. освещенные прямыми источниками света, уменьшая тем самым шум в освещенных местах.

В группе Reconstruction Parameters (параметры восстановления) устанавливаются настройки фильтрации Light Cache.

www.realtime. ru / 119501 Мос ква ул. Нежинская д.5 / тел.: (495) 4425966,4425977 57