3D… 3D?! 3D Studio MAX!!!

Автор: content Четверг, Апрель 10th, 2008 Нет комментариев

Рубрика: Software

Продолжение цикла о 3D-моделировании…

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

Теория, теория…
Будем делать ложку — смешно, правда? Но это не так легко, как кажется. На этом примере рассмотрим технику создания трехмерных объектов на основе сечений, размещенных вдоль заданного пути (лофтинг). Мы создадим путь — некоторую кривую, а вдоль нее — несколько замкнутых кривых (именуемых не иначе как «формы»), и с помощью инструмента Loft «натянем кожу» на наш каркас.
Стакан мы также сделаем из простых линий, нарисовав сначала его двумерный контур, и применим модификатор Lathe (вращение). Этот модификатор по своему действию похож на токарный станок или гончарный круг. Он формирует объект, выполняя полный или неполный оборот формы относительно одной из трех координатных осей.
Теперь уже можно поговорить о материалах, из которых будут сделаны наши объекты. И если с ложкой все понятно (алюминий, он и в Африке алюминий), то со стаканом следует повозиться…
Ну, вот вы и выпили тот компот, приготовленный в начале нашей работы… но не спешите на кухню за очередной порцией! Лучше поставьте стакан перед собой, направьте на него настольную лампу и внимательно осмотрите… Стакан как стакан — скажет кто-то. Но не все так просто… Дело в том, что стакан сделан из стекла (да-а, с такими выводами мне только статьи писать *). Но!… Стекло в жизни — это не та прозрачная масса, которую мы часто ошибочно принимаем за стекло во многих компьютерных играх. Тут все намного интереснее… Ага, вот вы и заметили, что ваш стакан не только пропускает свет, но и преломляет его. Присутствуют также некоторые отражения…Как же это реализовать на практике?
Трассировка лучей (Raytracing) — именно тот метод (а если быть точнее — материал), который позволяет добиться этой выразительности. Еще в начале 80-х исследовательские лаборатории мира ломали голову над тем, как визуализировать отражения и преломления света в 3D-графике. И они придумали Raytracing… Этот метод основан на вычислении, или «трассировании» траектории, которую проходит луч света в трехмерной сцене. Таким образом можно с идеальной точностью передать «прозрачность» стекла, отражения в хромированных и зеркальных объектах любой сложности (для плоских поверхностей лучше использовать карту «Flat mirror»). Точность — это хорошо, а как же ресурсы системы? Вот тут-то и прокол… При визуализации этих эффектов вы потратите в несколько раз больше времени, чем при стандартной построчной визуализации. Потому (если, конечно, у вас не графическая станция Silicon Grafics или что-то в этом роде) особо разгоняться не следует.
В ранних версиях 3D Studio DOS/MAX отсутствовал свой трассировщик, потому художникам приходилось использовать плагины сторонних разработчиков. Но начиная с версии 2.5, MAX научился «просчитывать лучи», что, конечно же, не могло не сказаться на его авторитете. Ну что ж, грузимся…

Ложка rulezzz forever!!!
рис. 1Для начала найдем командную панель, а в ней — Create > Shapes > Line, и в проекции Left нарисуем кривую линию — профиль ложки (рис. 1). Для большего удобства сначала выделите проекцию Left и нажмите W (дублирует кнопку Min/Max Toggle в правом нижнем углу) — тогда окно проекции растянется на весь экран. Также рекомендую использовать 2D Snap Toggle. Если с первого раза у вас получилась не очень ровная линия, оставьте все как есть. Переходим во вкладку Modify командной панели и жмем на большую кнопку Sub-Object в свитке Modifier Stack параметров линии. Из выпадающего списка выбираем Vertex (точка), и выделяем два средних vertex’а (те, что будут формировать будущий изгиб). Жмем на них правой кнопкой мыши и в выпадающем меню выбираем сначала Smooth, а потом Beizer. Немного поясню: таким образом мы выбираем тип этих точек; всего их существует четыре типа: Corner, Smooth, Beizer и Beizer Corner… Выбрав сначала Smooth, мы выравниваем точки, а потом преобразовываем их в Beizer, для более легкого управления. Следовательно, передвигая управляющие вершины (они, как правило зеленые), можно с легкостю настроить «степень искривления» линии.

