Создание поделочных камней в 3D max

Доброго времени суток!

В этом уроке я хочу показать, как создавать сложные трехмерные карты текстур и материалы на их основе, для имитации полудрагоценных и поделочных камней. Некоторые мои знакомые жалуются, что стандартные карты в 3D max’e довольно простые, и сымитировать ими какие-то природные материалы довольно сложно и пользуются готовыми  растровыми текстурами.  Отчасти они правы, но, используя растровую текстуру невозможно создать более-менее универсальный материал, который бы годился для обтяжки модели любой сложности без дополнительных действий по проецированию текстур на грани, да и не стоит забывать, что найти рисунок для растровой карты хорошего качества не всегда представляется возможным. Использоваться будут средства стандартного 3D Max 9 и выше и материалы из библиотеки Mental Ray.

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

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

Создадим сферу радиусом 20 см ( единицы измерения устанавливаются в меню «Customize» > «Units Setup…», ставим галочку на метрической системе и указываем единицы измерения). 

Я использовал примитив «GeoSphere», с ним возникает меньше проблем при проведении Булевских операций, которые мы будем использовать далее. В командной панели нажимаем кнопочку с геометрией, выбираем стандартные примитивы и из предложенных   «GeoSphere»,  после создания сферы в окне проекции  устанавливаем нужный нам радиус( 20 см) и количество сегментов ( в принципе, чем больше – тем лучше, я установил 10)\рис№1\.

При создании примитивов с заранее известными размерами и положением на сцене, желательно использовать метод ручного ввода «Keyboard Entry»: после выбора нужного нам примитива, раскрываем закладку  «Keyboard Entry» и заполняем нужные свойства, в нашем случае радиус 20 см , а положение на сцене пусть останется 0,0,0 (в центре координат), после чего нажимаем кнопку «Create»:

Мы получили идеальную сферу, теперь нужно ей придать вид камня, для этого необходимо перевести сферу в редактируемую сетку и с помощью «Soft selection» придать ей природную форму. Для этого щелкнем правой кнопкой мыши(RM) по созданной сфере, из раскрытого меню (так называемого четвертого меню), выбираем пункт - преобразовать и преобразовать в редактируемую сетку (Мешь):

теперь в командном меню появились свойства нашего объекта, как редактируемой сетки. Выбираем редактирование на уровне вершин, включаем параметр «Soft selection» и изменяя величину затухания  «Falloff» придаем сфере нужный нам вид. При этом большая величина спада позволяет редактировать объект более масштабно, а малая величина позволяет добавлять мелкие детали.

чтобы придать более хаотичную форму поверхности камня, применим модификатор шума «Noise»: в командной панели отжимаем кнопку редактирования на уровне вершин , откроем список модификаторов и укажем нужный - «Noise»:

в параметрах шума, необходимо установить амплитуду и масштаб применения модификации. Я установил амплитуду (strength) в 10 см по всем плоскостям и масштаб в 15. естественно значениями можно побаловаться, но необходимо помнить, что амплитуду не желательно выставлять большей, чем масштаб, иначе получим пересечение граней друг с другом и наш камень будет в дырках.

можно несколько раз применить «Noise» с разными параметрами или чередовать его с ручным редактированием модели камня. После чего с помощью четвертого меню опять переводим объект в редактируемую сетку.

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

в командном меню стандартные примитивы, заменим на составные объекты:

и выбираем Boolean :  

квадрат у нас является сейчас объектом «А», необходимо указать объект «В» и вычесть «А» из «В».

Нажимаем кнопку «Pick Operand B» и мышкой указываем на камень (либо после нажатия кнопки, нажать «H» на клавиатуре и выбрать из списка), в фрейме «Operation» указываем «Subtraction B-A».

Все камень со срезом готов.

Внимание! Если вы сильно увлеклись применением модификатора шума и образовались пересечения в сетке объекта, то после вычитания на срезе камня образуются дыры. Нужно будет отменить вычитание (несколько раз CTRL+Z) и немного подвигать квадрат вверх или вниз, после чего опять провести вычитание. Если и это не поможет, нужно заново создавать камень либо вручную спаивать вершины.

По завершению моделирования нужно опять перевести объект в редактируемую сетку.

Создание материалов:

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

В первую очередь назначим срезу и остальной поверхности камня разные материалы:

Активируйте закладку «Modify» и нажмите кнопку редактирования на уровне элементов, область среза у нас окрасилась красным, то есть редактор нам подсказывает , что изменилось на объекте:

открываем редактор материалов ( кнопка «M» на клавиатуре), выделяем любой материал, переименовываем его в «срез» и применяем на выделенную поверхность кнопкой «назначить материал выделенному»:

