Saturday, October 16, 2010

"А хочется чего-то светлого, большого..." - взялся изучать Maya

Так много раз читал на форумах, что мол в Max'е Mental Ray убогий и кривой. Вот решил, что было бы неплохо попробовать что-нибудь новенькое. И поставил себе Maya 2011... открыл и утонул - сходства с Max'ом только в том, что и то и другое есть пакеты 3д-графики. А ведь когда-то давным давно я начинал именно с Maya. Но с тех пор все уже так поменялось и так это было давно и так поверхностны были тогда мои знания, что сейчас совершенно ничего не помню. Ну что же, будем потихоньку осаживать эту крепость. Тем более, что я давно планировал развиваться во что-то иное нежели просто визуализатор интерьеров... Кстати прочитал, что многие западные студии арх-виза сидят именно на Maya.
А Mental Ray в ней действительно гораздо серьёзнее - это видно невооруженным взглядом. Хотя бы по тому, что в ней давно есть вещи, которые до сих пор в Max'е только внедряются (те же Importons и IR-paricles)...

Wednesday, October 6, 2010

Красный клен


Вот, не удержался - отрендерил деревце с материалом из своей статьи :). Красиво получилось. Эх...

Tuesday, October 5, 2010

Рендер травы и деревьев





Вот решил освоить искусство рендера экстерьеров. А что главное в экстерьерах? Правильно, красивая и реалистичная растительность вокруг! :). Ну вот и встала в полный рост проблема рендера травы и деревьев. С наскоку ничего хорошего не вышло. Но через пару дней тестов и проб, получилось добиться неплохого результата.
Хочу сразу сказать, для рендера я использовал только Final Gather - фотоны в экстерьерах вроде как не эффективно использовать, т.к. основной источник у нас небо, а оно не испускает фотонов (можно конечно попробовать поставить БОЛЬШОЙ портал над всей сценой, но это я попробую в другой раз).


Первая проблема с которой я столкнулся, оказалась в железе. Мне банально не хватило оперативки! Для более-менее нормальной работы надо иметь хотя бы 9, а лучше 12 Gb RAM.
Вторая, и основная проблема - очень долгий рендер. Корни этой проблемы в материале листвы и деревьев. Изначально я делал их с помощью Arch&Design материала с прозрачностью (чтобы свет проходил сквозь листву и траву) и транслюценцией (чтобы листья и трава рассеивали свет внутри - эффект игры света в кронах деревьев). Кроме того, для листвы приходится использовать маски для канал Cutout для придания формы листьям. Что из этого получилось? Во-первых FG сильно тормозит на картах Cutout и на включенном Translucency. Во-вторых, если ставить вес Translucency меньше 1, то листья становятся прозрачными (это можно исправить накрутив Refract Glossy, но тогда на дереве рендер уйдет в бесконечность). С другой стороны, если ставить вес Translucency = 1, то листья перестанут пропускать свет - весь свет будет рассеиваться внутри листа (лист будет светить с обратной стороны через FG - отсюда и тормоза при расчете карты FG). Будем искать выход. Для начала, по пунктам обозначим, что мы хотим получить:
1) Чтобы листья были не прозрачные.
2) Чтобы в ярком свете листья светились с обратной стороны.
3) Чтобы листья частично пропускали свет и тени окрашивались в зеленоватый цвет

Для решения поставленной задачи, будем использовать шейдерный материал Mental Ray. В нем нас интересует 2 канала:
1) Surface - он отвечает за внешний вид материала и основные свойства поверхности (такие как отражения, прозрачность, транслюценция и т.п.)
2) Shadow - отвечает за параметры генерации теней от объектов с данным материалом.

Первым делом, я создал материал, который будет отвечать за основные свойства листа. Для этого я использовал материал Arch&Design. Вот его основные параметры:


Этот мат можно с помощью карты Material to Shader положить на канал Surface нашего основного материала. Но тогда мы упустим важный момент. А именно то, что эти свойства будут учитываться при расчете карты FG. А как я писал выше, это приводит к нежелательным последствиям. Поэтому для FG надо подсунуть другие свойства! Это дается с помощью шейдера Color Override/Ray Type Swticher. В этом шейдере, мы кладем наш мат на канал Default - это то же самое как если бы мы положили его на ВСЕ сразу каналы. А на канал Final Gather мы положим карту Translucency, чтобы для FG поверхность листа считалась как полупрозрачная и окрашенная в светло-зеленый цвет - это позволит FG лучам проникать сквозь листья внутрь кроны дерева, и избежать излишней темноты внутри неё. При этом, карта FG будет рассчитываться гораздо быстрее, т.к. свойства, которые мы подсунули для FG через Ray Type Swticher, гораздо проще чем свойства, заданные в основном материале.
Итак, первый этап завершен - связываем использованный Ray Type Swticher с каналом Surface нашего материала Mental Ray
Теперь займемся тенями. Самое главное, нам надо, чтобы тени были по форме листа (а форма геометрии у нас прямоугольная!) и полупрозрачные. Создадим материал Blend и в качестве маски возьмем ту же текстуру, что лежит у нас в мате Arch&Design на канале Cutout. Теперь нам надо, чтобы материал внутри этой маски был полупрозрачный, а снаружи - не было материала вовсе. Полупрозрачный мат мы сделаем с помощью материала Mental Ray с шейдером Translucency на каналах Surface и Shadow (возьмем тот же что мы использовали для FG выше). А в качестве второго материала положим опять же Mental Ray но с шейдером Transmat (полностью невидимый). Вуаля - все получилось как надо! Осталось через Material to Shader положить эту конструкцию на канал Shadow нашего основного материала.
Общая схема получилась в итоге следующая:
Выглядит конечно страшно, но это только в первый раз :). Потом становится все понятно и достаточно удобно настраивается. В конце концов можно сохранить этот мат в библиотеку и использовать в дальнейшем как шаблон.

PS. Трава делается абсолютно аналогичным способом, только мат Arch&Design который кладется на Surface основного материла, будет попроще. Ну и надо поиграть немного цветами на Reflection, на Refraction и на Translucence Color.

Надеюсь эта статейка будет кому-нибудь полезна.
Удачных рендеров.