Как спроецировать сплайн на поверхность 3d max

Подскажите можно ли в 3d max обвернуть поверхность?

Ну если я тебя правильно понял, то этим занимаются модификаторы Boolean (ProBoolean) или ProCutter, все они достаточно гибкие в настройках, соответственно можно получить желаемый результат. Единственное, что хочу заметить — Boolean и ProBoolean — работают не стабильно, с объектами произвольной формы. Т.е. стандартные примитивы режутся на ура, а вот с остальными объектами беда.

Все они находятся в закладке Compound objects (Это в выпадающем списке на правой панели, в закладке Create — Geometry — Compound objects)

Ну если я тебя правильно понял, то этим занимаются модификаторы Boolean (ProBoolean) или ProCutter, все они достаточно гибкие в настройках, соответственно можно получить желаемый результат. Единственное, что хочу заметить — Boolean и ProBoolean — работают не стабильно, с объектами произвольной формы. Т.е. стандартные примитивы режутся на ура, а вот с остальными объектами беда.

Все они находятся в закладке Compound objects (Это в выпадающем списке на правой панели, в закладке Create — Geometry — Compound objects)

Я не понимаю как Boolean (ProBoolean) или ProCutter сделать, то что мне надо, пожалуйста, помоги.
Вот скрины того, что пытаюсь сделать:
c508a4223ae8.jpg
ba810c363d7e.jpg
832b778d8bb3.jpg
Нужно чтобы лист лежал по тарелке.

контур спроецировать, это посыл правильный, но не шейпмержем, а в реакторе есть такая фунуция — расположить один объект по поверхности другого.

Вот сейчас нету на работе 3д макса. И не помню как оно что там называется. Это всё ждёт до вечера. Пока что посмотри в моделях моих есть братина, там я узор делал таким способом.
сплайн -> спроецировать surfdeform-ом -> перевести в 3ds -> импортировать в макс.
После импорта в макс оно уже будет не сплайн, а editable poly.
Затем можно толщину придать shell-ом

ну в общем дождись до вечера))

Не нашёл simcloth. Что-это?
Воспользовался Вашим советом и попробовал shapeMerge, получилось почти как я и хотел.
0a05d484a017.jpg
5b5875143d1a.jpg
628fadbbcfab.jpg
Только вот надо бы ещё по верхнему краю листа снять фасочку, или скруглить. Пробывал Relax, но результат не обрадывал. Как это можно сделать чтобы фаска была как здесь
e27feb24565a.jpg

есть такой бесплатный плагин — Glue от Itoo Software
он похож на Shape Merge но не вырезает по форме, а проецирует сплайн на форму.
с такой формой проще работать. можно применить не Extrude a Bevel и будет тебе фаска

акккуратнее с настройками только — по умолчанию там 100 стоит — может и зависнуть на проецировании )

ну дождался аффтар вечера или нет — не знаю.
Тем временем в новом обличье покажу две картинки.
делай раз:
5LQBJ.jpg

делай два:
5Mc30.jpg

ошибся я маленько в том посте. не реактор, а конформ. Ну, там видно.

ну, если темнота = [0,0,0,] по палитре RGB то все попытки будут зря, а вот если уровни покрутить, и изначально [1,1,1] хотя бы, тогда можно на что-то рассчитывать)))
-=Maxim=-
ну а попробуй:
1 вариант.
когда ты этот контур сплайна экспортишь в 3ds и потом его обратно в макс импортруешь — он придёт уже не сплайном, а поверхностью, полигоном. (кажется так, не помню сйчас точно). По крайней мере — если придёт сплайном — конвертнуть его в editable poly, делов-то.

2. А попробуй — не подействует ли Конформ на дисплейснутый объект, как я понял — у тебя на первых и на последней картинке он получен из мелкой сетки, со спроецированным дисплейсом.
но только всёрно придётся перегонять в 3ds и потом импортировать в макс, потому как нельзя перевести в Editable Poly объект(листок) с накинутым конформом.

Как спроецировать сплайн на поверхность 3d max

Группа: Участник
Сообщений: 2 343
Регистрация: 17/06/2002
Из: ЧК
Пользователь №: 64

rafter

Просмотр профиля

Группа: Участник
Сообщений: 2 012
Регистрация: 28/11/2004
Из: moscow
Пользователь №: 8 582

xLINe

Просмотр профиля

Группа: Участник
Сообщений: 160
Регистрация: 13/06/2006
Из: Самара
Пользователь №: 32 566

zyrya

Просмотр профиля

Группа: Участник
Сообщений: 2 343
Регистрация: 17/06/2002
Из: ЧК
Пользователь №: 64

4.1 Введение. Моделирование в 3D Max с помощью вращения сплайнов

Использование технологии создания тел вращения на основе сплайнов.

Типы вершин сплайнов

  • Corner (С изломом) – вершина, в которой сплайн претерпевает излом. Участки сегментов вблизи такой вершины не имеют кривизны.
  • Smooth (Сглаженная) – вершина, через которую кривая сплайна проводится с плавным изгибом, без излома, имея одинаковую кривизну сегментов при входе в вершину и выходе из нее.
  • Bezier (Безье) – вершина, подобная сглаженной, но позволяющая управлять кривизной сегментов сплайна при входе в вершину и при выходе из нее. Для этого вершина снабжается касательными векторами с маркерами в виде квадратиков зеленого цвета на концах. У вершин типа Bezier (Безье) касательные векторы всегда лежат на одной прямой, а удаление маркеров от вершины, которой принадлежат векторы, можно изменять. Перемещение одного из маркеров вершины Безье всегда вызывает центрально-симметричное перемещение второго. Перемещая маркеры касательных векторов вокруг вершины, можно изменять направление, под которым сегменты сплайна входят в вершину и выходят из нее.
  • Bezier Corner (Безье с изломом) – вершина, которая, как и вершина типа Bezier (Безье), снабжена касательными векторами. Однако у вершин Bezier Corner (Безье с изломом) касательные векторы не связаны друг с другом, и маркеры можно перемещать независимо.

Вычерчивание сплайнов типа Line

Команда Line вызывается кнопкой Line командной панели Create и позволяет создавать линии практически любой требуемой формы. При выполнении команды мышью фиксируются места расположения вершин и настраивается их кривизна. Полученный сплайн можно замкнуть. В разделе Interpolation свитка General устанавливается режим оптимизации числа шагов, на которые разбиваются сегменты между вершинами.

Чтобы нарисовать линию с помощью мыши, выполните следующие действия:
Шаг 1. Щелкните в свитке Object Type (Тип объекта) на кнопке Line (Линия).

Шаг 2. Переместите курсор в любое из окон проекций и щелкните в той точке окна, где должна располагаться первая вершина линии. Линия всегда создается в координатной плоскости текущего окна проекции. Переместите курсор в точку расположения второй вершины.

Шаг 3. Создать очередную вершину можно простым щелчком кнопкой мыши. В этом случае вершина приобретет тип, определяемый положением переключателя Initial Type (Начальный тип) в свитке Creation Method (Метод создания).

По умолчанию это вершина типа Corner (С изломом). Если при создании очередной вершины щелкнуть кнопкой мыши и, удерживая ее, перетащить курсор, будет создана вершина, тип которой определяется положением переключателя Drag Туре (Вершина при перетаскивании). По умолчанию это вершина Bezier (Безье).

Шаг 4. Продолжайте создавать вершины и перемещать курсор. Чтобы удалять неверно установленные вершины, нажимайте на клавишу Backspace. Повторные нажатия этой клавиши будут приводить к удалению вершин в порядке, обратном порядку их создания, – от конца к началу линии.

Шаг 5. Для завершения процесса создания разомкнутой линии щелкните правой кнопкой мыши. Чтобы создать замкнутый сплайн, щелкните вблизи от первой вершины. Когда появится запрос Close spline? (Замкнуть сплайн?), щелкните на кнопке Yes (Да) или No (Нет).

Шаг 6. Чтобы изменить принятые по умолчанию типы вершин, создаваемых простым щелчком кнопкой мыши и щелчком с перетаскиванием курсора, измените установку переключателей в свитке Creation Method (Метод создания), показанном на рисунке 2.
Рисунок 2. Свиток Creation Method (Метод создания) сплайна-линии позволяет настраивать типы вершин сплайна.
Переключатель Initial Type (Начальный тип), определяющий вершина какого типа будет создаваться при щелчке кнопкой мыши, можно устанавливать в одно из двух положений: Corner (С изломом) или Smooth (Сглаженная). Чтобы задать, какой тип вершины будет создаваться при перетаскивании курсора после щелчка, установите переключатель Drag Type (Вершина при перетаскивании) в одно из трех положений: Corner (С изломом). Smooth (Сглаженная) или Bezier (Безье).

Редактирование формы сплайнов

Для редактирования формы сплайнов выполняйте следующие действия:

Шаг 1. Выделите сплайн и перейдите на командную панель Modify (Изменить). Если сплайн представляет собой линию, то кнопка Sub-Object (Подобъект) в свитке Modifier Stack (Стек модификаторов) будет доступна сразу.

Если же сплайн представляет собой один из стандартных геометрических объектов, таких как Circle (Круг), Rectangle (Прямоугольник) или Ellips (Эллипс), либо является объектом Text (Текст), то для обеспечения возможности выбрать для редактирования уровень подобъектов-вершин необходимо щелкнуть на кнопке Edit Spline (Правка сплайна) в свитке Modifiers (Модификаторы).

Шаг 2. Щелкните на кнопке Sub-Object (Подобъект) и выберите в раскрывающемся списке Selection Level (Уровень выделения) вариант Vertex (Вершина). В выделенном сплайне все вершины обозначатся крестиками, а первая вершина – квадратиком. В ряде случаев вершину или группу вершин для редактирования следует сначала выделить, используя для этого любые известные методы выделения объектов. Метки выделенных вершин окрашиваются в красный цвет.

Шаг 3. Для перемещения одной или нескольких вершин выделите их и перемещайте как любой другой объект сцены – с помощью инструмента Select and Move (Выделить и переместить). Форма примыкающих к вершинам сегментов сплайна будет при этом меняться автоматически.

Шаг 4. Для изменения типов вершин выделите одну или несколько вершин, укажите курсором на любую из них и щелкните правой кнопкой мыши. Появится контекстное меню вершины. В нижней части меню имеется перечень четырех типов вершин. Выберите команду нужного типа и щелкните кнопкой мыши.

Шаг 5. Для настройки формы сегментов, примыкающих к вершинам типа Bezier (Безье) или Bezier Corner (Безье с изломом), выделите одну из таких вершин. В окнах проекций появятся изображения касательных векторов, снабженных на концах маркерами в виде квадратиков зеленого цвета, как показано на рисунке 3.

Шаг 6. Для изменения угла, под которым сегмент сплайна входит в вершину, выберите инструмент Select and Move (Выделить и переместить), щелкните на маркере и перемещайте его вокруг вершины (рис. 3), наблюдая за изменением ориентации сегмента, которому соответствует перемещаемый маркер для вершин типа Bezier Corner (Безье с изломом) или обоих примыкающих к вершине сегментов – для вершин типа Bezier (Безье).
Рисунок 3. Перемещение маркера касательного вектора вокруг вершины.
Для изменения кривизны сегмента перемещайте маркер к вершине или от нее. Приближение маркера к вершине увеличивает кривизну сегмента для вершин типа Bezier Corner (Безье с изломом) или обоих сегментов для вершин типа Bezier (Безье), а удаление – уменьшает кривизну сегмента (сегментов) в районе вершины (рис. 4).

Рисунок 4. Удаление или приближение маркера к вершине.
Шаг 7. При необходимости можно обеспечить синхронное перемещение маркеров касательных векторов сразу нескольких выделенных вершин: это иногда помогает избежать непредвиденного искажения формы сплайна. Для этого следует установить флажок Lock Handles (Блокировать маркеры) в свитке Selection (Выделение), показанном на рисунке 5. Если при этом установлен переключатель Alike (Подобные), то перемещение одного из маркеров будет заставлять перемещаться маркеры подобных касательных векторов (только входящих в вершины или только исходящих из вершин). Если установлен переключатель All (Все), то перемещение любого из маркеров заставляет синхронно перемещаться и все остальные.
Рисунок 5. Блокировкой перемещения маркеров управляет флажок Lock Handles.
На рисунке 6 показано для примера, как при установке переключателя Alike (Подобные) перемещение маркера касательного вектора, исходящего из четвертой сверху вершины, заставляет синхронно с ним перемещаться маркер вектора, исходящего из второй сверху вершины.

Синхронно перемещаются только маркеры подобных (в данном случае, исходящих) касательных векторов выделенных вершин. При этом маркер касательного вектора, входящего во вторую сверху вершину, остается неподвижным, так как это вершина типа Bezier Corner (Безье с изломом).

На рисунке 7 демонстрируется результат синхронного перемещения всех маркеров выделенных вершин при установке переключателя Аll (Все).

РИСУНОК 7. Синхронно перемещаются все маркеры касательных векторов выделенных вершин

Вращение сплайнов

Форма-сплайн, к которой применяется метод вращения, поворачивается вокруг заданной оси, проходящей через одну из точек этой формы. При вращении сплайна поверхность вращения преобразуется в оболочку трехмерного объекта. Метод подходит для создания объектов, имеющих центральную симметрию.

Вращение сплайна осуществляется за счет применения к нему модификатора Lathe (Вращение).

Применение модификатора Lathe сводится к выбору исходной формы и настройке ряда параметров. В свитке Parameters можно задавать величину угла вращения (определяется счетчиком Degrees), на который будет повернуто сечение, число сегментов (для управления гладкостью боковой поверхности).

Установка оси вращения в глобальной системе координат (параметр Direction, по умолчанию это ось У), выбирается кнопками X, Y, Z группы Direction (Направление) (рис.8).
Рисунок 8. Результат применения Lathe для вращения сплайна по разным осям.
Группа Align (Ориентация) управляет положением оси вращения, устанавливая ее в положения Min (Минимум), Center (Центр) и max (Максимум) (рис. 9).
Рисунок 9. Установка положения оси вращения.
По умолчанию ось вращения проходит через центр габаритного контейнера сплайна (параметр Center), но ее можно переместить на левый край сплайна (точка минимума — параметр Min) или на правый край (точка максимума — параметр Мах). Флажок Weld Core (Объединить главные вершины) объединяет вершины на оси вращения, а Flip Normals (Вывернуть нормали) изменяет направление нормалей на противоположное.

Простейшее редактирование формы тела вращения Кривая, показанная на рисунке 10, рассчитана на создание методом вращения тела наподобие плафона керосиновой лампы. Чтобы получить нужное тело, ось вращения следует поместить левее левого края габаритного контейнера формы-профиля. Для этого следует выполнить следующее:

Шаг 1. Выделите тело вращения и щелкните на кнопке Sub-Object (Подобъект) в свитке Modifier Stack (Стек модификаторов) командной панели Modify (Изменить). По умолчанию в списке Selection Level (Уровень выделения) будет выбран вариант Axis (Ось). Ось вращения изобразится в окнах проекций в виде линии желтого цвета.

Шаг 2. Выберите инструмент Select and Move (Выделить и переместить), щелкните на оси и перетащите ее влево, наблюдая за изменением формы тела вращения, как показано на рисунке 10.
Рисунок 10. Слева – исходный вид тела вращения, справа – оно же после перемещения оси вращения.

Часть 3

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

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

Глава 12

• Виртуальная студия – начало всех начал

• Создание автомобильного диска при помощи NURBS-моделирования

• Моделирование колеса автомобиля при помощи полигонов

• Моделируем BMW

Моделирование автомобиля является одной из самых интересных задач, которые могут стоять перед пользователем программы 3ds Max. В то же время эта задача достаточно сложна для неискушенных в моделировании людей, поэтому к изучению упражнений этой главы рекомендуется приступать, предварительно ознакомившись с главой, посвященной моделированию более простых объектов. Моделирование автомобиля описано максимально подробно и сведено к выполнению несложных операций, однако конечный результат зависит от того, насколько развито у пользователя чувство объема и пространства. Ему можно научиться, лишь выполняя реальные работы.

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

Виртуальная студия – начало всех начал

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

Мне известны как минимум три способа создания виртуальной студии для последующего моделирования объектов сложной геометрической формы. Попробуем разобраться в достоинствах и недостатках каждого из этих способов.

Все начинается с подготовки рисунков для виртуальной студии. Их можно найти как в Интернете, так и в печатных изданиях. Я использовал каталог баварской фирмы BMW. Такой способ имеет преимущество перед поиском изображения в Интернете: можно отсканировать рисунок с достаточно высоким разрешением. Перед использованием в редакторе трехмерной графики изображение необходимо отредактировать. Этот процесс одинаков для всех изображений, независимо от того, каким образом в дальнейшем они будут применяться.

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

Для редактирования сканированных изображений нам понадобится любая программа для работы с растровой графикой, например Adobe Photoshop. На рис. 12.1 представлено изображение автомобиля марки BMW пятой серии, с которым я буду работать.

Первое, что нужно сделать, – выровнять изображения (обычно в одном файле представлено несколько видов машины) по горизонтали и вертикали. Затем следует сделать фон изображения светло-серым. Это нужно для того, чтобы при последующей работе в 3ds Max с подобъектами белого цвета они не сливались с фоном изображения. После этого нужно расставить направляющие так, чтобы они прошли по габаритам автомобиля – это в дальнейшем поможет разрезать изображение на нужные части. Чтобы затемнить фон изображения и расставить направляющие, сделайте следующее.

