3D Studio MAX (4-th edition)
Виктор ЕМЕЦ
-
-
-
Вот опять мы и встретились. Как говорится, лучше позже, чем
никогда. Надеюсь, вы уж привыкли к тому, что периодически в этом издании появляются
вот такие сумбурные монологи, посвященные непревзойденному пакету трехмерного
моделирования 3D Studio MAX (последний — «3D Studio MAX —
история с продолжением», МК №46 (113)). Перед вами — следующее
откровение на эту тему. Думаю, что-то интересное для себя из этих отрывков моих
жалких мыслей по этому поводу вы для себя все-таки найдете. А еще лучше, если
попробуете повторить предложенную мною абракадабру на своих любимых компьютерах —
авось получится (. Ну, это я, конечно, шучу — когда же у вас что-то
не получалось?
-
Значит, как и обещал, будем разбираться в работе редактора материалов. Кроме того,
попробуем создать некое подобие интерьера (не одни же ложки делать), а точнее —
сделаем комнату. Если успеем, создадим кое-какое кресло. Также уделим внимание
освещению. Наверное многие привыкли, что в начале статьи я рассказываю "азы теории".
В этот раз все будет немного иначе: по ходу работы выясним все то, что нас интересует.
И, чтобы не терять времени, предлагаю как можно скорее углубиться в увлекательный
процесс творения собственных грез…
Для начала следует немного подумать над тем, как делать стены какого-либо помещения.
Можно конечно создать пару box’ов и подогнать их один к одному. Но, это, мягко
говоря, будет немного нерационально. Конечно же, извращенцы могут попробовать,
но мы-то с вами нормальные люди (ага, кто бы говорил :-)…), потому постараемся
сделать это как можно быстрее и удобнее. Я предлагаю следующий способ: нарисовать
контур помещения (вид сверху) и сделать из него трехмерный объект, вытянув его
с помощью модификатора Extrude.
Идем в Create > Shapes > Line, в свойствах линии свитка
Creation Method в рамках Initial Type и Drag Type ставим
отметки напротив Corner: таким образом у нас получатся прямоугольные изгибы
в местах искривления линии. Перед этим следует обратить внимание на кнопку Start
New Shape, которая находится в начале свитка Object Type вкладки Create >
Shapes. По умолчанию эта кнопка нажата и заблокирована в таком состоянии.
Это значит, что каждая нарисованная линия будет создаваться как отдельный объект.
Но в некоторых случаях требуется, чтобы несколько линий представляли один объект.
В нашем случае надо передать толщину стен. Помните одно — просто отожмите
кнопку Start New Shape перед тем, как хотите сделать объект, состоящий
из двух и более сплайнов. Теперь в проекции Front рисуем нечто подобное
рис. 1 и переходим во вкладку Modify командной панели.
Там выбираем модификатор Extrude, где значение Amount ставим примерно
равным 80 (таким образом определяем высоту гипотетического потолка). В самом низу
свитка параметров модификатора установим флажок возле Generate Mapping Coordinates.
Чуть позже объясню, зачем мы это сделали, а пока таким же образом создайте пол
нашей комнаты. Для этого нарисуйте одну лишь внутреннюю линию стены, примените
модификатор Extrude, но значение Amount поставьте равным 1. Теперь
выделите только что созданный пол, нажмите Spacebar (то биш "пробел") на клавиатуре —
равноценно нажатию Lock Selection Set (пиктограмма небольшого замка под
окнами проекций). Это заблокирует наше выделение таким образом, что следующее
выделение какого-либо другого объекта будет невозможно.
Переходим в проекцию Front, зажимаем кнопку Shift на клавиатуре
и с помощью инструмента Select and Move просто перемещаем наш пол вверх,
на место потолка комнаты. Если вы зажали кнопку Shift перед тем как передвигать
объект, появится окно Clone Options, где в рамке Objects выбираем
Instance, а в поле имени объекта вводим "потолок". Немного отвлекусь
и расскажу, чего это мы натворили. При клонировании любого объекта, материала
и т. п. в 3D Studio MAX будет появляться похожее окно с выбором
типа клонирования. Copy означает простое копирование — при этом изменение
параметров объекта или модификатора, присвоенного этому объекту, не повлечет за
собой изменения параметров исходного объекта. При выборе Instance (экземпляр)
изменение параметров исходного и копированного объектов связаны между собой. Reference
(ссылка) представляет собой нечто среднее между копией и экземпляром. Создавайте
ссылки, если хотите, чтобы множество объектов совместно использовали одни и те
же корневые параметры, но чтобы обеспечивалась возможность независимой индивидуальной
модификации каждого объекта.
После этого "лирического" отступления можно продолжать нашу работу. Теперь создайте
направленную камеру так, чтобы в объектив попал угол комнаты.
Сейчас будем штукатурить нашу комнату клеить обои и класть паркет. Вы уже сбегали
в хозяйственный магазин за клеем и принадлежностями? Напрасно бегали, ведь можно
сделать это намного проще — жмем М на клавиатуре и открываем окно
Material Editor.
Сначала — небольшой теоретический курс о редакторе материалов. Как я уже
раньше говорил в предыдущих статьях, материал трехмерного объекта представляет
собой двумерную карту, "натянутую" на объект. Но к созданию материала следует
подойти как можно серьезнее. Проверено опытом — при этом вы потратите столько
же времени, сколько и на моделирование самих объектов. Ведь просто налепив текстуру
на объект, реалистичности не добьешься, а при визуализации некрасивый (то бишь
"неправильный") материал сведет на нет все ваши изыски в самом процессе моделирования.
Впрочем, вы сами это поймете, когда начнете с ним работать. Кроме того, любой
материал имеет несколько так называемых каналов карт: например Diffuse или
Bump. Каждый канал отвечает за свою функцию отображения присвоенной ему
карты. Так, канал Diffuse просто накладывает двумерное изображение на трехмерный
объект, канал Bump создает иллюзию "выдавленности", Reflection отвечает
за отражения и т. д.
Также следует помнить, что процесс трехмерного моделирования делится на три уровня детализации: макроуровень, уровень
материала и подпиксельный уровень. Макроуровень — это моделирование
самого объекта, используя многочисленные модификаторы, передвигая вершины и т. п.
На уровне материала с помощью нужных карт материала передаются мелкие детали (такие
как коррозия на металлических поверхностях, выпуклость каждого кирпича стены,
маленькие трещинки). И наконец, подпиксельный уровень… Наверняка вы наблюдали
за тем, что металлические поверхности по сравнению с матовыми блестят намного
сильнее: таким образом, блики от света на разных поверхностях приобретают разный
вид. Формирование "правильного блика" и есть основным заданием подпиксельного
уровня.
Но вернемся к самому редактору… Пересказывать особенности интерфейса не буду —
все прекрасно написано в справочной системе MAX’а ( Help > Online Reference,
в поле поиска введите "Material Editor"). Мы сразу приступим к штукатурке стен
нашей комнаты. Как видим, по умолчанию нам доступно множество слотов-шариков,
выкрашеных в разные цвета. Чтобы цвет не смущал, просто ресетнем все параметры.
Для этого выбираем верхний левый слот и жмем кнопку Reset Map/Mtl to Default
Settings, что имеет вид перечеркнутого крестика и находится под шариками.
На предупреждение: "Ты соображаешь, что делаешь?!" :-) отвечаем: "Да" (умнеем
на ходу). Опускаем свой мудрый взор немного ниже, на параметры материала. В свитке
Shader Basic Parameters (базовые параметры затемнения) ничего не меняем —
пока не надо… А вот со свитком Blinn Basic Parameters следует поработать.
Находим рамку Specular Highlights — это и есть "управление бликом",
основа подпиксельного моделирования. Теперь в очередной раз напрягаем свои мозги:
мы, значит, моделим стену, а какие блики мы видим на стене? Никаких? И правильно,
и неправильно… Вообще, "никакие" блики бывают лишь там, где нет света. Сначала
можете покрутить настройки, а потом выставите значения Specular Level равным
10, Glossiness равным 0, и, наконец Soften равным 1.0. У нас получилась
матовая поверхность, что и было нужно.
Сейчас спускаемся ниже и находим свиток Maps… Тут видим кучу каких-то непонятных
кнопок. Главное — не теряться, все эти кнопки и есть так называемые каналы
карт. Вот сверху канал Ambient Color, чуть ниже — Diffuse Color…
Как я раньше говорил, канал Diffuse "натягивает" двумерную карту на объект и полностью
ее отображает в осветленных областях объекта. А вот Ambient отображает карту в
затемненных областях. По умолчанию они заблокированы между собой так, что изменение
параметров одного канала повлечет за собой изменение параметров другого (об этом
свидетельствует нажатая кнопка с пиктограммой замка). Но если требуется, чтобы
затемненные области объекта отличались от осветленных, просто снимите блокировку.
Но вернемся к нашей стене и займемся непосредственно дизайном интерьера. Жмем
на кнопку рядом с надписью Diffuse Color — появляется знакомое окно Material/Map
Browser, но вместо материалов нам доступны так называемые Procedural Maps…
Надеюсь, читатели этой статьи уже имели дело с Adobe Photoshop? Так вот, для сравнения —
процедурные карты чем-то напоминают фотошоповские фильтры. Вот например, нам требуется
сделать кирпичную стену. Для этого мы просто выбираем карту Bricks из списка
и настраиваем ее параметры… впрочем, именно этим мы сейчас займемся, но для стены
возьмем карту Stucco. Дважды щелкаем по ней мышкой и переходим к редактору
материалов. Тут нам уже доступны параметры карты (рис. 2), а в слоте материала
наблюдаем следующее — рис 3. Да уж, это, наверное не отвечает вашему
эстетическому представлению о стене. Ничего, сейчас мы все исправим — поставьте
значения Size, Thickness и Threshold равными 1.0, 0.2 и 0.58
соответственно и Color #1 сделайте желтым (значения RGB= 255, 214,
104), а Color #2 — темно-оранжевым (RGB= 210, 84, 0). Теперь
поднимаемся на уровень материала (жмем кнопку Go to Parent с черно-белой
пиктограммой шариков и искривленной стрелки, направленной вверх), где в свитке
Maps просто перетаскиваем кнопку возле Diffuse Color (сейчас там красуется надпись
Stucco) на место возле канала Bump, а в появившемся окне Copy (Instance) Map выбираем Copy…Далее
жмем на кнопку рядом с Bump, тем самым переходим на уровень карты Stucco (но для
канала Bump). Тут просто жмем кнопку Swap, чуть левее от выбора цветов
Color #1/2 — так мы просто поменяли цвета между собой. Чувствую, у вас
появился вопрос — зачем? Для этого следует рассказать немного о канале Bump.
Повторюсь, этот канал создает иллюзию "выдавленности" на поверхности объекта.
Чем светлее пиксел присвоенной ему карты, тем эффект выдавленности более заметен.
Надо сказать, что канал Bump "понимает" лишь черно-белую карту (как и большинство
каналов материала, кроме Diffuse и Ambient), но в данном случае я поменял значения
цветов таким образом, что более светлые желтые шероховатости на стене будут более
заметны.
Что ж, стену мы сделали, теперь будем делать паркет. А ну, быстренько посмотрим
на пол и вспомним, как выглядит паркет… Он деревянный, покрытый лаком, что придает
ему блеск… Вот, кажется, и все. Выбираем первый попавшийся слот материала и сначала
спускаемся к свитку Maps, где жмем большую кнопку возле канала Diffuse Color,
а в появившемся окне Mtl/Map Browser выбираем Mask (сейчас поймете, для чего мы это сделали). В параметрах
карты Mask (рис. 4), выбираем для канала карты картинку Oakqrtrt.tga,
что находится по адресу X:\3D MAX3.0\Maps\Wood\, где X —
имя диска, куда вы ставили MAX. В параметрах этой карты, в свитке Coordinates
установим значение Tilling по U и V осям равным 4.0 (это
сплющит картинку). Потом поднимаемся на уровень карты Mask, и выбираем процедурную
текстуру Bricks для канала Mask. А сейчас настраиваем параметры Bricks таким образом,
чтобы это было похоже на качественно положенный паркет. Для этого в свитке Standart
Controls из выпадающего списка Preset Type выбираем 1/2 Running
Bond и переходим в свиток Advanced Controls, находим рамку Bricks Setup,
тут устанавливаем просто белый цвет, параметры Horiz. Count, Vert. Count,
Color Variance, Fade Variance ставим равными 10.0; 60.0; 0.0; 0.4 соответственно.
Спускаемся к рамке Mortar Setup, выбираем абсолютно черный цвет, значения
Horizontal Gap и Vertical Gap — 0.04… Поднимаемся на два уровня
выше, на уровень материала, находим канал Reflection, и возле канала в поле вводим
вместо 100 значение 35. Потом жмем на большую кнопку возле канала и из появившегося
окна выбираем карту Raytrace. В параметрах карты ничего настраивать не
надо, а вот в параметрах материала еще осталось настроить блики. Просто значение
Specular Level и Glossines ставим равными 60 и 50 соответственно.
Вот я опять ничего не успеваю :-(… Придется вам самим осветить сцену (используйте
несколько источников света) так, чтобы конечный результат выглядел похожим на
рис. 5. Попробуйте также сделать мебель, я сделал эти кресла и секционный
диван из простого Box’а, применив модификатор MeshSmooth, а ручки —
используя лофтинг (Loft).
P.S. Я, конечно, гениальный (и от скромности не умру :-)) но придумывать
все новые и новые задания не имея обратной связи — это сложно. Поэтому жду
ваших предложений…
-
|
|