рис. 2Ну вот вы и сделали первый шаг… заметьте, что нарисовали мы не контур ложки, а путь, по которому далее следует пустить формы. Этим мы и займемся сейчас. В проекции Front рисуем небольшой эллипс (Length=»5″, Width=30) — как бы поперечный разрез в месте, где находится ручка ложки (рис. 2, сверху). Прямо под этим эллипсом рисуем такой же. Потом с помощью модификатора Edit Spline перемещаем две средние его вершины вниз так, чтобы получился как бы полумесяц (рис.2, внизу). Наверное, уже понятно, что это будет разрез в месте углубления ложки…
Хорошо, теперь будем моделить непосредственно сам объект, используя готовые формы… Сначала выделяем созданный нами путь и идем в Create >Geometry, где из выпадающего списка (по умолчанию там красуется Standart Primitives) выбираем Compound Objects, и там жмем на кнопку Loft. Если вы все сделали правильно, то под командной панелью должны появится параметры лофтинга. Там, в свитке Сreation Method, жмем на Get Shape и кликаем по нашему первому эллипсу. Вот теперь-то и стали видны первые результаты нашей деятельности. Не обращайте внимания на то, что форма гипотетической ложки немного страшновата, сейчас все уладится. Но, пока выполним следующие действия: в свитке Path Parameters установим значения Path равным 16 (не забудьте, что кнопку Get Shape еще никто не отменял) и кликнем по нашему изогнутому эллипсу. Опять какая-то белиберда вышла!.. Ну, чтоб окончательно вас запутать *, установим значение Path равным 30 и опять кликнем по первому эллипсу в режиме Get Shape.

рис. 3Ну вот, совсем запутались (рис. 3)!Будем распутываться…
Переключаемся во вкладку Modify, в параметрах лофта жмем Sub-Object, а там выбираем Shape (форма). Таким образом можно управлять формами, из которых мы только что создали объект. Теперь выбираем эти формы в проекции Front и вращаем их по оси Z на 900 по часовой стрелке (для удобства можно воспользоваться Angle Snap Toggle - тогда вращение на любой угол будет фиксированным).

рис. 4Вот что у нас получилось (рис. 4). Мы создалиполноценный лофт, настроили его части (в данном случае — формы), сейчас следует его модифицировать (изменить), чтобы придать ему форму настоящей ложки… В самом низу параметров лофта, в свитке Deformations, жмем на кнопку Scale. Появляется окно Scale Deformation, тут отжимаем кнопку в верхнем левом углу — Make Symmetrical. Кликаем по Display Y Axis (третья слева направо) и с помощью кнопок Insert Control Point и Move Control Point (восьмая и шестая соответственно) рисуем следующее: (рис. 5, зеленая линия). Следует обратить внимание на масштаб рисунка и на точку над указателем: ее значение по вертикали — около 160 единиц.

Сейчас уже можнопосмотреть на ложку. Ну как? Очень даже похоже. Хоть можно сделать и еще лучше… В Scale Deformation нажмем Display X Axis, появится еще одна линия, на которой мы добавим несколько точек и придадим ей такую форму, как на рисунке 5 (красная линия). Теперь ложка готова, можно передохнуть — ведь впереди предстоит еще большая работа.

А стакан не отстает…
В данный момент ложка нам не нужна, потому спрячем ее — чтоб не мешала. Для этого перейдем во вкладку Display командной панели, найдем свиток Hide и нажмем кнопку Hide Selected, предварительно выделив все объекты (ложку и линии).

Теперь в проекции Front рисуем незамкнутую линию — поперечный половинчатый разрез стакана — рис. 6. Помните, что нарисованнуюлинию всегда можно модифицировать в панели Modify, так что особо стараться нарисовать ее от руки не обязательно. Потом применяем к нашей линии модификатор Lathe. В свитке Parameters, в рамке Align свойств модификатора жмем кнопку Max, также устанавливаем галочку возле Flip Normals, добавляем побольше сегментов (например, 30). Все, стакан готов!