Рис. 12.1. Исходное изображение автомобиля BMW в нескольких видах

1. Выполните команду Image > Adjustments > Brightness/Contrast (Изображение > Корректировка > Яркость/контрастность), в результате чего откроется окно диалога Brightness/Contrast (Яркость/контрастность).

2. Параметру Brightness (Яркость) задайте значение -40 (рис. 12.2).

Рис. 12.2. Окно Brightness/Contrast (Яркость/контрастность) программы Adobe Photoshop

3. Если в окне программы Adobe Photoshop отсутствуют линейки в верхней и левой частях окна, то откройте их с помощью сочетания клавиш Ctrl+R.

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

5. Для создания вертикальной направляющей нужно щелкнуть на линейке в левой части окна и перетащить указатель на изображение.

Положение направляющих показано на рис. 12.3.

Теперь нужно проверить размеры видов спереди и сзади – они должны быть равны по ширине и высоте. Сделать это довольно просто: достаточно с помощью инструмента выделения

расположенного на палитре инструментов, обвести прямоугольник, образованный направляющими, ограничивающими вид автомобиля спереди, и посмотреть размеры в окне Info (Информация) (рис. 12.4), затем то же сделать с видом машины сзади.

Рис. 12.3. Положение направляющих на изображении

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

Далее все очень просто: изображение необходимо разрезать на части и сохранить на диске. Для этой цели вы можете воспользоваться инструментом Crop (Обрезка). На рис. 12.5 показан результат выполнения описанных выше операций.

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

ПРИМЕЧАНИЕ

Почти все, изложенное выше, можно выполнить и в окне Material Editor (Редактор материалов) программы 3ds Max: загрузить изображение в качестве карты Diffuse Color (Цвет рассеивания), затем, используя область Cropping/Placement (Обрезка/размещение) настроек карты, вырезать только ту часть изображения, которая нужна для наложения на плоскость в качестве текстуры.

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

Рис. 12.4. Окно Info (Информация) с размерами выделенного фрагмента

Рис. 12.5. Проекции автомобиля, отредактированные в программе Adobe Photoshop

На этом работу с программой редактирования растровой графики можно считать законченной. Переходим к 3ds Max.

ПРИМЕЧАНИЕ

При желании вы можете воспользоваться материалами, находящимися на прилагаемом DVD в папке Examples\Глава 12\Car blueprint.

Первый способ построения студии

Первая и самая простая виртуальная студия – это когда в качестве фонового изображения в окнах проекций соответствующие проекции автомобиля используются следующим образом.

1. Выполните команду Views > Viewport Background (Вид > Фон окна проекции), в результате чего откроется окно диалога Viewport Background (Фон окна проекции).

2. В области Background Source (Источник фона) щелкните на кнопке Files (Файлы), появится окно Select Background Image (Выбор изображения фона).

3. Укажите путь к файлу, который будет служить изображением фона (например, вид автомобиля сверху).

4. Установите переключатель Aspect Ratio (Пропорции) в положение Match Bitmap (По изображению).

5. Установите флажки Display Background (Показать фон) и Lock Zoom/Pan (Согласовать масштаб/прокрутку).

6. В качестве окна проекции, в котором должен отображаться фон, выберите из раскрывающегося списка Viewport (Окно проекции) значение Top (Сверху), то есть окно вида сверху.

7. Закончив настройку, щелкните на кнопке OK.

8. Повторите вышеописанные действия для окна проекции фронтального и бокового видов (рис. 12.6).

Рис. 12.6. Виртуальная студия, размещенная в окнах проекций

Чтобы выровнять изображения в окнах проекций относительно друг друга, необходимо снять флажок Lock Zoom/Pan (Согласовать масштаб/прокрутку) в окне Viewport Background (Фон окна проекции) для окна проекции Front (Спереди) (в нашем случае там оно больше, чем нужно) и изменить масштаб изображения.

СОВЕТ

Управлять привязкой объекта к фоновому изображению проще всего, используя сочетания клавиш (по умолчанию Ctrl+Alt+B).

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

Таким образом, это не самый лучший метод, поэтому не рекомендую его для серьезной работы.

Второй способ построения студии

Второй способ создания виртуальной студии – это построение пересекающихся (крестообразный способ) (рис. 12.7, сверху) или примыкающих друг к другу (Г-образный способ) (рис. 12.7, снизу) объектов Plane (Плоскость). Эти два способа очень похожи, поэтому я выделил их в одну категорию.

Как видите, здесь присутствуют примитивы Plane (Плоскость), размеры которых соответствуют изображениям (или реальным размерам объекта). Создадим реальную студию на основе подготовленных изображений для нашего автомобиля.

Сначала обратимся к размерам автомобиля: они присутствуют на чертеже. Это поможет нам при моделировании (всегда проще оперировать реальными размерами). Итак, высота машины – 1435 мм, ширина – 1981 мм, а длина – 4775 мм. Исходя из этих размеров построим три примитива Plane (Плоскость) следующим образом.

1. Щелкните в окне проекции Front (Спереди) для активизации окна.

2. Выполните команду Create > Standard Primitives > Plane (Создание > Простые примитивы > Плоскость), в результате чего в правой части окна программы откроется вкладка Create (Создание) с активной панелью создания плоскости.

3. В свитке Keyboard Entry (Ввод с клавиатуры) задайте параметру Length (Длина) значение, равное 1435, а Width (Ширина) – 1981 (рис. 12.8).

4. Щелкните на кнопке Create (Создать) для завершения построения плоскости.

Рис. 12.7. Два варианта виртуальной студии с использованием плоскостей: крестообразный (сверху) и Г-образный (снизу)

Рис. 12.8. Свиток Keyboard Entry (Ввод с клавиатуры) с размерами плоскости для фронтального вида

5. Чтобы построить вторую плоскость, щелкните в окне проекции To p (Сверху) для его активизации.

6. В свитке Keyboard Entry (Ввод с клавиатуры) параметру Length (Длина) задайте значение, равное 4775, а Width (Ширина) – 1981.

7. Щелкните на кнопке Create (Создать) для завершения построения второй плоскости.

8. Выделив окно проекции Left (Cлева), в свитке Keyboard Entry (Ввод с клавиатуры) параметру Length (Длина) задайте значение, равное 1435, а Width (Ширина) – 4775.

9. Щелкните на кнопке Create (Создать) для завершения построения третьей плоскости.

В результате вы получите пересекающиеся в начале координат плоскости, составляющие геометрию виртуальной студии (см. рис. 12.7, сверху).

СОВЕТ

Построение плоскостей в начале координат в дальнейшем облегчит вам создание зеркального отображения деталей автомобиля.

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

1. Откройте окно Material Editor (Редактор материалов) и выберите любую свободную ячейку образца.

2. Щелкните на кнопке None (Отсутствует) рядом с Diffuse Color (Цвет рассеивания) в свитке Maps (Карты текстур).

3. В открывшемся окне диалога Material/Map Browser (Окно выбора материалов и карт) выберите из списка Bitmap (Растровое изображение).

4. В появившемся окне Select Bitmap Image File (Выбор растрового изображения) укажите путь к файлу изображения автомобиля сверху и щелкните на кнопке Открыть для завершения выбора файла.

5. Нажмите кнопку Go to Parent (Вернуться к исходному).

6. В поле области Self-Illumination (Собственное свечение) свитка материала Blinn Basic Parameters (Базовые параметры раскраски по Блинну) укажите значение, равное 100, что позволит более четко отобразить текстуру на плоскости (рис. 12.9).

Рис. 12.9. Свиток материала Blinn Basic Parameters (Базовые параметры раскраски по Блинну) с настройками для материала виртуальной студии

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

8. На панели инструментов окна Material Editor (Редактор материалов) щелкните на кнопке Show Map in Viewport (Показать карту текстуры в окне проекции)

чтобы увидеть текстуру, присвоенную плоскости.

Вполне возможно, что после присвоения плоскости созданного вами материала текстура окажется повернутой относительно оси плоскости (рис. 12.10).

Рис. 12.10. Плоскость с развернутым изображением автомобиля на виде сверху

Чтобы исправить положение текстуры на плоскости, в свитке Maps (Карты текстур) окна Material Editor (Редактор материалов) щелкните на кнопке рядом с Diffuse Color (Цвет рассеивания) – откроются поля настроек карты цвета рассеивания. В свитке Coordinates (Координаты) введите значение Angle (Угол) поля поворота по оси W, равное 90 (у вас это может быть ось V или U) (рис. 12.11).

Рис. 12.11. Свиток Coordinates (Координаты) со значением угла поворота по оси W, равным 90

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

1. Удерживая нажатой клавишу Shift, щелкните на плоскости с текстурной картой автомобиля вида спереди и сдвиньте ее на небольшое расстояние по оси X. В результате откроется окно Clone Options (Параметры клонирования).

2. Выберите в качестве способа копирования Copy (Независимая копия объекта) и щелкните на кнопке OK.

3. Создайте новый материал с текстурной картой автомобиля вида сзади и присвойте его вновь созданной плоскости (рис. 12.12).

Рис. 12.12. Виртуальная студия, построенная из пересекающихся плоскостей

Для окончания работы с виртуальной студией выполните следующие действия.

1. Щелкните правой кнопкой мыши на имени окна проекции Perspective (Перспектива). Появится меню окна проекции. Щелкните в нем на пункте Configure (Конфигурировать) – появится окно Viewport Configuration (Конфигурирование окна проекции).

2. В области Rendering Options (Параметры визуализации) установите флажок Force 2-Sided (Изображать обе стороны) и щелкните на кнопке OK.

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

4. Щелкните на выделении правой кнопкой мыши. Появится контекстное меню, в котором выберите пункт Object Properties (Свойства объекта).

5. В области Interactivity (Интерактивность) открывшегося окна Object Properties (Свойства объекта) установите флажок Freeze (Фиксировать), а в области Display Properties (Свойства отображения) снимите флажок Show Frozen in Gray (Показывать зафиксированное серым).

6. Щелкните на кнопке OK для подтверждения сделанных изменений.

Что дают эти действия? Во-первых, вы установили возможность отображения двух сторон для плоскости. В противном случае при повороте плоскости в окне проекции вы не увидите обратной стороны, которая по умолчанию не отображается. Во-вторых, вы заблокировали виртуальную студию от случайного смещения во время работы.

ПРИМЕЧАНИЕ

Если у вас возникли вопросы по созданию студии, обратитесь к файлу упражнения studio_v2, расположенному в папке Examples\Глава 12\Studio прилагаемого к книге DVD.

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

Для разработки студии создайте примитив Box (Параллелепипед), длина, ширина и высота которого будут соответствовать размерам вашего объекта.

1. Выполните команду Create > Standard Primitives > Box (Создание > Простые примитивы > Параллелепипед), в результате чего в правой части окна программы откроется вкладка Create (Создание) с активной панелью создания параллелепипеда.

2. В свитке Keyboard Entry (Ввод с клавиатуры) задайте параметрам следующие значения: Length (Длина) – 4775, Width (Ширина) – 1981, Height (Высота) – 1435.

3. Щелкните на кнопке Create (Создание) для завершения построения параллелепипеда.

4. Добавьте в стек модификатор Normal (Нормаль), для чего выполните команду Modifiers > Mesh Editing > Normal Modifer (Модификаторы > Редактирование поверхности > Нормаль). Установите в его настройках флажок Flip Normals (Обратить нормали), в результате чего будет построена геометрия студии (рис. 12.13).

Рис. 12.13. Параметрический объект – параллелепипед с перевернутыми нормалями

ПРИМЕЧАНИЕ___________________________________________________________

Если при установке флажка Flip Normals (Обратить нормали) вы не видите внутренних полигонов параллелепипеда, выполните следующие действия: в свитке Display Properties (Свойства отображения) вкладки Display (Отображение)

командной панели установите флажок Backface Cull (Выбрать невидимую поверхность).

Не лишним будет после построения параллелепипеда заблокировать его от случайного смещения (как это делается, рассмотрено выше на примере второго варианта студии).

Теперь можно переходить к наложению текстур на плоскости параллелепипеда. Для этого сделайте следующее.

1. Откройте окно Material Editor (Редактор материалов) и выберите любую свободную ячейку образца.

2. Щелкните на кнопке Standard (Стандартный). В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка Multi/Sub-Object (Многокомпонентный). Щелкните на кнопке OK для подтверждения выбора.

3. В свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) нажмите кнопку Set Number (Установить количество) и задайте количество материалов равным количеству плоскостей параллелепипеда, то есть шести.

4. Назначьте материалам различные цвета, чтобы увидеть, какой плоскости будет соответствовать тот или иной материал (рис. 12.14).

5. Для присвоения материала параллелепипеду перетащите образец материала из ячейки на объект в окне проекции.

Рис. 12.14. Свиток Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала)

В окне проекции стороны параллелепипеда окрасятся в цвета, соответствующие ранее созданному материалу. Все это делалось только с одной целью – идентифицировать стороны параллелепипеда, чтобы знать, какой стороне какой материал соответствует.

Далее мы будем работать с окном диалога Asset Browser (Окно просмотра ресурсов), для вызова которого перейдите на вкладку Utilities (Утилиты) командной панели и щелкните на кнопке Asset Browser (Окно просмотра ресурсов).

В левой части окна Asset Browser (Окно просмотра ресурсов) укажите путь к файлам видов автомобиля. В правой части появятся значки с изображением этих видов (рис. 12.15).

Рис. 12.15. Окно Asset Browser (Окно просмотра ресурсов)

Сейчас вам пригодятся разноцветные материалы, которые создавались ранее, чтобы знать, какую текстуру на какую сторону параллелепипеда накладывать. Делается это просто: нужно мышью перетащить текстуру из окна Asset Browser (Окно просмотра ресурсов) на соответствующую кнопку материала Multi/Sub-Object (Многокомпонентный) в свитке Multi/Sub-Object Basic Parameters (Основные параметры многокомпонентного материала) окна Material Editor (Редактор материалов).

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

Конечно, есть возможность накладывать текстуры и традиционным способом – непосредственно из окна Material Editor (Редактор материалов), но мне кажется, так проще.

Если после присвоения материалу текстур вы не видите их на параллелепипеде в окнах проекций, то щелкните на кнопке Show Map in Viewport (Отобразить карту в окне проекции)

После этого внимательно оцените расположение текстур на параллелепипеде – скорее всего, не все текстурные карты будут размещены на плоскостях так, как нам необходимо. У меня некорректно отобразился вид сверху и одна сторона (рис. 12.16).

Рис. 12.16. Виртуальная студия с присвоенными текстурными картами по умолчанию

Это легко исправить – достаточно изменить координаты наложения текстуры. Как это сделать, рассматривалось выше на примере второго способа построения студии. Напомню лишь, что это делается в свитке Coordinates (Координаты) с помощью параметра Angle (Угол). У меня для текстуры вида сбоку понадобилось изменить величину угла V на 180, а для вида сверху – W на 90 (рис. 12.17).

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

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

Рис. 12.17. Окончательный вид виртуальной студии

1. Выполните команду Customize > Preferences (Настройка > Параметры).

2. В открывшемся окне Preference Settings (Параметры установок) перейдите на вкладку Viewports (Окна проекций), щелкните на кнопке Configure Driver (Настроить драйвер) (в моем случае это OpenGL), после чего откроется окно диалога Configure (Конфигурировать).

3. Установите флажки Match Bitmap Size as Closely as Possible (По изображению насколько возможно точно) (рис. 12.18).

Рис. 12.18. Параметры настройки драйвера отображения

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

ПРИМЕЧАНИЕ

На прилагаемом DVD в папке Examples\Глава 12\Studio находится описанный вариант виртуальной студии studio_v3.max.

Создание автомобильного диска при помощи NURBS-моделирования

Работать в 3ds Max, используя технологию NURBS, непросто. Не потому, что это сложная для освоения часть программы, – просто не без основания считается, что 3ds Max не совсем корректно работает с данной технологией. Должен заметить, что некоторые объекты все же легче и быстрее смоделировать именно так, нежели при помощи сплайнов, сеток или полигонов, причем выглядеть при визуализации они будут ничуть не хуже, а порой даже лучше.

Как обычно, для работы вам понадобится фотография, карандашный набросок или воображаемая модель объекта, который предстоит моделировать. Прежде чем начинать моделирование, вы должны представлять себе то, что должно получиться в конце работы. В настоящем задании мы будем моделировать диск автомобиля Koenigsegg CC (рис. 12.19).

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

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

На рис. 12.20 представлены три NURBS-кривые, выполненные различными способами и имеющие в основе построения шесть точек с одинаковыми координатами.

Рис. 12.19. Фотография автомобильного диска, предназначенного для моделирования

Рис. 12.20. Три NURBS-кривые, выполненные различными способами

Первая кривая была создана при помощи стандартного метода построения сплайнов. Чтобы сделать такую кривую, выполните команду Create > Shapes > Line (Создание > Формы > Линия), а затем преобразуйте ее в NURBS-кривую, щелкнув правой кнопкой мыши на сплайне и выбрав в контекстном меню Convert To > Convert to NURBS (Преобразовать > Преобразовать в NURBS). В результате вы получите NURBS-кривую, имеющую избыточное количество контрольных точек. Кроме того, кривая состоит из отдельных, ограниченных фиолетовыми точками, отрезков. Они образовались в местах расположения угловых вершин (типа Corner (Угол)). Если вы сейчас попробуете применить к этой кривой команду Create Lathe Surfane (Создать поверхность вращением) из области Surfaces (Поверхности) плавающей панели NURBS, то не сможете этого сделать, так как вращение будет применяться к отдельным отрезкам, а не к кривой в целом. Отсюда вытекает первое правило: если сплайн строится для последующего преобразования в NURBS, он не должен содержать угловых точек.

