Эффективная работа с 3ds max 7.5

         

Применение нескольких модификаторов проекций к одному объекту


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

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

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

Рассмотрим, как это делается, на примере нашего куба.

1. Преобразуйте объект, к которому требуется применить несколько модификаторов проекций (в данном случае примитив-куб), к типу Editable Mesh (Редактируемая сетка), после чего примените к нему модификатор Mesh Select (Выделение сетки). Этот модификатор позволяет выделить те или иные Подобъекты сетки, к которой он применен, и передать только эти выделенные Подобъекты на вход следующего модификатора, который будет помещен в стек объекта.




2.   Щелкните на кнопке Polygon (Полигон) в свитке Mesh Select Parameters (Параметры выделения сетки), чтобы перейти на уровень выделения подобъектов-полигонов. Включите в активном окне проекции режим каркасного отображения и выделите верхнюю сторону куба. Не отменяя выделения, перейдите на командную панель Modify (Изменить) и выберите в списке модификаторов модификатор UVW Map (UVW-проекция). Модификатор будет применен только к выделенным полигонам сетки. На верхней стороне параллелепипеда появится изображение значка модификатора используемой по умолчанию плоской проекции. Так как используемая по умолчанию ось проекции (ось Z) совпадает с направлением проецирования, значок автоматически подгоняется под размер выделенных полигонов, как показано на рис. 14.49.

 


Рис. 14.49. К выделенным полигонам верхней стороны куба применен модификатор плоской проекции

3.   Поместите в стек объекта следующий модификатор Mesh Select (Выделение сетки) и выделите на уровне подобъекта Polygon (Полигон) правую переднюю сторону куба. Не отменяя выделения, поместите в стек объекта очередной модификатор UVW Map (UVW-проекция). На этот раз используемая по умолчанию ось проецирования не совпадает с направлением проекции. Установите переключатель раздела Alignement (Выравнивание) свитка параметров модификатора проекций в положение Y и щелкните на кнопке Fit (Подогнать). На правой передней стороне куба также появится значок модификатора плоской проекции, точно подогнанный под размер выделенных полигонов.

4.   Проделайте аналогичные действия с левой передней стороной куба, выделив ее с использованием модификатора Mesh Select (Выделение сетки) и применив к ней модификатор плоской проекции, который также потребуется подогнать под нужный размер. На рис. 14.50 показано, как выглядит стек модификаторов нашего объекта, а на рис. 14.51 — вид самого объекта на данный момент. Пока никаких очевидных улучшений картины не видно. Однако теперь все готово для редактирования рисунка текстуры материала.



 


Рис. 14.50. В стек куба помещены три пары одинаковых модификаторов Mesh Select и UVW Mapping

 


Рис. 14.51. К объекту применены три независимых модификатора плоской проекции, но для улучшения картины требуется отредактировать значки модификаторов

ЗАМЕЧАНИЕ



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

5.   Включите в активном окне проекции режим тонированного отображения. Выделите в окне стека модификаторов строку первого снизу модификатора UVW Mapping (UVW-проекция). В появившемся окне предупреждения о том, что выбранный модификатор зависит от топологии сетки и изменение его параметров может иметь непредсказуемые последствия, щелкните на кнопке Yes (Да) в ответ на запрос, хотите ли вы продолжить. Затем щелкните на квадратике со знаком «плюс» слева от имени модификатора и выделите в раскрывшемся списке единственный подобъект — Gizmo (Габаритный контейнер). Переместите значок модификатора проекций, который при этом изменит свой цвет с оранжевого на желтый, в плоскости верхней грани куба, чтобы совместить швы между кирпичами на верхней и правой передней сторонах объекта.

6.   Закончив с текстурой верхней стороны, перейдите к левой передней стороне. Ее модификатор проекций находится на самом верху стека модификаторов. Выберите подобъект Gizmo (Габаритный контейнер) и первым делом поверните значок модификатора на 90° вокруг оси X. Затем уменьшите его ширину, используя счетчик Width (Ширина) свитка параметров модификатора. В заключение переместите значок модификатора так, чтобы совпали швы между кирпичами на левой передней и верхней сторонах куба. Возможно, придется еще несколько раз вернуться на уровни правки значков модификаторов проекций верхней и правой передней сторон, пока вы не сумеете тщательно подогнать рисунки текстуры на каждой из сторон, чтобы они не имели разрывов в местах стыка. Теперь куб действительно выглядит так, будто он сложен из реальных кирпичей (рис. 14.52).

 


Рис. 14.52. После тщательной независимой подгонки проекций текстуры на каждую из сторон объекта разрывы в местах стыков полностью устранены


Присоединение объектов к новой сцене


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

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

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

Выберите команду меню File > Merge (Файл > Присоединить). Появится окно диалога Merge File (Присоединение файла), не отличающееся от типового окна открытия файла. В заголовок окна включается имя файла сцены, из которой планируется выбрать присоединяемые объекты. После выбора файла и щелчка на кнопке Open (Открыть) появляется окно Merge (Присоединение). Элементы управления этого окна практически не отличаются от элементов управления окна диалога Select Objects (Выделение объектов), которое мы рассмотрим в главе 4, «Учимся выделять, дублировать и преобразовывать объекты».

Выделите в списке окна объекты, которые требуется присоединить к текущей сцене, и щелкните на кнопке ОК.

Если имена каких-то из присоединяемых объектов совпадают с именами объектов, уже имеющихся в составе сцепы, появится окно диалога Duplicate Name (Совпадающее имя), показанное на рис. 3.30. Для разрешения создавшейся неопределенности вы можете выбрать один из следующих вариантов действий:

изменить имя присоединяемого объекта в текстовом поле окна диалога, после чего щелкнуть на кнопке Merge (Присоединить);

щелкнуть на кнопке Skip (Пропустить), чтобы пропустить присоединение объекта с указанным именем;

щелкнуть на кнопке Delete Old (Удалить старый), чтобы удалить из состава сцены имеющийся объект, имя которого совпадает с именем присоединяемого объекта;




щелкнуть на кнопке AutoRename (Автоматически переименовать), чтобы дать возможность программе переименовать присоединяемый объект автоматически. При этом программа добавит к названию объекта числовой индекс.После этого в текстовом поле окна диалога может появиться следующее дублирующееся имя объекта. Установка флажка Apply to All Duplicates (Применить ко всем дубликатам) распространит действие выбранной вами кнопки на все объекты с дублирующимися именами, которые встретятся программе в ходе продолжения присоединения объектов.



Рис. 3.30. Окно диалога Duplicate Name позволяет выбрать вариант действий при наличии в составе сцены дубликатов присоединяемых объектов

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

внести изменения в имя материала присоединяемого объекта в текстовом поле окна и щелкнуть на кнопке Rename Merged Material (Переименовать присоединяемый материал), которая после этих изменений становится доступной для использования;

щелкнуть на одной из трех кнопок: Use Merged Material (Использовать присоединяемый материал), Use Scene Material (Использовать материал сцены) или Auto-Rename Merged Material (Автоматически переименовать присоединяемый материал), назначение которых очевидно из названий.



Рис. 3.31. Окно диалога Duplicate Material Name служит для выбора варианта действий при наличии в сцене дубликатов присоединяемых материалов

После этого в текстовом поле окна диалога может появиться следующее имя материала, совпадающее с именем материала, имеющегося в сцене. Установка флажка Apply to All Duplicates (Применить ко всем дубликатам) распространит действие выбранной вами кнопки на все дубликаты материалов, которые встретятся программе в ходе продолжения присоединения объектов.


Пробуем создавать оптические эффекты


Вопрос о тонкостях визуализации нельзя считать закрытым, если не поговорить о возможностях mах 7.5 в части имитации различных оптических эффектов, которые раньше считались прерогативой графических редакторов, подобных программе Adobe Photoshop. Речь идет о таких, например, эффектах, как воспроизведение особенностей реальных фотографий с помощью фильтров, учитывающих физические свойства линз объективов и фотопленки, включая блики, ореолы вокруг объектов, конечную глубину резкости и связанную с ней расфокусировку изображения, зернистость и т. п. Использование таких фильтров позволяет несколько «испортить» чересчур идеальные, «прилизанные» изображения трехмерных сцен, что повышает их визуальную достоверность, делает менее искусственными. Ведь не секрет, что сейчас даже ребенок, видя на экране телевизора слишком правильные синтезированные картинки, безошибочно определяет: «А, это компьютерная графика!» В число средств создания оптических эффектов попадают также фильтры, позволяющие изменять яркость, контрастность и цветовой баланс изображений трехмерных сцен.



Пробуем строить объекты на базе сплайновых каркасов


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

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

Итак, сплайновый каркас — это в общем случае трехмерная сетка, построенная из множества кривых-сплайнов и имеющая следующие особенности:

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

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

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

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

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

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

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



Прочие карты текстур


К числу прочих карт текстур (other maps) в max 7.5 отнесены карты, предназначенные для имитации эффектов отражения и преломления световых лучей. Чтобы увидеть полный перечень прочих текстурных карт, необходимо вызвать окно диалога Material/Map Browser (Просмотр материалов и карт текстур) и установить в левом нижнем углу окна переключатель Other (Прочие карты). К данному типу относятся такие карты текстур, как:

Camera Map Per Pixel (Карта камеры на пиксель) — позволяет спроецировать изображение сцены, визуализированное через объектив какой-то камеры и дополнительно отредактированное в обычном двумерном графическом редакторе, на выбранные объекты трехмерной сцены. Для выбора таких объектов необходимо поместить карту Camera Map Per Pixel (Карта камеры на пиксель) в раздел цвета диффузного рассеивания материалов этих объектов. Что дает такой прием? Например, это позволяет сделать так, что вся сцена, кроме выбранного объекта, будет не в фокусе, и только выбранный нами объект будет выглядеть резко. Для этого следует сохранить изображение сцены, визуализированное в окне камеры, дважды. Один раз — в обычном графическом формате, например TIFF. Второй раз — в формате, содержащем альфа-канал прозрачности, например RLA. Это изображение будет играть роль маски. Первое изображение следует подвергнуть обработке в графическом редакторе, скажем, таком, как Photoshop. Например, можно применить к нему сглаживающий фильтр, который приведет к размытию всей картинки. Оба изображения — и TIFF, и RLA — помещаются в качестве текстур в состав карты Camera Map Per Pixel (Карта камеры на пиксель). Первое — в раздел Texture (Текстура), второе — в раздел ZBuffer Mask (Маска Z-буфера). Затем эта карта помещается в раздел цвета диффузного рассеивания материалов всех объектов сцены, кроме того, который должен остаться в фокусе, и выполняется повторная визуализация в окне той же камеры;

Flat Mirror (Плоское зеркало) — применяется к поверхностям, состоящим из параллельных граней или являющимся плоскими, таким как зеркало или столешница из полированного дерева. Данный тип карты должен применяться только в качестве оптической характеристики материала, именуемой Reflection (Зеркальное отражение). Использование карты плоского зеркала применительно к иным свойствам материалов может привести к непредсказуемым результатам. На рис. 14.22 показано, как использование данной карты в качестве текстуры зеркального отражения материала столешницы позволяет имитировать отражения бокалов в полированном дереве;