Свет + стекло = рэйтрэсинг…
Надо бы показать ложку, спрятанную ранее: идем во вкладку Display командной панели и жмем на кнопку Unhide all в свитке Hide. Может так получится, что масштаб ложки не будет соответствовать стакану. Но и это не беда. На верхнем тулбаре справа от кнопки Select and Rotate есть кнопка Select and Uniform Scale. Просто выделяем объект и двигаем мышку вверх-вниз. Выполнив такой вот нехитрый ритуал, можно подогнать объекты друг под друга…
После этого так скомпонуйте сцену (воспользуйтесь кнопками Select and Move и Select and Rotate на верхнем тулбаре), чтобы ложка мирно покоилась в стакане, немного опираясь о его стенку. После этого создайте небольшую плоскость (Plane) или Box - подобие стола, на котором будут стоять наши объекты.
Создаем напрвленую камеру — Crate > Cameras > Target - и направляем ее в центр стакана. Затем правой кнопкой щелкаем по названию проекции Perspective и из выпадающего меню выбираем Views > Camera01… (а можно просто выделить проекцию и нажать на C). После этого вместо проекции в этом окне будет отображаться вид из камеры.
Теперь делаем источник света (Create > Lights > Target Spot) и в свитке Spotlight Parameters параметров света устанавливаем значение Spotlight минимальным — 0.5. В свитке Shadow Parameters в рамке Object Shadows выделяем On (включаем тени), из списка выбираем Ray Traced Shadows (тип теней, поддерживающий рэйтрэсинг) и значение Dens (то бишь Density) ставим равным 2.0.
Хорошо, теперь займемся материалами. Выделяем сначала ложку и жмем M на клавиатуре, то есть вызываем редактор материалов. Как бы обидно не было, но в этот раз мне опять не удастся (ввиду ограниченности места, отведенного под статью) подробно поговорить о работе редактора материалов. Надеюсь, что в ближайшее время теоретическая часть этого скромного монолога * будет посвящена именно редактору материалов. А пока вам следует просто следить за моими действиями и пытаться по возможности соображать, чего это я натворил…
Сначала выберем из коллекции первый подходящий материал для нашей ложки — вы, наверное, уже знаете, как это делается. Однако же напомню… Жмем кнопку Get Material внизу, слева под шариками — появляется окно Material/Map Browser. Там в рамке Browse from выбираем Mtl Library. И дважды кликаем по материалу Metal_Grey_Plain. Закрываем окно и жмем на кнопку Assign material to Selection (она находится через одну направо от Get Material), не забудем перед этим выделить ложку. Таким же образом присваиваем любой понравившийся материал нашему «столу» (я выбрал дерево).
Теперь выделяем первый свободный шарик-модель редактора материалов и начинаем колдовать над «просчетом лучей». Жмем на большую кнопку Standart, отвечающую за тип материала, и из появившегося списка окна Material/Map Browser выбираем Raytrace - вот мы и создали материал-рэйтрэйсер. Сейчас настроим его параметры. Найдем параметр (скорее, цвет) Diffuse в свитке Raytrace Basic Parameters, кликнем по нему и в появившемся окне Color Selector установим значения RGB (Red, Green, Blue) равными 7, 7, 7 соответственно (таким образом получим почти черный цвет). То же проделаем с цветом возле параметра Reflect (RGB =» «3, 3, 3) — это создаст минимальные отражения от стекла.

И только значение Transparency (прозрачность) сделаем светлым (RGB =» «226, 226, 226). Коэффициент преломления (Index of Refr.[action]) установим равным 1.5. Теперь в рамке Specular Highlight установим значения возле Specular Level и Glossiness: 258 и 84 соответственно. Все, присваиваем этот материал нашему стакану и визуализируем работу. Появившаяся картинка должна быть похожа нарис. 7.

P.S. Если вы все-таки не читали две предыдущие статьи по 3D-моделированию, то при встрече незнакомых слов, значений etc. советую обратится в справочную систему MAX’а — она действительно помогает (конечно, если вы дружите с английским). Хоть даже и по картинкам можно разобраться, где что находится.

 Автор: Виктор ЕМЕЦ

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты