VRay – тени и прозрачность
Привет всем читателям блога Olston3D! Это очередной урок Сергея Романова. Многим будет полезно.
Многие из вас, наверняка, задумывались над тем, как можно встроить 3D-объект в реальное изображение. Например в фотографию. Не смотря на то, что в интернете есть такого рода уроки, я покажу вам, как можно проделать подобный трюк, используя специальный материал VRay и его тени и прозрачность.
Весь фокус заключается в том, что тени от трёхмерного объекта должны проецироваться на саму фотографию, то есть на бэкграунд. Это хорошо видно на картинке выше. Так как же это сделать, если нам известно, что тень отбрасывается только на поверхность.
Сегодня я вам покажу легкий способ отрендерить модель с тенью, но с прозрачной поверхностью.
Для данного урока вам понадобятся: 3ds Max (у меня версия 2014) и VRay (у меня версия 3,0, но можно и 2,0)
1. В программе 3ds Max создаем всеми любимый ЧАЙНИК (Teapot).
Параметры для чайника у меня получились следующие:
2. Создаем под чайником Plane (удобнее это делать в окне вида Top)
Параметры объекта Plane следующие:
ДАЛЕЕ СОЗДАДИМ НЕОБХОДИМЫЕ МАТЕРИАЛЫ:
3. Первым у нас будет стандартный Виреевский материал VrayMtl, который мы применим к чайнику.
Создаем материал:
Изменяем Diffuse Color (по моей задумке он должен быть красный).
Также изменим Reflection Сolor (Reflect). Сделаем его почти белым, чтобы отражения были сильнее (люблю, знаете ли, глянец). 🙂
Вот такой красивый материальчик должен у вас получиться:
ПРИМЕНЯЕМ ПОЛУЧИВШИЙСЯ МАТЕРИАЛ К ЧАЙНИКУ.
4. Скопируем, перетащив и переименовав наш материал, в любой свободный слот и назначим ему Diffuse белый, но не полностью белый, а вот такой:
По сути, у нас получился белый глянцевый материал.
5. Приступим к созданию материала для плейна. Как вы, наверное, уже догадались именно на нем будут отображаться тени, но как нам сделать, чтобы тени были видны, а плейн – нет!? Для этого мы будем использовать специальный виреевский материал VRayMtlWrapper.
Тут я хочу немного отвлечься от основного повествования и описать некоторые параметры этого интересного и самого незаметного материала:
Base material: Базовый материал, настройки которого будут влиять на тени: матовый, глянцевый, белый, серый, красный.. Считайте что тени будут падать именно на тот материал, который мы назначили плейну.
Далее идет раздел Additional surface properties (Дополнительные свойства поверхности).
Эти параметры показывают: принимать ли нашему материалу GI (Global Illumination) и просчитывать ли на нем каустику. Данные галки я бы советовал не трогать, во избежании проблем с просчетом нашей тени.
Раздел Matte properties отвечает за то, как данный материал будет замаскирован и как он будет отображаться на Альфа-канале.
Включенные чекбоксы Matte Surface (делает материал масочным, то есть покрывающим поверхность но не видимым) и «Matte for refl/refr» (делает его также масочным для отражений и преломлений).
Параметр Alpha contribution определяет как тени будут отображаться в Альфа-канале:
Значение 1.0 – альфа-канал будет наследовать прозрачность Base material (то есть в нашем случае будет абсолютно не прозрачным)
Значение 0.0 – объект вообще не появится в Альфа-канале.
Значение -1.0 – прозрачность объекта (в данном случае тени) будет вычитаться из альфа-канала, и тень у нас получится, при выделении альфы с необходимой прозрачностью! (НАШ ВАРИАНТ)
Чекбокс Shadows, как не трудно догадаться, включает тени.
Affect alpha – влияние на Альфа-канал. Отображение на Альфа-канале, если так понятнее будет.
Также тут можно подправить цвет тени и ее насыщенность (Color, Brightness)
Reflection amount (Сила отражений) делает видимыми отражения от BASE MATERIAL. Это работает только если в качестве базового использован материал VRayMtl
Refraction amount (Сила преломлений) делает видимыми преломления в BASE MATERIAL. Это работает только если в качестве базового использован материал VRayMtl
GI amount — Влияние GI — определяет количество GI-теней.
ВОТ ТАКИЕ У НАС ДОЛЖНЫ БЫТЬ ПАРАМЕТРЫ МАТЕРИАЛА VRayMtlWrapper.
Но в нем у нас нет самого главного – базового материала. Берем созданный нами белый базовый материал и перетаскиваем его как Instance на плашечку базового материала где написано None.
Вот что должно получиться:
ПРИМЕНЯЕМ ДАННЫЙ МАТЕРИАЛ К НАШЕМУ ПЛЕЙНУ.
6. Теперь нам надо создать источник света, который будет давать тень.
В качестве такого источника мы возьмем VrayLight – плоский виреевский источник света. Чтобы создать его идем во вкладку Create, выбираем там Lights. В выпадающем меню находим Vray. Ну и там VrayLight.
Создаем источник VrayLigh (плейн) в виде сверху.
Параметры источника света выставляем такие:
7. Поворачиваем объект света на 45 0 по оси Y и на 45 0 по оси X.
Поднимаем вверх и переносим назад и вправо:
Вот какие параметры получились у меня:
8. Устанавливаем цель данному источнику (ставим галочку в чекбокс Targeted в панели Parameters)
Как видим у нашего источника света появился «хоботок». 🙂
Перетаскиваем появившуюся цель к краю нашего чайника.
Координаты у меня получились следующие:
9. Создадим текстуру отражения, чтобы было видно что наш чайник глянцевый.
Для этого выбираем любой пустой слот в редакторе материалов, жмем Get Materials/VrayHDRI
Во вкладке Bitmap выбираем Cumpus.jpg c ярким изображением улицы или города (ссылка на этот файл внизу статьи).
10. Не буду долго задерживаться на настройках рендринга, скажу лишь что данную карту нам надо скопировать как Instance в Reflection/Refraction Environment во вкладке рендринга VRay.
11. Рендерим и видим результат:
12. Сохраняем изображение как TIFF с Альфа-каналом:
13. Запускаем Photoshop и открываем в нем сохраненный файл. В палитре «CHANNELS» видим наш Альфа-канал:
Что же мы можем с его помощью сделать? Все просто! Мы можем быстро отделить наш объект от фона.
14. Кликаем по Альфа-каналу с зажатой клавишей Ctrl и Альфа-канал превращается в выделение.
15. Переходим в палитру Layers и делаем маску по выделению:
При этом ваш слой Background превращается в слой типа Layer с маской:
Теперь фон замаскирован, но тень осталась.
Теперь мы можем делать с данным изображением все, что захотим. Накладывать его на другие фотографии или класть на любые фоны. Фотография ОТРЕНДЕРИЛАСЬ С АЛЬФА-КАНАЛОМ ПО ТЕНИ.
За сим разрешите откланяться до следующего урока!
Источник
Обзор VRaySun и VRaySky
Обзор VRaySun и VRaySky
Пути пользовательского интерфейса:
Create menu > Lights > V-Ray > V-Ray Sun >
щелкните и перетащите в область просмотра
||Create panel|| > Lights > Choose V-Ray from dropdown > VRaySun >
щелкните и перетащите в область просмотра
||V-Ray Toolbar|| > V-Ray Sun button >
щелкните и перетащите в область просмотра
В VRaySun и VRaySky — это специальные функции, которые предусмотрены для vray рендера. Разработаны для совместной работы плагинов VRaySun и VRaySky, чтобы воспроизвести в реальной жизни солнце и небо в среде Земли. Оба закодированы так, что они меняют внешний вид в зависимости от направления VRaySun.
Пример: направление света VRaySun
Примечание: Все изображения ниже рендерились с Color mapping: HSV exponential, Dark multiplier: 1.0, Bright multiplier: 1.0, если не указано иное.
Этот пример демонстрирует эффект направления солнца. Обратите внимание, как при дополнении к сцене яркости, положение солнца также меняет вид неба и цвет света солнца.
Enabled: on; Turbidity: 3.0; Shadow subdivision: 8, Intensity multiplier: 0.01, Size multiplier: 1.0.
Высота солнца 500.
Высота солнца 1600.
Высота солнца 6000.
Параметры VRaySun:
Enabled — включает и выключает солнечный свет.
Invisible — когда опция включена, солнце становится невидимым для камеры и для отражений. Это полезно для предотвращения ярких пятнышек на поверхностях с размытыми отражениями, когда луч с небольшой вероятностью ударяет в очень яркий солнечный диск.
affect diffuse – этот параметр определяет, будет ли VRaySun влиять на диффузные свойства материалов.
diffuse contribution – этот множитель определяет влияние Солнца к диффузному освещению.
affect specular – свойство определяет влияние VRaySun на зеркальные материалы. Множитель определяет влияние солнца в зеркальных отражений.
specular contribution – этот множитель определяет вклад Солнца в зеркальном отражении
cast atmospheric shadows – при включении атмосферные эффекты будут отбрасывать тень.
Turbidity — этот параметр определяет количество пыли в воздухе и влияет на цвет солнца и неба. Маленькие значения дают чистый воздух, голубое небо и солнце, как в сельской местности. Большие значения параметра делают небо и солнце желтым и оранжевым, как в большом городе.
Ozone— этот параметр влияет на цвет солнечного света. Доступный диапазон — от 0.0 до 1.0. Меньшие значения делают солнечный свет более желтым, большие значения — более голубым.
Intensity multiplier — множитель интенсивности для VRaySun. Т.к. солнце по умолчанию очень яркое, вы можете использовать этот параметр для уменьшения яркости.
Size multiplier — этот параметр управляет видимым размером солнца. Он влияет на вид солнечного диска при виде через камеру, в отражениях, а также на нерезкость солнечных теней.
Filter color – опция позволяет изменить цвет солнца и зависит от параметра Color mode.
Color mode – эта опция влияет на цвет в параметре Filter color, который в свою очередь влияет на цвет солнца.
Filter – эта опция позволяет пользователю изменить оттенок систем V-Ray Sun и Sky на цвет, указанный в поле Filter color.
Direct – этот параметр задает цвет V-Raysun, который соответствует цвету в параметре Filter Color. В этом случае интенсивность света не зависит от положений V-Ray Suns в небе и управляется через множитель интенсивности.
Override – параметр задает цвет V-Raysun, который соответствует цвету в параметре Filter Color, но интенсивность света зависит от положений V-Ray Suns в небе.
Shadow subdivs — этот параметр управляет количеством сэмплов для нерезких теней от солнца. Большее значение параметра дает лучшее качество размытой тени, но замедляет просчет.
Shadow bias — перемещает тень к или от объекта, отбрасывающего тень. Если значение смещения слишком маленькое, тени могут «просачиваться» в места, где их быть не должно, порождая муар или затемнения на модели, которых там быть не должно. Если смещение слишком большое, тени могут «отрываться» от объекта. Если значение смещения очень большое [в обоих направлениях(?)], тени могут вообще не просчитаться.
Photon emit radius — определяет радиус области, из которой излучаются фотоны. Эта область отображается в виде зеленого цилиндра вокруг вектора солнечного луча. Этот параметр имеет эффект только при использовании фотонов при просчете GI или каустики.
Sky Model – позволяет обозначить процессуальную модель, которая будет использоваться для создания текстуры VRaySky.
Hosek et al.– когда выбран этот режим, процедурные текстуры VRaySky будут создаваться на основе метода Hosek et al.
Preetham et al.– когда выбран этот режим, процедурные текстуры VRaySky будут создаваться на основе метода Preetham et al.
CIE Clear – когда выбран этот режим, процедурные текстуры VRaySky будут создаваться на основе метода CIE для чистого неба.
CIE Overcast – когда выбран этот режим, процедурные текстуры VRaySky будут создаваться на основе метода CIE для облачного неба.
Indirect horiz. illum.– определяет интенсивность (в люменах) освещенности на горизонтальной поверхности, идущей с неба.
Ground Albedo – этот параметр позволяет изменить цвет земли.
Exclude — эта кнопка позволяет вам исключить объекты из освещения или запретить отбрасывание тени от солнечного света.
Пример: параметр Turbidity (мутность).
Этот пример показывает эффект параметра Turbidity. Как правило, это определяет количество частиц пыли в воздухе. Обратите внимание, как большие значения влияют на солнце и небо, они становятся желтоватыми, а меньшие значения делают небо ясным. Enabled: on, Intensity multiplier: 0.01, Shadow subdivision: 8, Size multiplier: 1.0
Параметр Turbidity установлен на 2.0.
Параметр Turbidity установлен на 4.0.
Параметр Turbidity установлен на 8.0.
Пример: значение Ozone.
Параметр Ozone влияет только на цвет света, излучаемого солнцем. Более высокие значения приводят к смене режима color mapping. Этот пример демонстрирует виды, полученные с нескольких различных режимов color mapping.
Пример: параметр Intensity Multiplier.
Enabled: on, Turbidity: 3.0, Shadow subdivision: 8, Size multiplier: 1.0
Height: Z = 0, Intensity mult: 0.01
Height: Z = 0, Intensity mult: 0.03
Height: Z = 0, Intensity mult: 0.05
Height: Z = 500, Intensity mult: 0.01
Height: Z = 500, Intensity mult: 0.03
Height: Z = 500, Intensity mult: 0.05
Пример: параметр Size Multiplier.
Этот пример демонстрирует влияние параметра Size Multiplier. Обратите внимание, как меняется в этом параметре воздействие видимого размера солнца и мягкость тени (хотя общая сила освещения остается прежней).
Enabled: on, Turbidity: 3.0, Shadow subdivision: 8, Intensity multiplier: 0.01
Size multiplier 4.0
Size multiplier is 10.0
Size multiplier is 40.0
Пример: Параметр Shadow Subdivs.
В этом примере демонстрируется действие параметра Shadow subdivs. Обратите внимание, как сниженное значение subdivs делает тени более шумным.
Enabled: on, Height Z: 1200, Turbidity is 2.0, Intensity multiplier is 0.01, Size multiplier: 10.0
Значение Shadow subdivs 8
Значение Shadow subdivs 16
Значение Shadow subdivs 48
Пример: Shadow Bias.
Enabled: on, Turbidity: 2.0, Shadow subdivision: 36, Intensity multiplier: 0.01, Size multiplier: 10.0
Shadow bias: 13.0
Параметры VRaySky.
Текстурная карта VRaySky, как правило, используется в качестве карты окружающей среды, либо в диалоговом окне 3ds Max Environment, либо в одном из слотов свитка V-Ray Environment и очень похожа на основе HDRI environment map. В VRaySky меняет свой внешний вид в зависимости от положения VRaySun.
Manual sun node — Определение Солнца вручную — указывает как VRaySky определяет свои параметры:
Off – VRaySky будет автоматически брать свои параметры от первого разрешенного (включенного) VRaySun, расположенного в сцене. В этом случае остальные параметры VRaySky недоступны.
On – вы можете выбрать различные источники света. Рекомендуется выбирать только направленные источники света, т.к. при расчете внешнего вида неба используется анализ вектора направления источника света. В этом случае VRaySun больше не управляет VRaySky и параметры в свитке текстурной карты определяют окончательный вид неба.
Sun node – определяет, какой из источников света выбран (если включен параметр Specify sun node).
Sun turbidity — см. параметры VRaySun.
Sun ozone — см. параметры VRaySun.
Sun intensity multiplier — см. параметры VRaySun.
Sun size multiplier — см. параметры VRaySun.
Sun invisible — когда эта опция включена, солнечный диск не будет видимым на текстуре неба.
Sky Model — позволяет вам выбрать процедурную модель, которая будет использована для генерации текстуры VRaySky.
— Preetham et al. — когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода Preetham и др.
— CIE Clear — когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода CIE для чистого неба.
— CIE Overcast — когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода CIE для неба с облаками.
Indirect horiz. illum. — Непрямое горизонтальное освещение — параметр указывает интерсивность (в люксах) освещенности горизонтальных поверхностей, приходящую от неба.
Пример: VRay Sun и Sky с использованием различных типов Color Mapping.
Помимо параметров солнца и неба, их появление также зависит от выбранного режима color mapping. Этот пример демонстрирует виды, полученные с нескольких различных режимов color mapping.
Enabled: on, Height Z: 800, Turbidity: 3.0, Shadow subdivision: 8, Intensity multiplier: 0.01, Size multiplier: 1.0
Color mapping: Linear
Color mapping: Exponential
Color mapping: HSV exponential
Color mapping: Intensity exponential
Примечания:
По умолчанию VRaySun и VRaySky очень яркие. В реальном мире средняя плотность потока солнечного излучения примерно 1000 Вт/кв.м (см. ссылки ниже). Т.к. выходное изображение в V-Ray в Вт/кв.м/ср, вы обычно будете находить, что среднее RGB-значение, порожденное солнцем и небом, около 200.0-300.0 единиц. Это вполне корректно с физической точки зрения, но недостаточно для хорошего изображения. Вы можете или использовать Color mapping (Преобразование цвета) для приведения этого значения в меньший диапазон (предпочтительный способ), либо вы можете использовать Sun intensity multiplier для уменьшения яркости солнца и неба. Использование VRayPhysicalCamera с подходящими значениями также даст корректный результат без изменения параметров солнца и неба.
Список полезных ссылок о работе V-Ray Sun и Sky, а также общая информация о методе освещения источника света Sun:
1. A.J. Preetham, P. Shirley, and B. Smits, A Practical Analytic Model for Daylight, SIGGRAPH 1999, Computer Graphics Proceedings;
Онлайн-версию можно найти на http://www.cs.utah.edu/
shirley/papers/sunsky/
Этот документ содержит исходные коды примеров и является базой для плагинов VRaySun и VRaySky.
2. R. H. B. Exell, The intensity of solar radiation, 2000
Эта страница доступна на http://www.jgsee.kmutt.ac.th/exell/Solar/Intensity.html
Эта страница содержит информацию о средней интенсивности солнечного излучения, а также некоторые специальные измерения.
3. R. Cahalan, Sun & Earth Radiation
Эта страница может быть найдена по http://climate.gsfc.nasa.gov/static/cahalan/Radiation/
Эти страницы содержат список точный солнечных излучений по большой части электромагнитного спектра.
4. D. Robinson-Boonstra, Venus Transit: Activity 3, Sun & Earth Day 2004
Этот документ можно найти на сайте
http://sunearth.gsfc.nasa.gov/sunearthday/2004/2004images/VT_Activity3.pdf
Среди прочих вещей этот документ содержит данные о расстоянии от Земли до Солнца и размер Солнца, полученные из астрономических наблюдений.
5. Hosek L, et al, An Analytic Model for Full Spectral Sky-Dome Radiance
Источник