Рис. 14.22   Использование карты текстуры Flat Mirror для имитации отражения предметов на поверхности столешницы

Raytrace (Трассируемая) — позволяет генерировать эффекты зеркального отражения и преломления света на основе алгоритма трассировки лучей, обеспечивающего высокий уровень визуальной достоверности результатов. Пример использования данной карты текстуры для имитации отражения предметов в зеркале вы могли видеть на рис. 1.19-1.22, приведенных в конце главы 1. Нам еще предстоит заняться этой картой в данной главе;

Reflect/Refract (Отражение/Преломление) — позволяет имитировать свойства материала зеркально отражать окружающие его предметы или преломлять световые лучи, проходящие сквозь материал. Этот тип карты может быть использован только в качестве текстур параметров Reflection (Зеркальное отражение) или Refraction (Преломление). На рис. 14.23 показан пример использования данной карты для имитации отражений в стекле левого бокала. Сравните его вид с изображением правого бокала, которому не было назначено свойство зеркального отражения;

 


Рис. 14.23. Использование карты текстуры Reflect/Refract для имитации отражения предметов в стекле левого бокала

Thin Wall Refraction (Рефракция в тонкой пластине) позволяет имитировать эффект преломления, то есть отклонения световых лучей от прямолинейной траектории при прохождении через тонкий слой прозрачного материала. На рис. 14.24 показан пример использования данной карты текстуры в составе материала, изображающего стекло левого из двух бокалов. Обратите внимание на излом контуров предметов, наблюдаемых сквозь стекло этого бокала. Это особенно хорошо заметно в сравнении с рис. 14.23.

 


Рис. 14.24. Использование карты текстуры типа Thin Wall Refraction для имитации преломления световых лучей в стекле левого бокала

В ходе выполнения практических упражнений мы постараемся овладеть навыками использования таких типов карт, как Bitmap (Растровая), Cellular (Ячеистая), Checker (Шахматное поле), Flat Mirror (Плоское зеркало), Falloff (Спад), Gradient (Градиент), Noise (Неоднородности), Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая). За сведениями по настройке параметров остальных текстурных карт обратитесь к электронной справочной системе max 7.5.

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


Продолжаем знакомиться с командной панелью Modify


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

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

применить к объекту какой-либо из модификаторов, таких как Lathe (Вращение), Extrude (Выдавливание), Bevel (Скос), Bend (Изгиб), Taper (Заострение) и т. п.;

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

В этой главе нам предстоит систематизировать знания о командной панели Modify (Изменить) и закрепить навыки работы с ее инструментами. И начнем мы со знакомства с таким важным элементом программы max 7.5, как стек модификаторов (modifiers stack), однако перед этим еще раз внимательно рассмотрим командную панель Modify (Изменить), чтобы не пропустить что-нибудь важное.



Продолжение работы над ранее созданной сценой


Чтобы продолжить работу над сценой, ранее сохраненной в файле формата max, выполните следующие действия:

1. Выберите команду File > Open (Файл > Открыть) или нажмите комбинацию клавиш Ctrl+o. Если текущая сцена не была сохранена, появится рассмотренный выше запрос на сохранение изменений. После сохранения сцены появится окно диалога Open File (Открытие файла), показанное на рис. 3.33.

Рис. 3.33. Окно диалога Open File обеспечивает удобство выбора нужного файла, демонстрируя миниатюру трехмерной сцены

2.   Выберите нужный файл (при этом в правой части окна появляется миниатюрное изображение содержащейся в файле сцены) и щелкните на кнопке Open (Открыть). Если загружается сцена, созданная в программе 3ds max предыдущих версий, то после нормальной загрузки появится предупреждающее сообщение: Obsolete data format found — Please resave file (Обнаружены данные устаревшего формата, сохраните файл). Сохранение файла обеспечит преобразование данных в формат max 7.5, и данное предупреждение не будет появляться в дальнейшем.

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

4.   Если в ходе загрузки будут встречены ссылки на файлы текстур материалов, отсутствующих на вашем компьютере, то появится окно Missing Map/ Photometric Files (Отсутствие файлов текстуры/фотометрии) с перечислением ссылок на ненайденные файлы текстурных карт. Упоминаемые в названии файлы фотометрии относятся к фотометрическим источникам света. С источниками света мы будем знакомиться в главе 11, «Расставляем и настраиваем осветители и съемочные камеры». Отсутствие нужных файлов фотометрии также отслеживается программой. Для продолжения загрузки файла без учета соответствующих текстур или файлов фотометрии щелкните на кнопке Continue (Продолжить), а для выполнения поиска файла нужной текстуры вручную - на кнопке Browse (Просмотр).




5.    Как вы помните, по умолчанию одна единица системной метрической шкалы шах 7.5 принимается равной одному дюйму вне зависимости от того, в каких единицах производится измерение и отображение размеров объектов. При несовпадении масштаба системной шкалы загружаемой сцены с текущим масштабом max 7.5 в ходе загрузки файла появится окно диалога File Load: Units Mismatch (Загрузка файла: несовпадение масштабов). В разделе Do you want to (Желаете ли вы) имеется переключатель на два положения:

Rescale the File Objects to the System Unit Scale? (Привести масштаб объектов из файла к масштабу системы?);

Adopt the File's Unit Scale? (Принять масштаб из файла?).

6.   Установите переключатель в нужное положение и щелкните на кнопке ОК.


Производим визуализацию из командной строки


Визуализация из командной строки — это, пожалуй, самый оригинальный способ визуализации в 3ds max. Прежде всего потому, что она проходит при закрытом окне 3ds max. Когда окно программы открыто, визуализацию из командной строки произвести невозможно. Я уже слышу голоса читателей, которые недоуменно спрашивают, зачем же нужна такая возможность. Работая над проектом «МАХ-кафе», мы всякий раз открывали один файл сцены, вносили в него необходимые изменения, после чего визуализировали отредактированную сцену. Поскольку наша работа была неспешной и вела к получению одного конечного изображения, для нас не составляло большого труда указать основные параметры визуализации, когда сцена была готова. Мы выбирали размер изображения, указывали имя сохраняемого файла и т. д.

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

Если каждый файл имеет индивидуальную схему визуализации, то необходимо будет предварительно создать текстовое описание процедурных настроек параметров визуализации. Такой файл можно создать в любом текстовом редакторе.

Возможность визуализации из командной строки реализована в виде утилиты 3dsmaxcmd.exe, которая устанавливается вместе с 3ds max в ту же папку, где установлена программа. Чтобы начать визуализацию из командной строки, выполните следующие действия:

1. Выполните команду Пуск > Программы > Стандартные > Командная строка и в окне командной строки введите команду C:\3dsmax7\3dsmaxcmd -? (путь может отличаться в зависимости от того, в какой папке и на каком диске у вас находится программа 3ds max). Вы увидите список параметров командной визуализации (рис. 15.30). Постарайтесь запомнить все самые нужные параметры, чтобы каждый раз перед выполнением того или иного действия не вызывать этот список.

2.   Укажите команду начала визуализации и путь к файлу, который необходимо визуализировать, например C:\3dsmax7\3dsmaxcmd C:\3dsmax7\scenes\bokal.max. Вы увидите знакомое окно Rendering (Визуализация), обычно появляющееся на экране после щелчка на кнопке Render (Визуализировать).

Подробное рассмотрение параметров командной строки выходит за рамки этой книги. Вы можете изучить их при помощи справочной системы программы 3ds max 7.5.



Прокрутка изображения в окнах проекций


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

Для прокрутки изображения выполните следующее:

Щелкните на кнопке Pan (Прокрутка), она зафиксируется и подсветится желтым цветом.

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

Для завершения режима прокрутки щелкните в окне проекции правой кнопкой мыши.

СОВЕТ

Быстрое переключение в режим прокрутки изображения обеспечивает нажатие клавиш Ctrl+p. Если после нажатия этой комбинации клавиш курсор не меняет своего вида, просто чуть сдвиньте мышь.



Просмотр эскиза анимации


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

1.   Выберите команду меню Animation >View Preview (Анимация > Просмотреть эскиз). Мах 7.5 запустит приложение Windows Media Player (Проигрыватель Windows Media) системы Windows и начнет воспроизведение того эскиза анимации, который был сформирован последним. Команда доступна, если в папке Previews, вложенной в папку с программным обеспечением max 7.5, имеется файл эскиза анимации, именуемый по умолчанию _scene.avi.

2.   Управляйте воспроизведением эскиза с помощью кнопок приложения Windows Media Player (Проигрыватель Windows Media).



Просмотр материалов и карт текстур


Если Редактор материалов служит для настройки свойств материалов, то для просмотра перечня материалов и текстурных карт с целью выбора нужных (а в max 7.5, как вы уже знаете, поддерживается четырнадцать типов материалов и 33 типа текстурных карт) предназначено окно диалога Material/ Map Browser (Просмотр материалов и карт текстур), показанное на рис. 13.11. Это окно дает возможность наблюдать типы и структуру материалов текущей сцены, в том числе с указанием объектов, которым назначены данные материалы. Кроме того, это окно позволяет просматривать образцы готовых материалов из состава библиотек, хранящихся на диске в виде файлов.

Рис. 13.11. Окно диалога Material/Map Browser служит для упорядочивания материалов и текстурных карт max 7.5

С помощью окна диалога Material/Map Browser (Просмотр материалов и карт текстур) можно создавать собственные библиотеки материалов, обновлять и дополнять их. Как можно представить, «материальное хозяйство» max 7.5 является довольно хлопотным, и окно просмотра материалов и карт текстур служит хорошим средством для его упорядочивания.

Для вызова окна диалога Material/Map Browser (Просмотр материалов и карт текстур) можно использовать два варианта действий:

щелкнуть на кнопке Get Material (Получить материал) в окне Редактора материалов. В этом случае окно просмотра материалов и карт текстур появляется как немодальное и не мешает работе с Редактором материалов и окнами проекций. Кнопки ОК и Cancel (Отмена) отсутствуют (на рис. 13.11 показан именно такой вариант окна просмотра). Для помещения выбранного в окне просмотра материала или карты текстуры в любую ячейку образца Редактора материалов можно применять технику «перетащить и оставить» с помощью мыши. Двойной щелчок на имени материала ведет к его загрузке в активную ячейку образца;

щелкнуть на кнопке выбора типа материала. В этом случае окно диалога Material/Map Browser (Просмотр материалов и карт текстур) появляется как модальное и для продолжения работы с Редактором материалов обязательно должно быть закрыто. Для помещения выбранного в окне материала или карты текстуры в ячейки образцов нельзя использовать технику «перетащить и оставить». С этой целью следует или дважды щелкнуть на имени материала в списке окна просмотра, или выделить имя и щелкнуть на кнопке ОК, после чего материал или карта текстуры помещается в активную ячейку образца.



Просмотр образца с увеличением


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