Вторая и третья кривые были созданы при помощи команд Create > NURBS > Point Curve (Создать >NURBS > Точечная кривая) и Create > NURBS > CV Curve (Создать > NURBS > CV-кривая) соответственно. В этом случае получаются две кривые, в основу которых положены разные способы интерполяции. Предпочтительнее строить команду CV Curve (CV-кривая), так как кривая получается более сглаженной. Можно использовать любой способ, только не забывайте, что не стоит применять угловые точки.

Кроме использования NURBS-кривых для создания объекта методом вращения, можно строить его обычным способом, применяя модификатор Lathe (Вращение вокруг оси) с последующим преобразованием в NURBS. Именно этим способом начните строить диск. Для этого сделайте следующее.

1. Выполните команду Create > Shapes > Line (Создание > Формы > Линия).

2. В окне проекции To p (Сверху) постройте кривую, которая будет являться формой вращения (рис. 12.21).

3. Примените к построенному сплайну модификатор создания формы вращением: в любом окне проекции выделите кривую и выполните команду Modifiers > Patch/Spline Editing > Lathe (Модификаторы > Редактирование патчей/ сплайнов > Вращение).

4. В области Align (Выравнивание) свитка Parameters (Параметры) настроек модификатора щелкните на кнопке Min (Минимум).

5. Переключатель Output (Результат) установите в положение NURBS.

6. При необходимости установите флажок Flip Normals (Обратить нормали).

У вас получится объект общей формы диска (рис. 12.22).

При необходимости подкорректируйте геометрию. Выберите в стеке модификаторов строку Line (Линия) и уточните местоположение точек или сегментов кривой в пространстве.

После того как основная геометрия выверена, можно приступать к построению окружности, которая в дальнейшем послужит формой для вырезания отверстий в диске. Для этого сделайте следующее.

1. Выполните команду Create > Shapes > Circle (Создание > Формы > Окружность) и постройте окружность в окне проекции Front (Спереди) перед диском (проконтролируйте результат в окне проекции To p (Сверху)).

Рис. 12.21. Кривая формы вращения для построения автомобильного диска

Рис. 12.22. Заготовка для автомобильного диска, полученная методом вращения сплайна формы

2. Преобразуйте окружность в Editable Spline (Редактируемый сплайн), для чего щелкните на ней правой кнопкой мыши и в появившемся контекстном меню выберите Convert To > Convert to Editable Spline (Преобразовать > Преобразовать в редактируемый сплайн).

3. Выделите нижнюю вершину окружности, а затем передвиньте ее немного вниз (рис. 12.23).

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

1. Выделите окружность и перейдите на вкладку Hierarchy (Иерархия)

2. В свитке Adjust Pivot (Настройка опоры) щелкните на кнопке Affect Pivot Only (Только опора), в результате чего появится возможность редактировать положение опорной точки в пространстве.

3. Переместите опорную точку так, чтобы она заняла положение в центре диска (рис. 12.24).

Рис. 12.23. Положение и форма окружности относительно диска

Рис. 12.24. Положение опорной точки окружности в пространстве

4. Еще раз щелкните на кнопке Affect Pivot Only (Только опора) для отмены режима редактирования опорной точки.

Теперь все готово для копирования окружностей. Лучше и проще воспользоваться для этих целей инструментом Array (Массив). Для этого сделайте следующее.

1. Выделите окружность в окне проекции Front (Спереди).

2. Выполните команду Tools > Array (Инструменты > Массив).

3. В открывшемся окне Array (Массив) задайте угол поворота, количество объектов копирования и способ копирования, как показано на рис. 12.25.

Рис. 12.25. Окно Array (Массив) с настройками копирования окружности

4. Щелкните на кнопке OK для подтверждения выполненных изменений.

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

ПРИМЕЧАНИЕ

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

На рис. 12.26 показано окно проекции Front (Спереди) после поворота сплайнов.

ПРИМЕЧАНИЕ

При желании вы можете загрузить из папки Examples\Глава 12\NURBS_disk прилагаемого DVD сцену disk_start.max с построенными окружностями и диском и начать работу с этого места.

Рис. 12.26. Окончательное положение окружностей относительно диска

Для дальнейшей работы необходимо преобразовать диск в объект NURBS-поверхность. Для этого щелкните на диске правой кнопкой мыши и в появившемся контекстном меню выберите Convert To > Convert to NURBS (Преобразовать > Преобразовать в NURBS). Далее необходимо сделать то же самое по отношению к пяти окружностям, для чего можно выделить сразу все сплайны и ко всем одновременно применить Convert To > Convert to NURBS (Преобразовать > Преобразовать в NURBS). Следующим шагом будет присоединение сплайнов к NURBS-объекту и проецирование их на поверхность.

1. Выделите диск (если он не выделен).

2. В свитке General (Общие) командной панели щелкните на кнопке Attach (Присоединить) и в окне проекции Front (Спереди) последовательно выберите все пять окружностей. Теперь окружности принадлежат диску и их можно спроецировать на поверхность.

3. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)

для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.

4. На палитре NURBS нажмите кнопку Create Vector Projected Curve (Создать проекцию кривой по вектору)

в результате чего кнопка изменит цвет.

5. В окне проекции Front (Спереди) выберите окружность и щелкните на поверхности диска рядом с ней. На плоскости диска появится кривая, лежащая на поверхности.

ВНИМАНИЕ

Проецировать кривую на поверхность необходимо только в окне проекции Front (Спереди), в противном случае проекции будут иметь искажения.

6. В свитке Vector Projected Curve (Проекция кривой по вектору) вкладки Modify (Изменение) командной панели установите флажок Trim (Обрезать) и при необходимости – Flip Trim (Обратить обрезанное). В результате на поверхности диска появится отверстие (рис. 12.27).

7. Повторите действия по выделению, проецированию и вырезанию отверстия для оставшихся четырех окружностей (рис. 12.28).

Рис. 12.27. Диск с прорезанным отверстием

Рис. 12.28. Диск со всеми прорезанными отверстиями

В дальнейшем для создания объемности диска вам понадобятся еще пять окружностей. Конечно, можно сделать еще одну поверхность внутри диска, таким образом сформировав внутреннюю сторону, но там она никогда не будет видна, и поэтому достаточно придать отверстиям толщину.

Для упрощения дальнейшей работы необходимо временно отключить отображение поверхности: в области Display (Отображение) свитка General (Общие) снимите флажок Surfaces (Поверхности). Можно также удалить сплайны окружностей, если вы не собираетесь редактировать форму отверстий. Кроме того, желательно оптимизировать сплайны, формирующие отверстия, так как после построения они имеют избыточное количество вершин. Для этого выполните следующие действия.

1. Перейдите на уровень подобъектов Curve (Кривая), для чего щелкните на соответствующей строке на вкладке Modify (Изменение) командной панели (рис. 12.29).

Рис. 12.29. Переход в режим редактирования подобъектов Curve (Кривая) для объекта Disk

2. Выделите кривую, очерчивающую отверстие.

3. В свитке CV Curve (CV-кривая) щелкните на кнопке Rebuild (Перестроить).

4. В открывшемся окне Rebuild CV Curve (Перестроить CV-кривую) установите переключатель в положение Tolerance (Отклонение), задайте данному параметру значение, равное 0,1, и щелкните на кнопке OK (рис. 12.30).

Рис. 12.30. Окно Rebuild CV Curve (Перестроить CV-кривую)

5. Выполните аналогичные действия для оставшихся кривых.

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

1. В окне проекции Front (Спереди) постройте окружность, по положению и размерам равную одному из отверстий.

2. Преобразуйте ее в Editable Spline (Редактируемый сплайн).

3. Отредактируйте положение сплайна и его вершин так, чтобы он находился позади передней поверхности диска, а в окне проекции To p (Сверху) был изогнут внутрь (рис. 12.31).

Рис. 12.31. Положение и форма отредактированной окружности для построения глубины отверстий диска

После построения и редактирования положения внутренней окружности в пространстве копируйте ее при помощи команды Array (Массив), предварительно выставив ось вращения в середину диска. Как это делается, было рассмотрено выше на примере внешних окружностей.

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

1. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)

для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.

2. На палитре NURBS нажмите кнопку Create U Loft Surface (Создать поверхность методом U-лофтинга)

в результате чего кнопка изменит цвет.

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

4. Щелкните правой кнопкой мыши для завершения выбора сплайнов.

5. В свитке U Loft Surface (Поверхность U-лофтинга) установите флажок Auto Align Curve Starts (Автоматически выравнивать начала кривых) и при необходимости – Flip Normals (Обратить нормали) (рис. 12.32).

6. Повторите вышеописанные действия для оставшихся четырех отверстий.

На данном этапе еще можно подкорректировать кривые окружностей и их положение в пространстве, если в этом есть необходимость. Я отодвинул кривые окружностей немного вглубь диска, чтобы увеличить толщину стенок отверстий (рис. 12.33).

Рис. 12.32. Свиток с настройками отображения построенной поверхности

Рис. 12.33. Диск с построенными стенками отверстий

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

1. В свитке General (Общие) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов)

для вызова плавающей палитры NURBS с инструментами создания кривых и поверхностей.

2. Щелкните на кнопке Create Fillet Surface (Создать поверхность-фаску)

плавающей палитры NURBS, в результате чего кнопка изменит цвет.

3. В окне проекции Front (Спереди) щелкните на поверхности диска, а затем на плоскости толщины отверстия. В результате на границе двух плоскостей будет построена фаска.

4. В свитке Fillet Surface (Поверхность-фаска) задайте значения величины фаски в Start Radius (Начало радиуса) и End Radius (Конец радиуса) (у меня они равны 7). В областях Trim First Surface (Обрезать первую поверхность) и Trim Second Surface (Обрезать вторую поверхность) установите флажки Trim Surface (Обрезать поверхность) (рис. 12.34).

5. Повторите вышеописанные действия для оставшихся четырех отверстий.

На рис. 12.35 показано, как выглядит диск после добавления фасок ко всем отверстиям.

Рис. 12.34. Свиток Fillet Surface (Поверхность-фаска) с настройками, заданными для фаски отверстия диска

Рис. 12.35. Вид диска с фасками

Осталось добавить диску прокладку, гайку для крепления, и на этом работу можно считать завершенной. Гайка – деталь несложная, но все-таки опишу в общих чертах принцип ее моделирования. За основу я взял шестигранник с закругленными краями (Create > Shapes > NGon (Создание > Формы > Многоугольник)), к которому применил модификатор выдавливания (Modifiers > Mesh Editing > Extrude (Модификаторы > Редактирование поверхности > Выдавливание)). Отверстия были оставлены открытыми, а в качестве типа результирующей поверхности выбрана NURBS-поверхность. После этого я создал форму вращения (Create > NURBS > CV Curve (Создание > NURBS > CV-кривая)) и применил к ней команду Create Lathe Surface (Создать поверхность вращением) плавающей панели NURBS. В результате получилась поверхность, закрывающая гайку сверху (рис. 12.36).

Далее я спроецировал сплайн NGon (Шестиугольник) на поверхность крышки и обрезал лишние части. Затем, применив команду Attach (Присоединить), объединил две поверхности в одну и добавил фаску, щелкнув на кнопке Create Fillet Surface (Создать поверхность-фаску). Прокладка под гайкой – простой примитив (цилиндр).

То, что получилось после финальной визуализации диска, показано на рис. 12.37.

Рис. 12.36. Объекты, выполненные для моделирования гайки

Рис. 12.37. Финальная визуализация автомобильного диска, выполненного при помощи NURBS-моделирования

ПРИМЕЧАНИЕ

Если у вас возникли вопросы по созданию модели автомобильного диска, обратитесь к файлу упражнения disk_end.max, расположенному в папке Examples\Глава 12\NURBS_disk прилагаемого DVD.

Моделирование колеса автомобиля при помощи полигонов

В этом разделе описано моделирование при помощи полигонов автомобильного колеса с диском более сложной формы, а также шины с геометрическим протектором.

Прежде чем приступить к моделированию, нужно иметь представление о том, что вы должны получить в итоге. Форму будущей модели диска и протектора я увидел в рекламном проспекте (рис. 12.38).

Начните моделирование с построения в окне проекции Front (Спереди) примитива Tube (Труба). Для этого сделайте следующее.

1. Выполните команду Create > Standard Primitives > Tube (Создание > Простые примитивы > Труба). В результате откроется доступ к настройкам примитива на вкладке Create (Создание) командной панели.

2. В свитке Keyboard Entry (Ввод с клавиатуры) введите значения: Inner Radius (Внутренний радиус) – 196, Outer Radius (Внешний радиус) – 220, Height (Высота) – 140.

Рис. 12.38. Фотография автомобильного диска, взятого в качестве образца для моделирования

3. Щелкните на кнопке Create (Создание) для построения объекта в окнах проекций.

4. В свитке Parameters (Параметры) задайте параметру Height Segments (Количество сегментов по высоте) значение 5, а Sides (Количество сторон) – 20 (по 4 на группу спиц).

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

1. Перейдите на вкладку Hierarchy (Иерархия)

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

2. Щелкните на кнопке Link Info (Данные о связях), чтобы получить доступ к свитку Locks (Блокировки).

3. В свитке Locks (Блокировки) установите флажки Move (Перемещение) и Rotate (Вращение).

Продолжим моделирование. Вам понадобится преобразовать параметрический объект Tube (Труба) в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните на нем правой кнопкой мыши и в появившемся контекстном меню выполните команду Convert To > Convert to Editable Poly (Преобразовать > Преобразовать в редактируемую полигональную поверхность).

Дальнейшие преобразования будут проходить на уровне подобъектов. Начните с уточнения положения внутренних рядов вершин. Для этого выполните следующие действия.

1. Перейдите на уровень редактирования вершин, для чего при выделенном объекте щелкните на кнопке Vertex (Вершина)

свитка Selection (Выделение) или нажмите 1 на клавиатуре.

2. В окне проекции Left (Слева) выделите четыре внутренних ряда вершин и примените к ним команду Select and Uniform Scale (Выделить и равномерно масштабировать), для чего щелкните на одноименной кнопке

на панели инструментов.

3. Масштабируйте вершины по оси X так, как показано на рис. 12.39.

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

1. Перейдите на уровень редактирования полигонов, щелкнув при выделенном объекте на кнопке Polygon (Полигон)

в свитке Selection (Выделение) или нажав на клавиатуре 4.

2. Щелкните на кнопке выделения на панели инструментов и активизируйте Circular Selection Region (Круглая область выделения)

В окне проекции Front (Спереди), начиная с середины объекта, выделите внутренние полигоны.

3. Активизируйте прямоугольное выделение, щелкнув на кнопке Rectangular Selection Region (Прямоугольная область выделения)

В окне проекции Left (Слева), удерживая нажатой кнопку Alt, снимите выделение с крайних рядов (рис. 12.40).

4. В свитке Edit Polygons (Редактирование полигонов) щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание).

5. В открывшемся окне Extrude Polygons (Выдавливание полигонов) задайте значение величины выдавливания 20, а тип выдавливания – Local Normal (Локальные нормали).

6. Щелкните на кнопке OK для завершения выдавливания.

Рис. 12.39. Положение вершин в пространстве окна проекции Left (Слева)

Рис. 12.40. Объект с выделенными полигонами внутренней области

Далее сделайте углубление по внешнему периметру диска (операция скорее номинальная: после того как на диск «наденется» шина, его не будет видно). Для этого выделите полигоны внешнего радиуса, находящиеся в середине, и масштабируйте их внутрь объекта (рис. 12.41).

Следующим шагом будет построение фаски на гранях диска: двух величиной поменьше и одной – побольше, чтобы получить закругление на краю диска. Для этого сделайте следующее.

1. Щелкните на кнопке Edge (Ребро)

в свитке Selection (Выделение) или нажмите на клавиатуре 2.

2. Выделите по одному ребру во втором и третьем от края внутренних рядах, затем щелкните на кнопке Loop (Петля) для выделения всех ребер по окружности (рис. 12.42).

3. Щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).

4. В открывшемся окне диалога Chamfer Edges (Фаска ребер) выставьте значение величины фаски 2.

5. Щелкните на кнопке OK для завершения операции создания фаски.

6. Способом, описанным выше, выделите внешний ряд ребер и примените к нему инструмент создания фаски с величиной 4 (рис. 12.43).

Рис. 12.41. Сформированное посадочное место для шины

Рис. 12.42. Ребра, подготовленные для создания фаски

На этом все операции, связанные с геометрией, можно считать законченными. Исходя из того что диск симметричен, оставьте для моделирования только одну половину. В окне проекции Front (Спереди) выделите полигоны правой стороны диска и удалите их, а чтобы видеть, как проходит моделирование в целом, сделайте зеркальную копию оставшейся половины. Для этого выполните команду Tools > Mirror (Инструменты > Зеркальное отображение), в результате чего откроется окно Mirror (Зеркальное отображение). В нем выставьте в качестве оси зеркального отображения X, а в качестве метода копирования выберите Instance (Привязка). Сейчас все действия в левой части диска будут отображаться в образце справа.

