logo search
Как использовать все возможности mental ray в р

Параметры шейдера ctrl_objectlights

Среди настроечных параметров ctrl_objectlights наиболее важными для нашей цели являются transform, куда нужно вводить имя объекта- формы и light, куда необходимо вводить имя источника света.

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

Используя эту схему, мы воспроизведем результат, полученный при ручном редактировании mi-файла. Итак, вот настроенный файл (ссылка), рендер которого выглядит

совершенно аналогично рендеру, полученному первым способом.

Файл сцены: second.zip

Шейдер ctrl_objectlights написан для Maya и standalone mr и не учитывает некоторых особенностей транслятора 3ds max. В результате, при рендере иногда возникают досадные ошибки. Если это произошло, в большинстве случаев достаточно повторно запустить рендер или "подергать" настройки сэмплинга в mr Area omni, незначительно меняя их значения. В особо тяжелых случаях может потребоваться удаление исходного источника и создание нового. Как только рендер получился, в дальнейшем его результат остается стабильным.

Теперь займемся практическими вещами и создадим альтернативу встроенному в 3ds max Sky light - источник света, форма которого будет определена полусферой, покрывающей сцену. Источник будет испускать прямое освещение, фотоны и иметь мягкие тени.

Альтернативный Sky light

Известно, что расчет освещения от стандартного Sky light в 3ds max, имитирующего освещение от небесного свода, при использованием mental ray возможен только методом final gather. Это означает, что от такого типа источника мы можем посчитать только вторичное освещение. На практике часто возникает необходимость иметь полноценный источник света, дающий прямое освещение и способный испускать фотоны. Реализовать такой источник довольно просто, если воспользоваться описанной выше методикой создания источника произвольной формы. Итак, создаем собственный Sky light.

1. Форма источника. В качестве формы используется полусфера радиусом в 50 метров, полученная из стандартного примитива Geosphere со следующими настройками: radius = 50 метров, segments = 1, type = Icosa, smooth, hemisphere. Полусфера помещалась в начало координат (0, 0, 0) конвертировалась в Editable Mesh, нижние грани удалялись, а направления нормалей остальных граней изменялись на противоположные (flip). Имя полусферы изменено на SkyU1.

2. Источник света. В качестве исходного выбран mr Area omni с ray traced shadow, Samples U = V = 18, Intensity = 2,5 и остальными настройками по умолчанию. Помещен в начало координат и переименован в SkyL.

3. В сцене создан объект типа mr Shader с назначенным ctrl_objectlights. Затем базовому источнику назначена полусфера в качестве формы по описанной схеме. Базовая модель источника готова для дальнейших экспериментов.

Первое, что теперь можно сделать - через закладку mental ray Light Shader в свойствах источника назначить Light Point (base)в качестве light shader. Использование Light Point дает несколько преимуществ - расчет прямого освещения выполняется немного быстрее, шейдер оптимизирован для процедуры излучения фотонов, но, что важнее, он позволяет определить цвет светового потока (параметр Color) при помощи не только Color picker, но и посредством любого шейдера, возвращающего в качестве результата цвет.

Используя это свойство, для параметра Color шейдера Light Point можно назначить, например, HDRI - карту. Тогда карта будет определять цвет и интенсивность различных участков протяженного источника. Карту следует брать низкого разрешения, не более 256х256, и размытую. Ее можно создать из HDRI высокого разрешения в такой программе, как HDRShop.

Или же, для определения цвета можно использовать шейдер mib_cie_d. В этом случае нужно немного отредактировать декларацию шейдера в base.mi - добавить в разделе apply шейдера ключ "texture" или "material", иначе mib_cie_d будет не виден при выборе шейдера для цвета.