Рис. 13.6. Увеличенное изображение образца из первой ячейки Редактора материалов

ЗАМЕЧАНИЕ

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



Простейшее редактирование формы NURBS-кривых


В простейшем случае редактирование формы точечных NURBS-кривых выполняется путем перемещения точек, а кривых типа CV — за счет перемещения или изменения весов управляющих вершин.

Для редактирования NURBS-кривых на уровне точек или управляющих вершин выполните следующие действия:

1. Выделите NURBS-кривую. Перейдите на командную панель Modify (Изменить), щелкните на квадратике со знаком «плюс» в окне стека модификаторов и выберите в раскрывшемся дереве подобъектов строку Point (Точка) для точечной кривой или Curve CV (Вершины кривых) — для кривой типа CV. В нижней части командной панели появится свиток Point (Точка) или CV, опорные точки NURBS-кривой окрасятся в зеленый цвет, а на CV-кривой отобразится решетка деформации в виде линий желтого цвета с зелеными квадратиками управляющих вершин.

2.   

Для модификации формы точечной кривой выделите одну или несколько точек. В разделе Selection (Выделение) свитков Point (Точка) располагаются две кнопки, Single Point (Одна точка) и All Points (Все точки), со значками в виде одной красной точки и трех красных точек соответственно. Нажатие левой кнопки включает режим выделения отдельных точек, а если нажата правая кнопка, включается режим, при котором выделение любой опорной точки влечет за собой автоматическое выделение и всех остальных. В режиме выделения отдельных точек имя выделенной точки появляется в поле Name (Имя) свитка. Число выделенных опорных точек указывается в самом низу свитка Point (Точка). Выделяйте опорные точки, применяя для этого любые известные способы выделения объектов. Выделенные точки окрашиваются красным цветом, после чего их можно перемещать с целью настройки формы кривой

3.   Для модификации формы кривой типа CV выделите одну или несколько управляющих вершин, используя любые известные способы выделения объектов. Выделенные вершины окрашиваются в красный цвет, после чего их можно перемещать для корректировки формы кривой. В разделе Selection (Выделение) свитка CV, так же как и в случае точечной кривой, располагаются две кнопки активизации режимов выделения управляющих вершин, имеющие наименования Single CV (Одна вершина) и All CVs (Все вершины). Их назначение и использование не отличается от рассмотренного в предыдущем пункте. Используя счетчик Weight (Вес), можно назначить каждой вершине весовой коэффициент, определяющий степень ее влияния на форму кривой. При этом значение имеет только относительная величина коэффициента в сравнении с весами других вершин. Это значит, что если веса всех вершин сделать равными, например, 100, то форма кривой не изменится. Чем выше вес вершины, тем ближе к ней будет проходить NURBS-кривая. Чем ниже вес, тем меньшее влияние будет оказывать эта вершина на ход кривой.



Простейшее редактирование формы тела вращения


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

1.   Выделите тело вращения и щелкните на квадратике со знаком «плюс» слева от имени модификатора Lathe (Вращение) в окне стека модификаторов командной панели Modify (Изменить). В развернувшемся дереве подобъектов щелкните на единственной строке Axis (Ось). Ось вращения изобразится в окнах проекций в виде линии желтого цвета.

2.   Выберите инструмент Select and Move (Выделить и переместить), щелкните на оси и перетащите ее влево, наблюдая за изменением формы тела вращения, как показано на рис. 6.26.

Рис. 6.26. Слева — исходный вид тела вращения, справа — оно же после перемещения оси вращения



Пульт управления всеми осветителями сцены


Итак, осветительное хозяйство нашей сцены стало достаточно сложным: оно включает в свой состав шесть всенаправленных осветителей и два свободных прожектора. Более сложные сцены, имитирующие, скажем, картину улицы вечернего города, могут содержать еще большее число источников света. Управляться с таким хозяйством уже не так-то просто. Чтобы настроить или даже проконтролировать параметры того или иного осветителя, его требуется обязательно выделить в сцене и переключиться на командную панель Modify (Изменить). Представьте, что вам потребовалось несколько уменьшить яркость всех шести всенаправленных ламп. Чтобы проделать это, придется шесть раз выполнить операцию выделения соответствующего источника непосредственно в окнах проекций или с помощью окна диалога Select Objects (Выделение объектов) и шесть раз обратиться к командной панели. Поневоле захочешь иметь какое-то подобие центрального пульта управления всеми осветителями сцены. И такой пульт есть в mах 7.5! Это окно диалога Light Lister (Список осветителей). Попробуем его освоить.

Загрузите в max 7.5 сцену, с которой мы работали в предыдущем упражнении. Раскройте меню Tools (Сервис) и выполните команду Light Lister (Список осветителей). Появится окно диалога с таким же названием, показанное на рис. 11.38. Это немодальное окно, так что наличие его на экране не мешает работе с остальными элементами интерфейса mах 7.5 или с объектами в окнах проекций.

Рис. 11.38. Окно диалога Light Lister — центральный пульт управления всеми осветителями max 7.5

Как можно видеть, по умолчанию это окно состоит из двух свитков: Configuration (Конфигурация) и Lights (Осветители). Переключатель на три положения в свитке Configuration (Конфигурация) позволяет установить, следует отображать в свитке Lights (Осветители) средства управления всеми (All Lights) или только выделенными (Selected Lights) осветителями сцены. Установка переключателя в положение General Settings (Общие настройки) вызывает появление свитка с таким же названием вместо свитка Lights (Осветители), как показано на рис. 11.39.






Рис. 11.39. В свитке General Settings окна диалога Light Lister можно настроить параметры, общие для всех осветителей

Если переключатель в свитке Configuration (Конфигурация) установлен в положение All Lights (Все осветители), как на рис. 11.38, то в свитке Lights (Осветители) будут представлены все осветители, имеющиеся на данный момент в составе сцены, вне зависимости от того, включены они или выключены, видны в окнах проекций или скрыты от просмотра.

Для каждого из осветителей на пульте представлен однотипный набор управляющих элементов, являющихся полными аналогами соответствующих элементов управления со свитков командной панели Modify (Изменить). Разумеется, в окно диалога Light Lister (Список осветителей) включены не все параметры источников света, а только наиболее употребительные из них, требующие частой настройки. Здесь и флажок включения/выключения света On (Вкл.), и имя осветителя (текстовое поле Name), и образец цвета (Color), и счетчик Multiplier (Усилитель), и флажок включения режима отбрасывания теней Shadows (Тени), и раскрывающийся список типа тени... Узкая кнопка слева от флажка On (Вкл.) в строке параметров каждого из осветителей служит для выделения источника света. Щелкните на этой кнопке, и она подсветится желтым цветом, а соответствующий источник будет выделен в составе сцены.

Свиток General Settings (Главные настройки) позволяет за один прием менять параметры всех осветителей сцены, если переключатель в верхней части свитка установлен в положение All Lights (Все осветители), или выделенной группы источников света, если переключатель установлен в положение Selected Lights (Выделенные осветители). Часть этих параметров вам уже знакома, с остальными можете при необходимости познакомиться самостоятельно. Скажем,' при установке переключателя All Lights (Все осветители) сброс флажка On (Вкл.) приводит к выключению всех источников света, имеющихся в составе сцены. Другой пример: чтобы изменить яркость свечения всех всенаправленных осветителей сцены, можно выделить их по имени, проследить, чтобы в свитке General Settings (Главные настройки) был установлен переключатель Selected Lights (Выделенные осветители), затем ввести нужное значение в счетчик Multiplier (Усилитель) в левой части свитка и нажать клавишу Enter. Точно таким же способом можно включать и выключать тени для группы или для всех источников света, менять тип теней и т. п. Более быстрого способа настроить сразу множество осветителей просто не существует.



В нижней части свитка General Settings (Главные настройки) интерес для вас будет представлять в первую очередь цветовой образец Ambient Color (Цвет подсветки). Это цветовой образец того же самого параметра подсветки, с которым мы знакомились в начале данной главы и который находится в окне диалога Environment (Внешняя среда). Так как настройка подсветки является неотъемлемым элементом общей настройки освещения в max 7.5, иметь этот параметр на пашем центральном пульте управления светом очень удобно.

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


Пытаемся построить NURBS-тело виртуального персонажа


Работая над приданием нужной формы стандартной NURBS-поверхности типа CV, мы совсем не пользовались богатой палитрой специализированных инструментов для создания NURBS-поверхностей. В данном подразделе нам предстоит восполнить этот пробел.

Главной специфической особенностью NURBS-поверхностей, коренным образом отличающей их от стандартных сеток, полисеток или сеток кусков Безье, является отсутствие возможности выдавливания фрагментов таких поверхностей. Если у сетки (полисетки) можно выдавить отдельные ребра, грани или полигоны, у сетки кусков Безье — отдельный кусок или несколько кусков, чем мы с успехом пользовались в предыдущей главе, то у NURBS-поверхностей просто нет таких подобъектов, которые допускали бы выдавливание. Это создает определенные сложности при моделировании объектов с ветвящейся топологией, таких, скажем, как туловище персонажа с ответвляющимися от него руками и ногами или ладонь с «растущими» из нее пальцами.

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

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




В ходе выполнения следующих нескольких упражнений вам предстоит решить нетривиальную задачу — сотворить модель Деда Мороза, подобную показанной на рис. 10.11. Это будет первый и единственный персонаж, которому предстоит обосноваться в создаваемом нами виртуальном мире. В главе 1 вы уже видели его фигуру, стоящую под елочкой в кафе «МАХ».



Рис. 10.11. Модель Деда Мороза, построенная из поверхностей типа NURBS

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


Работа с окном Named Selection Sets


Появившееся в max 7.5 новое окно диалога Named Selection Sets (Именованные выделенные наборы) предоставляет удобные средства для работы с именованными наборами. Для выполнения различных операций над именованными наборами выделенных объектов с помощью этого окна проделайте следующее:

1.   

Выполните команду основного меню Edit > Named Selection Sets (Правка > Именованные выделенные наборы) или щелкните на кнопке Named Selection Sets (Именованные выделенные наборы) главной панели инструментов, чтобы вызвать появление одноименного немодального окна диалога, показанного на рис. 4.17. Окно имеет панель с семью инструментами для создания и редактирования именованных наборов объектов. Если в составе сцены нет именованных выделенных наборов, центральное поле окна будет пустым. Если, как в нашем примере, именованные наборы имеются, их имена появятся в окне и будут обозначены слева фигурными скобками.

Рис. 4.17. Окно диалога Named Selection Sets с набором инструментов для создания и редактирования именованных наборов объектов

2.   