Приступим к моделированию спиц. Если присмотреться к форме диска на фотографии, можно заметить, что в ней много симметричных деталей, поэтому моделировать нужно только одну часть, а затем скопировать ее. Начните строить только одну спицу. Для этого в верхней части диска разрежьте три полигона, расположенных рядом, для начала формирования спицы. Чтобы сделать разрезы, щелкните на кнопке Cut (Вычитание) в свитке Edit Geometry (Редактирование геометрии) и затем в окне проекции Front (Спереди) или Perspective (Перспектива) выполните разрезание (рис. 12.44).

Рис. 12.43. Фаски, примененные к внутренним ребрам для закругления геометрии диска

Рис. 12.44. Полигоны, разрезанные для начала формирования спицы

Выделите два вновь созданных полигона (расположенный на боковой поверхности и на фаске) и сделайте выдавливание с уменьшением, для чего щелкните на кнопке Settings (Установки) рядом с кнопкой Bevel (Выдавливание со скосом). В результате откроется окно Bevel Polygons (Выдавливание со скосом полигонов). В нем для высоты выставьте значение 4, а для величины смещения – 1,5 и щелкните на кнопке OK для создания скоса. Результат данных действий показан на рис. 12.45.

Далее выделите два нижних полигона для формирования спицы по направлению к центру диска. Выделенные полигоны необходимо выдавить. Для этого щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание). В результате откроется окно Extrude Polygons (Выдавливание полигонов). В нем выставьте значение высоты выдавливания 40, а тип выдавливания – Local Normal (Локальные нормали) и щелкните на кнопке Apply (Применить) три раза для создания трех групп выдавливания. После создания новых полигонов перейдите на уровень редактирования вершин (нажмите на клавиатуре 1) и уточните их положение в пространстве согласно фотографии (см. рис. 12.38). Геометрия созданной спицы должна быть такой, как показано на рис. 12.46.

Выполните еще одно выдавливание на высоту 30. После этого сформируйте закругление в месте соединения двух соседних спиц. Для этого выделите три полигона, расположенных у основания спицы с внутренней стороны (рис. 12.47), и выдавите их на высоту 15.

Не снимая выделения с полигонов, нажмите клавишу Delete для их удаления. Это необходимо сделать, чтобы иметь возможность впоследствии соединить две соседние спицы в один объект и объединить вершины. Далее перейдите на уровень редактирования вершин и, выделив конечные вершины, уточните их положение в пространстве. Они должны быть расположены так, чтобы сформировалось закругление между соседними спицами с понижением плоскости, а конечные вершины находились на границе объекта, то есть значение координаты по оси X должно быть равно 0 (рис. 12.48).

Рис. 12.45. Полигоны, сформированные при помощи команды Bevel (Выдавливание со скосом)

Рис. 12.46. Средняя часть спицы, сформированная выдавливанием

Рис. 12.47. Полигоны, выделенные у основания спицы, для последующего выдавливания

Рис. 12.48. Полигоны, формирующие закругление между двумя спицами

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

1. Перейдите на уровень подобъектов Edge (Ребро), щелкнув на значке

свитка Selection (Выделение) настроек объекта на командной панели или нажав на клавиатуре 2.

2. Выделите все внешние ребра и щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).

3. В открывшемся окне диалога Chamfer Edges (Фаска ребер) параметру величины фаски задайте значение, равное 0,5.

4. Щелкните на кнопке OK для завершения операции создания фаски.

Теперь присоедините вторую половину диска к первой, чтобы продолжить моделирование двух спиц как одного объекта. Для этого щелкните на кнопке Make unique (Сделать уникальным)

на вкладке Modify (Изменение) командной панели, а затем на кнопке Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии) и в любом окне проекции на правой половине диска. Сейчас две половины диска принадлежат одному объекту, но все еще являются двумя отдельными элементами. Чтобы соединить их полностью, нужно объединить вершины в месте стыка этих элементов. Для выполнения этой операции перейдите в режим редактирования Vertex (Вершина) и выделите все вершины, находящиеся в месте соединения двух половин диска, после чего щелкните на кнопке Weld (Объединить) в свитке Edit Vertices (Редактирование вершин).

После соединения двух половинок можно визуализировать объект, но прежде нужно выполнить сглаживание. Для этого в свитке Subdivision Surface (Поверхности с разбиением) установите флажок Use NURMS Subdivision (Использовать NURMS-разбиение), а в области Display (Отображение) задайте параметру Iterations (Количество итераций) значение 2. Затем можно визуализировать изображение в окне проекции Front (Спереди) (рис. 12.49).

Теперь смоделируем отверстия для крепежа. Для этого активизируйте инструмент Cut (Вычитание) в свитке Edit Geometry (Редактирование геометрии) и разрежьте полигон, находящийся между спицами (рис. 12.50).

Рис. 12.49. Визуализированный фрагмент диска со сглаживанием

Рис. 12.50. Разрезы, определяющие форму отверстия

Чтобы завершить формирование отверстия, выделите его внутренние полигоны и примените операцию Extrude (Выдавливание) со значением, равным -15. Для получения сглаженных краев примените к ребрам на границе окружности Chamfer Edges (Фаска ребер).

После выполнения этих операций должен получиться один элемент диска. Всего их пять, следовательно, нужно снова делать копии. Оставьте для работы необходимую вам часть объекта, а все остальное удалите (рис. 12.51).

Перед копированием нужно снять блокировку объекта от поворота (в самом начале задания мы заблокировали диск от случайного перемещения). Для этого выполните следующие действия.

1. Перейдите на вкладку Hierarchy (Иерархия)

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

Рис. 12.51. Пятая часть диска, подготовленная для копирования

2. Щелкните на кнопке Link Info (Данные о связях), в результате чего появится доступ к свитку Locks (Блокировки).

3. В свитке Locks (Блокировки) снимите флажки в области Rotate (Вращение).

После этого выделите элемент диска и выполните команду Tools > Array (Инструменты > Массив), в результате чего появится окно Array (Массив). Задайте в нем угол поворота, количество копий и метод копирования, как показано на рис. 12.52.

Рис. 12.52. Окно Array (Массив) с настройками копирования элемента диска

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

Постройте сопряжение между элементами, для которых необходимо выполнить выдавливание боковых полигонов в месте их соединения. После этого снова уточните положение вершин в пространстве, используя фотографию автомобильного диска (см. рис. 12.38). Когда будут сформированы переходы между элементами, можно их объединить в один объект. Для этого щелкните на кнопке Make unique (Сделать уникальным)

вкладки Modify (Изменение) и на кнопке Attach (Присоединить) свитка Edit Geometry (Редактирование геометрии). Затем в любом окне проекции последовательно щелкните на всех копиях начального объекта для их присоединения (рис. 12.54).

Рис. 12.53. Объект, полученный при копировании одного элемента диска

Рис. 12.54. Фрагмент диска после объединения элементов

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

1. В свитке Selection (Выделение) настроек объекта на командной панели щелкните на значке Border (Граница)

2. В окне проекции Front (Спереди) щелкните на границе отверстия для выделения ребер, окаймляющих отверстие.

3. В свитке Edit Borders (Редактирование границ) щелкните на кнопке Cap (Накрыть), в результате чего отверстие будет закрыто полигонами.

4. Выделите средний полигон и сделайте выдавливание внутрь на небольшое расстояние.

5. Выполните фаску для верхних ребер отверстия.

Результат описанных действий представлен на рис. 12.55.

Осталось совсем немного – добавить мелкие детали, и диск будет готов. Для болтов крепления диска я использовал примитив Cylinder (Цилиндр) с шестью гранями без сглаживания. В центр поместил полусферу, трансформированную по оси Z. Эта полусфера будет служить основой для размещения логотипа. Для гаек, расположенных по периметру, был также использован примитив Cylinder (Цилиндр). Он подошел и для прокладок под гайки. Окончательный вид диска представлен на рис. 12.56.

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

Рис. 12.55. Средняя часть диска

Рис. 12.56. Окончательная визуализация диска

Спрячьте построенный диск, чтобы ничто не мешало работе. Для этого выделите его со всеми дополнительными элементами и щелкните правой кнопкой мыши. В появившемся контекстном меню выберите пункт Hide Selection (Спрятать выделенное).

Как обычно, для объектов, которые имеют повторяющиеся или симметричные детали, моделировать будем только уникальную для них часть. В данном случае это небольшая часть протектора. Начнем его моделирование с построения плоскости. Для этого выполните команду Create > Standard Primitives > Plane (Создание > Простые примитивы > Плоскость). В окне проекции To p (Сверху) постройте произвольную плоскость и в свитке Parameters (Параметры) задайте ее параметрам значения, как показано на рис. 12.57.

Дальнейшее моделирование будет происходить на уровне подобъектов, для чего необходимо преобразовать плоскость в объект Editable Poly (Редактируемая полигональная поверхность), щелкнув правой кнопкой мыши на объекте и выбрав в появившемся контекстном меню Convert To > Convert to Editable Poly (Преобразовать > Преобразовать в редактируемую полигональную поверхность). После этого нажмите кнопку Vertex (Вершина)

в свитке Selection (Выделение) настроек плоскости на командной панели и в окне проекции To p (Сверху) измените положение вершин, как показано на рис. 12.58.

Перейдите на уровень редактирования Polygon (Полигон) ¦ . Выделите те полигоны, которые должны будут формировать выступающие части протектора шины. После этого примените к выделенным полигонам выдавливание с заданным значением. Для этого щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание). В открывшемся окне Extrude Polygons (Выдавливание полигонов) параметру высоты выдавливания задайте значение, равное 4, а тип выдавливания – Local Normal (Локальные нормали) и щелкните на кнопке OK (рис. 12.59).

После выполнения стандартных операций необходимо подкорректировать положения вершин в пространстве. В данном случае нужно понизить протектор по направлению к внешнему краю (рис. 12.60).

Рис. 12.57. Свиток Parameters (Параметры) настроек плоскости, с которой начинается моделирование шины

Рис. 12.58. Редактирование вершин объекта в вертикальной (слева) и горизонтальной (справа) плоскостях

Рис. 12.59. Фрагмент шины с выдавленными полигонами

Рис. 12.60. Элемент шины после корректировки высоты протектора

Как только вы скорректируете положение вершин в пространстве, изогните боковую часть элемента шины, чтобы придать ей нужную форму. Для этого проще всего воспользоваться модификатором изгиба. Выполните команду Modifiers > Parametric Deformers > Bend (Модификаторы > Параметрические деформации > Изгиб). В свитке Parameters (Параметры) настроек модификатора Bend (Изгиб) задайте параметрам значения, как показано на рис. 12.61.

На этом моделирование одиночного элемента можно считать законченным. Теперь необходимо выполнить его зеркальную копию с последующим присоединением ее к основному объекту. Перед тем как что-либо делать, нужно снова преобразовать объект в Editable Poly (Редактируемая полигональная поверхность). Затем в окне проекции Top (Сверху) выделите объект и щелкните на кнопке Mirror (Зеркальное отображение)

В появившемся окне в качестве оси для зеркального отображения выберите XY, а в качестве способа копирования – Copy (Независимая копия объекта). После зеркального отображения объекта выполните подгонку положения копии так, чтобы она встала в место соединения двух половинок протектора (рис. 12.62).

Рис. 12.61. Параметры модификатора Bend (Изгиб) для элемента шины

Рис. 12.62. Элемент шины с зеркальной копией

Создав копию и уточнив положение относительно оригинала, необходимо присоединить ее к оригиналу. Для выполнения этих действий щелкните на кнопке Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии) основного объекта, а затем на копии в любом из окон проекций.

Но это еще не все. Нужно объединить и вершины, лежащие на стыке двух элементов. Для этого, находясь на уровне редактирования вершин, выделите средний ряд вершин и щелкните на кнопке Weld (Объединить), находящейся в свитке Edit Vertices (Редактирование вершин).

В результате вы получите один полный элемент шины, который сейчас необходимо размножить. Выполните эту операцию при помощи инструмента Array (Массив). Для этого выделите объект в окне проекции. Выполните команду Tools > Array (Инструменты > Массив) и в открывшемся окне Array (Массив) укажите смещение по оси X, равное 40 (это ширина элемента, заданная при его построении), а количество копий – 50. Затем щелкните на кнопке OK для подтверждения сделанных изменений.

Вы получите 50 последовательно расположенных элементов, которые нужно объединить в один объект. Снова обратитесь к команде Attach (Присоединить), но сейчас щелкните на кнопке Attach List (Присоединение по списку), находящейся рядом с кнопкой Attach (Присоединить) в свитке Edit Geometry (Редактирование геометрии). Откроется окно Attach List (Присоединение по списку), в котором щелкните на кнопке Select All (Выделить все) для выбора всех копий элемента шины.

Как и прежде, соседние вершины присоединенных объектов необходимо объединить, для чего в режиме редактирования Vertex (Вершина) выделите все вершины объекта и щелкните на кнопке Weld (Объединить) в свитке Edit Vertices (Редактирование вершин).

После присоединения отдельных элементов и объединения вершин в местах стыков примените модификатор Bend (Изгиб), чтобы завернуть объект в кольцо. В параметрах модификатора задайте параметру Angle (Угол) значение 360, а ось – X. Вы получите почти готовую шину, останется только нарастить боковые грани (рис. 12.63).

Перед наращиванием боковых граней нужно снова преобразовать объект в Editable Poly (Редактируемая полигональная поверхность) и объединить вершины в месте стыка.

Далее щелкните на значке Border (Граница)

в свитке Selection (Выделение). В окне проекции Front (Спереди) щелкните в стороне от объекта и протащите указатель мыши на противоположную сторону окна по диагонали, выделяя все открытые ребра (в данном случае это внутренние ребра шины с обеих сторон). Щелкните на кнопке Select and Uniform Scale (Выделить и равномерно масштабировать) панели инструментов

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

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

Рис. 12.63. Автомобильная шина после применения модификатора Bend (Изгиб)

Рис. 12.64. Результат окончательной визуализации автомобильного колеса

ПРИМЕЧАНИЕ

Если у вас возникли вопросы по созданию модели автомобильного колеса, обратитесь к файлу сцены poly_disk.max, расположенному в папке Examples\Глава 12\Poly_disk прилагаемого к книге DVD.

Моделируем BMW

Моделирование автомобиля – пожалуй, самое сложное задание из представленных в этой книге. Если у вас недостаточно опыта работы в программе 3ds Max, начинать его желательно после освоения упражнений по моделированию полигонами.

Моделировать автомобиль можно разными способами. Все они имеют свои плюсы и минусы. Я не стану подробно останавливаться на каждом, а только в общих чертах опишу их.

¦ NURBS-моделирование. В примерах по моделированию в 3ds Max встречается крайне редко. Моделировать сложно, хотя модель в конечном итоге получается достаточно сглаженная.

¦ Патч-моделирование. При достаточных навыках в работе таким образом можно выполнять моделирование автомобилей любой сложности. Патчи имеют некоторые особенности, знание которых необходимо для нормальной работы. Кроме того, построение кривизны поверхности сводится к редактированию не только положения вершин в пространстве, но и манипуляторов, что дополнительно усложняет задачу.

¦ Моделирование сплайнами с последующим применением модификатора Surface (Поверхность). Этот способ напоминает патч-моделирование. Я применяю его для моделирования автомобилей со сложной и сглаженной геометрией. Метод очень удачен, но требует подготовки и хорошего пространственного мышления: нужно размещать в пространстве большое количество вершин кривой и уметь работать с манипуляторами.

¦ Низкополигональное моделирование. При таком моделировании за основу берется объект Box (Параллелепипед) с достаточным количеством разбиений и при помощи модификатора Edit Mesh (Редактирование поверхности) изменяется положение вершин, они подгоняются под форму автомобиля. Моделирование ведется по принципу «от простого к сложному» (добавляются грани, полигоны, уточняется геометрия и т. д.). После создания общей формы к объекту применяется модификатор MeshSmooth (Сглаживание).

¦ Полигональное моделирование. Это скорее разновидность низкополигонального моделирования, с той разницей, что применяется метод наращивания полигонов по форме модели с использованием Editable Poly (Редактируемая полигональная поверхность). На сегодняшний день это самый удобный способ создания полигональной модели.

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

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

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

Вернемся еще раз к теме построения виртуальной студии и дадим несколько рекомендаций.

¦ Виртуальная студия должна находиться в начале координат, то есть значения ее координат по осям X, Y и Z должны быть равны 0. Это значительно упростит зеркальное отображение объектов моделирования (фары, зеркала, колеса и т. д.), а также половины кузова автомобиля.

¦ Студия должна быть заблокирована от случайного смещения. Для этого щелкните на объекте-студии правой кнопкой мыши и в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). Откроется одноименное окно, в котором установите флажок Freeze (Фиксировать), и снимите Show Frozen in Gray (Показывать замороженное серым).

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

Моделировать автомобиль начните с построения объекта Plane (Плоскость) в районе переднего крыла автомобиля. Для этого выполните команду Create > Standard Primitives > Plane (Создание > Простые примитивы > Плоскость) и в окне проекции Front (Спереди) постройте небольшую плоскость, которая будет отправной точкой всего моделирования (рис. 12.65).

Рис. 12.65. Плоскость, с которой начинается построение модели автомобиля

Для удобства работы измените способ отображения объекта. Для этого щелкните на плоскости правой кнопкой мыши и в появившемся контекстном меню выберите строку Object Properties (Свойства объекта). В области Display Properties (Свойства отображения) открывшегося окна Object Properties (Свойства объекта) установите флажок See-Through (Видеть сквозь). После этого вы сможете видеть ту часть виртуальной студии, которая скрывается за моделируемым объектом.