если вы случайно сняли выделение среза и теперь его не вернуть- ни чего страшного. Нажимаем кнопку редактирования на уровне полигонов  и удерживая «Ctrl» выделяем все полигоны среза (как правило, их будет не много), спускаемся ниже по свитку до кнопки «Explode» ставим галку  на против пункта «Elements», увеличим область применения и нажимаем «Explode» - поверхность запомнилась, как элемент. Можно спуститься ниже и присвоить ей имя вместо «No Name 01\02».

Материалу «срез» нужно назначить карту диффузного отражения. Для имитации концентрических колец используем карту «Wood»

возвращаемся в редактор материалов, выделяем наш материал и щелкаем на кнопке назначения карты для диффузного отражения, из списка выбираем «Wood».

Настраиваем карту:

Для того чтобы видеть концентрические круги на нашем срезе, который сверху, необходимо повернуть карту на 90 градусов по Y ( иначе мы уведем только продольные полосы. Значения выставленные по умолчанию, нам не сильно подойдут, немного их изменим увеличивая радиальный и осевой шум (radial noise и  axial noise) . Толщину слоев можно оставить обычной (Grain thickness). Изменяя параметры карты можно делать рендер сцены ( клавиши Shift+Q предварительно выделив окно проекции), чтобы видеть результаты и остановиться на лучшем. После выбора понравившегося рисунка назначим цвет камня. Фон будет темно зеленым, на цвете «Color #1» щелкаем левой кнопкой мыши (LM) и выставляем цвет 11,44,25 (RGB). Я остановился на таких значениях карты:

 

На Color #2, для более реальной картины назначим еще одну карту – «Cellular», чтобы придать еще больше неоднородностей.

Нажимаем на кнопку справа от цвета  Color #2 и указываем карту «Cellular». Эта карта представляет собой набор ячеек распределенных случайным образом. Ячейки могут быть в виде неровных окружностей (подходит для имитации кожи) – «Circular», либо в виде отдельных кусочков «Chips» - как раз подойдет нам.  Для придания больших неоднородностей выставим галку для расчета по фрактальной функции «Fractal» и увеличим итерации фрактала «Iterations». 

Примечание: с разными настройками карты «Cellular», можно добиться многих интересных эффектов для имитации природных структур от текстур для имитации поверхностей земли, до текстур  неба:

обычно для этого используют карту «Noise», но она не такая гибкая в настройках.

Наша карта не должна преобладать над основной картой «Wood», поэтому основные цвета «Cell color»  и второй цвет «Division Color» нужно поставить не сильно отличающиеся от фонового, я поставил немного темнее -  0,36,13 (RGB), а оставшийся цвет – яркий 92,242,196 (RGB). Параметры размера ячеек «size» и количество «spread» выставите по «вкусу» меняя их и делая рендеринг (клавиши Shift+Q )  до нужного результата. Я остановился на таких показателях.

Все карта имитирующая поверхность малахита сделана. Аналогично выделите на камне поверхность без среза, нажав клавишу в свойствах редактируемой сетки «Element» (редактировать на уровне элементов) и указав нужную поверхность, примените к ней еще один свободный материал. Настраивать второй материал можно аналогично, но все цвета сделать темнее и несильно изменить параметры карт. У меня получилось следующее:

 

В чем прелесть сделанной трех мерной карты с использованием расчетов по фрактальной функции:

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

Во-вторых, обтягивать материалом на основе такой карты, можно объект любой сложности, независимо от ориентации полигонов структура материала не пострадает. Вот мы применили материал к самому стандартному примитиву (такой чайник можно подарить хозяйке медной горы) и к невозможной геометрической фигуре- ленте Мебиуса:

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

Примечание:  мы создали трехмерную карту, применяя ее для свойства «Diffuse» стандартного материала, но в дальнейшем ее также можно использовать с любым материалом, для любого рендера. Например, для материала библиотеки Mental Ray – «Arch & Design .   Glossy Finish » или другой,  для свойства Diffuse.Color.

Теперь создадим материал для имитации минерала – Бирюзы.

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

Приступим:

Для имитации основной поверхности камня используем еще одну 3d карту – Perlin Marble , данная карта хорошо подходит для создания масок, чем мы позже и воспользуемся. Первый цвет установим для светлых пятен –14,181,179 (RGB), а второй цвет – темный 50,88,79 (RGB), настройки я сильно не менял (size – это масштаб карты, levels- это количество уровней с полосами – чем больше, тем больше полосок) параметр saturation ( преобладание цвета над основой) нужно в нашем случае увеличить:

по идее, карту уже можно использовать для имитации «чистого минерала», но мы не ищем легких путей – бирюза не может быть однотонной. Основной бирюзовый цвет, минералу придают соли меди, через породу они проходят неравномерно, соответственно и окрашивание тоже не равномерно. Темные полосы дают соли других минералов, как правило- железа, там разброс в цвете не так заметен.

Чтобы оставить наши полосы не измененными,  а основу сделать неоднородной создадим из уже готовой карты – маску. Для этого создадим на свободном материале еще одну карту Perlin Marble и скопируем настройки со старой. Создание карты делается также, как мы делали выше, а скопировать настройки можно путем щелчка LM на кнопке с названием нашей карты, выбрать копирование и вставить копию на только что созданную карту( LM по той же кнопке) :

Внимание! При вставке копии карты нужно указывать пункт Paste(Copy) а не Paste(Instance), в противном случае у нас получиться зависимая копия и изменив настройки одной, мы автоматом изменим настройки другой.

У вновь созданной карты изменим цвета на чисто белые, а параметры  Saturation для обоих цветов поставим минимальными (1), остальное не меняем. Тем самым у нас получилась карта для маски – места где есть полосы- белые, а фон черный:

На свободном материале в редакторе создаем новую карту – Mix( как и раньше – Get Material  и в браузере карта Mix).

В настройках карты Mix два слота для карт и третий слот для маски смешивания. Черному цвету маски при смешивании будет соответствовать первая карта, а белому вторая. Градации серого в маске смешают пропорционально эти карты (если вы не правильно поставили первую и вторую карту и они не соответствуют задуманной маске, то их можно «отсвопить» - нажимаем кнопку «Swap», слева от карт, и материалы поменяются местами)

На первый слот мы поставим карту дымки (Smoke), на второй слот созданную карту для основы бирюзы. При нажатии на второй слот карту необходимо будет искать не в списке новых, а в списке редактора, для этого в редакторе необходимо флажок Browse From установить на Mtl Editor.

 

и аналогично указать карту смешивания для третьего слота.

В результате Миксовая карта будет выглядеть так:

 

Теперь зайдем в первую карту и настоим ее. Первый цвет 0,132,137(RGB), второй 115,242,211(RGB) остальные параметры настройте как посчитаете нужным (size это масштаб, Intention это коэффициент для создания неоднородностей) я использовал следующие параметры:

Все карта для поверхности бирюзы готова. Нужно ее назначить для материала. Берем опять свободный материал в редакторе материалов, я взял «Raytrace».Нажимаем в настройках материала кнопку рядом со свойством Diffuse и указываем нашу финальную карту ( выбор производить из списка редактора, а не новых материалов) кроме диффузного отражения в материале необходимо настроить свойства освещения. Как правило все камни имеют блик характерный для анизотропных материалов (из за своей кристаллической структуры) и срез камня у нас отполирован можно поставить ему невысокую рефлексию – отражение, для этого на свойстве Reflect( отмечено синим на рисунке) нужно снять галку и установить цифровое значение (где то от 10 до 50) :

И последнее, создадим вкрапления слюды в нашу бирюзу, для этого нам понадобиться материал смесь «Blend» в котором, мы подобно картам в Миксовом, смешаем по маске два материала.

Ищем опять свободный материал в редакторе материалов и назначаем ему материал Blend ( Get Material >> Blend), не забудьте переставить флажок Browse From на New в браузере материалов.

В настройках созданного материала мы видим, также как и в Mix, два слота под материалы и один для маски. На первый мы поставим материал бирюзы ( нажимаем на слот, потом на кнопку с названием материала ( Standard) , указываем что ищем в редакторе, находим нашу бирюзу и отвечаем на вопрос:

в зависимости от того, что нам нужно, либо отдельная копия в слот, либо зависимость.

В следующий слот поставим материал, имитирующий слюду. Слюда представляет собой минерал бледно желтого цвета, с металлическим блеском, непрозрачная и радужными разводами на блике. Я использовал материал из библиотеки Mental Ray - «Arch & Design» настроив его соответственно:

для имитации радужного блика я на свойство Reflection.Color поставил карту Gradient Ramp, в которой сымитировал блик ( не знаю почему но на блике от слюды зеленого цвета нет) и поменяв применение блика не линейно а радиально:

на самом деле не помешает, вместо просто Gradient Ramp, поставить смесь из Gradient Ramp и черных точек ( слюда чешуйчатая и бликует не однородно), но это уже на любителя).

Осталось сделать маску, я применил опять карту Cellular со следующими параметрами:

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

так же как и материал малахита его можно применять на объекты любой сложности:

более того, материал слюды можно поменять на прозрачный (Стекло), тем самым сымитировать прожилки кварца, правда применять такой материал можно только на тонкостенные объекты. Вот чайник с помещенным внутрь источником света:

Вот в общем то и все. Надеюсь, урок кому-нибудь да пригодиться.

С уважением КАА.

Kaa936@rambler.ru