Для создания нового набора выделенных объектов щелкните на кнопке Create New Set (Создать новый набор) панели инструментов окна. В верхней части окна появится заготовка для нового набора, обозначаемого фигурными скобками, с принятым по умолчанию именем New Set (Новый набор). Исходное имя набора автоматически выделяется, так что его сразу же можно заменить на новое, более осмысленное. Если вы забудете сразу же изменить имя набора, то это можно сделать в любой удобный момент традиционным для Windows способом, выделив строку с именем набора в окне диалога и нажав клавишу F2. Если на момент создания набора в окнах проекций будут иметься выделенные объекты, все они будут помещены во вновь созданный набор. О наличии объектов в наборе говорит появление слева от его имени квадратика со знаком «плюс». Если выделенных объектов не будет, созданный новый набор окажется пустым. Имя созданного набора автоматически добавляется в раскрывающийся список Named Selection Sets (Именованные выделенные наборы) главной панели инструментов.




3.


Для добавления объектов во вновь созданный набор следует любым из возможных способов выделить нужные объекты в окнах проекций. В частности, для выделения нужных объектов можно щелкнуть в окне Named Selection Sets (Именованные выделенные наборы) на кнопке Select Objects By Name (Выделить объекты по имени). В появившемся типовом окне Select Objects (Выделение объектов) выделите имена нужных объектов и щелкните на кнопке Select (Выделить).


Затем выделите имя набора в окне Named Selection Sets (Именованные выделенные наборы) и щелкните на кнопке Add Selected Objects (Добавить выделенные объекты) панели инструментов окна. Чтобы просмотреть состав объектов, включенных в именованный набор, щелкните на квадратике со знаком «плюс» слева от имени набора, развернув тем самым список имен объектов (рис. 4.18).



Рис. 4.18. Для доступа к списку объектов в наборе щелкните на квадратике со знаком «плюс» слева от имени набора

4.   


Для удаления каких-то объектов из состава именованного выделенного набора выделите их в окнах проекций любым из возможных способов и щелкните на кнопке Subtract Selected Objects (Исключить выделенные объекты). Для удаления того или иного объекта из именованного набора можно также выделить его имя в списке окна Named Selection Sets (Именованные выделенные наборы) и щелкнуть на кнопке


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

ЗАМЕЧАНИЕ

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

5.   Для выделения в составе сцены всех объектов, входящих в определенный именованный набор, выделите имя набора в окне Named Selection Sets (Именованные выделенные наборы) и щелкните на кнопке


Select Objects in Set (Выделить объекты из набора) панели инструментов окна. С той же целью можно выбрать имя набора в раскрывающемся списке Named Selection Sets (Именованные выделенные наборы) главной панели инструментов max 7.5, как уже говорилось в предыдущем подразделе.



6.   


Чтобы выделить в списке именованного набора имена объектов, выделенных в составе сцены, щелкните на кнопке Highlight Selected Objects (Выделить имена выделенных объектов) панели инструментов окна Named Selection Sets (Именованные выделенные наборы). Имена наборов, в которые входят выделенные объекты, будут обозначены полужирным шрифтом темно-красного цвета, а имена самих выделенных объектов — полужирным шрифтом зеленого цвета. Например, на рис. 4.18 в именованном наборе Chainiki выделены имена объектов Teapot01, Teapot05 и Теароt06. 7. Закончив работу по созданию и редактированию состава именованных выделенных наборов, закройте окно диалога Named Selection Sets (Именованные выделенные наборы), щелкнув на кнопке Close (Закрыть) в правом верхнем углу окна.


Равномерное масштабирование объектов «вручную»


Для выполнения равномерного масштабирования на главной панели инструментов может быть выбрана любая из двух кнопок Select and Uniform Scale (Выделить и равномерно масштабировать) или

Select and Non-uniform Scale (Выделить и неравномерно масштабировать). Напомним, что в max 7.5 эти кнопки можно выбирать просто последовательными нажатиями клавиши r. Выделите объект. Если выбран инструмент равномерного масштабирования, то треугольная плоскость-манипулятор в центре контейнера окрасится полупрозрачной заливкой желтого цвета. Если выбран инструмент неравномерного масштабирования, желтой заливкой будет окрашена одна из трапецеидальных полосок по краям центрального треугольника.

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

Рис. 4.33. При равномерном изменении масштаба объектов, показанных на рис. 4.32, масштаб самого контейнера преобразования также меняется

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



Разбираем сплайн на части


Основная часть сплайнов представляет собой объекты стандартной формы, такие как прямоугольник, круг или звезда. Построение таких сплайнов и рисованием-то не назовешь. Для их создания применима та же «магическая» формула, которая использовалась нами в предыдущей главе при построении объектов-примитивов. Помните: «Щелкнули — перетащили курсор — отпустили кнопку мыши — переместили курсор — щелкнули» и т. д. Некоторые навыки рисования нужны при создании сплайнов лишь одного типа — Line (Линия).

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

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

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

Рис. 6.1. Подобъекты сплайна

Corner (С изломом) —- вершина, в которой сплайн претерпевает излом. Участки сегментов вблизи такой вершины не имеют кривизны;

Smooth (Сглаженная) — вершина, через которую кривая сплайна проводится с плавным изгибом, без излома, имея одинаковую кривизну сегментов при входе в вершину и выходе из нее;

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




Bezier Corner (Безье с изломом) — вершина, которая, как и вершина типа Bezier (Безье), снабжена касательными векторами. Однако у вершин Bezier Corner (Безье с изломом) касательные векторы не связаны друг с другом, и маркеры можно перемещать независимо.

ЗАМЕЧАНИЕ

Доступ к редактированию сплайнов на уровне отдельных сегментов и вершин возможен с помощью командной панели Modify (Изменить), о чем вы узнаете ниже, а также в главе 8, «Совершенствуем навыки модификации объектов».

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


Разгруппирование и разрушение групп


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

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

Для разгруппирования одной или нескольких групп выделите их и выберите команду меню Group > Ungroup (Группа > Разгруппировать). С той же целью можно выделить пустой объект-предок группы и удалить его, нажав клавишу Delete.

Для разрушения одной или нескольких групп выделите их и выберите команду меню Group > Explode (Группа > Разрушить).



к любым элементам виртуального трехмерного


Термин объект в max 7.5 относится к любым элементам виртуального трехмерного мира, которые могут включаться в состав сцен и к которым могут применяться преобразования и модификаторы. Объекты max 7.5 делятся на категории, разновидности и типы. Всего имеется семь категорий объектов: Geometry (Геометрия), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), Space Warps (Объемные деформации) и Systems (Системы). Объекты из категорий Geometry (Геометрия) и Shapes (Формы), составляющие основу разработки геометрической модели трехмерной сцены, могут быть преобразованы в четыре отдельных типа объектов, не относящихся к данным категориям, - Editable Spline (Редактируемый сплайн), Editable Patch (Редактируемый кусок), Editable Poly (Редактируемая полисетка) и Editable Mesh (Редактируемая сетка). За исключением объектов этих четырех типов, все остальные объекты max 7.5 являются параметрическими, то есть на момент их создания приобретают определенный набор характеристических параметров, таких как координаты положения объекта, размеры по длине, ширине и высоте, число сегментов или сторон и т. п. Эти параметры в дальнейшем можно легко изменять, поэтому в процессе создания объектов необязательно стремиться к обеспечению высокой точности.


Разворачивание окна проекции на весь экран


Если в составе сцены много мелких деталей, то для удобства правки имеет смысл развернуть окно проекции на весь экран. Это делается очень просто — щелчком на кнопке Maximize Viewport Toggle (Развернуть). Когда потребуется вернуться к исходной компоновке окон проекций, снова щелкните на этой же кнопке.

СОВЕТ

Разворачивание и восстановление нормального размера активного окна проекции достигается также простым нажатием клавиш Alt+w (от слова Window — окно).



Ребра и группы сглаживания


С этими ребрами в 3ds max 7.5 сплошная путаница. Во-первых, как вы уже знаете, в составе сетчатых оболочек имеются два типа ребер. Ребра первого типа разделяют грани, не лежащие в одной плоскости. Они всегда видны в составе сетки и изображаются сплошными линиями. Другие ребра, которые разделяют грани, лежащие в одной плоскости, по умолчанию не видны, а если и отображаются по специальному запросу, то пунктиром. Эти два типа ребер можно было бы охарактеризовать как видимые и невидимые, вкладывая в это определение вполне конкретный смысл, связанный с компланарностью граней. Однако, как выясняется, не все так просто. В 3ds max 7.5 имеются инструменты, позволяющие превратить любое видимое (изображаемое сплошной линией) ребро в невидимое, которое будет отображаться пунктиром только в специальном режиме просмотра невидимых ребер. И наоборот, любое ребро, разделяющее грани, лежащие в одной плоскости, можно сделать видимым постоянно. При этом оно будет отображаться в составе сетки сплошной линией. Такое преобразование, смысл которого не вполне очевиден, становится понятнее, когда узнаешь, что в 3ds max 7.5 есть средство для разрезания ребер, которое по-разному действует на видимые и невидимые ребра сетки.

Итак, видимые ребра — это те, которые изображаются в составе сетки сплошными линиями, а невидимые — те, которые в нормальном режиме не видны, а в специальном режиме отображаются пунктиром.

ЗАМЕЧАНИЕ

Способ отображения ребер в окнах проекций зависит еще и от того, какой драйвер дисплея используется программой 3ds max 7.5. Например, драйвер Direct3D имеет режим, при котором в окнах проекций могут отображаться сплошными линиями все ребра треугольных граней сеток — как видимые, так и невидимые.

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




(smoothing group). В итоге далеко не все видимые ребра сетки оказываются видны в виде линий излома поверхности объекта. Например, у сферы все грани сетки принадлежат к одной группе сглаживания, а у цилиндра грани боковой поверхности принадлежат к одной группе сглаживания, а грани оснований — к другой. В связи с этим при визуализации цилиндра ребра между гранями боковой поверхности не видны, а между боковой поверхностью и основаниями — видны.

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



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

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

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


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


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

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

1.   Используйте тот же объект Kocherga, с которым вы работали в предыдущем разделе. Если вы не выполнили предыдущее упражнение, загрузите нужный объект из файла Kocherga01.max, имеющегося в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.

2.   Выделите оригинал сечения в форме звезды большего размера. В свитке параметров объекта Star (Звезда) на командной панели Modify (Изменить) измените число лучей звезды с 8, скажем, до 12. Затем выполните аналогичную настройку применительно к сечению-звезде меньшего размера. Выделите также сечение-квадрат и выполните закругление его углов. Наблюдайте за синхронным изменением формы тела лофтинга, как показано на рис. 7.29.

Рис. 7.29. Редактирование оригиналов форм-сечений ведет к соответствующим изменениям образцов, включенных в состав тела лофтинга

3.   Теперь выделите оригинал линии, образец которой играет роль пути лофтинга. Так как линия скрыта внутри оболочки тела лофтинга, выделите ее по имени в окне диалога Select Objects (Выделение объектов) и сместите в сторону, скажем, в окне вида сверху. Отредактируйте форму линии. Например, это можно сделать так. Щелкните на квадратике со знаком «плюс» слева от надписи Line (Линия) в окне стека модификаторов командной панели Modify (Изменить) и выберите в раскрывшемся дереве подобъектов строку Vertex (Вершина). Поместите на середине линии новую вершину, используя кнопку Refine (Уточнить), которая находится в свитке Geometry (Геометрия). Помните, вы уже использовали этот инструмент в предыдущей главе? Щелкните на этой кнопке, переместите, курсор в окно проекции Тор (Вид сверху) и вставьте вершину, щелкнув на линии. После этого можно переместить крайние вершины линии, образующие носок кочерги, придав ей излом в точке вновь вставленной вершины. Это тут же скажется на форме тела лофтинга, как показано на рис. 7.30. Как видите, чтобы согнуть виртуальную кочергу, совсем не обязательно быть мастером спорта по тяжелой атлетике.