Больше свойства параметрического объекта Plane (Плоскость) вам не понадобятся. Дальнейшее моделирование будет проводиться на уровне редактирования подобъектов (вершин, граней, полигонов). Для доступа к этому уровню необходимо преобразовать объект в Editable Poly (Редактируемая полигональная поверхность). Для этого щелкните на нем правой кнопкой мыши, в появившемся контекстном меню выполните команду Convert To > Convert to Editable Poly (Преобразовать > Преобразовать в редактируемую полигональную поверхность).

ВНИМАНИЕ

Почти все команды моделирования, которые будут использоваться в данном упражнении, находятся на вкладке Modify (Изменение) настроек объекта Editable Poly (Редактируемая полигональная поверхность) командной панели. По этой причине уточнения будут даваться только по свиткам, к которым будем обращаться. Во всех остальных случаях будет приводиться полное описание доступа к инструментам, модификаторам или свойствам объекта.

После преобразования плоскости в Editable Poly (Редактируемая полигональная поверхность) перейдите на уровень редактирования Vertex (Вершина) (при выделенном объекте нажмите на клавиатуре 1) и уточните положение вершин в пространстве, используя для контроля окно проекции Front (Спереди) (рис. 12.66, а) и Left (Слева) (рис. 12.66, б).

Рис. 12.66. Положение начального полигона в окнах проекций Front (Спереди) (а) и Left (Слева) (б)

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

Далее при помощи выдавливания боковых ребер продолжаем строить крыло машины. Для этого можно применить команду Extrude (Выдавливание), но более простой метод построения дополнительных ребер (а следовательно, и полигонов) – копирование их с клавишей Shift. Делается это следующим образом.

1. Перейдите на уровень редактирования Edge (Ребро) (нажмите на клавиатуре 2).

2. Нажмите и удерживайте клавишу Shift.

3. Выделите ребро со стороны, в которую собираетесь наращивать рельеф.

4. Удерживая нажатой кнопку мыши, перетащите ребро в сторону на расстояние, необходимое для построения новых контрольных точек.

5. Отпустите кнопку мыши, в результате чего будет построен новый полигон.

6. При необходимости уточните положение вершин в пространстве.

Используя вышеописанный способ копирования ребер, нарастите геометрию крыла автомобиля (рис. 12.67).

Рис. 12.67. Положение полигонов, огибающих арку от бампера до порога, в окнах проекций Front (Спереди) (а) и Left (Слева) (б)

СОВЕТ

При моделировании автомобиля я предпочитаю придерживаться того правила, что отдельные детали кузова должны моделироваться как самостоятельные элементы. Это, на мой взгляд, упрощает моделирование и дальнейшее текстурирование автомобиля. Обычно это элементы, которые и у реального автомобиля являются самостоятельными (крылья, капот, двери, багажник, бамперы и т. д.).

Продолжите строить полигоны. Дойдя до бампера с левой стороны и порога с правой, нарастите ребра в стороны, не забывая контролировать положение полигонов во всех окнах проекций (рис. 12.68).

Рис. 12.68. Положение полигонов в окне проекции Front (Спереди) (а) и Top (Cверху) (б) после их наращивания в стороны

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

1. Удерживая нажатой клавишу Shift (как при копировании ребер), щелкните на моделируемом объекте и перетащите его на значительное расстояние в сторону.

2. После того как вы отпустите кнопку мыши, появится окно Clone Options (Параметры клонирования), в котором в качестве способа копирования выберите Reference (Подчинение).

3. В стек модификаторов копии добавьте модификатор MeshSmooth (Сглаживание), выполнив команду Modifiers > Subdivision Surfaces > MeshSmooth (Модификаторы > Поверхности с разбиением > Сглаживание).

4. Из списка Subdivision Method (Метод разбиения) одноименного свитка настроек модификатора MeshSmooth (Сглаживание) выберите NURMS, а в свитке Subdivision Amount (Величина поверхности с разбиением) задайте параметру Iteration (Количество разбиений) значение 2.

5. Щелкните на объекте правой кнопкой мыши и выберите строку Object Properties (Свойства объекта). В области Display Properties (Свойства отображения) появившегося одноименного окна снимите флажок See-Through (Видеть сквозь).

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

Рис. 12.69. Копия моделируемого объекта со сглаживанием

СОВЕТ

К сожалению, удобство, связанное с возможностью просмотра сглаженного изображения одновременно с моделированием, занимает дополнительные компьютерные ресурсы (в оперативной памяти хранится информация о выполненных операциях не только для основного объекта, но и для экземпляра). В связи с этим, как только вы почувствуете, что компьютер стал работать медленнее, удалите копию. Вместо этого при необходимости можно контролировать форму объекта, установив в свитке Subdivision Surface (Поверхности с разбиением) настроек объекта флажок Use NURMS Subdivision (Использовать NURMS-разбиение) с теми же параметрами, что у модификатора MeshSmooth (Сглаживание).

Продолжите дальнейшее наращивание геометрии. Сделайте ряд полигонов по верху объекта до излома крыла и ряд по краю арки.

ВНИМАНИЕ

Когда необходимо наращивать более одного полигона, обязательным условием является выделение для копирования сразу всех ребер. Это связано с тем, что раздельное копирование не только замедлит процесс построения геометрии, но и построит разделенные полигоны. В таком случае необходимо объединить (команда Weld (Объединить)) совпадающие вершины соседних полигонов (если, конечно, раздельное построение не предусмотрено характером моделирования).

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

Обратите внимание, что ребра, находящиеся на стыках полигонов, располагаются с учетом изменения геометрии автомобиля. Кроме того, между аркой и дверью необходимо разделить полигоны на две части, так как большие полигоны не способны передать изгиб крыла по длине. Выполните это деление при помощи инструмента Cut (Вычитание), расположенного в свитке Edit Geometry (Редактирование геометрии).

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

Для придания изгибу более заметного излома примените к выделенным ребрам Chamfer (Фаска), разделив таким образом выделенные ребра на две части. Для этого в свитке Edit Edges (Редактирование ребер) щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска). В открывшемся окне Chamfer Edges (Фаска ребер) задайте параметру величины фаски значение, равное 3. Затем щелкните на кнопке OK для завершения операции создания фаски. Теперь изгиб крыла над аркой имеет более естественные очертания (рис. 12.71).

Рис. 12.70. Полигоны, достроенные над аркой и по верху крыла

Рис. 12.71. Ребра, сформированные фаской в окнах проекций User (Пользовательская) (справа) и Perspective (Перспектива) (слева)

Напомню, что в окне проекции Perspective (Перспектива) представлен экземпляр объекта, с которым вы работаете, но только со сглаживанием.

Продолжите наращивание полигонов вправо, сначала до места соединения передней и задней двери, затем до места соединения задней двери и крыла.

Обратите внимание, что в окне проекции To p (Сверху) боковая линия геометрии автомобиля в местах расположения дверей почти ровная, поэтому, чтобы передать форму кузова, вам достаточно построить вертикальные ребра в местах стыковки дверей (рис. 12.72).

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

СОВЕТ

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

Рис. 12.72. Достроены два ряда полигонов, описывающих форму дверей

При построении изгиба заднего крыла в районе фары обратите внимание на форму закругления. Кроме работы в окне проекции Front (Спереди) (рис. 12.73, а), важно контролировать положение вершин в пространстве, используя окна проекции To p (Сверху) и Right (Справа) (рис. 12.73, б).

Рис. 12.73. Построение полигонов продолжается в окнах проекций Front (Спереди) (а) и Right (Справа) (б)

Далее достройте полигоны до боковых окон. Принцип построения все тот же: выделите грани по всей длине и, удерживая нажатой клавишу Shift, скопируйте их, а затем уточните положение вершин в пространстве.

Чтобы закончить общую форму боковой геометрии кузова, сделайте продольный излом на крыльях и дверках автомобиля. Эта операция выполняется аналогично созданию излома над арками крыльев автомобиля, описанному ранее. Отличие состоит в том, что сначала при помощи инструмента Chamfer (Фаска) из свитка Edit Edges (Редактирование ребер) строятся разделенные ребра с параметром Chamfer Amount (Величина фаски), равным 10 (имейте в виду, что если размеры вашей модели отличаются от моей, то и величина будет другой). После этого выделяется верхний ряд ребер из только что полученных после применения фаски и еще раз применяется Chamfer (Фаска), но со значением параметра Chamfer Amount (Величина фаски), равным 3.

После построения двух дополнительных рядов ребер необходимо уточнить положение в пространстве нижнего ряда, чтобы создать криволинейную поверхность боковой стороны автомобиля. Для этого можно воспользоваться редактированием на уровне вершин (для переключения нажмите на клавиатуре 1), для чего выделите точки нижнего ряда (из построенных с помощью Chamfer (Фаска)) и в окне проекции Left (Слева) сместите их немного внутрь автомобиля (рис. 12.74).

В процессе построения новых ребер методом создания фаски на границе примыкания горизонтальных ребер к арке переднего крыла появятся артефакты. Это связано с тем, что в данных точках сходятся по пять ребер и в результате применения инструмента Chamfer (Фаска) из свитка Edit Edges (Редактирование ребер) появляется избыточное количество вершин. Решить возникшую проблему можно с помощью команды Weld (Объединить) следующим образом.

Перейдите на уровень редактирования Vertex (Вершина) и выделите две вершины, подлежащие объединению. В свитке Edit Vertices (Редактирование вершин) щелкните на кнопке Settings (Установки) рядом с кнопкой Weld (Объединить). В открывшемся окне Weld Vertices (Объединить вершины) задайте значение величины приращения с учетом того, чтобы в окне проекции две выделенные вершины объединились в одну. Затем щелкните на кнопке OK для завершения объединения и повторите те же действия для двух других точек (рис. 12.75).

Рис. 12.74. Положение и форма излома геометрии кузова, проходящего по боковой поверхности

Рис. 12.75. Вершины на стыке шести ребер до (справа) и после (слева) их слияния

На рис. 12.76 показан вид боковой поверхности экземпляра моделируемого объекта со сглаживанием.

СОВЕТ

Часто в процессе моделирования по той или иной причине необходимо вернуться к предыдущему состоянию моделирования, и не всегда в этом может помочь команда Undo (Отменить). Поэтому возьмите за правило сохранять рабочий файл после выполнения ключевых задач или через определенные промежутки времени. Лучше всего, если для сохранения будет использоваться команда Save As (Сохранить как) с увеличением имени файла (достаточно в окне Save File As (Сохранить файл как) щелкнуть на кнопке со знаком +).

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

Думаю, двух рядов полигонов вполне хватит, чтобы передать форму рамки. В ее построении нет особых сложностей, лишь необходимо отметить, что от заднего крыла отходит больше чем два полигона. Их нужно привести в соответствие (по количеству) с теми, которые расположены спереди. Это делается путем объединения вершин. Кроме того, добавьте еще одно горизонтальное ребро в место стыковки рамки с задним крылом – туда, где виден небольшой излом формы (рис. 12.77).

Рис. 12.76. Боковая поверхность кузова автомобиля со сглаживанием

Дальнейшее построение крыши автомобиля не должно вызвать затруднения, поэтому вернемся к нему позже, а пока на примере создания порога я хочу показать, как можно строить сочленения отдельных элементов кузова. Когда-то, в самом начале работы в программе 3ds Max, я строил швы и сочленения элементов кузова автомобиля путем применения команды Bevel (Выдавливание со скосом) из свитка Edit Polygons (Редактирование полигонов) к полигонам, проходящим по линии шва. После применения модификатора MeshSmooth (Сглаживание) к таким швам углы закруглялись даже там, где они должны быть прямыми. Чтобы избавиться от этого эффекта, я добавлял ребра, увеличивал вес вершин и т. п. Но все эти меры ведут к увеличению количества полигонов и деформируют форму, поэтому со временем я нашел другое решение.

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

После построения новых полигонов уточните положение вершин в окнах проекций Left (Слева) и Top (Сверху) (рис. 12.78).

Рис. 12.77. Положение и форма полигонов, формирующих рамку кузова, в окнах проекций Front (Спереди) (а) и Right (Cправа) (б)

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

Начнем с выделения трех нижних рядов полигонов, чтобы сформировать из них отдельный элемент. Выделите три нижних ряда полигонов и щелкните на кнопке Detach (Отделить), расположенной в свитке Edit Geometry (Редактирование геометрии). В появившемся окне Detach (Отделить) установите флажок Detach To Element (Отделить в элемент). Это позволит выделить полигоны в отдельный элемент, принадлежащий моделируемому объекту. Щелкните на кнопке OK для подтверждения выбора и закрытия окна.

СОВЕТ

Есть несколько способов упростить навигацию по увеличивающемуся в процессе моделирования количеству вершин, ребер и полигонов. Можно прятать неиспользуемые в работе объекты, применять плоскости отсечения, Isolation Mode (Режим изолирования) и скрывать неиспользуемые элементы на уровне редактирования подобъектов.

После выделения порога в отдельный элемент (с ним предстоит работать) спрячьте все лишнее. Для этого перейдите на уровень редактирования подобъектов Element (Элемент), используя горячую клавишу 5. Выделите порог автомобиля и в свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Hide Unselected (Спрятать невыделенное). После выполнения этих операций на экране останется только порог.

В окне проекции Front (Спереди) выделите вершины, принадлежащие верхнему ряду, и немного (на 3–5 мм) сместите их вниз. Это необходимо, чтобы между порогом и дверями образовалась небольшая щель. После этого нужно придать порогу толщину. Выделите открытые грани, для чего на уровне подобъектов Border (Граница) щелкните на любом месте по краю порога. В результате выделятся все ребра по периметру. После этого выполните уже знакомую вам операцию копирования граней на величину около 20 мм со смещением внутрь автомобиля.

ПРИМЕЧАНИЕ

Значение, на которое изменяется смещение при копировании, можно проследить в строке состояния, расположенной в нижней части окна программы.

Для формирования углубления в средней части порога выделите два больших продольных ребра и переместите их немного внутрь. Осталось еще одно копирование ребер для формирования порога – нужно выделить верхний внутренний ряд (из тех, которые были построены последними) и скопировать его по оси Y примерно на 20 мм вверх. Это необходимо, чтобы закрыть изнутри образовавшееся продольное отверстие между порогом и дверью (при помощи смещения вершин вниз). Последнее, что нужно сделать перед тем как закончить моделировать порог, – выделить передние грани, образующие внешний край, добавить к выделению ребра в углах и ко всему выделению применить Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 1 (рис. 12.79).

Рис. 12.78. Дополнительные полигоны, построенные для формирования порога

Рис. 12.79. Каркасный вид порога автомобиля после добавления полигонов и создания фаски

Если то, что получилось у вас, отличается от изображения на рис. 12.79, вернитесь назад при помощи команды Undo (Отменить) и проверьте, правильно ли были выделены грани. Это, как правило, самая распространенная ошибка при построении сглаженных углов. На самом деле операции с гранями не так сложны, как кажется, главное – понять принцип, по которому делаются фаски. На рис. 12.80 показан результат визуализации боковой стороны автомобиля.

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

ВНИМАНИЕ

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

Учитывая особенности сглаживания, описанные выше, необходимо на боковой поверхности автомобиля добавить вертикальные разрезы так, чтобы по обе стороны от границ дверей получилось по вертикальному ряду ребер. Сделать это можно разными способами, но самый простой – разрезать поверхность при помощи инструмента Cut (Вычитание), расположенного в свитке Edit Geometry (Редактирование геометрии) (рис. 12.81).

Рис. 12.80. Результат визуализации боковой стороны автомобиля вместе с построенным порогом

Рис. 12.81. Расположение вертикальных ребер в местах соединения дверей

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

Если вы выделили все необходимые для работы ребра, нажмите на клавиатуре Пробел, чтобы заблокировать выделенные ребра от случайного изменения. После этого примените команду Extrude (Выдавить) из свитка Edit Edges (Редактирование ребер) с высотой выдавливания, равной 0, и шириной 10 (рис. 12.82).

Высота, указываемая в окне Extrude Edges (Выдавить ребра), в данном случае должна всегда быть нулевой, а ширина у вас может быть и другой – все зависит от масштаба модели и ширины требуемого шва. Обычная технология построения шва подразумевает применение не Extrude Edges (Выдавить ребра), а Chamfer Edges (Фаска ребер). Однако в результате вместо трех получается всего два ребра, что усложняет дальнейшую работу. То, что предлагаю я, позволит вам с минимальными затратами построить достаточно удачный шов. Не спешите щелкать на кнопке OK после введения нужных значений. В данном случае вам понадобится продолжить работу в окне Extrude Edges (Выдавить ребра), поэтому нажмите кнопку Apply (Применить), после чего можно ввести новые значения для следующей пары ребер. В этот раз задействуйте отрицательную высоту выдавливания (у меня это значение равно –5) и меньшее значение для ширины (3). В результате вы сделали шов, используя всего две операции выдавливания (рис. 12.83).

Рис. 12.82. Начало построения дверного шва

Рис. 12.83. Автомобильный шов, полученный при помощи двух операций выдавливания, в каркасном виде (слева) и после визуализации (справа)

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

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

1. Не меняя выделения (у вас до сих пор должны быть выделены три средних ряда ребер), щелкните на кнопке Settings (Установки) рядом с кнопкой Extrude (Выдавливание).

2. В открывшемся окне Extrude Edges (Выдавить ребра) задайте параметру величины выдавливания значение, равное -10 (это значение определяет общую глубину шва), а ширины – 4.

3. Щелкните на кнопке OK для завершения операции выдавливания.

4. В свитке Edit Edges (Редактирование ребер) щелкните на кнопке Settings (Установки) рядом с кнопкой Chamfer (Фаска).

