Прежде чем знакомится со статьей стоит внимательно изучить информацию размещенную по данной ссылке docs.chaosgroup.com. Весь текст который буду брать с указанного места буду помечать синим цветом. Там же можно найти и примеры использования, с которыми также желательно ознакомиться.
Каждый может создать удобную для него простенькую сценку (экстерьер или интерьер) и в процессе ознакомления со статьей попробовать на своем примере все то о чем пойдет речь ниже.
Для наглядности в статье использую панорамы 360°.
Начать хочется со старого доброго анекдота:
Сидит программист глубоко в отладке.
Подходит сынишка:
— Папа, почему солнышко каждый день встает на востоке, а садится на западе?
— Ты это проверял?
— Проверял.
— Хорошо проверял?
— Хорошо.
— Работает?
— Работает.
— Каждый день работает?
— Да, каждый день.
— Тогда ради бога, сынок, ничего не трогай, ничего не меняй!!!
И так, почему почти всегда упоминая VRaySun и VRaySky мы апеллируем термином связка? Все но самом деле просто! Если в нашей сцене будет использованы VRaySun и VRaySky и мы ничего не меняли в их параметрах устанавливаемых по дефолту, будет создана система (связка) в которой некоторые параметры будут связанны и VRaySun будет напрямую влиять на некоторые модели VRaySky. VRaySun и VRaySky в файле сцены может быть несколько. В этом случае (если мы опять же ничего не трогали и ничего не меняли) все VRaySky будут привязаны к последнему созданному VRaySun.
Что такое VRaySun и VRaySky?
VRaySun - бесконечно удаленный, невидимый для камеры источник света в котором важен лишь вектор направления. Поэтому мы можем с уверенностью говорить о параллельности направления лучей (при дефолтном значении size multiplier). Так как он бесконечно удаленный, не имеет никакого значения где находится сам VRaySun (поэтому располагаем его в удобном дня нас месте не вынося его за габариты сцены дабы избежать артефактов), существенно для нас лишь его положение относительно target.
VRaySky - текстурная карта VRaySky обычно используется как карта окружающей среды (environment map) в диалоге 3ds Max Environment или в одном из слотов свитка V-Ray Environment, а своим поведением очень похожа на карту окружающей среды HDRI. VRaySky изменяет свой внешний вид, основываясь на положении VRaySun.
Создадим VRaySun. VRaySun находится в панели Create -> Lights -> VRay. Вы можете также указать VRaySun в качестве типа солнца в системе Daylight 3ds Max.
Программа спросит нас: «Желаете добавить VRaySky в слот environment map».
Если мы соглашаемся и у нас в слоте environment map уже присутствует VRaySky или он занят чем-то еще, программа предупредит об этом и спросит нашего согласия на замену содержимого слота.
Вне зависимости от того соглашались мы или нет, все имеющиеся в сцене VRaySky с дефолтными параметрами будут связанны с этим VRaySun. В этом легко убедится если мы имеем в редакторе материалов несколько карт VRaySky и будем продолжать создавать новые VRaySun каждый раз меняя у них значение intensity multiplier.
Почему было упомянуто что VRaySun невидимый? Видеть мы можем не сам источник света, а лишь его проекцию на VRaySky. Т.е. на рендере если мы не видим VRaySky, то и диск солнца там присутствовать не будет, оно будет только участвовать в освещении. Если нам нужно от системы освещение и видимость на рендере помещаем VRaySky в слот environment map.
Если в качестве окружения используем что-то другое, но освещение желаем получить от нашей системы, помещаем VRaySky в соответствующий слот V-Ray::Environment
И так у нас есть связка VRaySun+VRaySky. Перемещая VRaySun относительно его target-а посмотрим как это будет выглядеть визуально.
VRaySun x: 0mm. y: 100mm. z: 100mm. target x: 0 y: 0 z: 0
VRaySun x: -100mm. y: -50mm. z: 150mm. target x: 0 y: 0 z: 0
VRaySun x: 100mm. y: -50mm. z: 10mm. target x: 0 y: 0 z: 0
Забежим немного вперед и разберемся присутствует ли солнце в чистой карте VRaySky, когда в сцене отсутствует VRaySun.
Да! Солнце в карте присутствует.
При дефолтных параметрах:
Т.к. система координат идет через первый октант, солнце будет помещено в начало координат, а его проекция размещена под углом в 30 градусов к горизонтальной плоскости. Если понятнее: приняв направление глобальной оси Y за направление на север мы будем наблюдать проекцию солнца строго на северо-востоке под углом в 30 градусов к горизонту.
При независимых параметрах, когда specify sun node ON :
Проекция солнца помещается строго в зените.
Из этого можно сделать вывод: используя VRaySky без связки солнцем или другим светильником мы сильно ограничиваем свои возможности.
Что дает нам связка? Самое главное – это прямое влияние положения VRaySun на некоторые модели VRaySky. Также мы получаем возможность настраивать параметры VRaySun и VRaySky в одном месте - в параметрах VRaySun, но при этом стоит помнить, что полностью связываются и будут влиять совместно друг на друга не все из них.
Enabled - Разрешен - включает и выключает солнечный свет. Выключаем когда нам не нужен солнечный свет и мы оставляем только освещение от неба, сохраняя при этом механизм настройки VRaySky (нам не придется лезть в редактор материалов, а достаточно зайти в редактирование VRaySun) . В данном случае также меняя положения VRaySun мы можем добиться красивого освещения и получить интересные тени. Параметр не влияет на видимость проекции солнечного диска, для этого используем следующий параметр. Влияет только на VRaySun.
Invisible - Невидимый - когда опция включена, солнце становится невидимым для камеры и для отражений. Это полезно для предотвращения ярких пятнышек на поверхностях с размытыми отражениями, когда луч с небольшой вероятностью ударяет в очень яркий солнечный диск. Стоит обратить внимание что невидим становится только отражение, которое и образует яркое пятно. Размытый блик останется видим на поверхности.
В примере показан горизонтальный плейн с зеркальным материалом
RGlossiness : 1,0
RGlossiness : 0,7
Affect diffuse - Влиять на диффузный цвет - эта опция определяет будет ли VRaySun влиять на диффузные свойства материалов. Степень влияния можно отрегулировать параметром diffuse contribution в поздних версиях вирея. Влияет только на VRaySun.
affect diffuse: ON diffuse contribution: 1,0
affect diffuse: ON diffuse contribution: 0,5
affect diffuse: OFF
Affect specular - Влиять на блик - эта опция определяет будет ли VRaySun влиять на блики материалов. Степень влияния можно отрегулировать параметром specular contribution в поздних версиях вирея. Влияет только на VRaySun.
affect specular: ON specular contribution: 1,0
affect specular: ON specular contribution: 0,2
affect specular: OFF
Cast atmospheric shadows - Отбрасывать атмосферные тени - когда эта опция включена, атмосферные эффекты в сцене будут отбрасывать тени.
Turbidity - Дымка - этот параметр определяет количество пыли в воздухе и влияет на цвет солнца и неба. Маленькие значения дают чистый воздух, голубое небо и солнце, как в сельской местности. Большие значения параметра делают небо и солнце желтым и оранжевым, как в большом городе. Для дополнительной информации см. раздел Примеры.
Ozone- Озон - этот параметр влияет на цвет солнечного света. Доступный диапазон - от 0.0 до 1.0. Меньшие значения делают солнечный свет более желтым, большие значения - более голубым. Для дополнительной информации см. раздел Примеры.
Intensity multiplier - Множитель интенсивности - множитель интенсивности для VRaySun. Т.к. солнце по умолчанию очень яркое, вы можете использовать этот параметр для уменьшения яркости. Подробности см. в разделах Замечания и Примеры.
Size multiplier - Множитель размера - этот параметр управляет видимым размером солнца. Он влияет на вид солнечного диска при виде через камеру, в отражениях, а также на нерезкость солнечных теней. Дополнительную информацию см. в разделе Примеры .
Filter color - параметр позволяет сдвигать цветовой тон (hue) системы V-Ray Sun and Sky к указанному цвету. Описание сомнительно, т.к. влияет только на солнечный свет и цвет проекции солнца не затрагивая цвета неба. Изменить цвет неба можно фейково - пропустив (как один из вариантов) карту VRaySky через карту ColorCorrection. Но в этом случае заданное значение цвета на финальном результате будет изменено с учетом этой коррекции. Такой фейк прекрасно подойдет например для создания космических или сюрреалистичных пейзажей.
filter color: RGB 255.0.0
filter color: RGB 255.0.0 ColorCorrection => Hue Shift: -95
Color Model – позволяет выбрать одну из трех моделей для параметра filter color.
filter – изменяет оттенок VRaySun и системы Sky на цвет указанный в поле filter color.
filter color: RGB 255.127.0
direct – задает цвет VRaySun соответственно цвету filter color. В этом случае интенсивность света не зависит от положение VRaySun на небе и контролируется по интенсивности множитель.
filter color: RGB 255.127.0
override - задает цвет VRaySun соответственно цвету filter color, но интенсивность света зависит от положение VRaySun на небе.
filter color: RGB 255.127.0
Shadow subdivs - Подразбиения для тени - этот параметр управляет количеством сэмплов для нерезких теней от солнца. Большее значение параметра дает лучшее качество размытой тени, но замедляет просчет. Дополнительную информацию см. в разделе Примеры .
Shadow bias - Смещение тени - перемещает тень к или от объекту(а), отбрасывающему(го) тень. Если значение смещения слишком маленькое, тени могут "просачиваться" в места, где их быть не должно, порождая муар или затемнения на модели, которых там быть не должно. Если смещение слишком большое, тени могут "отрываться" от объекта. Если значение смещения очень большое [в обоих направлениях(?)], тени могут вообще не просчитаться. Дополнительную информацию см. в разделе Примеры .
Photon emit radius - Радиус источника фотонов - определяет радиус области, из которой излучаются фотоны. Эта область отображается в виде зеленого цилиндра вокруг вектора солнечного луча. Этот параметр имеет эффект только при использовании фотонов при просчете GI или каустики.
Sky Model - Модель неба - позволяет вам выбрать процедурную модель, которая будет использована для генерации текстуры VRaySky.
- Preetham et al. - когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода Preetham et al. Устанавливается по умолчанию. Максимально приближенная к реальному небу. Интенсивность напрямую связанна с интенсивностью солнца и регулируется параметром intensity multiplier.
- CIE Clear - когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода CIE для чистого неба. Имеет более широкий динамический диапазон чем предыдущая, в отличие от которой интенсивность не привязана к интенсивности солнца и регулируется независимо параметром indirect horiz. illum.
- CIE Overcast - когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода CIE для неба с облаками. Отличительными чертами этой модели является колор соответствующий небу затянутому облаками, отсутствие светлого ореола вокруг диска солнца, и более темный низ. Также не привязана к интенсивности солнца и регулируется независимо параметром indirect horiz. illum. Эта модель неба прекрасно подойдет и для ночных сцен с полной Луной, или чтобы вписать полную Луну на утреннем и вечернее небо.
- Hosek et al. - когда выбран этот режим, процедурная текстура VRaySky будет генерироваться на основании метода Hosek et al. Как сказал один хороший человек: «Не такое ядовитое! «. Модель в которой собрали все лучшее от предыдущих. Интенсивность напрямую связанна с интенсивностью солнца и регулируется параметром intensity multiplier.
Резюмируем: имея такой выбор вполне реально настроить необходимое освещение, а при необходимости независимо отрегулировать яркость VRaySun и VRaySky не разрушая связки.
Indirect horiz. illum. - Непрямое горизонтальное освещение - параметр указывает интенсивность (в люксах) освещенности горизонтальных поверхностей, приходящую от неба.
Exclude - Исключить - эта кнопка позволяет вам исключить объекты из освещения или запретить отбрасывание тени от солнечного света.
Алгоритм ground-а в ранних версия вирея реализован крайне слабо. Если вы заметили, у некоторых моделей неба нижняя часть значительно светлее верхней. В экстерьерах этот факт можно отбросить, т.к. нижняя часть сферы окружения всегда закрыта ландшафтом и GI от нее перекрыто. Другое дело интерьеры. Свет попадающий от неба на потолок или верхние части откосов окон будет сильнее, что приводит к пересветам.
Такое в реальном мире не наблюдается так как за окном у нас присутствует земля (трава, асфальт и т.д.) принимающее свое участие в GI, которые и перекроют нижнюю часть сферы окружения. Проблема старая и решалась еще Saluto. В принципе, если есть необходимость, можно и наваять сиё окружение. Но обычно у нас за окном плейн или арка на который мы натянули пейзаж, а в окне портал и нам очень хочется, чтобы он остался в режиме Simple, так как его отключение может значительно увеличить время визуализации.
Опять небольшой фейк.
Карта Mix. Цвет color #1 настраиваем по вкусу – это будет наш ландшафт и он повлияет на интенсивность и оттенок GI исходящей от нижней части сферы окружения, в слот color #2 помещаем нашу VRaySky . Смешиваем все это по самой простой маске с белым верхом и черным низом. Предварительно можно размыть границу если не нужна четкая линия. Для карты указываем Environ и Mapping: Spherical Enviroment, используя подрезку опустим или поднимем линию горизонта.
Так выглядит окружение.
Результат как видим вполне удовлетворительный, вплоть до влияния на GI.
Только все это актуально для ранних версий вирея. В поздних все это теперь реализовано и значительно удобнее.
ground albedo – изменение цвета земли. В отличие от приведенного выше фейкового метода, на эти интенсивность и цвет будет влиять интенсивность и цвет солнца, это равносильно тому что мы создали ground из плейна и поместили этот цвет на диффуз его материала.
blend angle – контролирует градиент, образованный VRaySky между горизонтом и фактический небо. Величина угловая, max=90°
horizon offset – смещения горизонта от стандартного положения (абсолютный горизонт). Опускает линию горизонта. Величина угловая, max=90°
ground albedo: RGB 86.146.80 blend angle: 12 horizon offset: 20
На практике возникают ситуации когда нужно создать две разные модели неба, одно из которых будет участвовать в освещении, а другое будет отображено на рендере. Для таких случаев предусмотрен вариант разорвать связку (систему) VRaySun+VRaySky. Открываем новую карту VRaySky в редакторе материалов и включаем specify sun node, в итоге получаем небо с уникальными параметрами не зависимыми ни от каких источников света.
Но как упоминалось в самом начале статьи, VRaySky будет содержать проекцию солнца, которая будет помещена в зенит. Нам необходимо управлять положением этой проекции. Для этого в слот sun light добавляем нужный нам источник света, указав его в окне проекции. Использовать в этом слоте мы можем не только VRaySun, но также любой другой источник света имеющий вектор направления (VRayIES, Spot, Direct и т.д.). Такая возможность бывает полезна когда например мы желаем уйти от четко параллельных теней которые дает VRaySun. Сам источник света будет независим от неба, и если нам не нужен свет от него – отключаем.
Все остальные параметры аналогичны одноименным параметрам для VRaySun. Sun invisible аналогичен invisible.
Пример раздельного использования двух карт VRaySky, одна из которых связанна с VRaySun и влияет на освещение, а другая видовая с уникальными параметрами;
Если продвинуться от родной планеты Земля в бесконечное море космоса, то обязательно найдем планету с тремя солнцами. ))) Вот такой вариант простенького неба получилось накидать в V-Ray 2.00.02 с его сиротскими (крайне скудными) возможностями в настройках, после которых последние версии кажутся просто фантастическими.
Скачать и посмотреть файл можно тут.
Осталось только дополнить все это приемом описанном в этом замечательном уроке "Облачное небо стандартными средствами 3ds max" и гарантированно можно достичь любого результата, даже изготовить для себя уникальные HDRI карты для окружения.