Рис. 7.30. Изменение формы оригинала линии пути влияет на вид тела лофтинга, построенного на образце этой линии

4. Сравните то, что у вас получилось, с объектом из файла Kocherga02.max, загрузив его из папки \Scenes\Glava_07 компакт-диска, прилагающегося к книге.

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



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


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

1. Выделите сплайн и перейдите на командную панель Modify (Изменить). Если сплайн представляет собой линию, то в поле стека модификаторов сразу будет доступно дерево подобъектов, о чем говорит квадратик со знаком «плюс» слева от имени объекта Line (Линия). Если щелкнуть на этом квадратике, дерево разворачивается, обеспечивая доступ к подобъектам сплайна-линии, как было показано в разделе «Выделение подобъектов» главы 4.

2.   Если сплайн представляет собой один из стандартных геометрических объектов, таких как Circle (Круг), Rectangle (Прямоугольник) или Ellipse (Эллипс), либо является объектом Text (Текст), то для обеспечения возможности выбрать для редактирования уровень подобъектов-вершин необходимо, как уже указывалось в главе 4, преобразовать этот объект к типу Editable Spline (Редактируемый сплайн) или применить к этому сплайну модификатор Edit Spline (Правка сплайна). Воспользуемся, для определенности, вторым способом. Раскройте список Modifier List (Список модификаторов) в верхней части командной панели и щелкните на строке Edit Spline (Правка сплайна) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). С этой же целью можно выбрать команду Edit Spline (Правка сплайна) в подменю Patch/Spline Editing (Правка сплайна/куска) пункта Modifiers (Модификаторы) основного меню. Имя модификатора появится в поле стека модификаторов командной панели Modify (Изменить) выше имени сплайна.

3.   Щелкните на квадратике со знаком «плюс» слева от имени модификатора Edit Spline (Правка сплайна) или имени объекта Line (Линия) и выберите в раскрывшемся дереве подобъектов строку Vertex (Вершина), как показано на рис. 6.10. В выделенном сплайне все вершины обозначатся крестиками, а первая вершина — квадратиком. В ряде случаев вершину или группу вершин для редактирования следует сначала выделить, используя для этого любые известные методы выделения объектов. Метки выделенных вершин окрашиваются в красный цвет.






Рис. 6.10. Развернуто дерево подобъектов модификатора Edit Spline

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

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

Рис. 6.11. Четвертное меню вершин сплайна

6.   Для настройки формы сегментов, примыкающих к вершинам типа Bezier (Безье) или Bezier Corner (Безье с изломом), выделите одну из таких вершин. В окнах проекций появятся изображения касательных векторов, снабженных на концах маркерами в виде квадратиков зеленого цвета, как показано на рис. 6.12 и 6.13, иллюстрирующих редактирование формы кривой, приведенной ранее на рис. 6.1. Для изменения угла, под которым сегмент сплайна входит в вершину, выберите инструмент Select and Move (Выделить и перемесить), щелкните на маркере и перемещайте его вокруг вершины (см. рис. 6.12), наблюдая за изменением ориентации сегмента, которому соответствует перемещаемый маркер для вершин типа Bezier Corner (Безье с изломом), или обоих примыкающих к вершине сегментов — для вершин типа Bezier (Безье).



Рис. 6.12. Перемещение маркера касательного вектора вокруг вершины изменяет угол ориентации примыкающих к вершине сегментов; слева — до правки, справа — после правки

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





Рис. 6.13. Изменение расстояния от маркера до вершины меняет кривизну примыкающих к вершине сегментов; слева — до правки, справа — после правки

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



Рис. 6.14. Блокировкой перемещения маркеров управляет флажок Lock Handles

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



Рис. 6.15. Синхронно перемещаются только маркеры подобных (в данном случае исходящих) касательных векторов выделенных вершин; слева — до правки, справа — после правки



Рис. 6.16. Синхронно перемещаются все маркеры касательных векторов выделенных вершин; слева — до правки, справа — после правки


Редактирование формы тел лофтинга


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

ЗАМЕЧАНИЕ

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



Редактирование ключей анимации


Для манипулирования ключами и редактирования их параметров можно использовать несколько инструментов max 7.5: строку треков, окно диалога Track View (Просмотр треков) в двух его разновидностях (Редактор кривых и Диаграмма ключей), а также командную панель Motion (Движение). В этом разделе мы рассмотрим приемы работы с ключами с использованием простого и доступного инструмента — строки треков.



Редактирование NURBS-кривых и NURBS-поверхностей


Как вы уже знаете, NURBS-кривые и NURBS-поверхности могут быть созданы «с нуля» с помощью соответствующих инструментов командной панели Create (Создать) или получены путем преобразования других объектов mах 7.5 в кривые или поверхности данного типа. Для преобразования других объектов в объекты типа NURBS следует выделить объект, перейти на командную панель Modify (Изменить), щелкнуть на наименовании типа объекта в окне стека модификаторов правой кнопкой мыши и выбрать в разделе Convert To: (Превратить в:) появившегося меню команду NURBS. Впрочем, более универсальным способом преобразования является выбор команды Convert To > Convert to NURBS (Превратить в > Превратить в NURBS) четвертного меню, вызываемого по щелчку правой кнопкой мыши в окне проекции при выделенном объекте.

Редактирование NURBS-кривых можно выполнять па уровне объектов, на уровне управляющих вершин или опорных точек и на уровне кривой в целом, a NURBS-поверхностей — на уровне объектов, на уровне управляющих вершин или опорных точек и па уровне поверхности в целом.

Для редактирования NURBS-кривых и поверхностей на уровне объектов в окне стека модификаторов должен быть выделен заголовок дерева подобъектов — строка NURBS Curve (NURBS-кривая) или NURBS Surface (NURBS-поверхность). Для перехода к редактированию на уровнях подобъектов выделите NURBS-кри-вую или поверхность, щелкните на квадратике со знаком «плюс» слева от заголовка дерева подобъектов и выберите в раскрывшемся списке один из подобъектов: Curve CV (Вершины кривых), Surface CV (Вершины поверхностей), Point (Точка), Curve (Кривая) или Surface (Поверхность).

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



Редактирование сеток кусков Безье


Сетка кусков Безье является параметрическим объектом и не допускает непосредственного редактирования на уровне подобъектов. Переход к редактированию сеток трех- и четырехугольных кусков Безье на уровнях подобъектов связан с необходимостью или применить к ним модификатор Edit Patch (Правка куска), или преобразовать их к типу Editable Patch (Редактируемый кусок). Если применить этот модификатор или названное преобразование к объекту, созданному изначально в виде обычной полигональной сетки, этот объект также автоматически преобразуется в редактируемую сетку, состоящую из кусков Безье.

Итак, для редактирования сеток кусков Безье на уровнях подобъектов поступайте одним из следующих способов:

чтобы применить к трехмерному объекту любого типа, включая и сетку кусков Безье, модификатор правки куска, следует выделить объект, перейти на командную панель Modify (Изменить), раскрыть список Modifier List (Список модификаторов) и щелкнуть на строке Edit Patch (Правка куска) или выполнить цепочку команд меню Modifiers > Patch/Spline Editing > Edit Patch (Модификаторы > Правка сплайна/куска > Правка куска);

чтобы преобразовать сетки кусков Безье, трехмерные объекты-примитивы или объекты, созданные методом лофтинга, к типу Editable Patch (Редактируемый кусок), следует выделить объект, перейти на командную панель Modify (Изменить), щелкнуть на наименовании типа объекта в окне стека модификаторов правой кнопкой мыши и выбрать в разделе Convert To (Превратить в) появившегося меню команду преобразования объекта-примитива в объект типа Editable Patch (Редактируемый кусок). Команда Convert to Editable Patch (Превратить в редактируемый кусок) имеется также в подразделе Convert To (Превратить в) четвертного меню, вызываемого щелчком правой кнопкой мыши в окне проекции при выделенном объекте;

чтобы преобразовать к типу редактируемого куска Безье объекты, созданные методами вращения или выдавливания, а также другие объекты, имеющие модификаторы в стеке, необходимо использовать команду Convert To > Convert to Editable Patch (Превратить в > Превратить в редактируемый кусок) четвертного меню или просто применить к таким объектам модификатор Edit Patch (Правка куска).




После выполнения указанных действий в нижней части командной панели Modify (Изменить) появляются свитки Selection (Выделение), Soft Selection (Плавное выделение), Geometry (Геометрия) и Surface Properties (Свойства поверхности). Свитки Selection (Выделение) и Soft Selection (Плавное выделение), как вы уже догадались, служат для облегчения действий по выделению различных подобъектов. Собственно инструменты редактирования сеток кусков находятся в свитке Geometry (Геометрия), показанном на рис. 8.62. Состав доступных инструментов свитка зависит от выбранного под-объекта. Правка сетки кусков Безье может выполняться на уровне объекта, на уровне вершин, ребер и отдельных кусков.

 


Рис. 8.62. Верхняя (слева) и нижняя (справа) части свитка Geometry с инструментами правки сеток кусков Безье на уровне кусков

Для редактирования на уровне объекта в окне стека модификаторов должен быть выделен заголовок дерева подобъектов — строка Edit Patch (Правка куска) или Editable Patch (Редактируемый кусок). Чтобы перейти на уровень подобъекта, щелкните на квадратике со знаком «плюс» слева от заголовка дерева подобъектов и выберите в раскрывшемся списке один из допустимых вариантов: Vertex (Вершина), Edge (Ребро), Patch (Кусок) или Element (Элемент).

Как указывалось в тексте главы 5, ребрами куска Безье считаются только сплай-новые кривые, ограничивающие кусок снаружи и представляющие собой как бы рамку, заключающую в себя фрагмент обычной полигональной сетки. Вершинами куска являются точки соединения его ребер. У четырехугольного куска Безье есть четыре допускающих правку вершины, как показано на рис. 8.63, а у треугольного — три. При выделении любой из этих вершин становятся доступными для преобразований касательные векторы с маркерами на концах. Ребра полигональной сетки, разделяющие кусок на ячейки, называются внутренними ребрами. Они не могут быть выделены в качестве подобъектов куска, так же как и вершины внутренних ячеек, и не подлежат редактированию. Таким образом, у кусков Безье гораздо меньше подобъектов, чем может показаться на первый взгляд. Удобство использования кусков Безье в качестве строительного материала для трехмерных объектов состоит именно в том, что за счет манипулирования сравнительно небольшим числом подобъектов можно управлять формой целого фрагмента сетки, образующей поверхность объекта.

 