5. В появившемся окне Chamfer Edges (Фаска ребер) задайте параметру Chamfer Amount (Величина фаски) значение, равное 10.

6. Щелкните на кнопке OK для завершения создания фаски (рис. 12.84).

Перед тем как приступить к следующей фазе моделирования, не забудьте снять блокировку с выделения, для чего еще раз нажмите на клавиатуре Пробел.

ПРИМЕЧАНИЕ

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

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

Рис. 12.84. Каркасный вид улучшенного шва (слева) и результат его визуализации (справа)

Рис. 12.85. Линии построения геометрии капота в окне проекции вида слева

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

Рис. 12.86. Результат визуализации фрагмента капота с фасками

Следующий шаг – построение решетки радиатора. Для этого выполните следующие действия.

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

2. Примените к выделенным ребрам команду Cap (Накрыть), щелкнув на одноименной кнопке в свитке Edit Borders (Редактирование границ). Это создаст полигон, закрывающий отверстие.

3. Сделайте закрытое отверстие как отдельный элемент, для чего в свитке Edit Geometry (Редактирование геометрии) щелкните на кнопке Detach (Отделить).

Дальнейшее редактирование будет проходить на уровне подобъектов Polygon (Полигон). Выделите вновь созданный полигон и примените к нему последовательно четыре операции Bevel (Выдавливание со скосом) со следующими значениями параметров, заданными в окне Bevel Polygons (Выдавливание со скосом полигонов):

¦ Height (Высота): 3, Outliner Amount (Величина смещения): -3;

¦ Height (Высота): 0, Outliner Amount (Величина смещения): -15;

¦ Height (Высота): -3, Outliner Amount (Величина смещения): -3;

¦ Height (Высота): -15, Outliner Amount (Величина смещения): -0.

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

Рис. 12.87. Решетка автомобиля, представленная каркасом в окне проекции Left (Слева) (а) и визуализированная после добавления вертикальных перегородок (б)

Займемся построением двери багажника. После того как вы выполнили боковую сторону автомобиля, капот и научились делать толщину элементов и швы, ее создание не должно вызвать затруднений. Здесь все просто: построение ведется путем наращивания полигонов от крыла до середины автомобиля (рис. 12.88).

Далее постройте швы двери. Для этого создайте шов либо как описано на примере построения боковых дверей, либо сделав дверь как отдельный элемент (при помощи команды Detach (Отделить)) и достроив толщину двери (как описано выше на примере порога).

Рис. 12.88. Геометрия багажника в окнах проекций Right (Справа) (а) и Front (Спереди) (б)

Создайте небольшой элемент над углублением для регистрационного номера автомобиля (можно сделать его как отдельный объект из параллелепипеда).

Все построения при визуализации должны выглядеть примерно так, как показано на рис. 12.89.

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

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

Рис. 12.89. Результат визуализации багажника после создания толщины

Рис. 12.90. Расположение полигонов крыши, лобового стекла и стекла двери багажника в окне проекции Top (Сверху)

После построения крыши задача немного усложнится – нужно создать хромированную окантовку верха дверей. Для моделирования окантовки выполните следующие действия.

1. Перейдите в режим редактирования Edge (Ребро).

2. Выделите ребра по периметру примыкания окантовки к крыше.

3. В свитке Edit Edges (Редактирование ребер) щелкните на кнопке Create Shape From Selection (Создать форму из выделенного) для преобразования выделенных ребер в сплайны (это будет самостоятельный объект). В появившемся окне нажмите кнопку OK.

4. Выделите построенный сплайн (например, с помощью окна Select From Scene (Выбор из сцены)), перейдите на уровень редактирования Spline (Сплайн) и в свитке Geometry (Геометрия) настроек сплайна рядом с кнопкой Outline (Контур) укажите величину контура, равную 25.

5. Нажмите на клавиатуре Enter для создания контура (рис. 12.91).

После построения сплайна преобразуйте его в Editable Poly (Редактируемая полигональная поверхность), для чего щелкните на сплайне правой кнопкой мыши и в появившемся контекстном меню выберите из списка Convert To > Convert to Editable Poly (Преобразовать > Преобразовать в редактируемую полигональную поверхность). Далее сделайте разрывы геометрии в местах стыковки дверей, чтобы там впоследствии сформировались швы. После выполнения подготовительной части можно придать окантовке толщину (не буду повторяться, так как эта операция делалась не раз и должна быть вам знакома).

В качестве стоек я использовал параллелепипеды – просто придал им нужную форму, немного передвинув вершины. То, что должно получиться, показано на рис. 12.92.

Рис. 12.91. Сплайны обводки, построенные из выделенных ребер

Рис. 12.92. Результат визуализации стоек и окантовки двери

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

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

При построении зеркала я использовал примитив Box (Параллелепипед) с двумя дополнительными гранями по вертикали, одной вдоль и одной по горизонтали.

После построения параллелепипеда я преобразовал его в Editable Poly (Редактируемая полигональная поверхность) и все дальнейшие построения вел путем применения инструмента Bevel (Выдавливание со скосом) и перемещения вершин в пространстве. Там, где было необходимо, я добавлял ребра. Углы закруглял с помощью фасок. Само зеркало я сделал как отдельный элемент, что позволило получить ровную отражающую поверхность. Элемент, к которому крепится зеркало, был сделан из отдельного параллелепипеда с последующим присоединением при помощи команды Attach (Присоединить) его к зеркальному отображению (рис. 12.93).

Рис. 12.93. Каркасный вид зеркала в окнах проекций

Теперь построим заднюю фару и стекло фары. Эти элементы создаются аналогично, поэтому я опишу только построение задней фары. Я делаю это одним из двух следующих способов.

¦ Строю новый объект Plane (Плоскость) с количеством разбиений, соответствующих примыкающей геометрии. Это делается, чтобы выставить вершины в местах расположения вершин примыкающей геометрии (в частности, крыла и багажника).

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

Используя один из описанных выше способов, постройте заднюю фару, состоящую из двух элементов (один элемент относится к заднему крылу, другой – к двери багажника). После создания геометрии придайте ей толщину. Для этого выделите ребра по периметру и скопируйте их вглубь автомобиля на 20 мм. Для закругления граней примените Chamfer (Фаска) (рис. 12.94).

Рис. 12.94. Расположение ребер на модели задней фары в окнах проекций Perspective (Перспектива) (а) и Front (Спереди) (б)

Затененные полигоны по периметру фары – не что иное, как геометрия, построенная для закрытия щели, образованной между фарой и кузовом (при моделировании фары как отдельного элемента).

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

Решетку, расположенную внутри бампера, постройте из отдельных параллелепипедов с последующим преобразованием в Editable Poly (Редактируемая полигональная поверхность) и уточнением положения вершин относительно всей геометрии бампера. Плашка для номера – это немного модифицированный параллелепипед (рис. 12.96).

Рис. 12.95. Начало построения бампера (сверху) с последующим уточнением геометрии (снизу)

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

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

Рис. 12.96. Визуализация бампера с дополнительными элементами

Днище и арки автомобиля строились как отдельные элементы. Для построения арок переднего и заднего колеса выделите открытые ребра, находящиеся по краям крыла, и скопируйте их внутрь на 1/5 от общей ширины автомобиля. После этого постройте ту часть днища автомобиля, которая расположена между арками и кузовом. Построение ведется, как и прежде, методом копирования ребер. Затем заполните внутренние стороны арок полигонами (я строил треугольные полигоны вручную, хотя можно просто «закрыть» их, применив Cap (Накрыть) из свитка Edit Borders (Редактирование границ)). Конечно, при визуализации днища никогда не видно, а геометрия арок не критична, так как закрыта колесом, но аккуратность в работе еще никому не мешала. Как выглядит сетка полигонов на днище и в арках автомобиля, представлено на рис. 12.98.

Перейдем к построению дверных ручек.

Рис. 12.97. Задний бампер в каркасном виде (сверху) и результат его визуализации (снизу)

Рис. 12.98. Схема расположения полигонов днища и арок в окне проекции User (Пользовательская)

Такие детали автомобиля, как дверные ручки и крышка бензобака, можно моделировать двумя следующими способами.

¦ При первом способе в окне проекции вида, перпендикулярного поверхности, на которой нужно построить элемент кузова, строится сплайн по форме, соответствующей этому элементу (например, для крышки бака – прямоугольник с закругленными углами). Затем при помощи построения объекта типа ShapeMerge (Объединенные с формой) этот сплайн проецируется на поверхность. Геометрия становится «разрезанной» по форме сплайна и готова для дальнейшей модификации. Данный способ подходит, когда поверхность, которую нужно «разрезать», не имеет большого количества разбиений, иначе появляется избыточное количество вершин, которые усложняют моделирование.

¦ Второй способ моделирования подразумевает построение всех контуров элемента за счет разрезания полигонов и манипуляции вершинами. Он более трудоемкий, но позволяет получить контроль над всей геометрией строящегося элемента.

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

Начните с построения сплайна по форме будущей ручки двери. Конечно, это делать не обязательно, но, создав сплайн, что не отнимет много времени, можно визуально контролировать форму строящегося элемента. Затем, используя сплайн в качестве шаблона, сделайте разрезы полигонов, напротив которых расположен сплайн (рис. 12.99).

После этого достройте минимально необходимое количество ребер и вершин для получения закругленных краев. Для этого воспользуйтесь инструментами Cut (Вычитание), Chamfer (Фаска) и Weld (Объединить) из свитков Edit Geometry (Редактирование геометрии) и Edit Vertices (Редактирование вершин). На рис. 12.100 представлено расположение ребер, которое получилось у меня.

Рис. 12.99. Четыре разреза, выполненные по габаритам сплайна

Рис. 12.100. Схема расположения ребер, формирующих элемент ручки двери

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

Далее все как обычно: выделите ребра по периметру образовавшегося отверстия и скопируйте их внутрь. После этого выделите ребра, расположенные на гранях отверстия, и примените к ним инструмент Chamfer (Фаска) со значением параметра Chamfer Amount (Величина фаски), равным 1. После создания отверстия для ручки можно перейти к моделированию самой ручки двери. Для этого откройте ранее спрятанную внутреннюю часть и воспользуйтесь тем же методом копирования полигонов с последующим построением фаски по ребрам, образующим прямой угол. Но прежде разделите внутреннюю часть ручки на два элемента (как это есть в реальном автомобиле) и добавьте посередине нижнего углубление, построив ряд полигонов, смещенных относительно края (рис. 12.101).

Ручку второй двери моделировать значительно проще. Достаточно скопировать внутреннюю часть уже построенной, уточнить ее положение в пространстве относительно второй двери и затем в окне проекции Front (Спереди) при помощи инструмента Cut (Вычитание) построить по сплайну разрезы в поверхности двери, как это уже делалось для задней двери. После уточнения положения вершин в пространстве выделите внутреннюю часть и удалите. В результате образуется отверстие для ручки. Далее выделите ребра по периметру отверстия и, скопировав их внутрь, придайте объем. Как и раньше, к ребрам, образующим грань, примените Chamfer (Фаска) для их закругления. Расположите внутреннюю часть ручки относительно отверстия и сделайте последние уточнения геометрии, при необходимости подкорректировав положение вершин. Если все выполнено правильно, у вас должна получиться ручка двери, показанная на рис. 12.102.

Рис. 12.101. Дверная ручка, представленная в каркасном виде в окнах проекций Front (Спереди) (сверху) и Perspective (Перспектива) (снизу)

Рис. 12.102. Результат визуализации ручки двери

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

Для построения противотуманной фары нужно предварительно смоделировать посадочное место. Для этого выделите элемент решетки переднего бампера и, спрятав все остальное, разрежьте плоскость так, как показано на рис. 12.103, слева. Затем, выделив внутренние полигоны, примените к ним команду Extrude (Выдавливание) с величиной –100 (рис. 12.103, справа).

После этого выделите наружные грани и сделайте фаску для придания им закругления.

Постройте фару, используя примитив Sphere (Сфера) со значением параметра Radius (Радиус), равным 40, а количеством сегментов – 19. Преобразуйте сферу в Editable Poly (Редактируемая полигональная поверхность). На уровне полигонов выделите до середины левую сторону сферы и, используя инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), сожмите ее по оси O примерно в четыре раза. Затем снимите выделение с внешнего ряда полигонов (в окне проекции Front (Спереди) или To p (Сверху), удерживая нажатой клавишу Alt, обведите те полигоны, с которых нужно снять выделение) так, чтобы остались только те, которые в дальнейшем будут образовывать стекло. Примените к выделенным полигонам команду Bevel (Выдавливание со скосом) размером –1,5 и высотой –1 и выделите построенный скос в отдельный объект, используя команду Detach (Отделить). Увеличив количество разбиений полигонов для обводки вокруг стекла, получим окончательную форму противотуманной фары (рис. 12.104).

Рис. 12.103. Место для противотуманной фары до выдавливания полигонов (слева) и после (справа)

Рис. 12.104. Внешний вид противотуманной фары в окне проекции Perspective (Перспектива)

Перейдем к моделированию передних фар. Чтобы не повторять сделанную работу, скопируйте противотуманную фару и масштабируйте ее в окне проекции Left (Слева). Блок-фара имеет три самостоятельных рефлектора со стеклами-рассеивателями, значит, копий должно быть три. Расположены они уступами, повторяя форму изгиба стекла, закрывающего блок-фару. Блок-фаре необходимо сделать корпус. Смоделируйте самую примитивную форму, напоминающую корпус фары (рис. 12.105), и на этом можно закончить.

Вдоль боковых сторон автомобиля расположены декоративные элементы – молдинги. Для их построения нужно создать дополнительные ребра. Сделайте разрез через две двери с заходом на переднее крыло. После этого выделите полигоны, составляющие молдинг, и разделите выделение на отдельные элементы (два на дверях и один на крыле). Далее выполните операции по созданию фасок. Аналогичным образом сделайте сигнал поворота, расположенный на переднем крыле (рис. 12.106).

Рис. 12.105. Внешний вид блок-фары в окне проекции Perspective (Перспектива)

Рис. 12.106. Результат визуализации фрагмента автомобиля с элементами боковой отделки

Элементы ограждения на крыше автомобиля можно не моделировать, но, если вы хотите это сделать, самым простым способом будет построение этих элементов при помощи примитива Box (Параллелепипед). Параллелепипед должен иметь 10 сегментов по длине, чтобы можно было сделать закругления на краях и небольшой изгиб по длине. Параллелепипед необходимо конвертировать в Editable Poly (Редактируемая полигональная поверхность) и дальнейшее построение вести на уровне подобъектов. Методом выдавливания полигонов строятся опоры. Там, где необходимо, строится фаска для придания формы (рис. 12.107).

Рис. 12.107. Элемент ограждения на крыше автомобиля

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

После создания всех необходимых элементов автомобиля нужно собрать их воедино. Для построения цельного кузова автомобиля примените к построенной половине модификатор Symmetry (Симметрия) или сделайте копию при помощи Mirror (Зеркальное отображение). Таким же образом скопируйте все симметричные элементы автомобиля, сделанные как отдельные объекты моделирования.

После добавления к автомобилю колес, текстурирования и добавления фона модели вы можете получить изображение, похожее на рис. 12.108.

Рис. 12.108. Результат окончательной визуализации автомобиля стандартными средствами с использованием фотографии заднего плана

ПРИМЕЧАНИЕ

Если у вас возникли вопросы по созданию модели автомобиля, обратитесь к файлу упражнения car.max, расположенному в папке Examples\Глава 12\Car прилагаемого к книге DVD, и проанализируйте готовую модель или ее отдельные элементы.

Глава 13

• Основы текстурирования автомобиля

• Текстурирование деталей автомобиля

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

Текстурирование – не менее сложная и увлекательная задача, чем моделирование. В данной главе я хочу высказать свою точку зрения на текстурирование модели, в частности такой сложной, как автомобиль.

Глава разделена на два упражнения. В первом рассматриваются общие вопросы и текстурирование кузова. Второе описывает текстурирование отдельных элементов.

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

Основы текстурирования автомобиля

Прежде чем начинать текстурировать, необходимо определиться, для каких целей нужна модель. Если для игр или Интернета, то лучше всего подойдет низкополигональная модель с качественными текстурами, скрывающими недочеты подобного моделирования (кроме того, модели для визуализации в реальном времени (Real Time[3]) чаще всего имеют одну текстуру на весь объект). Если размер (я имею в виду количество полигонов) и время визуализации не принципиальны, то больше внимания стоит уделить качеству модели, материалам и текстурам.

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

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

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

Возьмем две фотографии автомобилей. На рис. 13.1 (смотрите также цветное изображение CH13_01.jpg на прилагаемом к книге DVD в папке Images\Глава 13) представлена фотография автомобиля с «жесткими» отражениями, что, с одной стороны, привносит некоторый хаос, а с другой – позволяет лучше ощутить пространство.

Рис. 13.1. Фотография автомобиля с «жесткими» отражениями

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

На второй фотографии (рис. 13.2) у автомобиля более «мягкое» распределение цвета по поверхности.

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

Рис. 13.2. Фотография автомобиля с «мягким» распределением отражений

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

Рис. 13.3. Модель автомобиля без текстур

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

Прежде чем заняться материалом для кузова автомобиля, присвойте какую-нибудь текстуру плоскости, на которой он стоит. Это может быть земля, асфальт или дорожная плитка, как в моем случае.

ПРИМЕЧАНИЕ

