Кто не хочет читать ONLINE, можете скачать доступные части книги:
Скачать часть1 (1.1 Мб) - Ознакомление с программой 3ds MAX
Скачать часть2 (1.4 Мб) - Объекты произвольной формы
Скачать часть3 (2.2 Мб) (не завершена) - Текстурирование
В этой части мы рассмотрим, как создаются геометрические объекты произвольной формы. В мощных пакетах 3d-моделирования существует несколько способов для создания таких объектов, и в зависимости от этого объекты могут различаться по своим типам. Особое внимание будет уделено тем типам объектов, которые позволяют создавать достаточно сложные формы наиболее простыми и гибкими средствами.
На стадии создания геометрической формы объекта надо так же позаботиться о том, как к этому объекту будут применены материалы и как наложатся текстуры, а так же, как объект будет привязан к анимационному скелету. Но подумать об этом заранее можно только тогда, когда уже имеется представление о том, как применяются материалы, накладываются текстуры, осуществляется привязка и т.п, поэтому не рекомендуется браться за создание серьёзных моделей до того, как будут освоены все необходимые приёмы.
Здесь же будет рассмотрена тема модификаторов, поскольку некоторые из них просто необходимы для того, чтобы создать модель, которая одновременно и проста для редактирования, и в то же время выглядит достаточно хорошо.
Ещё раз вернёмся к тому, как устроены геометрические визуализируемые объекты. Форма объекта описывается в некой его собственной системе координат, а сам объект представляет собой многогранник, каждая грань представляет собой либо треугольник, либо многоугольник, который так или иначе может быть разделён на несколько треугольников.
Описание формы объекта осуществляется посредством задания координат вершин многогранника. Каждая вершина имеет свой порядковый номер и три координаты (x,y,z) в трёхмерном пространсвте. А далее идёт список треугольников (фасетов), у которых так же есть свои порядковые номера, и для каждого из них перечисляются номера вешин, на которых этот треугольник натягивается. Так же у фасета есть такой параметр, как идентификатор материала (material ID), некий номер, который отвечает за то, какой по номеру материал будет использован для фасета, и номер группы сглаживания SG (smoothing group). Группы сглаживания отвечают за то, плавными или резкими будут переходы оттенения между фасетами. Если фасеты входят в одну и ту же группу сглаживания (то есть имеют одинаковые номера SG) и соприкасаются друг с другом, то на конечной визуализированной картинке переходы между ними будут плавными. Если соприкасающиеся грани имеют разные группы сглаживания, то переход будет резким. Одни и те же грани могут входить в несколько групп сглаживания.
К одному объекту можно применить до 100 материалов и до 32 групп сглаживания.
Фасеты устроены следующим образом: они имеют две стороны: изнаночную и лицевую. Лицевая сторона визуализируется и отображается в окнах проекций, а изнаночная - невидима. Фасет имеет так называемую нормаль: вектор, направленный перпендикулярно плоскости фасета, направленного в ту сторону, с которой фасет видим. Это сделано для того, чтобы ускорить процесс визуализации. Камера смотрит на объект, и если в её сторону направлена нормаль фасета, то фасет визуализируется, а если нормаль направлена от камеры, фасет не обрабатывается. Обычно объекты представляют собой замкнутые поверхности, и с какой бы стороны мы не смотрели на объект, видим только лицевые стороны нормали.
К примеру, если у нас есть модель шара, на саомом деле мы имеем пустую внутри сферу, внутренняя сторона сферы не видна, и мы воспринимаем её как заполненный внутри шар. Если сунуть камеру внутрь сферы, то мы не будем её видеть.
Для того, чтобы моделировать тонкие незамкнутые поверхности, такие как лист бумаги или какие-нибудь тканнные изделия, существуют специальные двусторонние материалы. Если применить такой материал к объекту, то он будет визуализироваться с двух сторон. В старых версиях 3ds MAX в окнах проекций объекты с такими материалами всё равно отображались как односторонние, но рендерились уже как двухсторонние.
Процесс моделирования фактически представляет собой создание вершин и натягивание между ними граней. Но не следует пугаться, в программе 3ds MAX имеется много мощных инструментов, которые упрощают вам задачу. Ставить вершины и натягивать фасеты вручную приходится в редких случаях, где уж по-другому не получается, а обычно можно обойтись другими инструментами, делающими процесс моделирования похожим на работу с глиной или позволяя нарисовать контуры объекта и натянуть между ними поверхности.
Самым простым методом создаются параметрические объекты. Во вкладке Create/Geometry в разворачивающемся меню первые два пункта Standerd Primitives и Extended Primitives - это так называемые примитивы - объекты, которые создаются уже готовыми. Формой объектов можно управлять задавая их параметры, так, для сферы главный параметр - это её радиус. А положение вершин и граней уже вычисляется математически, исходя из значений параметров. В параметрах сферы есть такой как Segments (аналоги этого параметра есть практически у всех примитивов), этот параметр как раз определяет, сколько вершин (и, соответсвенно, сколько граней) использовать для создания сферы. Чем больше этот параметр, тем больше у сферы граней, тем более гладка её поверхность. В самом начале мы говорили о том, что эффект гладкости поверхности отчасти достигается за счёт того, что уже во время рендеринга грани оттеняются так, чтобы переходы между ними были плавными. Но этот метод даёт хорошие результаты в том случае, когда граней много и они достаточно мелкие. Если же мы аппроксимируем нашу сферу кубом, или октаэдром, то как бы не оттенялись наши грани, на сферу это будет не похоже. Попробуйте поставить сферу и скрутить количество сегментов до минимума, увидите, какой она станет страшной. Примертно такие жа страшные персонажи использовались в старых трёхмерных играх.
Но слишком много ставить сегментов тоже нельзя, поскольку чем больше граней, тем дольше они обрабатываются и визуализируются. Если вы будете сохранять файл со сферой, то он не будет иметь большой объём, поскольку в нём сохраняется информация о радиусе сферы, о числе сегментов и другие её параметры. Примитивы - это параметрические объекты, их форма определяется параметрами, и хранится в виде параметров.
Свой собственный объект описать в виде параметров в большинстве случаев не удаётся. Некоторые объекты так и описываются - перечисляются все параметры всех их вершин и всех их граней. Существуют другие методы описания объектов, которые близки к параметрическим. Например, объекты гладкой формы можно задавать при помощи линий, между которыми натягиваются поверхности. Поверхности тоже состоят из вершин и граней, но все вершины и грани в памяти не хранятся, в памяти хранятся линии и параметр, отвечающий за густоту сетки поверхности. Сеткой называется совокупность вершин и граней, распределённых в пространстве по определённым правилам.
Все те части объекта, которыми можно управлять, называются подобъектами (subobjects). Вершины и грани - это типичные подобъекты.
Как создать свой объект? В 3ds MAX не все объекты можно создать с нуля. Некоторые создаются на основе примитивов.
Прежде, чем приступить, рассмотрим некоторые рекомендации. Моделирование - процесс непростой, часто надо видеть наш объект с разных сторон, то в оттенённом виде, то в проволочном, и желательно, чтобы картинка была как можно крупнее. Здесь нам пригодится всё, что мы узнали в Главе 2, в параграфе по управлению ракурсами видов.
Не забывайте пользоваться кнопкой Min/Max Toggle, чтобы делать активный вид большим. Не бойтесь работать в одном виде, ведь передвижение по осям можно контролировать, наведя курсор на нужный компонент вспомогательной системы координат, а сам вид модно поворачивать и смотреть на объект с разных сторон, чтобы понять, правильно ли мы осуществили перемещение. Не забывайте так же, что если в кнопках-переключателях с инструментами управления видами выбраны те варианты, которые содержат белые предметы, то всё управление будет осуществляться вокруг выделенного объекта. А когда для вращения выбрана кнопочка с жёлтым кружочком внутри , то вращение вида происходит вокруг выделенного подобъекта, это бывает крайне удобно, когда мы работаем с частью большого объекта и смотрим на эту часть вблизи.
Персонаж, или какой-нибудь объект, не обладающий свойством недвижимости, то есть объект, который может свободно перемещаться в пространстве, как то утюг, галоша, какое-нибудь живое существо, и даже некоторые неподвижные объекты, например деревья, лучше создать где-нибудь в центре координат, а потом перенести в нужное место. Создавать надо так, чтобы объекты, отвечающие за внешний вид, располагались так, чтобы направление осей их собственной системы координат совпадало с направлением осей мировой системы координат. То есть, если открыть диалог Transform Type-In для вращения и масштабирования, то там должны стоять нули в полях абсолютного смещения. Координаты x,y,z опорной точки объекта не обязательно располагать в самом нуле системы координат, но по одной из осей очень рекомендуется сделать координату равной нулю. И очень желательно, чтобы это была ось "Х".
Персонажа стоит расположить так, чтобы в виде Front (Фронт, вид спереди), было видно лицо нашего персонажа (не со сотороны затылка насквозь, а именно лицо). В виде слева (Left) персонаж должен быть виден сбоку, голова (или передняя часть, если он безголовый), должна быть направлена вправо относительно нас (то есть от нашей левой руки к правой). Плоскость симметрии тогда будет перпендикулярна оси "Х", и по оси "X" очень желательно выставить координату исходного объекта, из которого будет создаваться модель, равной нулю. И сделать это надо ещё до того, как начать придавать объекту нужную нам форму.
Если создаются такие отдельные части как глаза, зубы и другие мелкие детали, естественно, что им вовсе не обязательно иметь по оси "х" координату, равную нулю. Для таких деталей, как глаза - это вообще не желательно. Для глаза будет лучше, если его опорная точка будет находиться там же, где и центр вращения реального глаза. И это же касается других деталей, которые будут вращаться самостоятельно, например крылышек, лапок, усиков, если они создаются как отдельные объекты. Вообще, по большому счёту, если какая-то часть тела не будет привязываться к скелету, а будет вращаться самостоятельно, как в случае простейшего персонажа из главы 4, то и опорные точки надо располагать соответствующим образом. И ориентация собственных систем координат таких объектов вовсе не должна равняться на мировую систему координат. Такие объекты лучше создавать так, чтобы одна из осей, (обычно X) была направлена вдоль самого объекта.
Но когда речь идёт о создании цельной шкуры, то расположить её надо так, как было описано выше. Почему именно так? Во-первых, потому, что так принято, и если использовать готовые анимационные скелеты, которые даются в таких средствах как Character Studio или Character Animation Toolkit, то они создаются именно в таком положении. Причём, ступни этих готовых скелетов расположены на уровне Z=0.
<< Назад | Оглавление | Вперёд >> | |
homepage: http://teapot3d.narod.ru |