Рис. 8.63. Подобъекты четырехугольного куска Безье


Редактирование сеток на различных уровнях


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

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

С инструментами для такого редактирования мы познакомимся в главе 8, «Совершенствуем навыки модификации объектов», а в главе 9, «Осваиваем секреты моделирования», вам будет предоставлена возможность применить их на практике.



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


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

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

Чтобы перейти к редактированию сплайна на уровнях различных подобъектов, выделите сплайн и перейдите на командную панель Modify (Изменить). Если сплайн представляет собой линию, являющуюся по определению редактируемым сплайном, то на командной панели сразу появятся свитки Rendering (Визуализация), Interpolation (Интерполяция), Selection (Выделение), Soft Selection (Плавное выделение) и Geometry (Геометрия). Если же сплайн представляет собой один из стандартных геометрических объектов, таких как Circle (Круг), Rectangle (Прямоугольник) или Ellips (Эллипс), либо является объектом Text (Текст), то для обеспечения возможности его редактирования на уровнях подобъектов можно поступить двояко:

применить к сплайну модификатор Edit Spline (Правка сплайна), помещаемый в стек объекта. Для этого следует щелкнуть на строке Edit Spline (Правка сплайна) в раскрывающемся списке Modifier List (Список модификаторов) или выполнить цепочку команд меню Modifiers > Patch/Spline Editing > Edit Spline (Модификаторы > Правка сплайна/куска > Правка сплайна), что приведет к появлению свитков Selection (Выделение), Soft Selection (Плавное выделение) и Geometry (Геометрия);

преобразовать стандартный сплайн в редактируемый. Для этого нужно щелкнуть на наименовании типа стандартного сплайна в окне стека модификаторов правой кнопкой мыши и выбрать в разделе Convert To: (Превратить в:) контекстного меню вариант Editable Spline (Редактируемый сплайн), что вызовет появление свитков Rendering (Визуализация), Interpolation (Интерполяция), Selection (Выделение), Soft Selection (Плавное выделение) и Geometry (Геометрия). Команда Convert to Editable Spline (Превратить в редактируемый сплайн) имеется также в подменю Convert To: (Превратить в:) четвертного меню transform (преобразование), вызываемого по щелчку правой кнопкой мыши в активном окне проекции.




ЗАМЕЧАНИЕ

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

Свитки Interpolation (Интерполяция) и Rendering (Визуализация) позволяют корректировать параметры интерполяции криволинейных сегментов и визуализации сплайна, назначенные при его создании и рассмотренные нами в главе 6. Свитки Selection (Выделение) и Soft Selection (Плавное выделение) содержат инструменты выделения подобъектов сплайна, отчасти дублирующие возможности раскрывающегося дерева подобъектов, имеющегося в окне стека модификаторов. В частности, в свитке Selection (Выделение) имеются кнопки, предназначенные для выделения всех возможных подобъектов сплайна.

ЗАМЕЧАНИЕ

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

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



Рис. 8.25. Верхняя (слева) часть свитка Geometry в режиме правки сплайнов на уровне вершин и нижняя {справа) часть этого свитка в режиме правки на уровне сплайнов

Чтобы выполнить редактирование сплайнов на уровне объекта в целом, в окне стека модификаторов должен быть выделен заголовок дерева подобъектов, то есть строка Editable Spline (Редактируемый сплайн), Edit Spline (Правка сплайна) или Line (Линия). В свитке Geometry (Геометрия) при этом будет доступна лишь малая часть инструментов редактирования. Для перехода к редактированию на уровне того или иного подобъекта необходимо щелкнуть на квадратике со знаком «плюс» слева от заголовка дерева подобъектов и выбрать в раскрывшемся списке один из доступных подобъектов: Vertex (Вершина), Segment (Сегмент) или Spline (Сплайн).

ЗАМЕЧАНИЕ

При выборе подобъектов Segment (Сегмент) или Spline (Сплайн) в самом низу командной панели Modify (Изменить) появляется еще один свиток — Surface Properties (Свойства поверхности), позволяющий настраивать значения идентификаторов материалов, которые можно применять к сплайнам в случае их визуализации.

<


Выбрав подобъект Vertex (Вершина), вы получаете возможность перемещать, поворачивать и масштабировать отдельные вершины или группы выделенных вершин сплайна, а также изменять их тип. При выборе подобъекта Segment (Сегмент) можно перемещать, поворачивать и масштабировать отдельные сегменты сплайна, а также назначать сегментам один из двух допустимых типов: Curve (Кривая) или Line (Линия). Выбор подобъекта Spline (Сплайн) позволяет применять преобразования к отдельным сплайнам из состава сплайновой формы.

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

ЗАМЕЧАНИЕ

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

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


Редактирование стандартных сеток и полисеток


В mах 7.5 сетчатые оболочки объектов могут редактироваться как стандартные сетки или как полигональные сетки (попросту называемые полисетками). Если не вдаваться в подробности, то разница между стандартными редактируемыми сетками (editable mesh) и редактируемыми полисетками (editable poly) состоит в том, что в полисетке минимальным участком плоскости, допускающим выделение, является не треугольная грань, а полигон. Вспомните главу 1: полигон — это многоугольник, состоящий из компланарных, то есть лежащих в одной плоскости, треугольных граней с невидимыми в обычных условиях общими ребрами. Кстати, простейший полигон может быть и треугольным.

Невидимые ребра, разделяющие смежные треугольные грани в пределах полигона, остаются и у полисеток (рис. 8.28). Однако эти ребра по-разному реагируют на операцию разрезания, выполняемую с использованием инструмента Cut (Разрезать), подробнее познакомиться с которым вам предстоит несколько позже.

Рис. 8.28. Полигоны как редактируемых сеток, так и редактируемых полисеток выглядят одинаково и имеют невидимые ребра, показываемые пунктиром

ЗАМЕЧАНИЕ

Напомню, что в главе 2 мы разбирали, в чем разница между видимыми и невидимыми ребрами сетки. В главе 3 вы узнали о том, как сделать эти невидимые ребра видимыми. Для этого следует сбросить флажок Edges Only (Только края) в окне Object Properties (Свойства объекта), которое вызывается по команде Properties (Свойства) четвертного меню. Это меню, в свою очередь, появляется после щелчка правой кнопкой мыши в окне проекции при выделенном объекте.

Инструмент Cut (Разрезать) требует дважды щелкнуть кнопкой мыши сначала на одном, а затем на другом видимом ребре сетки. В результате ребра разрезаются в точках щелчка с созданием новых вершин, между которыми формируется новое ребро. Так вот, у редактируемых сеток невидимые ребра разрезаются наряду с видимыми, что приводит к образованию внутри полигонов «лишних» вершин и формированию сетки с довольно сложной структурой, затрудняющей дальнейшее редактирование. На рис. 8.29, слева показан пример редактируемой сетки, полученной в результате четырехкратного разрезания каждого из двух полигонов, показанных ранее на рис. 8.28. «Лишними» я назвал вершины, на появление которых мы не рассчитываем при разрезании. Ведь если невидимые ребра не видны, как это и есть по умолчанию у всех сеток, то сразу не очень понятно, откуда внутри полигона после разрезания появилась новая вершина. У редактируемых полисеток невидимые ребра при каждой операции разрезания перестраиваются так, что «не попадают под нож». В итоге «лишних» вершин не появляется, да и структура сетки оказывается более ясной и четкой (рис. 8.29, справа).




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

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

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


Редактируем сетки кусков Безье, созданные на базе примитивов


Преобразование объектов-примитивов в сетки кусков Безье с целью последующей правки их формы с использованием достоинств таких кусков — это, простите за каламбур, довольно примитивный способ моделирования, хотя иногда он себя и оправдывает. Платой за простоту приобретения готовой сетки кусков Безье оказывается при этом то, что полученная таким способом сетка сохраняет на себе отпечаток строгой геометрической природы породившего ее примитива. Этот унаследованный недостаток вступает в противоречие с целью, ради которой обычно обращаются к работе с сетками кусков Безье, — моделирование объектов с плавной кривизной форм, имеющих преимущественно природное происхождение. Такие объекты в трехмерной графике принято называть словом «органика». Кстати, к объектам органики вполне могут быть отнесены, например, корпуса современных автомобилей, авангардистские скульптуры или образцы стильной мебели эпохи семидесятых годов теперь уже прошлого века.

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



Режим принудительной анимации


Как уже говорилось, режим принудительной анимации, включаемый кнопкой Set Key (Задать ключ), был введен для того, чтобы аниматоры могли иметь полный контроль над тем, ключи каких параметров и каких объектов будут создаваться в каждом ключевом кадре. Для чего это может потребоваться? Попробуем разобраться в данном вопросе па простом примере, основанном на рассмотренной нами ранее анимации «Шахматы».



Рисование NURBS-кривых


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



Рисование сплайнов типа Line


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

Чтобы нарисовать линию с помощью мыши, выполните следующие действия:

1. Щелкните в свитке Object Type (Тип объекта) на кнопке Line (Линия).

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

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

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

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

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






Рис. 6.7. Свиток Creation Method сплайна- линии позволяет настраивать типы вершин сплайна, создаваемых при рисовании с помощью мыши

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

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


Рисование трехмерных сплайнов-спиралей


Инструмент Helix (Спираль) позволяет создавать сплайны в виде трехмерной спирали переменного радиуса с заданным числом витков (рис. 6.6).

Рис. 6.6. Так, например, может выглядеть единственный трехмерный стандартный сплайн Helix

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

Чтобы построить форму-спираль, проделайте следующее:

1.   Щелкните в свитке Object Type (Тип объекта) на кнопке Helix (Спираль). Выберите метод создания спирали — от края или от центра. Метод «от края» применительно к спирали означает начало построения с одного из углов квадрата, в который вписывается круглое основание этой кривой. По умолчанию спираль строится методом «от центра». Переместите курсор в нужное окно проекции, на плоскость которого будет опираться своим основанием пружина нашей спирали.

2.   Щелкните кнопкой мыши и перетаскивайте курсор, наблюдая за тем, как в окне проекции рисуется правильный круг. Следите за значением радиуса основания спирали в счетчике Radius 1 (Радиус 1) свитка Parameters (Параметры) на командной панели Create (Создать) Получив радиус примерно нужной величины, отпустите кнопку мыши

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

4.   При необходимости дополнительно переместите курсор вверх или вниз, регулируя радиус витка на конце спирали. Следите за значением радиуса в счетчике Radius 2 (Радиус 2). Получив радиус примерно нужной величины, щелкните кнопкой мыши для его фиксации. Если нужно создать спираль постоянного радиуса, просто щелкните кнопкой мыши, не перемещая курсор.




5.   Закончив построение, задайте в счетчике Turns (Витков) свитка Parameters (Параметры) число витков спирали, то есть количество полных оборотов, которые делает линия, образующая спираль, от основания до вершины. Счетчик Bias (Смещение) определяет, будет ли шаг витков спирали уменьшаться к ее основанию или вершине. Допустимые значения параметра Bias (Смещение) лежат в диапазоне от -1 до 1. Принимаемая по умолчанию величина 0 создает спираль с постоянным шагом витков.