Создание плоскости, на которой стоит автомобиль, имеет важное значение для текстурирования. Это связано с тем, что полированная поверхность автомобиля должна отражать окружающие предметы. Часть окружения можно создать при помощи текстурных карт, но поверхность, на которой стоит автомобиль, лучше делать при помощи редактирования на уровне подобъектов, так как, кроме участия в отражениях, она принимает тени от объектов, создавая глубину пространства.

Напомню, как присваиваются текстуры объектам.

1. Откройте окно Material Editor (Редактор материалов), щелкнув на кнопке

находящейся на панели инструментов, либо выполнив команду Rendering > Material Editor (Визуализация > Редактор материалов), либо нажав клавишу M.

2. В окне Material Editor (Редактор материалов) щелкните на любой незадействованной ячейке с образцом материала.

3. В свитке Maps (Карты текстур) нажмите кнопку None (Отсутствует) рядом с картой Diffuse Color (Цвет рассеивания).

4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Bitmap (Растровое изображение). В результате откроется окно диалога Select Bitmap Image File (Выбор растрового изображения).

5. Выберите текстурную карту с изображением плитки.

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

Теперь создайте простой материал. Для этого откройте окно Material Editor (Редактор материалов) и щелкните на любой незадействованной ячейке с образцом материала. В качестве тонированной раскраски стандартного материала выберите в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения) строку Multi-Layer (Многослойная раскраска).

ПРИМЕЧАНИЕ

Можно воспользоваться и другой тонированной раскраской, например Phong (По Фонгу), но в таком случае придется в качестве цвета рассеивания использовать карту Falloff (Спад), а у Multi-Layer (Многослойная раскраска) данная возможность заложена в базовых параметрах. Именно эта тонированная раскраска лучше всего позволяет управлять двумя независимыми подсветками и создавать вид окрашенной поверхности, покрытой воском или лаком.

В свитке Multi-Layer Basic Parameters (Основные параметры многослойной раскраски) задайте значения параметров раскраски, показанные на рис. 13.5.

Рис. 13.4. Кузов автомобиля, подготовленный для текстурирования

Рис. 13.5. Свиток Multi-Layer Basic Parameters (Основные параметры затенения) со значениями параметров раскраски

Задайте для параметров цвета свитка Multi-Layer Basic Parameters (Основные параметры затенения) следующие значения:

¦ Ambient (Цвет подсветки): Red (Красный) – 17, Green (Зеленый) – 36, Blue (Синий) – 54;

¦ Diffuse (Цвет рассеивания): Red (Красный) – 3, Green (Зеленый) – 59, Blue (Синий) – 129;

¦ Color (Цвет) в области First Specular Level (Первый слой отражения): Red (Красный) – 200, Green (Зеленый) – 191, Blue (Синий) – 237;

¦ Color (Цвет) в области Second Specular Level (Второй слой отражения): Red (Красный) – 82, Green (Зеленый) – 116, Blue (Синий) – 227.

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

Цвет диффузного рассеивания Diffuse (Цвет рассеивания) – основной цвет, определяющий цвет материала. От него зависит то, какого цвета будет кузов вашего автомобиля. Подбирается из возможных цветов заводской раскраски. Цвет окружающей среды Ambient (Цвет подсветки) – это обычно цвет, совпадающий с цветом диффузного рассеивания, но я предпочитаю использовать более темные тона (чаще всего черный). Параметры этого цвета не критичны.

Параметр Color (Цвет) в области First Specular Leyer (Первый слой отражения) определяет глянец поверхности автомобиля. Он создает впечатление окрашенной поверхности, находящейся под слоем лака. По тону он должен быть близким к цвету, но значительно ярче его.

Параметр Color (Цвет) в области Second Specular Layer (Второй слой отражения) задает цвет в местах бликов. Он должен содержать в себе цвет диффузного рассеивания, но стремиться к белому.

Остальные параметры – Level (Уровень), Glossiness (Глянец), Anisotropy (Анизотропия) и Orientation (Ориентация) – могут различаться в зависимости от геометрии и источников света. В основном они контролируют положение и размер бликов на поверхности объекта. Счетчик Diffuse Level (Уровень рассеивания), который расположен под параметром цвета диффузного рассеивания, позволяет дополнительно контролировать уровень яркости основного цвета.

Кроме того, вы можете применить в качестве карты Reflection (Отражение) карту Falloff (Спад) (рис. 13.6), использующую в качестве подматериала карту Raytrane (Трассировка).

Рис. 13.6. Фрагмент свитка Maps (Карты текстур) с картой Falloff (Спад) в качестве карты Reflection (Отражение)

Материал усложняется картой Falloff (Спад) в качестве карты Reflection (Отражение), но с ее помощью можно получить контроль над интенсивностью отражений на поверхности. Настройки этой карты представлены на рис. 13.7.

Цвета Front : Side (Перед : сторона) – градации серого, такие же, как и на рис. 13.7. График Mix Curve (Кривая смешивания) определяет степень участия обеих карт в отражении по мере удаления от середины объекта к его сторонам.

Настройки карты Raytrane (Трассировка), являющейся составной частью карты Falloff (Спад), представлены на рис. 13.8. Они не имеют почти никаких изменений относительно установок по умолчанию, кроме цвета окружающей среды в области Background (Фон), который я сделал светло-голубым.

После создания и настройки материала можно применить его к элементам кузова автомобиля. Для этого щелкните в окне Material Editor (Редактор материалов) на ячейке образца материала кузова и перетащите его в окно проекции на объект, который надо текстурировать. Затем можно провести тестовую визуализацию. Для этого выполните команду Rendering > Render (Визуализация > Визуализировать). В появившемся окне Render Scene (Визуализация сцены) выберите окно проекции и щелкните на кнопке Render (Визуализировать). В результате получится визуализированное изображение кузова автомобиля с материалом (рис. 13.9).

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

Рис. 13.7. Свиток Falloff Parameters (Параметры спада) настроек карты Falloff (Спад)

Рис. 13.8. Свиток Raytracer Parameters (Параметры трассировки) настроек карты Raytrace (Трассировка)

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

В настройках визуализатора или карты Raytrace (Трассировка) можно использовать текстурную карту в качестве карты Environment (Окружающая среда). Это, пожалуй, самый простой способ, но не лучший. Такое качество отражений удовлетворяет требованиям скорее второстепенных деталей, чем основных (рис. 13.10).

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

Рис. 13.9. Визуализированное изображение с примененным материалом для кузова

Рис. 13.10. Отражения, полученные при помощи карты окружения

Можно построить полусферу, накрывающую автомобиль на значительном расстоянии (чтобы внутрь поместилась не только машина, но и камеры с источниками света). Затем к внутренней стороне этой полусферы применить текстуру с панорамным изображением того, что должно отражаться в автомобиле (рис. 13.12). Кстати, после того как будет построена такая полусфера, не забудьте повернуть ее нормали внутрь. Такой метод получения отражений, пожалуй, проще, но требует дополнительной работы с панорамной текстурой и ее местоположением на сфере.

Рис. 13.11. Отражения на капоте, полученные от объектов сцены

Рис. 13.12. Взаимное расположение объектов сцены при построении отражений от поверхности полусферы

Последний способ – организовать в сцене присутствие дополнительных плоскостей с текстурами, которые будут отражаться в кузове автомобиля. Он допускает относительную свободу в распределении отражений по поверхности кузова автомобиля и их контроль.

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

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

1. В любом окне проекции выделите лобовое стекло (должно быть отдельным объектом или как минимум самостоятельным элементом с уникальным значением параметра ID (Идентификатор материала)).

2. Добавьте модификатор Unwrap UVW (Расправить UVW-проекцию), выполнив команду Modifiers > UV Coordinates > Unwrap UVW (Модификаторы > UV-координаты > Расправить UVW-проекцию).

3. Щелкните на кнопке Edit (Редактирование), в результате чего откроется окно редактирования текстурных координат.

4. В меню окна редактирования текстурных координат выполните команду Mapping > Flatten Mapping (Проекционные координаты > Плоские проекционные координаты) и, не меняя настроек в появившемся окне, нажмите OK.

В результате этих операций в окне редактирования должна появиться развертка лобового стекла, показанная на рис. 13.13.

Полученную развертку необходимо скопировать в любую программу для работы с растровыми изображениями, где вы сможете сделать карту маски (например, Adobe Photoshop).

СОВЕТ

Если вы не пользуетесь программами захвата изображения с экрана, то копирование можно провести через буфер обмена, нажав клавишу Print Screen (расположена справа от ряда функциональных клавиш) и затем вставив экранную копию в файл при помощи сочетания клавиш Ctrl+V (стандартная операция вставки из буфера обмена).

Используйте скопированное изображение в качестве слоя фона в приложении растровой графики и сделайте маску для лобового стекла. Если помните, по периметру стекла идет темная, почти черная, тонировка – именно ее необходимо сделать, выполнив отступы на небольшое расстояние от краев контура стекла (рис. 13.14).

Сохраните полученное изображение в цветовом режиме Grayscale в любом доступном формате.

В качестве материала для лобового стекла я использую Blend (Смешиваемый), где первый материал – тонированная окантовка стекла, второй – стекло, а маска (созданный в программе Adobe Photoshop файл GlassFront.jpg) управляет долей каждого материала в результирующем (рис. 13.15).

Рис. 13.13. Развертка проекционных координат лобового стекла автомобиля

Рис. 13.14. Текстурная маска для материала лобового стекла

Рассмотрим материал стекла подробнее. Параметр Material 1 (Материал 1) – окантовка лобового стекла. Здесь используется материал Standard (Стандартный) с прозрачностью, равной 80, и цветом, соответствующим тому, который вы хотите видеть на краях стекла. У меня это серо-коричневый цвет для Diffuse (Цвет рассеивания) и для Ambient (Цвет подсветки) с настройками Red (Красный) – 107, Green (Зеленый) – 103, Blue (Синий) – 99. В качестве карты Reflection (Отражение) я использовал карту Falloff (Спад), настройки которой идентичны установкам такой же карты, использованной при создании материала кузова, с той разницей, что величина параметра Reflection (Отражение) в данном случае составляет 45 (рис. 13.16).

Рис. 13.15. Настройки материала Blend (Смешиваемый) для лобового стекла

Рис. 13.16. Настройки первого материала стекла

Параметр Material 2 (Материал 2) – средняя часть лобового стекла (его заполнение). Материал сделан по тому же принципу, что и окантовка, с той разницей, что я использовал немного другой цвет и величина прозрачности здесь составляет уже 35, а отражений – 80. Для Diffuse (Цвет рассеивания) и Ambient (Цвет подсветки) заданы следующие значения: Red (Красный) – 83, Green (Зеленый) – 72, Blue (Синий) – 49. Кроме того, я применяю двусторонний материал, а в качестве тонированной раскраски стандартного материала – Phong (По Фонгу), и хотя большой разницы нет, раскраска по Фонгу позволяет получить более мягкое сглаживание.

Если вы внимательно посмотрите на свиток Maps (Карты текстур), то заметите, что отсутствует карта преломления в строке Refraction (Преломления). Хотя стекло и является материалом, преломляющим свет, проходящий через него, но из-за его незначительной толщины и с учетом расстояния, с которого автомобиль будет визуализироваться, я не считаю нужным использовать в данном случае преломления. Эффект от их применения почти незаметен, а процессор получает ощутимую дополнительную нагрузку. При желании вы можете поэкспериментировать, используя карту Raytrace (Трассировка) или Reflect/Refract (Отражение/ преломление). На рис. 13.17 показаны использованные мною настройки второго материала для лобового стекла автомобиля.

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

Рис. 13.17. Настройки второго материала стекла

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

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

1. В любом окне проекции выделите все плоскости, построенные для генерации отражений.

2. Щелкните правой кнопкой мыши на выделении, в результате чего откроется контекстное меню.

Рис. 13.18. Расположение плоскостей с текстурами отражения в окнах проекций программы 3ds Max

3. Выберите пункт Object Properties (Свойства объекта).

4. В области Rendering Control (Управление визуализацией) появившегося окна Object Properties (Свойства объекта) задайте параметрам объекта значения, показанные на рис. 13.19.

Теперь можно провести тестовую визуализацию. Если использовались темные фотографии, то вам, возможно, понадобится скорректировать положение текстур и изменить значение параметра Self-Illumination (Собственное свечение). Иногда приходится менять положение плоскости, имитирующей небо, чтобы найти оптимальные отражения.

После добавления плоскостей я поместил в сцену один источник света, который создает блики на бампере и передней части капота, а также дополнил автомобиль некоторыми деталями и провел тестовую визуализацию. На рис. 13.20 показано получившееся у меня изображение.

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

Рис. 13.19. Настройка плоскостей отражения в области Rendering Control (Управление визуализацией)

Рис. 13.20. Визуализация кузова и стекол автомобиля с отражениями

ПРИМЕЧАНИЕ

На прилагаемом DVD в папке Examples\Глава 13 находится файл Car_materials.mat, содержащий материалы кузова и стекла.

Текстурирование деталей автомобиля

В предыдущем разделе мы рассмотрели создание основных материалов для текстурирования модели автомобиля. Сейчас займемся созданием материалов для более мелких, но не менее важных деталей. Начнем с хромированных деталей кузова.

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

Для создания хрома откройте окно Material Editor (Редактор материалов) и щелкните на любой незадействованной ячейке с образцом материала. В качестве тонированной раскраски стандартного материала выберите в раскрывающемся списке свитка Shader Basic Parameters (Основные параметры затенения) строку Strauss (По Штраусу) и задайте значения, показанные на рис. 13.21.

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

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

Отражения генерируются картой Raytrace (Трассировка) с настройками по умолчанию. Имеет значение только величина параметра Reflection (Отражение). У меня это значение равно 60, у вас оно может быть другим (зависит от источников света и текстур, использованных для генерации отражений).

После применения материала к хромированным объектам автомобиля можно сделать тестовую визуализацию фрагмента кузова с решеткой радиатора (рис. 13.22).

Рис. 13.21. Настройки материала хрома

Рис. 13.22. Визуализация хромированной решетки радиатора

Теперь поговорим о картах выдавливания. На капоте и багажнике автомобиля находятся две эмблемы BMW, которые расположены в небольших углублениях кузова. Моделировать такие углубления при помощи геометрии нецелесообразно, а при помощи карты Bump (Рельефность) это можно сделать просто и быстро.

Чтобы создать текстуру с картой выдавливания, выполните следующие действия.

1. Щелкните в окне Material Editor (Редактор материалов) на образце материала кузова и, удерживая нажатой кнопку мыши, перетащите его в свободную ячейку.

2. Присвойте этот материал капоту, перетащив его из Material Editor (Редактор материалов) на капот автомобиля в любом из окон проекций. Если сейчас выполнить визуализацию, ничего не изменится, так как на капоте будет тот же материал, что и раньше.

3. В строке Bump (Рельефность) свитка Maps (Карты текстур) настроек материала капота щелкните на кнопке None (Отсутствует).

4. В открывшемся окне Material/Map Browser (Окно выбора материалов и карт) выберите из списка карту Gradient Ramp (Усовершенствованный градиент).

5. Настройте параметры карты, как показано на рис. 13.23.

6. Установите значение величины выдавливания, равное 6.

Разберемся с настройками этой карты. Значение Radial (Радиальный) в списке Gradient Type (Тип градиента) необходимо, чтобы градиентная карта получилась в виде круга.

Это карта выдавливания, поэтому используются градации серого цвета. Положение ползунков зависит от размера круга и текстурных координат, присвоенных капоту.

Для сглаживания краев применяется размытие. Отключите повторение текстуры, так как у вас только один круг с выдавливанием (снимите флажки Tile (Повторить) в свитке Coordinates (Координаты)).

Что касается текстурных координат, то нужно применить к капоту модификатор UVW Mapping (UVW-проекция), после чего сдвинуть и масштабировать Gizmo (Габаритный контейнер Гизмо) (на уровне подобъектов модификатора) так, чтобы текстура легла на капоте под значком логотипа (рис. 13.24).

Рис. 13.23. Настройки карты Gradient Ramp (Усовершенствованный градиент) для получения круглого выдавливания на капоте автомобиля

Рис. 13.24. Положение текстуры на капоте автомобиля (слева) и его визуализация (справа)

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

Рассмотрим вариант изготовления материала для фар и задних фар.

СОВЕТ

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

Начнем со стекла, закрывающего блок-фару (у вас может быть другая модель автомобиля, без такого стекла) – прозрачного и гладкого по всей поверхности. Исходя из этого создадим простой прозрачный материал с высокой отражающей способностью для получения на поверхности бликов. В качестве тонированной раскраски стандартного материала из раскрывающегося списка свитка Shader Basic Parameters (Основные параметры затенения) выберите строку Anisotropic (Анизотропный). Я использовал анизотропную раскраску благодаря ее возможности управлять положением и формой блика. Настройки материала стекла представлены на рис. 13.25.

В качестве Diffuse (Цвет рассеивания) и окружающей среды Ambient (Цвет подсветки) использован светло-коричневый цвет с настройками Red (Красный) – 101, Green (Зеленый) – 92, Blue (Синий) – 77. На этом можно было закончить настройку материала, но я решил немного улучшить его, добавив в качестве цветового фильтра карту Falloff (Спад). Даже со стандартными настройками эта карта позволяет получить затемнения на краях, что придает стеклу более естественный вид. При помощи карты Raytrace (Трассировка) можно создать на поверхности отражения окружающих предметов. В этой карте настройки также не менялись. На рис. 13.26 показана визуализация фрагмента автомобиля со стеклом фар.

Рис. 13.25. Настройки материала наружного стекла блок-фары