6.   В заключение задайте направление закрутки витков спирали с помощью переключателя в нижней части свитка Parameters (Параметры), имеющего два положения: CW (Clockwise — По часовой стрелке) или CCW (Counter Clockwise — Против часовой стрелки).

ЗАМЕЧАНИЕ

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


Самоподготовка


В качестве задания на самостоятельную проработку попробуйте выполнить визуализацию анимации наезда камерой на открывающиеся двери «МАХ-кафе», усовершенствованной в ходе выполнения упражнения 7 этой главы и сохраненной в файле MAX-kafe (naezd kameroy)01.max. Нужный файл можно найти в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге.

Чтобы ускорить процесс, выключите режимы визуализации эффектов внешней среды и карт отражения/преломления и плоского зеркала, сбросив в окне диалога Render Scene (Визуализация сцены) флажки Atmospherics (Эффекты внешней среды) и Auto-Reflect/Refract and Mirrors (Автоотражение/преломление и зеркала). При этом будут продолжать действовать карты трассировки, так что отражение объектов сцены в зеркале сохранится.

ЗАМЕЧАНИЕ

Даже при предпринятых мерах по упрощению сцены такая визуализация, состоящая после коррекции масштаба времени из 300 кадров, при разрешении 400x300 пикселей может оказаться довольно продолжительной (более 2 часов на компьютере Pentium-4/2000 при 512 Мбайт памяти).

Готовую визуализированную анимацию наезда камерой на открывающиеся двери кафе в виде файла MAX-kafe (naezd kameroy)02.avi вы можете найти в папке Animations\Glava__16 компакт-диска, прилагающегося к книге.

Надеюсь, я сумел убедить вас в том, что в простейших случаях создание анимации не составляет особого труда, разве что может потребовать времени на визуализацию. Впрочем, возможности max 7.5 по части анимации не ограничиваются этими простейшими ситуациями. Ключи, созданные в процессе анимации, можно удалять, перемещать по шкале времени, дублировать и редактировать — ведь они имеют целый ряд параметров, определяющих характер поведения «оживляемого» объекта.



Самоподготовка


Попробуйте самостоятельно применить средство Cycle (Циклический) окна диалога Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых) к параметру Self-Illumination (Самосвечение) материала лампочек гирлянды в анимации, созданной нами в упражнении 9 «Раз, два, три — елочка, гори!» для периодического повторения циклов включения-выключения лампочек.

Загрузите готовый файл анимации, который под именем Girlianda01.max хранится в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге.

Раскройте окно Track View — Curve Editor (Просмотр треков — Редактор кривых). Треки параметров материалов находятся на ветке Scene Materials (Материалы сцены). Там вы найдете три материала: Krasniy svet, Zeleniy Svet и Zheltiy svet. Параметр Self-Illumination (Самосвечение), в свою очередь, находится на ветке Shader Basic Parameters (Базовые параметры раскраски) соответствующего материала.

Удалите для материала красной лампочки все ключи, кроме трех первых, определяющих полный цикл анимации параметра самосвечения. Выделите трек параметра Self-Illumination (Самосвечение) материала Krasniy svet. Щелкните на кнопке Parameter Curve Out-of-Range Types (Типы экстраполяции функциональных кривых), затем на маленькой стрелке, указывающей вправо, под значком варианта Cycle (Циклический), и, наконец, на кнопке ОК. Вы увидите, как в окне Редактора кривых пунктиром обозначится циклический ход повторения анимации за пределами диапазона времени в 30 кадров, где эта анимация настроена по ключам (рис. 16.63).

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

То же самое можно проделать и с анимацией материала зеленой лампочки. А вот для материала желтой придется добавить один ключ в кадре № 30. Зачем? Попробуйте, и вам все станет понятно.

Впрочем, так и быть, загрузите готовый файл анимации Girlianda02.max. Он хранится в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге. Проанализируйте, как с помощью всего трех ключей в первых трех кадрах выполнена анимация каждого из трех материалов гирлянды на интервале в 120 кадров.



Сфера и Геосфера


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

Рис. 5.18. Все эти различные на вид объекты созданы с использованием примитива Sphere

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



Сглаживание сетки и NURMS-объекты


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



Систематизируем знания о модификации на уровнях подобъектов


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

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

подготовить сетчатые оболочки для применения многокомпонентных материалов;

выполнить «ручную корректировку» формы стандартных трехмерных тел для их «одушевления» при анимации (например, для превращения стандартного объекта-примитива типа Sphere (Сфера) в голову персонажа).

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



Основной для трехмерного мира 3ds


Основной для трехмерного мира 3ds max 7.5 является глобальная система координат {world reference system) с началом в точке (0, 0, 0) пространства сцены. Условно можно считать, что в виртуальном трехмерном пространстве ось Z глобальной системы координат соответствует понятию высоты, ось X — ширины, а ось Y — длины или глубины сцены. Взгляд на сцену «спереди» означает наблюдение вдоль оси У в ее положительном направлении. В соответствии с этим, например, на проекции «вид спереди» ось X глобальной системы координат будет направлена вправо, ось Z — вверх по экрану, а ось 7 — от наблюдателя, перпендикулярно экрану, как показано на рис. 1.16, а. На проекции «вид сверху» оси глобальных координат будут располагаться так: ось X направлена вправо, Y — вверх по экрану, Z — на наблюдателя, перпендикулярно экрану. Плоскостями, на которых изображаются проекции объектов сцены, по умолчанию являются три плоскости, проходящие через оси глобальной системы координат. Для проекций «вид спереди» и «вид сзади» это будет плоскость ZX, проекций «вид сверху» и «вид снизу» — плоскость XY, а для проекций «вид слева» и «вид справа» — плоскость ZY.

В 3ds max 7.5 есть еще одна система координат, играющая исключительно важную роль и называемая локальной (local). Такая система координат назначается каждому объекту и определяет понятия «верх», «лево» и «право» для этого объекта. Начало локальной системы координат помещается в опорную точку (pivot point) объекта, а сама опорная точка располагается для некоторых объектов в геометрических центрах их габаритных контейнеров, а для некоторых — в центре основания. Оси локальных координат объекта выравниваются параллельно сторонам его габаритного контейнера, причем ось Z указывает направление «вверх». При перемещении или повороте объекта его локальная система координат перемещается и поворачивается вместе с ним. Как бы ни был объект повернут в глобальных координатах, направлением «вверх» для него всегда остается направление оси Z локальной системы координат, как показано на рис. 1.16, б. Это бывает очень удобно, когда требуется переместить произвольным образом ориентированный в глобальном пространстве объект «вперед», «в сторону» или «вверх» по отношению к нему самому.





Рис. 1.16. Положения осей глобальной системы координат виртуального трехмерного мира определяют понятия «сверху», «спереди», «слева» и т. п. (а); в локальной системе координат понятие «верх» не зависит от ориентации объекта (б)

ЗАМЕЧАНИЕ

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


До сих пор мы учились




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

Преобразование объектов всегда производится в той системе координат, которая выбрана в раскрывающемся списке Reference Coordinate System (Система координат) главной панели инструментов. Из первой главы вы уже знаете о наличии глобальной и локальной систем координат. Теперь вам предстоит узнать о них подробнее, а заодно познакомиться и с другими системами.

Всего в max 7.5 поддерживается восемь видов систем координат — View (Оконная), Screen (Экранная), World (Глобальная), Parent (Родительская), Local (Локальная), Gimbal (Карданная), Grid (Сеточная) и Pick (Выборочная). Ниже поясняются те из них, с которыми вам придется сталкиваться чаще всего (об остальных вы можете прочесть в справочной системе max 7.5).

View (Оконная) — система координат активного окна проекции, принимаемая по умолчанию. При этом в активных окнах ортографических проекций в качестве оконной используется экранная система координат (см. ниже), а в активных окнах центральных проекций, таких как Camera (Камера) или Perspective (Перспектива), — глобальная система координат (см. ниже).

Screen (Экранная) - локальная система координат активного окна проекции. Оси экранной системы координат в активном окне любой проекции, как параллельной, так и перспективной, ориентированы следующим образом: ось X направлена вправо, ось Y— вверх, а ось Z — на наблюдателя, перпендикулярно поверхности экрана. При активизации любого из окон проекций ориентация осей координат во всех остальных окнах изменяется так, чтобы соответствовать ориентации осей в активном окне с учетом направления проецирования в каждом из окон.

World (Глобальная) — глобальная система координат с началом в точке (0,0,0) пространства сцены. Как уже говорилось, условно можно считать, что в виртуальном трехмерном пространстве ось Z глобальной системы координат соответствует понятию высоты, ось X — ширины, а ось У — глубины сцены. В соответствии с этим в окне проекции Tор (Вид сверху) глобальные оси расположены аналогично осям оконной системы: ось X направлена вправо, У — вверх по экрану, Z — на наблюдателя, перпендикулярно экрану. Направление осей глобальных координат в каждом из окон проекций указывается значком в виде тройки векторов, изображаемым в левом нижнем углу окна. Оси глобальной системы координат в каждом из окон проекций ориентированы по-разному с учетом направления проецирования, однако ориентация осей не меняется при переключении активных окон проекций.



Local (Локальная) — локальная система координат активного объекта. Начало локальной системы координат совмещается с опорной точкой объекта. Ось X локальной системы координат соответствует ширине объекта, ось Y — длине, а ось Z — высоте. Локальную систему координат удобно использовать в тех случаях, когда произвольно ориентированный в пространстве объект требуется переместить вдоль или повернуть вокруг одной из его собственных осей.

Ориентация осей текущей выбранной системы координат изображается в окнах проекций с помощью тройки векторов, помечаемых буквами X, Y и Z, как показано на рис. 4.39. Включение и выключение режима отображения тройки векторов производится с помощью той же самой команды главного меню Views > Show Transform Gizmo (Проекции > Показывать контейнер преобразования), с помощью которой включается и выключается режим отображения контейнеров преобразований объектов.



Рис. 4.39. Тройка координатных векторов

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


Оси проекционных координат именуются U,


Оси проекционных координат именуются U, V и W. Они аналогичны XYZ-коор-динатам, но относятся к пространству изображения текстуры, причем оси U и V, аналогичные осям X и Y, располагаются в плоскости поверхности, а ось W (аналог оси Z) направлена «в глубь» объекта и используется только для трехмерных карт текстур. Применить к объекту систему проекционных координат можно как при его создании, так и позднее, на любом этапе правки.

Все разновидности объектов max 7.5, относящихся к категории Geometry (Геометрия), могут снабжаться проекционными координатами при их создании. Для включения режима генерации проекционных координат на этапе создания модели объекта достаточно установить флажок Generate Mapping Coords (Проекционные координаты), имеющийся в свитке параметров таких объектов на командной панели Create (Создать). Этот флажок можно установить и позже, выделив объект и перейдя на командную панель Modify (Изменить).

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


Скрытие и показ объектов


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

Чтобы скрыть от просмотра отдельный объект, достаточно установить флажок Hide (Скрыть) в разделе Display Properties (Свойства отображения) окна диалога Object Properties (Свойства объекта) этого объекта (см. рис. 3.18).

Широкий набор инструментов для управления видимостью объектов имеется на командной панели Display (Дисплей), показанной на рис. 3.22.

Рис. 3.22. Командная панель Display помогает управлять просмотром проекций объектов

Чтобы скрыть объекты от просмотра или восстановить их видимость с помощью командной панели Display (Дисплей), выполните следующие действия:

Щелкните на корешке командной панели Display (Дисплей) и разверните свитки Hide by Category (Скрыть по категориям) и Hide (Скрыть).

Чтобы скрыть от просмотра определенные категории объектов, установите в свитке Hide by Category (Скрыть по категориям) соответствующие флажки — Geometry (Геометрия), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), Space Warps (Объемные деформации), Particle Systems (Системы частиц) или Bone Objects (Объекты-кости). Скрытие категории объектов в окнах проекций происходит немедленно после установки соответствующего флажка. Для восстановления видимости объектов определенной категории достаточно сбросить нужный флажок.

Чтобы скрыть от просмотра отдельные объекты, используйте следующие кнопки свитка Hide (Скрыть):

Hide Selected (Скрыть выделенные) — скрывает от просмотра все выделенные объекты сцены;




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

Hide by Name (Скрыть по имени) — вызывает окно диалога Hide Objects (Скрытие объектов), помогающее выбрать объекты, которые требуется скрыть от просмотра, по их именам. Это окно диалога аналогично окну диалога Select Objects (Выделение объектов), которое мы подробно рассмотрим в главе 4, «Учимся выделять, дублировать и преобразовывать объекты». Выделите имена нужных объектов в списке окна диалога и щелкните на кнопке Hide (Скрыть);

Hide by Hit (Скрыть по указанию) — позволяет скрыть тот объект, на котором будет выполнен щелчок кнопкой мыши.

Чтобы восстановить видимость скрытых объектов, щелкните на одной из следующих кнопок свитка Hide (Скрыть):

Unhide All (Сделать видимыми все) — позволяет сделать видимыми все объекты сразу;

Unhide by Name (Сделать видимыми по имени) — позволяет восстановить видимость отдельных объектов по именам, вызывая с этой целью окно диалога Unhide Objects (Восстановление видимости объектов), которое практически не отличается от окна Hide Objects (Скрытие объектов). Выделите в списке окна диалога имена нужных объектов и щелкните на кнопке Unhide (Сделать видимыми).

Команды Hide Selection (Скрыть выделенные), Hide Unselected (Скрыть невыделенные), Unhide All (Сделать видимыми все) и Unhide by Name (Сделать видимыми по имени) имеются также в разделе display (дисплей) четвертного меню, вызываемого по щелчку правой кнопкой мыши в любой точке активного окна проекции, кроме его заголовка. Использование команд этого меню является самым быстрым и удобным способом скрытия объектов и восстановления их видимости.


Слои объектов


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

Работа в программе 3ds max, как уже отмечалось, напоминает скорее не рисование или редактирование изображения, а выстраивание виртуального макета трехмерной сцены с последующим его фотографированием или видеосъемкой. В связи с этим понятие слоев, появившееся в max 7.5, применительно к трехмерной графике является условным. В данном случае слой — это всего лишь еще одно (наряду с уже знакомыми вам группами или именованными выделенными наборами) средство логического объединения объектов. Однако это средство наделено в mах 7.5 целым набором интересных возможностей, позволяющих управлять различными свойствами объектов, объединяемых данным слоем.

Вот в чем состоят основные положения концепции слоев, реализованной в max 7.5:

при создании новой сцены автоматически создается единственный специальный слой, называемый нулевым (слой с именем 0), на который будут помещаться создаваемые объекты. Таким образом, если вы не будете создавать новых слоев, все объекты сцены останутся на слое 0. Этот слой не может быть удален или переименован. Объектам, помещаемым на нулевой слой, назначаются цвета, случайным образом выбираемые из палитры max, для них устанавливаются атрибуты видимости в окнах проекций, доступности для редактирования и визуализируемости в составе итогового изображения сцены. При импорте в программу mах 7.5 объектов, для которых не определен атрибут принадлежности к определенному слою, все они также помещаются на нулевой слой;




вы можете создать любое число новых слоев и поместить на них новые объекты или переместить на них объекты с нулевого слоя или других слоев. Слоям по мере создания по умолчанию присваиваются имена Layer 01 (Слой 01), Layer 02 (Слой 02) и т. д., однако вы можете давать им более осмысленные имена, указывающие на предназначение относящихся к ним объектов. К примеру, в показанной в первой главе сцене кафе можно предусмотреть объединение в отдельные слои таких объектов, как стены, пол и потолок (назвав этот слой, скажем, Pomesshenie), столы и кресла (слой Mebel), предметы сервировки — тарелки, вилки, ложки, бокалы, салфетки (слой Posuda), настенные лампы и потолочные люстры (слой Svetilniki) и т. п. Каждому слою назначается определенный перечень свойств, которые могут быть унаследованы помещаемыми на слой объектами. К числу таких свойств относятся: параметры отображения в окнах проекций (видимость, цвет раскраски, качество показа и т. п.), доступность для преобразований и редактирования, параметры визуализации, параметры размытия, связанного с движением, и параметры, определяющие участие объектов в расчетах глобальной освещенности;

в каждый момент времени является текущим {current) только один из слоев. Новые объекты при их создании помещаются на текущий слой;

любой слой, кроме нулевого, может быть удален. Однако нельзя удалить текущий слой, а также слой, содержащий хотя бы один объект;

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

Вся работа по созданию и редактированию свойств слоев и находящихся на них объектов производится при помощи панели инструментов Layers (Слои) и окна диалога Layer Properties (Свойства слоев).

В число задач данной книги не входит подробное изучение слоев и их использования. Попробуйте освоить этот вопрос самостоятельно, воспользовавшись электронной справочной системой max 7.5 или моей книгой «Энциклопедия 3ds max 6», выпущенной издательством «Питер» в 2005 г.


Смена числа ячеек


Редактор материалов позволяет одновременно работать с 24 материалами. По умолчанию в окне Редактора материалов содержится 6 ячеек образцов, а чтобы увидеть остальные, следует использовать полосы горизонтальной и вертикальной прокрутки, обрамляющие ячейки справа и снизу. Можно, однако, настроить Редактор материалов на отображение 15 или 24 ячеек. Это удобнее, чем прокручивать ячейки, и использовать такую возможность приходится довольно часто. Например, для сцены «МАХ-кафе» нам предстоит создать и применить более 15 материалов, все из которых желательно иметь перед глазами. Для переключения числа ячеек следует щелкнуть на активной ячейке правой кнопкой мыши, в результате чего появится контекстное меню, показанное на рис. 13.4.

Рис. 13.4. Контекстное меню настройки ячеек образцов Редактора материалов

Для выбора нужного варианта следует перетащить курсор к одной из трех команд в нижней части меню: 3x2/5x3/6x4 Sample Windows (3x2/5x3/6x4 ячейки образцов) и отпустить кнопку мыши.

Команда циклической смены числа отображаемых ячеек, Cycle 3x2, 5x3, 6x4 Sample Slots (Цикл 3x2, 5x3, 6x4 ячейки образцов), имеется также в меню Options (Параметры) окна Редактора материалов, показанном на рис. 13.5.

Рис. 13.5. Команда циклической смены числа отображаемых ячеек меню Options окна Редактора материалов

Наконец, самым быстрым способом циклической смены числа ячеек является просто последовательное нажатие клавиши х, указанной правее команды Cycle 3x2, 5x3, 6x4 Sample Slots (Цикл 3x2, 5x3, 6x4 ячейки образцов), как можно видеть на том же рис. 12.5. Правда, чтобы эта клавиша действовала, должна быть нажата кнопка Keyboard Shortcut Override Toggle (Клавиши модулей расширения вкл./выкл.) на главной панели инструментов max 7.5. Если эта кнопка не нажата, действуют только клавиатурные комбинации основного интерфейса max 7.5.



Смена типов проекций в окне


В любом из окон проекций может быть установлен любой допустимый тип проекции. Можно даже одновременно переключить все окна на показ одной и той же проекции. Кстати, это не так уж бессмысленно, если учесть возможность вручную поворачивать плоскость проекции, о чем вы узнаете ниже.

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

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

Рис. 3.7. Меню окна проекции

Перетащите курсор к названию нужного типа проекции и отпустите кнопку мыши.

СОВЕТ

Быстро переключаться в активном окне с одной проекции на другую лучше всего с помощью клавиатуры, нажимая клавишу, соответствующую первой букве английского названия проекции: t (Тор) — вид сверху, I (Left) — вид слева, f (Forward) — вид спереди, р (Perspective) — вид в перспективе, с (Camera) — вид в объектив камеры и т. п. Исключение в max 7.5 составляют только виды справа и сзади, для которых по умолчанию не определено соответствующих клавиш. Клавиша r, которая в прежних версиях служила для переключения активного окна проекции на вид справа (Right), теперь задействована для активизации инструмента масштабирования. Команде переключения на вид справа можно назначить «вакантную» комбинацию клавиш Alt+r. Для этого выполните команду Customize > Customize User Interface (Настройка > Настройка интерфейса пользователя), перейдите на вкладку Keyboard (Клавиатура), выберите команду из списка и задайте для нее удобную комбинацию клавиш. Подробно эта процедура будет описана в следующей главе. Для переключения на вид сзади ранее использовалась клавиша к (как последняя буква слова ВасК), теперь связанная с нажатием кнопки Set Keys (Задать ключи). По аналогии с видом справа могу порекомендовать назначить команде переключения активного окна на вид сзади комбинацию клавиш Alt+k.



Согласование перспективы фонового изображения и сцены


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

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

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




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

1. Создайте или загрузите готовую сцену, которую необходимо визуализировать на фоне, имитируемом растровой картой текстуры внешней среды.

2.   После установки растровой текстуры фона включите режим тонированного показа сцены в окне камеры. Выделите камеру и установите флажок Show Horizon (Показать горизонт) в свитке параметров камеры на командной панели Modify (Изменить). В окне камеры появится линия горизонта, как показано на рис. 15.36.



Рис. 15.36. Линия горизонта камеры отображается в окне проекции, но перспективная проекция объекта еще не согласована с фоном

3. Щелкните на кнопке Orbit Camera (Облет камерой) или на кнопке Pan Camera (Панорамирование камерой), которые располагаются среди кнопок управления окнами проекций. Щелкните в окне камеры и перетаскивайте курсор, пока линия горизонта камеры не совпадет с линией горизонта фона, как показано на рис. 15.37.



Рис. 15.37. Линия горизонта камеры совмещена с линией горизонта фона, а перспективная проекция объекта согласована с фоном