Рис. 13.26. Визуализация стекла фар

Займемся внутренним пространством фары. Начните с указателей поворота. Воспользуйтесь стандартным материалом, для чего щелкните в окне Material Editor (Редактор материалов) на ячейке со свободным образцом. В свитке Maps (Карты текстур) выбранного материала примените две одинаковые карты Gradient Ramp (Усовершенствованный градиент) в качестве карты Diffuse Color (Цвет рассеивания) и в качестве карты Bump (Рельефность). Параметры карты, которую я использовал для этих целей, показаны на рис. 13.27.

Величина выдавливания этой карты в свитке Maps (Карты текстур) в моем случае получилась 190. Параметры для использованных в градиенте цветов: светло-коричневый: R – 220, G – 124, B – 0; темно-коричневый: R – 126, G – 59, B – 0.

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

Рис. 13.27. Параметры настройки улучшенного градиента для карт Diffuse Color (Цвет рассеивания) и Bump (Рельефность)

Рис. 13.28. Фрагмент фары с указателем поворота

Чтобы получить реалистичное изображение фары, нужно иметь рифленое стекло, хромированный корпус и нечто вроде лампочки (вместо нее может быть использован хромированный шар). Материал хрома у вас уже есть, поэтому повторяться не буду. Если вы выполняли упражнение по моделированию автомобиля, то должны помнить, что модель фары состояла из корпуса, стекла и хромированной окантовки. Стекло – это полусфера, у которой в параметрах отключена возможность принимать и отбрасывать тени. Чтобы выставить данные настройки, щелкните правой кнопкой мыши на объекте стекла фары и в появившемся контекстном меню выберите пункт Object Properties (Свойства объекта). В области Rendering Control (Управление визуализацией) открывшегося окна снимите флажки Receive Shadows (Принимать тени) и Cast Shadows (Отбрасывать тени). На рис. 13.29 представлены настройки материала рифленого стекла для автомобильной фары.

Для Diffuse (Цвета рассеивания) и Ambient (Цвет подсветки) использован светлосерый цвет. Коэффициент преломления оставлен заданным по умолчанию, но при желании его можно увеличить до 2. Величина параметра Opacity (Непрозрачность) равна 50. Здесь тоже могут быть варианты, но разница значений должна быть небольшой. Чтобы получить на стекле рифленую поверхность, необходимо использовать в качестве карты Bump (Рельефность) карту Checker (Шахматная текстура). Параметры этой карты представлены на рис. 13.30.

Рис. 13.29. Настройки материала стекла автомобильной фары

Рис. 13.30. Параметры карты рельефности для стекла фары

В свитке Checker Parameters (Параметры шахматной текстуры) цвет Color #1 – черный, а Color #2 – белый.

ПРИМЕЧАНИЕ

Для карты Bump (Рельефность) обычно используется монохромное изображение (хотя может быть применена цветная карта). При этом 100% черный цвет не влияет на величину выдавливания, в то время как белый создает максимальный эффект. Градации серого находятся между максимальным и минимальным выдавливанием, в зависимости от интенсивности цвета. Величина эффекта рельефности при использовании карты Bump (Рельефность) ограничена, в связи с чем при необходимости большего выдавливания применяйте модификатор Displace (Смещение) или моделирование неровностей.

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

Эта же карта (карта рельефности) должна быть использована как составляющая карты Raytrace (Трассировка) для преломлений (рис. 13.31).

При текстурировании фары я пытался приблизиться к внешнему виду фар автомобиля BMW. Вам, возможно, понадобится делать другие форму и текстуры, если вы работаете с другой моделью или автомобилем иной марки.

СОВЕТ

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

На рис. 13.32 показана визуализация фар после применения к ним материала стекла и хрома.

Рис. 13.31. Параметры трассировки для карты Refraction (Преломление)

Рис. 13.32. Результат визуализации фар

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

На рис. 13.33 представлен результат визуализации фрагмента передней части текстурируемого автомобиля.

Теперь займемся задними фарами. Из-за того, что форма рельефа этих фар значительно сложнее, чем передних, придется рисовать текстуру выдавливания. Но прежде нужно присвоить элементам текстурные координаты. Обычно я использую модификатор Unwrap UVW (Расправить UVW-проекцию). О том, как это делается, говорилось в предыдущем упражнении на примере лобового стекла, поэтому я лишь напомню последовательность работы.

1. Выделите заднюю фару (достаточно одной, затем можно будет сделать зеркальную копию относительно оси автомобиля).

2. Примените к выделению модификатор Unwrap UVW (Расправить UVW-проекцию).

3. Выполните развертку текстурных координат.

4. Сделайте снимок окна с разверткой при помощи клавиши Print Screen или любой программой захвата изображения экрана.

5. Вставьте изображение в нижний слой приложения редактирования растровой графики (например, Adobe Photoshop) и создайте карту выдавливания.

6. Сохраните монохромное изображение в формате, доступном программе 3ds Max, например PNG (рис. 13.34).

Рис. 13.33. Визуализация блок-фары вместе с передней частью автомобиля

Рис. 13.34. Карта выдавливания для задней фары автомобиля

Форма и рисунок карты рельефа должны соответствовать задней фаре настоящего автомобиля.

Кроме карты рельефа, для материала стекла задней фары вам понадобятся две маски. Они необходимы, чтобы разделить цвета, присутствующие в фаре. Одну маску сделайте при помощи карты Gradient Ramp (Усовершенствованный градиент), а вторую выполните в виде черно-белого изображения в программе Adobe Photoshop. Первая будет разделять цвета по горизонтали, а вторая выделит белый (рис. 13.35).

Данный материал будет немного сложнее предыдущих, но принцип его создания такой же. Как и в случае с передней фарой, нужно позаботиться, чтобы задняя фара имела корпус с хромированным материалом, а стекло не отбрасывало тени. Обычно внутреннее пространство корпуса фары разделено на части перегородками, и если смоделировать их, то можно улучшить вид будущей модели. Если вы не планируете визуализацию крупных планов, то моделировать внутреннее пространство не обязательно. На рис. 13.36 представлено изображение фрагмента окна Material Editor (Редактор материалов) с материалом стекла задней фары.

Рис. 13.35. Маска для разделения цвета, созданная в программе Adobe Photoshop

Рис. 13.36. Параметры материала стекла задней фары

Рассмотрим подробнее, из чего состоит этот материал, и его основные настройки.

¦ Значение параметра Index of Refraction (Коэффициент преломления) равно 2,5. Обычно для стекла это много, но с таким коэффициентом оно смотрится лучше.

¦ Параметр Filter (Цвет фильтра) свитка Extended Parameters (Дополнительные параметры) имеет карту Filter Color (Цвет фильтра) и определяет цвет всего объекта. Цвет фары состоит из двух основных: красного и оранжевого, поэтому для их взаимного расположения на объекте использована карта Mix (Смешивание).

¦ Карта Bump (Рельефность) создает на поверхности рельеф. Это монохромное изображение, созданное вами в программе Adobe Photoshop.

¦ Карта Refraction (Преломление) делает стекло прозрачным.

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

Эта карта разделяет геометрию на две части при помощи Gradient Ramp (Усовершенствованный градиент) (рис. 13.38). В верхней части – оранжевый цвет (параметр Color #1) с настройками Red (Красный) – 244, Green (Зеленый) – 147, Blue (Синий) – 42. Нижняя часть задней фары темно-красного цвета. В ней присутствует белый параллелепипед, поэтому придется еще раз воспользоваться картой Mix (Смешивание). В данном случае образец цвета Color #2 не имеет значения, так как он определяется второй картой смешивания.

Рис. 13.37. Параметры первой карты смешивания

Рис. 13.38. Параметры карты Gradient Ramp (Усовершенствованный градиент)


Карта Gradient Ramp (Усовершенствованный градиент) содержит два цвета: черный и белый, которые задают область смешивания. Положение ползунков подбирается опытным путем так, чтобы линия соединения цветов оказалась в нужном месте. Кроме того, необходимо повернуть отображение карты на 90° по оси W.

В карте Mix (Смешивание) должны быть определены два цвета. Маска регулирует, как они будут между собой взаимодействовать (рис. 13.39).

Если помните, это составной цвет нижней части задней фары. Здесь Color #1 (Цвет 1) имеет параметры Red (Красный) – 185, Green (Зеленый) – 24, Blue (Синий) – 0. Второй цвет (Color #2 (Цвет 2)) – белый.

Карта Refraction (Преломление) почти не требует настроек. Вам только необходимо использовать в области Background (Фон) в качестве карты окружающей среды карту, подготовленную для выдавливания (рис. 13.40).

Рис. 13.39. Параметры карты смешивания для второго цвета стекла

Рис. 13.40. Настройки карты преломления

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

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

Рис. 13.41. Иерархия материала стекла задней фары

Рис. 13.42. Результат визуализации задней фары в составе кузова автомобиля

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

Начнем с резины. На рис. 13.43 представлены настройки материала.

Тонкость создания хорошего материала шины заключается в карте Falloff (Спад) для Diffuse Color (Цвет рассеивания). Не менее важно использовать карту Bump (Рельефность) для протектора (если вы не сделали его путем редактирования на уровне подобъектов) или для надписей на боковой стороне шины, но только карта Falloff (Спад) делает реалистичным материал резины. При помощи этой карты (рис. 13.44) можно получить на краях покрышки дымку, которая существует на реальных колесах.

Первый цвет определяет основной цвет шины. У меня это темно-серый цвет с параметрами Red (Красный) – 72, Green (Зеленый) – 72, Blue (Синий) – 72. Второй цвет – цвет дымки. Его параметры: Red (Красный) – 173, Green (Зеленый) – 180, Blue (Синий) – 182. Возможно, вам понадобится немного другой оттенок (все зависит от освещения), но принцип текстурирования от этого не меняется.

Рис. 13.43. Настройки материала шины

Рис. 13.44. Параметры карты Falloff (Спад) для шины

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

На рис. 13.46 представлен результат визуализации шины с примененным к ней материалом.

Рис. 13.45. Карта рельефа для шины

Рис. 13.46. Результат визуализации шины

Материал диска – хром, который вы создавали в начале раздела.

Если колесо не будет видно вблизи, я использую текстурную карту в качестве отражений. Это экономит время визуализации, так как для просчетов карты Raytrace (Трассировка) требуются дополнительные компьютерные ресурсы.

Иногда для дисков приходится применять логотипы и карты Bump (Рельефность). Я пользуюсь для этих целей материалом Blend (Смешиваемый). Этот материал по своим настройкам похож на рассмотренную выше карту Mix (Смешивание). В качестве примера я представляю вашему вниманию настройки этого материала (рис. 13.47) для логотипа, выполненного на диске колеса.

Вторым материалом в данном случае является стандартный материал черного цвета, хотя может быть применена любая другая карта текстуры или материал. Mask (Маска) – это черно-белое растровое изображение логотипа (рис. 13.48). Именно она определяет взаимное смешивание двух материалов.

Рис. 13.47. Параметры материала Blend (Смешиваемый)

Рис. 13.48. Маска для смешивания двух материалов

На рис. 13.49 представлен фрагмент модели колеса с примененным материалом Blend (Смешиваемый).

Рис. 13.49. Фрагмент визуализации диска

ПРИМЕЧАНИЕ

На прилагаемом к книге DVD в папке Examples\Глава 13 находится файл Car_details.mat с материалами деталей автомобиля и Wheel.mat с материалом шины и диска.

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

Глава 14

• Моделирование головы при помощи модуля Surfacetools

• Моделирование головы при помощи полигонов

• Моделирование ресниц

• Использование UV-проецирования для полигональной модели головы

• Текстурирование головы человека

• Создание волос

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

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

Моделирование головы при помощи модуля Surfacetools

Разработанный Питером Ватье (Peter Watje) для компании Digimation модуль Surfacetools стал незаменимым средством для моделирования объектов органического происхождения. При работе с ним вы размещаете сплайны в соответствии с контурами модели, после чего применяете один из двух инструментов Surfacetools – модификатор поверхности Surface (Поверхность) – и превращаете сплайны в готовую модель. Как только вы начнете работать с этим модулем, вы поймете, насколько просто можно создавать сложные модели.

Прежде чем перейти к моделированию головы, вам необходимо обладать двумя фотографиями головы: в фас и профиль.

ПРИМЕЧАНИЕ

При желании вы можете воспользоваться фотографиями Front.jpg и Side.jpg, подготовленными для работы с данной главой, которые находятся в папке Examples\Глава 14 прилагаемого к книге DVD.

На рис. 14.1 представлены фотографии, с которыми буду работать я.

Рис. 14.1. Фотографии головы в фас (слева) и профиль (справа), подготовленные для моделирования

Обратите внимание, что оба вида должны иметь одинаковый размер и пропорции (не забывайте о том, что мы моделируем в трехмерном пространстве). Кроме того, размер изображений должен быть достаточно большой, чтобы были хорошо видны детали (я использовал 1000 x 1100 пикселов). Только после того, как будут выполнены все приготовления в программе редактирования растровых изображений, можно переходить к работе в 3ds Max.

Практически любое моделирование такого рода начинается с создания виртуальной студии. Для данного случая подойдет самое примитивное пересечение двух плоскостей (рис. 14.2).

Рис. 14.2. Виртуальная студия

Моделирование головы при помощи сплайнов можно вести несколькими способами. Они похожи друг на друга и отличаются только последовательностью моделирования и расположением кривых на поверхности объекта. Я постараюсь как можно доступнее описать весь процесс моделирования так, как выполняю его сам. Подход к моделированию достаточно прост: сначала создадим все необходимые сплайны в окне проекции Front (Спереди), а затем скорректируем их положение в окнах проекций Left (Слева) и To p (Сверху), после чего применим модификатор создания поверхности Surface (Поверхность).

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

Прежде всего выполните следующие действия.

1. Для активизации инструмента построения сплайна выполните команду Create > Shapes > Line (Создание > Формы > Линия).

2. Установите в свитке Creation Method (Метод создания) настроек объекта Line (Линия) переключатели Initial Type (Начальный тип) и Drag Type (Вершина при перетаскивании) в положения Smooth (Сглаживание) для построения сглаженных вершин в процессе создания сплайна (рис. 14.3).

3. Чтобы видеть вершины сплайна не только при построении, в свитке Display Properties (Свойства отображения) вкладки Display (Отображение)

командной панели установите флажок Vertex Ticks (Метки вершин) (рис. 14.4).

Рис. 14.3. Настройки для создания сплайна

Рис. 14.4. Настройки отображения вершин в свитке Display Properties (Свойства отображения)


ПРИМЕЧАНИЕ

Задать отображение вершин сплайна можно также в свитке Display Properties (Свойства отображения) окна Object Properties (Свойства объекта) для объекта Line (Линия).

Начнем с построения контура глаза (хотя можно начинать создание модели с любой ее части). Для этого при активном инструменте построения линии щелкните в окне проекции Front (Спереди) на левой части глаза и постройте восемь точек по периметру разреза глаза (рис. 14.5).

СОВЕТ

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

Далее нужно построить новые сплайны вокруг уже существующего, но прежде необходимо сделать так, чтобы новый сплайн принадлежал той форме, которая была уже создана. Для этого надо снять флажок Start New Shape (Начать новую форму) в свитке Object Type (Тип объекта) (рис. 14.6).

Рис. 14.5. Начало построения сплайнов в окне проекции Front (Спереди)

Рис. 14.6. Свиток Object Type (Тип объекта)

Можно построить еще один сплайн вокруг существующего. Для этого в окне проекции Front (Спереди), удерживая нажатой клавишу Shift, воспользуйтесь командой Scale (Масштабирование) контекстного меню и увеличьте копию сплайна. После этого на уровне редактирования вершин немного скорректируйте положение вновь созданных вершин. Новый сплайн можно также построить обычным способом (рис. 14.7).

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

После того как вы построите два сплайна по форме разреза глаза, создайте еще один вокруг глаза, но уже от середины переносицы, далее по линии брови до окончания глазной впадины и обратно (рис. 14.8).

Рис. 14.7. Второй сплайн, построенный методом копирования

Рис. 14.8. Третий сплайн, построенный вокруг глаза

Для выполнения дальнейших операций построения сплайнов необходимо настроить привязки к вершинам. Для этого щелкните правой кнопкой мыши на кнопке Snaps Toggle (Переключение привязок)

в результате чего откроется окно Grid and Snap Settings (Настройки сетки и привязок). Установите в нем флажки, как показано на рис. 14.9.

После этого можно соединить построенные вершины поперечными сплайнами (рис. 14.10). Для этого в области New Vertex Type (Тип новых вершин) свитка Geometry (Геометрия) настроек сплайна установите переключатель в положение Smooth (Сглаживание), а затем щелкните на кнопке Create Line (Создать линию), после чего начните построение сплайнов.

Рис. 14.9. Окно Grid and Snap Settings (Настройки сетки и привязок) с настройками привязок

Рис. 14.10. Созданные поперечные сплайны

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

Продолжите построение сплайнов и соедините вершины двух вновь построенных с вершинами созданных ранее (рис. 14.12).

Рис. 14.11. Добавлены два новых сплайна

Рис. 14.12. Построены поперечные сплайны

Напомню, что пока все построения ведутся только в окне проекции Front (Спереди).

Создайте еще два сплайна в районе лобной кости. Количество вершин можно сократить до трех в верхнем и до четырех в нижнем сплайнах (рис. 14.13), так как в этом месте геометрия не имеет ярко выраженных изменений.

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

Далее создайте сплайн по конту