Что такое ЗD-графика и анимация
ActiveShade — визуализация в окне проекции
При выполнении итоговой визуализации сцены можно настраивать огромное число параметров, сосредоточенных в окне диалога Render Scene (Визуализация сцены), с которым мы познакомимся в следующем разделе. Однако составить общее впечатление о том, как будет выглядеть выходное изображение, можно вообще без всякой предварительной настройки, если воспользоваться режимом ActiveShade (Активная раскраска). Этот режим можно включить или в отдельном окне, которое допускается перемещать в любое место экрана max 7.5, или в одном из окон проекций. В то же время нужно помнить, что max 7.5 не позволяет включать режим активной раскраски более чем в одном окне проекции или одновременно в окне проекции и в отдельном плавающем окне.
| ЗАМЕЧАНИЕ Разумеется, параметры визуализации сцены в режиме ActiveShade (Активная раскраска) тоже можно настраивать, о чем речь пойдет ниже в разделе «Учимся настраивать параметры визуализации». Однако их гораздо меньше, чем параметров итоговой визуализации, и все их на первых порах можно оставлять в исходном состоянии. |
Что дает использование режима ActiveShade (Активная раскраска)?
Возможность автоматического обновления визуализированной картинки при изменении условий освещения сцены или смене материалов визуализируемых объектов. Вместе с тем, чтобы не «тормозить» работу программы, автоматическое обновление изображения в окне активной раскраски не производится после перемещения объектов или применения к ним модификаторов. В этих случаях повторную визуализацию необходимо запустить вручную, используя команды четвертного меню, рассматриваемого ниже.
Сокращение времени по сравнению с этапом итоговой визуализации за счет некоторых упрощающих допущений, не оказывающих сколько-нибудь существенного влияния на качество изображения. Так, для полноценной визуализации изображения сцены, показанного ранее на рис. 15.2, компьютеру Penium-4/2000 с 512 Мбайт памяти требуется 15 с, а в окне ActiveShade (Активная раскраска) тех же размеров визуализация продолжается чуть более 9 с, причем на глаз отличия в качестве практически незаметны.
Если в составе сцены имеются выделенные объекты, то обновление изображения в режиме активной раскраски будет производиться только для этих объектов, что в значительной мере ускоряет визуализацию. Выделять объекты можно даже непосредственно в окне проекции, в котором включен режим активной раскраски. В окне активной раскраски допускается выделять прямоугольную область. Если такая область обозначена, то обновление картинки производится только для данной области, что также ускоряет перерисовку.
Активная раскраска сцены выполняется в два этапа: инициализация {Initialize) и обновление {Update). На этапе инициализации производится подготовка к раскраске всех объектов сцены с учетом их преобразований и модификаторов, выполняется анализ текстур и материалов и формируется буфер кадра, оптимизированный для визуализации с максимальной скоростью. Если в геометрическую модель сцены были внесены какие-то изменения (например, некоторые объекты были передвинуты на новые места), необходимо запускать повторную инициализацию активной раскраски сцены.
В ходе обновления на основе сформированного при инициализации буфера кадра выполняется изменение цвета каждого пикселя изображения. Если в геометрии сцены не было сделано никаких изменений, а выполнялась только настройка параметров осветителей или материалов, для получения готовой картинки достаточно запустить только этап обновления.
Активизация привязок
Ни один из режимов привязки не будет действовать, пока он не активизирован, то есть пока не нажата соответствующая кнопка группы переключателей привязок, расположенных на главной панели инструментов max 7.5 и показанных на рис. 3.28.

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

3D Snap (Трехмерная привязка) — привязка, выбираемая по умолчанию и позволяющая точно выравнивать новые объекты по узлам сеток или другим заданным элементам геометрии сцены во всех трех измерениях одновременно. Панель этой кнопки содержит еще два инструмента: 2.5D Snap (Полуобъемная привязка) и 2D Snap (Двумерная привязка).

2.5D Snap (Полуобъемная привязка) — включает режим привязки к заданным элементам геометрии в текущей координатной плоскости, а кроме того, обеспечивает привязку курсора к проекциям на текущую плоскость тех элементов объектов, которые выбраны для привязки на вкладке Snaps (Привязки) и расположены над или под плоскостью. Иными словами, если в качестве объекта привязки выбраны вершины геометрических моделей, то привязка в текущей координатной плоскости будет происходить ко всем вершинам, лежащим на этой плоскости, и всем проекциям на эту плоскость остальных вершин объектов сцены.

2D Snap (Двумерная привязка) — включает режим пространственной привязки курсора только в плоскости координатной сетки текущего окна проекции. Например, в окне проекции Тор (Вид сверху) такой плоскостью является плоскость XY. Если в качестве рабочей поверхности используется вспомогательный объект-сетка, то двумерная привязка действует и на этой вспомогательной поверхности.

Angle Snap (Угловая привязка) - включает режим, ограничивающий возможность поворота объектов фиксированными значениями угла с шагом, заданным на вкладке Options (Параметры) окна диалога Grid and Snap Settings (Настройка сетки и привязок). По умолчанию шаг приращения угла равен 5°. Действие данного режима распространяется на все операции, связанные с поворотами объектов.

Percent Snap (Процентная привязка) — включает режим, задающий фиксированную величину приращения в любой операции, где используются процентные задания параметров, например при масштабировании объектов. Величина шага приращения задается, как и в предыдущем случае, на вкладке Options (Параметры) окна диалога Grid and Snap Settings (Настройка сетки и привязок). По умолчанию шаг приращения равен 10 %.

Spinner Snap (Привязка приращений счетчиков) - управляет режимом установки фиксированных приращений параметров во всех счетчиках max 7.5. Величина шага приращения устанавливается на вкладке General (Общие) окна диалога Preference Settings (Настройка параметров). По умолчанию шаг равен 1,0.
Если после активизации привязки выбрать один из комбинированных инструментов выделения и преобразования объектов - Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть), Select and Uniform Scale (Выделить и равномерно масштабировать) — или включить режим построения объектов max 7.5 и переместить курсор в активное окно проекции, то при приближении курсора к каждой точке, к которой возможна привязка, над этой точкой будет возникать значок привязки ярко-голубого цвета, как показано на рис. 3.29.

Рис. 3.29. Значок привязки к узлам сетки координат
Алгоритм переноса излучения Radiosity
Алгоритм расчета глобальной освещенности Radiosity (Перенос излучения) также базируется на технике обратной трассировки лучей. Однако в отличие от алгоритма Light Tracer (Трассировщик света) он использует иной метод выбора точек сцены, из которых испускаются пучки отраженных лучей. При выборе таких точек алгоритм отталкивается не от плоской проекции сцены, а непосредственно от самих объектов. Источниками отраженных лучей считаются треугольные грани, из которых состоят сетки геометрических моделей объектов сцены. В связи с этим, как правило, требуется производить дополнительное разбиение сеток геометрических моделей, если их грани слишком велики, а число граней мало. Подобное разбиение может выполнять сам алгоритм переноса излучения или его можно произвести с помощью модификатора Subdivide (Разбиение). В результате разбиения формируется набор элементов (elements) поверхностей, каждый из которых имеет форму, максимально приближенную к форме равнобедренного треугольника.
Принципиальное отличие алгоритма переноса излучения от алгоритма трассировщика света состоит в том, что вместо расчетов цвета каждого пикселя изображения он производит расчет освещенностей всех поверхностей объектов сцены при заданном расположении источников света. В процессе расчетов освещенность каждого элемента рассчитывается как сумма освещенности прямыми лучами от источников света и лучами, отраженными от всех остальных элементов геометрических моделей сцены. За счет многократных отражений происходит как бы перенос световой энергии от элемента к элементу, от объекта к объекту — перенос излучения. Рассчитанные значения освещенности сохраняются в том же файле, что и геометрическая модель сцены, как свойство каждого геометрического элемента поверхности.
Расчет освещенности занимает довольно много времени. Однако результаты таких расчетов оказываются независимыми от угла, под которым мы рассматриваем сцену. Действительно, ни размер элементов поверхностей, ни углы падения на них прямых световых лучей от источников света и лучей, отраженных от других элементов, не зависят от направления наблюдения. В итоге, один раз выполнив расчет глобальной освещенности сцены методом переноса излучения, мы можем без особых хлопот быстро производить визуализацию множества изображений, свободно перемещая камеру в пределах этой сцены. Это позволяет экономить огромное количество времени. Необходимость в повторном расчете глобальной освещенности возникает только после смены взаимных положений объектов и осветителей, замены материалов, изменении силы света осветителей или ее пространственного распределения.
Перечислим некоторые особенности алгоритма Radiosity (Перенос излучения):
более сложен в использовании, требует специальной подготовки геометрических моделей объектов трехмерных сцен, а также тщательной настройки свойств материалов;
позволяет рассчитывать глобальную освещенность сцены с применением источников света любого типа, как стандартных, так и фотометрических, причем использование последних обеспечивает предсказуемость и физическую корректность результатов;
предпочтителен для использования в задачах, где важен реальный анализ освещенности, таких как архитектурное моделирование или конструирование интерьеров. Наиболее подходит для использования при расчете освещенности сцен внутри помещения;
результат расчетов глобальной освещенности не зависит от ракурса съемки, так что после однократного расчета, если состав объектов сцены и осветителей не менялся, можно выполнять визуализацию изображения сцены с любого ракурса без дополнительных затрат времени;
результаты расчетов глобальной освещенности видны в окнах проекций.
Расчет глобальной освещенности методом переноса излучения — дело тонкое, требующее настройки довольно большого числа параметров. В ряде случаев оказывается даже не обойтись без дополнительной настройки свойств отдельных объектов применительно к их участию в расчетах глобальной освещенности. Такая настройка выполняется на вкладке Adv. Lighting (Улучшенное освещение) окна диалога Object Properties (Свойства объекта), которое вызывается по команде Properties (Свойства) четвертного меню. Она может состоять в том, что некоторые объекты вообще исключаются из расчетов переноса излучения или для них, напротив, назначается какое-то дополнительное количество уточняющих шагов работы алгоритма. Для отдельных объектов можно устанавливать индивидуальные значения размера элементов, на которые программа разбивает сетку для расчета освещенности, указывать, будет ли объект воспринимать освещенность, переносимую на него с других объектов сцены и т. п. Иногда приходится корректировать способность объектов отражать, пропускать или преломлять световые лучи с помощью материала Advanced Lighting Override (Замена свойств улучшенного освещения).
Впрочем, я пишу эту книгу не для того, чтобы пугать вас сложностями. Разобрались с моделированием геометрии, со стандартным освещением, разберемся и с переносом излучения. Как вы сможете убедиться в ходе выполнения следующего упражнения, не боги... излучение переносят. Попробуем реализовать расчет переноса излучения на практике, выполнив упражнение с той же самой сценой «МАХ-кафе», а дальше, глядишь, любимым методом проб и ошибок вы научитесь делать такие расчеты лучше меня.
Алгоритм трассировщика света Light Tracer
Алгоритм расчета глобальной освещенности Light Tracer (Трассировщик света) использует технику так называемой обратной трассировки воображаемых световых лучей, отраженных от поверхностей объектов сцены. Обратной такая трассировка называется потому, что пути лучей прослеживаются не от источника света к объективу камеры, а, наоборот, от объектива камеры в сторону источника. Это позволяет избежать бесчисленного возрастания числа просчитываемых лучей. Принцип действия трассировщика света основывается на разбиении плоской проекции трехмерной сцены, наблюдаемой в окне перспективной проекции или окне виртуальной съемочной камеры, на элементарные участки, для каждого из которых рассчитывается освещенность. При этом сначала разбиение выполняется на участки равных размеров, затем определяются так называемые проблемные области — кромки предметов, затененные элементы, участки с высоким контрастом яркости, — для которых выполняется дополнительное разбиение с более мелким шагом. Из точек трехмерной сцены, соответствующих центрам каждого участка разбиения, испускаются пучки случайным образом ориентированных воображаемых лучей. Освещенность каждого элементарного участка рассчитывается как сумма освещенности прямыми лучами света от источника и освещен-ностей других объектов сцены, которых достигли испускаемые из центра участка лучи. Если ни один из лучей не достиг ни источника света, ни других объектов сцены, считается, что участок в тени или освещен только светом небосвода. Так как процесс трассировки реализуется как случайный, то на изображении могут возникать неоднородности в виде мелких пятен, которые устраняются за счет увеличения числа рассчитываемых лучей.
Результаты расчетов существенно зависят от угла наблюдения сцены, потому что он влияет на расположение расчетных точек и на размеры областей поверхностей объектов, соответствующих элементарным участкам изображения.
Алгоритм Light Tracer (Трассировщик света) может рассчитывать многократные отражения световых лучей, что ведет к улучшению качества изображения, но существенно увеличивает время визуализации. Обычно бывает достаточно реализовать двукратные или трехкратные отражения, однако это количество сильно зависит от особенностей конкретной сцены и должно подбираться опытным путем.
Алгоритм расчета глобальной освещенности Light Tracer (Трассировщик света) имеет следующие особенности:
прост в использовании, не требует настройки большого числа параметров, позволяя во многих случаях использовать исходные значения;
позволяет рассчитывать глобальную освещенность сцены с применением источников света любого типа, как стандартных, так и фотометрических, однако использование последних не обеспечивает в данном случае никаких преимуществ;
дает визуально правдоподобные результаты, хотя и не основывается на физически корректных принципах;
наиболее пригоден для визуализации сцен на открытом воздухе, но годится и для расчетов сцен в помещениях;
результат расчетов освещенности зависит от ракурса съемки, и при перемещении камеры вычисления должны выполняться заново.
Архитектурные объекты
Объекты групп Doors (Двери), Windows (Окна), АЕС Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) и Stairs (Лестницы) перекочевали в max 7.5 из программы Autodesk VIZ. Эти объекты предназначены для быстрого создания разнообразных архитектурных элементов. Они очень помогают тем, кто использует max 7.5 для архитектурной визуализации, так как достаточно сложные объекты, на моделирование которых мог уйти не один час, теперь создаются так же, как обычные примитивы — несколькими щелчками мыши и перемещениями курсора. Полагаю, что вы без труда освоите создание этих объектов, используя приемы, рассмотренные выше. Итак, в max 7.5 имеется три типа дверей:
Pivot (Поворотная) — служит для построения дверей наиболее распространенного типа. С одной стороны створки дверей такого типа закреплены на петлях, на которых поворачиваются при открывании. Этот объект, как и другие объекты этой группы, может быть анимирован.
BiFold (Раскладная) — позволяет строить двери, створки которых открываются, складываясь, как гармошка.
Sliding (Раздвижная) — дает возможность создавать раздвижную дверь. Такая дверь состоит из двух элементов, первый из которых неподвижен, а второй отодвигается в сторону, открывая проход.
Окна в mах 7.5 представлены шести различных типов:
Awning (Навесное) — позволяет построить окно, которое имеет одну или несколько поворотных рам, вращающихся при открывании вокруг своих верхних перекладин.
Casement (Створчатое) — дает возможность создать окно с одной или двумя рамами, которые закреплены по бокам. Рамы такого окна открываются в стороны.
Fixed (Фиксированное) — позволяет создать окно, которое вообще не открывается. На такое окно можно также добавить решетку.
Pivoted (Поворотное) — окно, созданное при помощи этого объекта, имеет раму, которая закрепляется посередине с двух сторон. При открытии окна рама поворачивается вокруг своей оси по горизонтали или вертикали.
Projected (Распашное) — это, наверное, самый сложный из всех типов окон. Окно этого типа поделено на три части. При этом верхняя рама не двигается, а две остальные открываются подобно навесному окну каждая в свою сторону.
Sliding (Раздвижное) — такой объект служит для построения окна, имеющего две рамы, одна из которых подвижная, а вторая — закрепленная. Открывается такое окно точно так же, как и раздвижная дверь, однако, в отличие от двери, на окне рамы могут раздвигаться как по вертикали, так и по горизонтали.
В группу AEC Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) входят объекты следующих типов:
Foliage (Растительность) — дает возможность создавать деревья и кустарники самых разных пород, от елей до тропических пальм.
Railing (Ограждение) — позволяет создавать ограждения разных типов. Этот объект можно использовать для построения заборов или для создания перил.
Wall (Стена) — служит для создания стен — основных элементов любого помещения. Как вы уже смогли убедиться, стены можно построить и при помощи обычных параллелепипедов, однако при помощи этого объекта создавать их в ряде случаев гораздо удобнее. Если при построении стен из параллелепипедов каждая стена представляет собой отдельный объект, то при использовании объекта Wall (Стена) можно построить все четыре стены дома или, скажем, стенки лабиринта любой сложности при помощи лишь одного объекта.
В группу Stairs (Лестницы) входят следующие объекты:
L-Type Stair (L-образная лестница) — позволяет создавать лестницу с двумя проемами, которые находятся под прямым углом относительно друг друга.
Straight Stair (Прямая лестница) — дает возможность построения простой прямой лестницы. На такой лестнице можно управлять наличием перил, опорной балки, расположением опорной балки относительно пола.
Spiral Stair (Винтовая лестница) — самый оригинальный тип лестниц, поднимающихся вверх по спирали. При желании вы можете добавить на лестницу перила, опорную балку и другие элементы.
U-Type Stair (U-образная лестница) — позволяет создавать лестницу с двумя проемами, которые располагаются параллельно друг другу. Такие лестницы обычно используются в многоэтажных домах.
Библиотеки материалов
Мах 7.5 хранит описания материалов, используемых в конкретных сценах, вместе с описаниями этих сцен в файлах с расширениями .max. Однако можно хранить наборы материалов отдельно от сцен — в виде библиотек материалов. Библиотека материалов представляет собой набор параметров, описывающих свойства входящих в нее материалов. Она может содержать неограниченное количество таких описаний. Готовый материал из библиотеки можно загрузить в любую сцену и назначить его любому объекту, а затем произвести дополнительную настройку параметров материала в соответствии с особенностями текущей сцены. Именам файлов, в которых хранятся библиотеки материалов, присваивается расширение .mat. Для работы с библиотеками служит окно диалога Material/Map Browser (Просмотр материалов и карт текстур), рассматриваемое ниже.
В комплект поставки max 7.5 входит ряд файлов библиотек материалов, основной из которых является библиотека 3dsmax.mat. Библиотеки материалов имелись и в составе предыдущих версий 3ds max. Довольно много свободно распространяемых библиотек материалов для данной программы можно найти в сети Интернет. Загрузив тот или иной готовый материал из библиотеки, можно изучить значения параметров, настроенные мастерами 3ds max. На мой взгляд, это отличный способ научиться самому создавать захватывающие дух материалы.
Благодарности
Книга — во многом плод коллективного труда. В связи с этим автор считает своим долгом выразить глубокую благодарность Екатерине Строгановой, главному редактору издательства, за постоянную поддержку замыслов и идей; Юрию Суркису, главному координатору команды, работавшей над книгой, а также всем остальным сотрудникам издательства «Питер», вложившим свой труд в подготовку и выпуск этого издания.
Кроме того, автор благодарен всем читателям, которые присылали свои замечания или отзывы на книгу, не всегда лестные, но всегда полезные, в компьютерную редакцию издательства «Питер» и лично автору.
Блокировка и разблокирование объектов
Для предотвращения случайных преобразований объектов сцены в max 7.5 предусмотрена возможность блокировки объектов. Заблокированные объекты нельзя ни изменить, ни даже выделить до тех пор, пока они не будут разблокированы. Когда объект заблокирован, он окрашивается в характерный цвет (серый для геометрических моделей, синий для источников объемных деформаций). Команды блокировки объектов имеются как на командной панели Display (Дисплей), так и в палитре Display Floater (Плавающая палитра Дисплей).
Чтобы заблокировать или разблокировать объекты с помощью командной панели Display (Дисплей), выполните следующие действия:
1. Щелкните на корешке командной панели Display (Дисплей) и разверните свиток Freeze (Заблокировать), показанный на рис. 4.19.

Рис. 4.19. Свиток Freeze командной панели Display содержит набор инструментов для блокировки и разблокирования объектов
2. Чтобы заблокировать отдельные объекты, используйте следующие кнопки свитка:
Freeze Selected (Заблокировать выделенные) — защищает от воздействий все выделенные объекты сцены;
Freeze Unselected (Заблокировать невыделенные) — защищает от воздействий все невыделенные объекты текущей сцены;
Freeze by Name (Заблокировать по имени) — вызывает окно диалога Freeze Objects (Блокировка объектов), помогающее выбрать объекты, которые требуется защитить от воздействия, по их именам. Это окно диалога полностью аналогично окну диалога Select Objects (Выделение объектов), подробно рассмотренному выше. Выделите имена нужных объектов в списке окна диалога и щелкните на кнопке Freeze (Заблокировать);
Freeze by Hit (Заблокировать по указанию) — позволяет заблокировать тот объект, на котором будет выполнен щелчок кнопкой мыши.
3. Чтобы разблокировать заблокированные объекты, щелкните на одной из следующих кнопок свитка Freeze (Заблокировать):
Unfreeze All (Разблокировать все) — позволяет разблокировать все объекты сразу;
Unfreeze by Name (Разблокировать по имени) — позволяет разблокировать отдельные объекты по именам, вызывая с этой целью окно диалога Unfreeze Objects (Разблокирование объектов), которое практически не отличается от окна Freeze Objects (Блокировка объектов). Выделите в списке окна диалога имена нужных объектов и щелкните на кнопке Unfreeze (Разблокировать);
Unfreeze by Hit (Разблокировать по указанию) — позволяет разблокировать тот объект, на котором будет выполнен щелчок кнопкой мыши.
Чтобы заблокировать или разблокировать объекты с помощью палитры Display Floater (Плавающая палитра Дисплей), проделайте следующее:
1. Выберите команду меню Tools > Display Floater (Сервис > Плавающая палитра Дисплей). На экране появится палитра Display Floater (Плавающая палитра Дисплей).
2. Чтобы выборочно заблокировать отдельные объекты или освободить их, используйте кнопки из разделов Freeze (Заблокировать) и Unfreeze (Разблокировать) вкладки Hide/Freeze (Скрыть/Заблокировать) плавающей палитры. Состав элементов управления этих разделов практически не отличается от состава свитка Freeze (Заблокировать) командной панели Display (Дисплей).
|
СОВЕТ Команды Freeze Selection (Заблокировать выделенное) и Unfreeze All (Разблокировать все) имеются также в разделе display (дисплей) четвертного меню, вызываемого по щелчку правой кнопкой мыши в окне проекции. |
Блокировка набора выделенных объектов
Бывают ситуации, когда для преобразования выделены несколько малоразмерных объектов. Пытаясь выполнить преобразование, вы можете щелкнуть кнопкой мыши, случайно сдвинув курсор в сторону, и сбросить тем самым выделение объектов. Чтобы исключить подобные ситуации, применяют блокировку наборов выделенных объектов.
Для блокировки выделенного набора объектов выполните следующие действия:
Выделите любым способом набор нужных объектов.

Щелкните па кнопке Lock Selection Set (Блокировка выделенного набора) со значком в виде замка в строке состояния в нижней части экрана шах 7.5. Кнопка подсвечивается желтым цветом, указывающим на активность режима блокировки.
| СОВЕТ Включение/выключение режима блокировки набора выделенных объектов удобно выполнять просто последовательным нажатием клавиши Пробел. |
После включения режима блокировки набора выделенных объектов его нельзя изменить ни путем выделения новых объектов, ни путем сброса выделения объектов, входящих в набор, пока блокировка не будет снята повторным щелчком на кнопке Lock Selection Set (Блокировка выделенного набора). Для преобразования заблокированного набора объектов необязательно указывать курсором на один из выделенных объектов набора. Достаточно щелкнуть на любой точке окна проекции и выполнять преобразование.
Булевские объекты
Объекты типа Boolean (Булевские) создаются за счет применения к оболочкам двух трехмерных тел одной из трех операций булевой алгебры: объединения {union), вычитания (subtraction) или пересечения (intersection). Оболочки исходных тел, участвующих в булевской операции и называемых операндами (operands), обязательно должны пересекаться. Из двух объектов, участвующих в булевской операции, один должен быть выделен до ее начала (операнд А), а другой (операнд В) указывается в ходе операции.
Быстрое копирование материалов и их отдельных параметров
Создание материалов, подбор различных параметров для них — процесс интересный, но достаточно трудоемкий. Именно поэтому в mах 7.5 есть удобная возможность копирования материалов. Если в вашей сцене планируется использовать два или более материалов, которые имеют схожие настройки, не обязательно создавать каждый из таких материалов «с нуля». Можно просто скопировать созданный для одного из объектов материал, подправить некоторые параметры и использовать для другого объекта. Для копирования материала щелкните левой кнопкой мыши на ячейке того материала, который необходимо скопировать. Не отпуская кнопку мыши, перетащите курсор к ячейке, в которую вы хотите скопировать материал. Отпустите кнопку мыши. Такой способ копирования является очень удобным.
Способ копирования методом «перетащить и положить» можно использовать не только для материалов, но и для их отдельных параметров. Например, очень удобно копировать цвет, перетаскивая его с одного цветового образца на другой. Это гораздо быстрее, чем открывать окно Color Selection (Выбор цвета) и устанавливать числовые значения каждого из трех составляющих цвета.
Приступим к практической обработке навыков создания материалов с использованием нашего основного графического проекта «МАХ-кафе».
Быстрое выравнивание
Если необходимо произвести выравнивание по опорным точкам объектов, окно Align Selection (Выравнивание выделения) можно и не вызывать. Начиная с седьмой версии в 3ds max появилась опция Quick Align (Быстрое выравнивание), с помощью которой можно выполнить выравнивание быстрее, чем обычным способом.
Для быстрого выравнивания объектов выполните следующие действия:
1.

Выделите объект или несколько объектов, которые должны быть выровнены, после чего выберите команду меню Tools > Align (Сервис > Выровнять). Курсор приобретает вид значка на кнопке инструмента.
2. Назначьте опорный объект, для чего установите на него курсор и, когда возле курсора появится перекрестие, как показано на рис. 4.46, щелкните кнопкой мыши.

Рис. 4.46. Перекрестие курсора указывает на возможность быстрого выравнивания
Чайник
Вы уже пробовали создавать объект, представляющий собой чайник для заварки с ручкой, крышкой и носиком. Теперь вам предстоит узнать, что этот примитив может служить основой для создания целого набора предметов посуды.
Четвертные меню
Четвертные меню {quad menu) пришли в max 7.5 на смену обычным контекстным меню, вызываемым по щелчку правой кнопкой мыши в любой точке активного окна проекции, кроме его заголовка. Своим несколько неуклюжим (по крайней мере, в данном переводе) названием эти меню обязаны тому, что могут содержать от одного до четырех полей команд, размещающихся как бы в четырех четвертях области окна с центром в точке расположения курсора и снабженных заголовками темно-серого цвета, как показано на рис. 2.16.

Рис. 2.16. Четвертное меню, состоящее из четырех полей, с раскрытым подменю Convert To
Состав команд меню зависит от контекста, то есть от конкретной ситуации, в которой произведено обращение к ним. Эта ситуация определяется тем, имеются ли в окнах проекций выделенные объекты и какого они типа, а также тем, была ли в момент вызова меню нажата одна из префиксных клавиш Ctrl, Alt или Shift.
Если ни одна из префиксных клавиш в момент щелчка правой кнопкой мыши не была нажата, то в двух правых полях меню будут размещаться группы команд display (дисплей) и transform (преобразование ).В одном или двух левых полях меню при этом могут помещаться группы команд tools (инструменты), представляющие собой наборы инструментов для редактирования и настройки выделенного объекта, состав которых зависит от его типа.
Если при щелчке правой кнопкой мыши удерживать клавишу Shift, то появляется одиночное меню snap (привязка) с набором команд управления привязками, то есть специальными средствами фиксации положения курсора в трехмерном пространстве, о которых вы узнаете в главе 3, «Осваиваем настройку max 7.5 и работу с файлами».
Если при щелчке правой кнопкой мыши удерживать клавишу Ctrl, то наряду с группами команд tools (инструменты) и transform (преобразование) появится меню primitives (примитивы) с набором команд создания некоторых стандартных объектов геометрической модели сцены.
Удержание в момент щелчка правой кнопкой мыши клавиши Alt ведет к появлению меню с четырьмя полями команд: transform (преобразование), pose (поза), coordinates (координаты) и set (задать), помогающих выполнять анимацию трехмерной сцены методом ключей, о котором вы узнаете в главе 16, «Пробуем выполнять анимацию объектов».
Если удерживать клавиши Ctrl+Alt, то при наличии выделенного набора объектов появится меню из двух полей — render (визуализация) и tools (инструменты) — с группами команд управления визуализацией сцены.
Многие команды четвертных меню являются просто дубликатами аналогичных команд основного меню или инструментов, помещающихся на командных панелях или панелях инструментов max 7.5.
С отдельными командами четвертных меню мы будем знакомиться по мере необходимости.
можно подвергать анимации преобразования
В max 7. 5 можно подвергать анимации преобразования всех объектов, подобъектов и габаритных контейнеров, а также большую часть параметров объектов, модификаторов, материалов и атмосферных эффектов. Образно говоря, проще перечислить те параметры и функции mах 7.5, которые анимации не допускают.
Что можно сделать из простой коробки?
В отличие от великого Родена, который творил свои скульптуры, отсекая все лишнее от прямоугольной глыбы мрамора, будем лепить объекты из прямоугольного блока, как из бруска пластилина.
Сейчас вам предстоит выполнить два упражнения, в ходе работы над которыми вы познакомитесь с базовыми приемами моделирования трехмерных тел произвольной формы на основе примитива Box (Параллелепипед).
Что находится на компакт-диске
Помимо уже упомянутых файлов моделей трехмерных сцен на компакт-диске, сопровождающем книгу, вы сможете найти еще много полезных вещей, которые, будем надеяться, помогут в освоении трехмерной графики и анимации.
Следует сделать отдельное замечание об именах файлов. На компакт-диске, сопровождавшем одну из моих прежних книг, файлы имели наименования на русском языке, записанные кириллицей. Это вызвало ряд нареканий со стороны читателей, эксплуатирующих оригинальные нерусифицированые версии операционной системы Windows и испытывающих сложности с загрузкой файлов, имеющих кириллические имена. В связи с этим на компакт-диске, сопровождающем данную книгу, файлы поименованы хотя и на русском языке, но с записью имен буквами латинского алфавита. Автор приносит свои извинения за возможные неточности, которые могли возникнуть в процессе вынужденного «смешения английского с нижегородским» при побуквенном воспроизведении русских наименований файлов в латинском алфавите.
Итак, компакт-диск содержит следующие папки:
\Scenes
- файлы моделей сцен 3ds max 7.5, расположенные в отдельных папках по главам книги. Помимо файлов сцен, необходимых для выполнения упражнений, в эти папки помещены еще файлы сцен, по которым построены отдельные рисунки и демонстрационные анимации. Загрузив любой из таких файлов в программу 3ds max 7.5, можно посмотреть на значения параметров, использованных при создании сцены, или взять ее за основу собственной разработки;
\lmages
- файлы изображений, содержащие полноцветные варианты отдельных иллюстраций, которые на страницах книги представлены только в черно-белом виде;
\Animations
— файлы анимаций из упражнений глав 16 и 17, сохраненные в формате .avi, а также демонстрационные примеры анимаций сцен из других уроков. Демонстрационные анимации построены на том материале, который является предметом обсуждения в соответствующей главе. Цель этих демонстрационных анимаций - показать, что в 3ds max 7.5 можно «оживить» практически все, что угодно, причем почти безо всяких усилий. Для каждой анимации из папки \Animations в папку \Scenes помещены файлы описаний сцен 3ds max 7.5, реализующих эти анимации. Имена файлов сцен совпадают с именами файлов анимаций;
\Meshes
— сетчатые модели различных объектов, которые можно включать в состав собственных графических проектов;
\Maps
— образцы текстур, которые можно использовать при создании собственных материалов;
\Matlibs
— библиотеки материалов для 3ds max 7.5, включая библиотеку всех материалов, использованных в упражнениях книги;
\Resources
— файлы ресурсов Интернета в формате html, содержащие действующие ссылки на множество web-узлов, посвященных трехмерной графике в целом и программе 3ds max в частности (будем надеяться, что основная часть этих ссылок не устареет до момента появления книги на вашей полке). На этих узлах вы сможете найти дополнительные модули для программы 3ds max 7.5, образцы текстур и библиотеки материалов, учебные пособия по использованию программы, советы знатоков, примеры готовых изображений и анимаций и многое, многое другое...
понимается определенный набор характеристик,
Под материалом в max 7. 5 понимается определенный набор характеристик, присваиваемых поверхности геометрической модели для придания ей визуального сходства с поверхностью реального объекта. К числу таких характеристик, например, относятся:
цвета поверхности объекта в областях зеркального блика, тени и так называемого диффузного рассеивания;
размер и яркость блика;
степени самосветимости и непрозрачности;
тип непрозрачности и цвет света, пропущенного полупрозрачным объектом как светофильтром;
значение коэффициента преломления лучей света в прозрачном материале и т. п.
|
ЗАМЕЧАНИЕ Создать материал — это и означает задать числовые значения названным выше и всем остальным параметрам материала. Так как параметров достаточно много, существует огромное количество их возможных комбинаций, а значит, можно создать великое множество разных материалов одного и того же типа. |
Что представляют собой трехмерные объекты
Для нашего глаза трехмерные объекты выглядят на экране дисплея «как настоящие», а что они представляют собой с точки зрения компьютера? Что бы ни изображали собой трехмерные объекты, будь то скалистые горы, вода в реке, доисторический ящер, рыцарь в доспехах или трава на лужайке, — все это лишь пустотелые, не имеющие физической толщины оболочки. Эти оболочки становятся видимыми только благодаря тому, что программа 3ds max 7.5 умеет рассчитывать, как от каждой их точки отражаются в направлении глаза наблюдателя воображаемые световые лучи, испускаемые заданными в составе сцены источниками света. Рассмотрим устройство оболочек объектов более подробно.
Что такое анимация по методам прямой и обратной кинематики
При анимации персонажей и механических устройств бывает необходимо произвести анимацию преобразования некоторого объекта и сделать так, чтобы другие объекты повторяли это преобразование. Если, к примеру, поворачивается плечевая часть руки персонажа, то нужно, чтобы предплечье, кисть и пальцы перемещались вслед за плечом. Этого можно добиться, если связать отдельные объекты между собой, сформировав иерархические цепочки (links). Объект, связываемый с другим, становится дочерним, или объектом-потомком, а объект, с которым ведется связывание, превращается в родительский объект-предок. Анимацию преобразования части иерархической цепочки можно распространить в двух направлениях: вверх по цепочке, к ее началу, или вниз, к концу цепочки. По умолчанию при анимации связанных объектов действует метод прямой кинематики (Forward Kinematics), при котором преобразования передаются вниз по цепочке, от объектов-предков к потомкам. Поворот руки персонажа в плечевом суставе, вызывающий перемещение предплечья, кисти и пальцев, — пример анимации в режиме прямой кинематики. Если применить к цепочке анимацию по методу обратной кинематики (Inverse Kinematics — IK), то преобразование будет передаваться вверх по цепочке, от объектов-потомков к предкам. Если в режиме обратной кинематики «потянуть» персонаж за ладонь руки (то есть попросту применить к ней преобразование перемещения), то за ладонью потянутся, перемещаясь и поворачиваясь, все ее родительские объекты — сначала предплечье, затем плечо, а потом, когда рука вытянется в струнку, и туловище. Создание анимации по методам прямой и обратной кинематики выходит за рамки нашей книги.
Что такое анимация
Под анимацией сцены в max 7.5 понимается автоматизированный процесс визуализации серии изображений, называемых также кадрами {frames), каждое из которых фиксирует некоторые изменения состояния этой сцены. Эти изменения могут касаться положений объектов или подобъектов, формы объектов, определяемой действием различных модификаторов, свойств материалов объектов (таких как цвет, блеск, прозрачность или самосвечение), состояния внешней среды, представленной дымкой, пламенем или туманом, и многих других компонентов сцены, допускающих анимацию.
| ЗАМЕЧАНИЕ Каждый отдельный кадр анимации ничем не отличается от тех визуализированных изображений трехмерной сцены, с которыми вы уже много раз имели дело в предыдущих главах. Таким образом, создание анимации состоит в многократном автоматическом повторении цикла визуализации изображения сцены в выбранном окне проекции с автоматическим же внесением нужных изменений в эту сцену. |
Что такое трек анимации
Треками анимации {animation tracks) в max 7.5 называют временные диаграммы в виде полосок, тянущихся вдоль шкалы времени, на которых специальными значками отмечены моменты, когда изменяющимся в ходе анимации параметрам объекта (например, координатам положения объекта в пространстве) назначаются новые фиксированные значения. Как вы уже знаете, такие значения называются ключами анимации, поэтому можно говорить о том, что на строке треков значками обозначаются ключи анимации. Для работы с треками и ключами анимации всех объектов в max 7.5 имеется специальное средство — окно диалога Track View (Просмотр треков), представленное двумя своими разновидностями: Curve Editor (Редактор кривых) и Dope Sheet (Диаграмма ключей). В этом окне ключи анимации обозначаются размещенными на треках квадратиками разного цвета, в зависимости от типа анимируемого параметра. Упрощенный доступ к ключам анимации выделенного объекта (объектов) сцены возможен с использованием строки треков, располагающейся в нижней части экрана max 7.5, под окнами проекций. В этой строке ключи анимации также обозначаются квадратиками различного цвета. В окне Track View — Dope Sheet (Просмотр треков — Диаграмма ключей) каждый параметр, подвергаемый анимации, имеет собственный трек. В строке треков все треки совмещаются на единой шкале времени, так что каждый квадратик может обозначать наличие произвольного числа ключей анимации различных объектов, привязанных к одному и тому же моменту времени.
Что такое ЗD-графика и анимация
Первое знакомство с компьютерной ЗD-графикой
Этапы работы над трехмерной сценой
Начальные сведения об анимации
Области применения 3D-графики
Варианты отображения трехмерных объектов
Системы координат 3ds max 7.5
Раскраска объектов трехмерного мира
Итак, мы приступаем к освоению 3ds max 7.5 - одной из лучших и наиболее популярных программ для моделирования трехмерной компьютерной графики или, как ее еще называют, ЗD-графики (от слов «3 Dimensional» — трехмерная). Чем же так привлекательна трехмерная графика, что заставляет множество компаний во всем мире выпускать все новые, более совершенные версии программ для ее моделирования, а множество пользователей — стремиться к их освоению, подобно вам, уважаемый читатель? В первой главе мы постараемся найти ответ на этот вопрос, а также получить те начальные сведения о ЗD-графике, которые послужат более эффективному изучению и практическому усвоению материала последующих глав. Возможно, при этом вам потребуется вспомнить некоторые сведения из школьного курса черчения.
Цилиндр и Цилиндр с фаской
С помощью инструмента Cylinder (Цилиндр) можно создать цилиндр любых пропорций, от тонкой длинной спицы или проволоки до плоского «блина», а также цилиндрический сектор и многогранную призму (рис. 5.22).

Рис. 5.22. Все эти столь разные на вид объекты построены на базе примитива Cylinder
Инструмент ChamferCyl (Цилиндр с фаской) позволяет создать цилиндр, цилиндрический сектор и многогранную призму с фаской, то есть с краями, срезанными под углом в 45°.
Да будет свет!
Искусная настройка света позволяет не только вызвать у зрителя нужный эмоциональный настрой, но даже способна скрыть мелкие огрехи геометрических моделей. В первой главе уже были показаны примеры того, как манипуляция освещением позволяет воссоздать атмосферу и яркого солнечного дня, и дня пасмурного, и темной лунной ночи (см. рис. 1.3 и 1.4). Теперь вам предстоит овладеть навыками создания, расстановки и настройки источников света или, проще говоря, осветителей max 7.5.
Знакомство с виртуальными осветителями max 7.5 начнем, как обычно, с их классификации.
Деформации объектов, созданных методом лофтинга
Трехмерный объект, сформированный методом лофтинга в его стандартном варианте, имеет одинаковое поперечное сечение во всех точках линии пути. Однако истинная сила данного метода заключается в возможности деформации оболочки за счет изменения сечений, располагающихся в различных точках линии пути, в любой момент после того, как оболочка объекта полностью сформирована. Деформация может заключаться в изменении масштаба сечений, в их повороте вокруг линии пути или наклоне по отношению к этой линии.
Для деформации объекта, созданного методом лофтинга, выполните следующие действия:
1. Выделите объект, созданный методом лофтинга, и перейдите на командную панель Modify (Изменить). Разверните свиток Deformations (Деформации), расположенный в самом низу командной панели. В свитке имеются кнопки выбора пяти инструментов деформации: Scale (Масштаб), Twist (Скрутка), Teeter (Качка), Bevel (Скос) и Fit (Подгонка).
2. Щелкните на одной из кнопок инструментов деформаций и настройте форму оболочки с помощью кривых деформации в окне диалога Deformation (Деформация), описываемом ниже.
3. Для включения или выключения воздействия примененной к объекту деформации па его конечный вид щелкните на дополнительной кнопке справа от кнопки с наименованием деформации (эти кнопки снабжены значками в виде лампочки).
Деформируемые тела
Деформируемые тела подразделяются на мягкие тела, ткани, нити и деформируемые сетки.
Мягкие тела (soft bodies) при столкновениях также не проникают друг сквозь друга и сквозь жесткие тела, но при этом деформируются, стремясь восстановить свою форму. Мягкие тела обладают средствами настройки таких физических свойств, как масса, жесткость, демпфирование, влияющее на скорость затухания упругих колебаний, и коэффициент трения.
Ткань (cloth) — это двумерное деформируемое тело, имеющее длину и ширину, но не имеющее толщины и объема, а нить (rope) — это одномерное деформируемое тело, имеющее длину, но не имеющее объема. Если ткань или нить под действием силы тяжести падают на жесткие или деформируемые тела, они не проникают сквозь них, а реалистично изгибаются, не разрываясь, и могут соскальзывать. Модуль reactor (Реактор) позволяет также имитировать реалистичную деформацию тканей и нитей под действием порывов ветра. Для тканей можно задавать такие физические свойства, как масса, относительная плотность, коэффициенты трения и сопротивления воздуха. Для нитей можно задавать такие физические свойства, как масса, кажущаяся толщина, коэффициенты трения и сопротивления воздуха. Ткани и нити можно прикреплять к жестким телам. Можно также фиксировать отдельные вершины сетки, имитирующей ткань, или сплайна, имитирующего нить.
Деформируемая сетка (deformable mesh) — это трехмерный объект, вершины сетчатой оболочки которого уже имеют анимацию па момент начала имитационного моделирования средствами модуля reactor (Реактор). В частности, к разряду деформируемых сеток могут относиться сетки тел трехмерных персонажей, к которым применены средства скелетной деформации с использованием модификатора Skin (Оболочка).
Настройте параметры интерполяции криволинейных сегментов
5. Настройте параметры интерполяции криволинейных сегментов сплайна, то есть автоматической замены их совокупностью прямолинейных отрезков, в свитке Interpolation (Интерполяция):
задайте число точек излома криволинейных сегментов с помощью счетчика Steps (Шагов). Mах 7.5 будет разбивать криволинейные сегменты на прямолинейные отрезки, число которых на единицу больше числа точек излома;
не сбрасывайте установленный по умолчанию флажок Optimize (Оптимальная): это заставляет max 7.5 не разбивать на отрезки прямолинейные сегменты сплайнов. Все криволинейные сегменты используют при этом заданное число шагов;
установите флажок Adaptive (Адаптивная), если хотите заставить программу автоматически подбирать число шагов разбиения для каждого сегмента сплайна, исходя из его кривизны. Установка этого флажка делает невозможным задание числа шагов и включение режима Optimize (Оптимальная).
6. Если требуется сделать сплайн видимым в составе визуализированной сцены, например, если сплайн представляет собой строку текста, изображающую неоновую рекламу, то установите флажок Enable in Renderer (Показать при визуализации) в свитке Rendering (Визуализация). Задайте толщину визуализируемой линии сплайна в счетчике Thickness (Толщина). Форма сечения тела, заменяющего собой линию сплайна, выбирается переключателями Radial (Круглое) и Rectangular (Прямоугольное). По умолчанию установлен переключатель Radial (Круглый), так что линия будет визуализироваться в виде трубки с диаметром, равным параметру Thickness (Толщина), при этом число сторон поперечного сечения такой трубки задается счетчиком Sides (Сторон). Счетчик Angle (Угол) задает угол поворота поперечного сечения относительно продольной оси сплайна. При необходимости применения к линии сплайна материала на основе текстурных карт установите флажок Generate Mapping Coords (Проекционные координаты). Установка флажка Enable in Viewport (Показать в окне проекции) обеспечивает видимость в окнах проекций той сетки, повторяющей форму сплайна, которая будет визуализироваться при установке флажка Enable in Renderer (Показать при визуализации), как показано на рис. 6.4.

Рис. 6.4. Вид сплайна Circle при установке флажка Enable in Renderer в каркасном (слева) и тонированном (справа) виде; Thickness =10
7. Для завершения режима рисования сплайнов щелкните в активном окне проекции правой кнопкой мыши.
Дальнейшие действия различаются в зависимости от тина выбранного сплайна.
Действия по созданию сплайнов любого типа
Чтобы начать создание сплайнов любого типа, выполните следующие действия:
1. Щелкните на кнопке Shapes (Формы) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Splines (Сплайны) или Extended Splines (Улучшенные сплайны). В свитке Object Type (Тип объекта) появятся кнопки с надписями, соответствующими типам сплайнов, как показано на рис. 6.2.

Рис. 6.2. Вид командной панели Create с инструментами создания обычных и улучшенных сплайнов
2. Над кнопками типов объектов в свитке Object Type (Тип объекта) находится кнопка Start New Shape (Начать новую форму), которая по умолчанию заблокирована во включенном (нажатом) состоянии. Если разблокировать ее, сбросив расположенный справа флажок, то все вновь создаваемые сплайны будут принадлежать к одной и той же форме. В этом случае, чтобы начать новую форму, придется щелкнуть на кнопке Start New Shape (Начать новую форму).
| ЗАМЕЧАНИЕ Выражение «две линии принадлежат к одной и той же форме» означает, что ни одна из этих линий не может быть выделена отдельно от другой. При попытке выделить одну линию другая выделяется автоматически. Какую практическую пользу можно извлечь из этого, вы узнаете в дальнейшем, в ходе изучения методов выдавливания и создания сплайновых каркасов. |
3. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся свитки с параметрами выбранного объекта. Как правило, это свитки Rendering (Визуализация), Interpolation (Интерполяция), Creation Method (Метод создания), Keyboard Entry (Клавиатурный ввод) и Parameters (Параметры), как показано для примера на рис. 6.3. Из всей совокупности сплайнов только объекты типа Section (Сечение) и Helix (Спираль) не имеют свитка Interpolation (Интерполяция).

Рис. 6.3. Состав свитков параметров сплайна Circle является типовым
4. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы строить стандартный сплайн от одного края или от одного угла к другому, растягивая его по диагонали. Чтобы построить сплайн от центра, установите переключатель Center (От центра). Некоторые сплайны, например Line (Линия) и Arc (Дуга), имеют иной состав параметров в свитках Creation Method (Метод создания).
Действия в аварийных ситуациях
Программа max 7.5 тестируется целой армией пользователей, а разработчики все время стараются повысить ее надежность. Тем не менее она не застрахована от ошибок, время от времени приводящих к аварийным ситуациям. При обнаружении ошибок, ведущих к неизбежному аварийному завершению работы программы, max 7.5 предпринимает попытку сохранить копию редактируемого файла. Следует, правда, иметь в виду, что срабатывает эта возможность не всегда, так как в ряде случаев аварийные ситуации ведут к полному «зависанию» программы или к ее мгновенному неожиданному завершению.
При возникновении аварийной ситуации появляется окно диалога Application Error (Ошибка приложения), содержащее следующее сообщение: An error has occurred and the application will now close. Do you want to attempt to save a copy of the current scene? (Произошла ошибка и приложение будет закрыто. Хотите попробовать сохранить копию текущей сцены?). Для сохранения щелкните на кнопке Save (Сохранить), для отказа от сохранения и завершения работы — на кнопке Cancel (Отмена).
Вслед за этим сообщением вы также увидите окно 3ds max Error Report, в котором содержится просьба от создателей программы послать им автоматически создаваемое сообщение с описанием проблемы. Для того чтобы послать сообщение, нажмите кнопку Send Report (Послать отчет), для отказа нажмите кнопку Don't Send (He посылать).
Копия файла сохраняется в папке autobak, вложенной в папку с программным обеспечением max 7.5, под исходным именем, к которому добавляется слово _recover. Например, сцена MAX-kafe.max будет сохранена под именем MAX-kafe_ recover.max.
Файлы сцен, сохраненные при аварийном завершении работы программы, могут иметь дефекты. Например, могут быть потеряны модификаторы некоторых объектов или утрачены отдельные ключи анимации. В связи с этим не стоит рассчитывать на сохранение аварийной копни — лучше чаще выполнять сохранение сцены или сохранение с инкрементированием имени.
Как я уже говорил, система аварийного сохранения файла срабатывает не всегда. Да и сами аварийные ситуации могут возникать не только из-за ошибок программы, операционной системы или самого пользователя. Скажем, в самый кульминационный момент, после многих часов редактирования, когда вы уже занесли палец над кнопкой, чтобы сохранить сцену, может просто погаснуть свет. Если такое произойдет, не отчаивайтесь! В max 7.5 по умолчанию выполняется автоматическое сохранение файла каждые 5 минут.
Резервные копии файла сохраняются в уже упомянутой папке autobak, вложенной в папку с программным обеспечением max 7.5, под именами autobakl.max, autobak2.max и autobak3.max. После этого вновь создается файл autobakl.max, замещающий собой предыдущий и т. д.
Так что если произошла авария в работе, не позволившая сохранить редактируемый файл, запустите max 7.5, выберите команду меню File > Open (Файл > Открыть) и перейдите в папку autoback. Щелкните в окне открытия файла правой кнопкой мыши и выберите в появившемся меню команду упорядочивания файлов по времени изменения. После этого останется только загрузить файл, измененный последним, и если загрузка пройдет успешно, то утрачен будет только результат последних пяти минут работы.
Добавление объектов сцены в коллекцию
Чтобы добавить объекты геометрической модели в состав той или иной коллекции, следует выделить ее значок и переключиться на командную панель Modify (Изменить). На панели появятся свитки Properties (Свойства) и Advanced (Дополнительно) (рис. 17.5). Только для коллекции жестких тел первый из свитков называется не Properties (Свойства), a RB Collection Properties (Свойства коллекции жестких тел). Состав инструментов свитка Properties (Свойства) одинаков для всех типов коллекций, а состав параметров свитка Advanced (Дополнительно) для разных коллекций меняется.

Рис. 17.5. Свитки Properties и Advanced коллекции мягких тел
Для добавления объектов геометрической модели в коллекцию по одному щелкните на кнопке Pick (Указать) свитка Properties (Свойства), а затем на нужном объекте, имя которого появится в списке. Курсор будет принимать вид крестика, означающего возможность добавить объект в коллекцию, только над теми объектами, которые по своим свойствам могут быть добавлены в состав данной коллекции.
Для добавления объектов списком щелкните на кнопке Add (Добавить) или после щелчка на кнопке Pick (Указать) нажмите клавишу h, чтобы вызвать типовое окно выделения объектов. В список будут помещены только те объекты геометрической модели сцены, которые по своим свойствам подходят для создаваемой коллекции.
Для удаления из списка объектов, ошибочно включенных в коллекцию, выделите их имена в списке свитка Properties (Свойства), а затем щелкните на кнопке Delete (Удалить).
Щелчок на кнопке Highlight (Показать) ведет к тому, что все объекты геометрической модели сцены, включенные в список коллекции, на короткое время будут выделены в окнах проекций.
Установка флажка Disabled (He активна) ведет к тому, что данная коллекция, а вместе с ней и все входящие в нее объекты, не будут включены в анимацию, создаваемую модулем reactor (Реактор).
Добавление, удаление, согласование и замена сечений
Чтобы получить возможность добавления, удаления, согласования или замены сечений у готового объекта, сформированного методом лофтинга, достаточно всего лишь выделить такой объект и перейти на командную панель Modify (Изменить). Потренируйтесь в выполнении этих операций, выполнив следующие действия:
1. Откройте ранее сохраненный файл Kocherga.max, содержащий тело лофтинга в форме кованой кочерги, показанной выше на рис. 7.8. Если вы не сохранили этот файл, то загрузите файл с аналогичным именем из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени. Выделите объект и переключитесь на командную панель Modify (Изменить).
2. Создайте сплайн-звезду несколько меньшего диаметра, чем тот, который уже использован нами в качестве сечения при построении рукоятки объекта Kocherga. Установите в счетчике Path (Путь) свитка Path Parameters (Параметры пути) расстояние от начала сплайна до точки размещения нового сечения. Пусть это будет 10 %, что соответствует середине рукоятки. Щелкните на кнопке Get Shape (Взять форму), а затем — на сплайне нового сечения, которое тут же разместится в указанной точке пути. На рис. 7.25 показан обновленный вид рукоятки, которая приобрела прогиб в средней части.

Рис. 7.25. Добавлено новое сечение-звезда, формирующее прогиб в средней части ручки кочерги
3. Чтобы удалить сечение, выделите тело лофтинга. Щелкните на квадратике со знаком «плюс» слева от надписи Loft (Объект лофтинга) в окне стека модификаторов командной панели Modify (Изменить). В раскрывшемся дереве подобъектов выберите строку Shape (Форма). Щелкните на том сечении, которое требуется удалить. В счетчике Path Level (Точка пути) свитка Shape Commands (Действия с формами) появится расстояние от начала пути до точки размещения выбранного сечения. Щелкните на кнопке Delete (Удалить) этого же свитка, и сечение будет удалено. В порядке тренировки удалите сечение, только что добавленное в п. 2, или любое другое. Не забудьте только потом отменить сделанные удаления, чтобы не испортить форму объекта.
4. Обратите внимание на то, как перекручена оболочка тела лофтинга в месте сопряжения рукоятки со стойкой кочерги (рис. 7.26). Причина этого перекручивания — в рассогласовании ориентации первых вершин сплайнов-сечений в форме звезды, круга и квадрата.

Рис. 7.26. Оболочка тела лофтинга перекручена из-за отсутствия согласованности в ориентации первых вершин сечения-круга и сечения-квадрата
5. Для сравнения ориентации первых вершин сечений выделите на дереве подобъектов объекта Loft (Объект лофтинга) строку Shape (Форма) и щелкните на кнопке Compare (Сравнить) в свитке Shape Commands (Действия с формами). В появившемся окне диалога, показанном на рис. 7.27, щелкните на кнопке Pick Shape (Указать форму). Затем щелкните последовательно на сечениях в форме звезды, круга и квадрата. На появляющихся в окне Compare (Сравнение) сечениях первая вершина обозначена квадратиком. Как видно, ориентация первых вершин звезды и круга согласована, а у квадрата — отличается на 45°. Чтобы избежать перекручивания оболочки, следует повернуть сечения в форме звезды и круга, формирующие рукоятку, на 45° по часовой стрелке. Вместо них можно было бы повернуть только квадрат, но это приведет к образованию новой перекрутки в месте загиба носка кочерги.

Рис. 7.27. Окно диалога Compare позволяет сравнивать ориентацию первых вершин форм-сечений
6. Чтобы повернуть сечения, перейдите в удобное окно проекции, например в окно Left (Вид слева). Выберите инструмент Select and Rotate (Выделить и повернуть), щелкните на круге и поверните его на 45° по часовой стрелке. То же самое проделайте с сечением-звездой, а затем с оставшимися сечениями, формирующими рукоятку кочерги. В результате перекручивание оболочки будет устранено, как видно из рис. 7.28. Если сечение выбрано на уровне подобъекта Shape (Форма), то к нему можно применять помимо преобразования поворота и два других преобразования — перемещение или масштабирование. Попробуйте проделать это самостоятельно с любым из сечений нашей многострадальной кочерги.

Рис. 7.28. Согласование ориентации первых вершин устраняет перекручивание оболочки
7. Сохраните файл, который теперь имеет имя Kocherga01.max.
Добавление выделенных объектов и отмена выделения отдельных объектов
Для добавления новых выделенных объектов к числу тех, которые уже выделены, и для исключения отдельных объектов из выделенной совокупности нажмите и удерживайте клавишу Ctrl. Курсор при этом примет вид наклонной стрелки с маленьким черным знаком «плюс».
Если при удерживаемой клавише Ctrl щелкнуть на невыделенном объекте, он добавится к числу выделенных. Если при удерживаемой клавише Ctrl щелкнуть на одном из выделенных объектов, произойдет отмена его выделения.
Если удерживать клавишу Alt, то курсор примет вид наклонной стрелки с маленьким черным знаком «минус». В этом случае щелчок на любом выделенном объекте приведет к отмене его выделения, а выделение всех остальных объектов сохранится. Щелчок на невыделенном объекте при удерживаемой клавише Alt не ведет к выделению объекта.
Другие примеры простейших анимаций
На прилагающемся к книге компакт-диске в папках, вложенных в папку Animations, можно найти целый ряд примеров простейших анимаций, построенных на материале соответствующих глав книги. Каждая из этих анимаций снабжена файлом описания реализующей ее сцены max 7.5. Эти файлы помещены в папки с именами Glava_..., вложенные в папку Scenes. Главная цель создания демонстрационных анимаций состояла в том, чтобы показать: в max 7.5 можно «оживить» практически все что угодно! Попробуем разобрать действия, потребовавшиеся для реализации некоторых из этих анимаций. Многие из них основаны всего на двух ключах, установленных, как правило, в начальном и конечном кадрах временного сегмента: кадре № 0 и кадре № 100.
Animations\Glava_01\Kukla.avi
Для создания этой анимации после щелчка на кнопке Auto Key (Автоключ) в качестве текущего был установлен кадр № 100 и выполнен поворот руки куклы на 220° против часовой стрелки (рис. 16.19).

Рис. 16.19. В нулевом кадре рука отведена назад (слева), в сотом — поднята вверх (справа)
Animations\Glava_02\Chastici.avi
Системы частиц — это объекты, изначально предназначенные для развития во времени, поэтому для их анимации не требуется даже щелкать на кнопке Auto Key (Автоключ). В состав сцены были введены два источника частиц: SuperSpray (Супербрызги) в нижней части кадра, с ориентацией оси фонтана испускаемых частиц несколько под наклоном вверх, и Blizzard (Метель) в верхней части кадра, с ориентацией направления испускаемых частиц вниз. Никаких ключей анимации устанавливать не требуется: просто щелкните на кнопке Play Animation (Воспроизведение анимации) и наблюдайте фонтан брызг (или всплывающих пузырьков, кому как нравится) и хлопья падающих снежинок (рис. 16.20). В окнах проекций, разумеется, и те и другие частицы будут изображаться упрощенно, и чтобы увидеть их во всей красе, следует выполнить визуализацию анимации.

Рис. 16.20. Снизу летят пузырьки, сверху — снег, процесс развивается во времени, так что в кадре № 10 (слева) частиц меньше, чем в кадре № 80 (справа)
Animations\Glava_03\Masshtab okna proekcii.avi
При создании этой анимации «оживляемым» параметром явилось пространственное положение съемочной камеры, которая на интервале с нулевого до шестого кадра неподвижна, а с шестого до сотого кадра удаляется от объекта съемки строго вдоль линии визирования. Для реализации данного приема сначала с помощью окна диалога Create Key (Создать ключ) был создан ключ фиксации текущего положения камеры в кадре № 6. Затем после щелчка на кнопке Auto Key (Автоключ) был произведен переход к кадру № 100 и выполнено уменьшение масштаба изображения в окне проекции Camera01 (Камера01) с помощью инструмента Dolly Camera (Наезд камерой), как показано на рис. 16.21. Чтобы увидеть в строке треков созданные ключи анимации, следует выделить объект Camera01 (Камера01). Обратите внимание на тень от куклы, которая падает вперед, в направлении зрителя, создавая впечатление, что освещение исходит от солнца, запечатленного на фоновой фотографии. На самом деле для этого, разумеется, используется осветитель, размещенный «за спиной» куклы. Кстати, кукла в этой анимации приветственно поднимает руку на протяжении первых десяти кадров (рис. 16.21, б). Анимация руки выполнена так же, как в сцене Kukla.max первой главы.

Рис. 16.21. Маленький принц стоит на полюсе своей планеты, камера начинает отъезжать, он взмахивает рукой, и камера стремительно удаляется: а — кадр № 0; б — кадр № 10; в — кадр № 100
Animations\Glava_04\Masshtabirovanie.avi
У чайников в этой сцене было создано по три ключа анимации.
К чайнику, стоящему слева, в кадре № 50 было применено неравномерное масштабирование с увеличением масштаба по оси Z до 200 %, из-за чего он «подрос» (рис. 16.22). К среднему из трех чайников в кадре № 50 было применено неравномерное масштабирование с увеличением масштаба по осям X и Y до 150 %, из-за чего он «потолстел». К крайнему правому чайнику в кадре № 50 применено неравномерное масштабирование со сжатием с уменьшением масштаба по осям X и Y до 50 % и увеличением масштаба по оси Z до 200 %. Это выглядит так, будто чайник «постройнел и вытянулся». В кадре № 100 восстановлен исходный масштаб всех трех объектов.

Рис. 16.22. В этой анимации к трем одинаковым по размерам чайникам применено три разных варианта масштабирования: слева — кадр № 0; справа — кадр № 50
|
СОВЕТ Прием анимации, состоящий в том, что ключ в последнем кадре (в нашем случае в кадре № 100) хранит те же параметры объекта, что и ключ в нулевом кадре, применяется довольно часто. Его использование обеспечивает плавный циклический повтор анимации при воспроизведении. |
В этой анимации «оживлены» два объекта-примитива: Sphere (Сфера) и Torus Knot (Тороидальный узел). Для сферы в кадре № 0 было установлено значение параметра Hemisphere (Полусфера), равное 1, а в кадре № 50 это значение было уменьшено до 0.
Для тороидального узла в качестве анимируемого параметра было выбрано значение счетчика Р, управляющего числом скруток узла. В кадре № 0 значение этого параметра было установлено равным 1, а в кадре № 50 — равным 2 (рис. 16.23).

Рис. 16.23. Сфера за 50 кадров вырастает «из ничего», а у тора меняется число скруток узла: а — кадр № 0; б — кадр № 15; в — кадр № 50
В кадре № 100 восстановлены исходные значения упомянутых параметров.
Animations\Glava_06\Vrasshenie profilia.avi
Эта анимация основана всего на двух ключах, в нулевом и сотом кадрах. Значение параметра в счетчике Degrees (Сектор) тела вращения в кадре № 0 было задано равным 0, а в кадре № 100 — равным 360° (рис. 16.24). Для формирования тени, отбрасываемой как бы на фоновую фотографию, применен материал Matte/ Shadow (Матовый/Затеняемый), который нанесен на плоскость с примененной к ней объемной деформацией Wave (Волна).

Рис. 16.24. Тарелка на наших глазах за 100 кадров строится методом вращения профиля: а — кадр № 0; б — кадр № 60; в — кадр № 100
Animations\Glava_07\lzmenenie puti loftinga.avi
Эта анимация основана на трех ключевых кадрах — № 0, № 50 и № 100, В этих кадрах созданы ключи преобразования перемещения, примененного к трем последним вершинам сплайна Line01, образец которого служит линией пути лофтинга объекта, изображающего кочергу (рис. 16.25). В кадре № 50 третья от конца, предпоследняя и последняя вершины сплайна смещены влево по экрану (в отрицательном направлении оси У) примерно на 18, 23 и 25 см соответственно. Разумеется, Х-координаты этих вершин тоже несколько изменялись, чтобы создать впечатление постоянства длины сегментов изгибаемой линии. В кадре № 100 вершины возвращены на исходные позиции.

Рис. 16.25. Железная «нога» кочерги изгибается, следуя за перемещением вершин линии пути тела лофтинга: слева — кадр № 0; справа — кадр № 50
Animations\Glava_08\Deformacia po traektorii.avi
Эта анимация основана на изменении параметра Percent (Процент) модификатора PathDeform (Деформация по траектории). Этот параметр задает положение объекта (в данном случае строки текста, к которой применен модификатор выдавливания) на траектории в виде сплайна-окружности. В кадре № 0 этот параметр имеет значение 0, а в кадре № 100 — значение 100 %, что заставляет строку текста сделать полный оборот по круговой траектории (рис. 16.26). Одновременно анимации подвергнуто вращение шарика, изображающего Землю. Шарик крутится в направлении, противоположном вращению текста, — с запада на восток. Вместе с шариком вращается сферический контейнер атмосферного эффекта Volume Fog (Объемный туман), изображающего облачную атмосферу вокруг Земли. И у шарика, и у контейнера тоже всего по два ключа, в кадрах № 0 и № 100, где они совершают полный оборот на 360°. В итоге при циклическом повторении анимации создается иллюзия непрерывного вращения

Рис. 16.26. Земля вертится с запада на восток, а строка летает вокруг нее в противоположном направлении: слева — кадры № 0 и № 100; справа — кадр № 50
Animations\Glava_09\Luch zvezdi.avi
В этой анимации «оживлению» подвергнуто положение одного из подобъектов кусков Безье, из которых составлена звездочка, а именно крайней вершины правого луча звезды. Так, в кадре № 0 эта вершина имеет координаты (18,8; 0,15; 6,0), а в кадре № 25 — (17,8; 0,15; 10,5). В кадрах № 50 и № 100 координаты вершины сделаны исходными, а в кадре № 75 — такими же, как в кадре № 25. В итоге создается впечатление, что звездочка за сто кадров дважды приветливо приподнимает луч, заменяющий этому примитивному персонажу руку (рис. 16.27).

Рис. 16.27. Звездочка помахивает лучом, как рукой: слева — кадр № 0; справа — кадр № 25
Animations\Glava_11\Proektor.avi
Эта анимация создана за счет применения преобразования перемещения вдоль оси X к мишени нацеленного прожектора, исполняющего роль проектора слайдов (рис. 16.28). В нулевом кадре Х-координата мишени установлена равной -265 см, а в кадре № 50 — равной 20 см. В кадре № 100 мишень возвращена в исходное положение, чтобы создать циклически повторяющуюся анимацию.

Рис. 16.28. Луч проектора скользит по стене вместе с проецируемой картинкой: слева — кадр № 0; справа — кадр № 50
Animations\Glava_13\Anizotropniy blik.avi
Чтобы создать эту анимацию, к примитиву-сфере был применен стандартный материал с раскраской типа Multi-Layer (Многослойная), демонстрирующей два несимметричных блика, ориентированных под углом 90°. В кадре № 50 параметр Orientation (Ориентация) обоих бликов был увеличен на 45°, а в кадре № 100 — вновь уменьшен до прежнего значения. В результате возникла картина циклически поворачивающихся бликов света (рис. 16.29). Обратите внимание на то, что в канале Reflection (Отражение) материала сферы использована растровая карта с изображением того же пейзажа, какой установлен в качестве фона внешней среды. Это придает естественность блеску поверхности шара.

Рис. 16.29. Блики света на поверхности сферы поворачиваются против часовой стрелки и обратно: слева — кадр № 0; справа — кадр № 50
Animations\Glava_14\Neprozrachnost.avi
Для создания этой анимации, демонстрирующей постепенное увеличение прозрачности стекла бокала (рис. 16.30), «оживление» было применено к параметру Parallel Value (Параллельно) карты текстуры Falloff (Спад). Данная карта помещена в канал Opacity (Непрозрачность) многокомпонентного материала стекла бокала. Параметр Parallel Value (Параллельно) определяет степень непрозрачности материала в направлении, параллельном линии взгляда. В кадре № 0 значение этого параметра было установлено равным 1, а в кадре № 60 — равным 0.

Рис. 16.30. Благодаря анимации бокал из полностью непрозрачного за 60 кадров превращается в совершенно прозрачный: слева — кадр № 0; справа — кадр № 60
Animations\Glava_15\Luchi sveta.avi
Эта анимация показывает пример того, какого выразительного результата в духе фильмов о Бэтмене можно добиться сравнительно простыми средствами. Обычное преобразование поворота примерно на 35°, примененное к двум свободным прожекторам в кадре № 50, в совокупности с эффектом объемного света создает запоминающийся визуальный образ (рис. 16.31). В кадре № 100 восстановлена исходная ориентация прожекторов, чтобы создать анимацию, циклически повторяющуюся при воспроизведении.

Рис. 16.31. Лучи объемного света, вырываясь сквозь прорези в пластине, при синхронном повороте двух прожекторов создают драматический эффект: вверху — кадр № 0; внизу — кадр № 50
Думаю, разбор этих простеньких анимаций разбудит вашу фантазию и наведет на мысли о возможных вариантах создания собственных «оживших» сцен, в качестве основы для которых можно свободно использовать представленные на прилагающемся к книге компакт-диске заготовки.
Дублирование и выравнивание
При моделировании сцен с большим количеством однотипных объектов часто бывает необходимо многократно выполнять одни и те же операции. Представьте себе, например, сцену компьютерного класса, где нужно положить на каждый стол клавиатуру, или длинный коридор отеля, где под каждой дверью должен лежать половик. До появления в max 7 команды Clone and Align (Дублирование и выравнивание) необходимо было создавать модель, создавать нужное число дубликатов, после чего каждый из них выравнивать относительно опорного объекта. Теперь же задача упростилась, так как можно одновременно выполнить дублирование и выравнивание.
Для дублирования объектов с одновременным выравниванием создаваемых дубликатов выполните следующие действия:
1. Выделите объект, который должен быть дублирован и выровнен, после чего выберите команду меню Tools > Clone and Align (Инструменты > Дублирование и выравнивание). Появится окно диалога, показанное на рис. 4.47.

Рис. 4.47. Окно Clone and Align
2. В окне диалога Clone and Align (Дублирование и выравнивание) назначьте опорный объект. Для этого нажмите кнопку Pick (Выбрать), установите на него курсор и, когда возле курсора появится перекрестие, щелкните кнопкой мыши. Для выбора нескольких опорных объектов нажмите кнопку Pick List (Выбрать из списка), после чего выберите опорные объекты из списка окна диалога Pick Destination Objects (Выбрать объекты назначения).
3. В свитке Clone Parameters (Параметры дублирования) выберите тип создаваемых при дублировании объектов с помощью переключателя Object (Объект), имеющего три положения: Сору (Копия), Instance (Образец) и Reference (Экземпляр).
4. В свитке Align Position (World) (Выравнивание положения (В глобальных координатах)) установите один из флажков X, Y, Z Position (Положение no X, Y, Z), указывающих, вдоль какой из трех координат будет происходить выравнивание. Используется текущая система координат. В случае необходимости в разделе Offset (Local) (Смещение (Локально)) выберите величину смещения выравниваемого объекта относительно опорного объекта вдоль каждой координаты. При этом смещение производится по опорным точкам.
5. Определите требования по согласованию ориентации глобальной системы координат выравниваемого объекта относительно опорного по каждой из трех осей координат. Для этого установите нужные флажки X, Y, Z Axis (Ось X, Y, Z) в разделе Align Orientation (World) (Выровнять ориентацию (В глобальных координатах)). Выравнивание ориентации не зависит от выравнивания по положению. В случае необходимости в разделе Offset (Local) (Смещение (Локально)) выберите величину поворота выравниваемого объекта относительно опорного объекта вдоль каждой координаты.
6. Задайте требования по согласованию масштабов выравниваемых и опорного объектов. Для этого установите нужные флажки X, Y, Z Axis (Ось X, Y, Z) в разделе Match Scale (Согласовать масштаб).
Дублирование объектов
В процессе моделирования сцены часто возникает потребность в создании большого числа однотипных объектов. Например, чтобы обставить мебелью помещение в задуманном нами проекте «МАХ-кафе», потребуются несколько совершенно одинаковых столов и кресел, а чтобы сервировать столы, нужны будут наборы совершенно одинаковых тарелок, ложек, вилок, бокалов... В max 7.5 предусмотрена возможность дублирования объектов, однако эта программа позволяет создавать не только копии, как большинство других приложений Windows. Применяются еще два типа дубликатов — образцы (instances) и экземпляры (references), наличие которых существенно облегчает задачу одновременной модификации целой совокупности дубликатов, происходящих от одного оригинала.
Двумерные карты текстур
Двумерные карты текстур (2D maps) — это изображения, получаемые путем оцифровки (сканирования) фотографий реальных объектов (растровая карта) или генерируемые расчетным методом (процедурные карты). Они используются для имитации характерных рисунков природных или искусственных материалов, а также в качестве карт окружающей среды, воспроизводящих фон сцены. Для отображения полного списка двумерных карт текстур необходимо в окне Редактора материалов щелкнуть на кнопке Get Material (Получить материал), сбросить флажок Materials (Материалы) в разделе Show (Показывать) появившегося окна диалога Material/Map Browser (Просмотр материалов и карт текстур), оставив установленным флажок Maps (Карты текстур), и установить в левом нижнем углу окна переключатель 2D maps (Двумерные карты), как показано на рис. 14.2.

Рис. 14.2. Окно просмотра материалов и карт текстур с полным списком двумерных карт
К данному типу относятся такие карты текстур, как:
Bitmap (Растровая) — цифровое изображение реального материала, представляющее собой матрицу точек и сохраненное в одном из форматов точечной графики, поддерживаемых max 7.5, например в формате *.bmp, *.jpg или *.tif. Может применяться для имитации любой оптической характеристики материала. Очень часто применяется для того, чтобы полностью заместить растровым изображением цвет диффузного рассеивания материала (Diffuse Color). Назначение растровой карты параметру Bump (Рельефность) позволяет придать поверхности материала неровный, шероховатый вид. На рис. 14.3 показан пример использования растровой карты текстуры диффузного рассеивания, имитирующей рисунок дерева, в составе материала «деревянных» деталей кресла. Обивка сиденья изображается материалом с растровой картой текстуры рельефа, воспроизводящей рисунок ткани. Часто одну и ту же растровую карту используют одновременно для имитации компонентов Diffuse Color (Диффузное рассеивание) и Bump (Рельефность);

Рис. 14.3.
Использование карт текстуры типа Bitmap для имитации цвета диффузного рассеивания «деревянных» деталей и рельефа обивки кресла
Tiles (Плитки) — процедурная карта, имитирующая изображение плиток, уложенных в ряды одним из восьми способов. При соответствующей настройке с помощью данной карты легко имитировать изображение кафеля или кирпичной кладки, как показано на рис. 14.4. Несмотря на кажущуюся простоту, допускает настройку множества параметров, таких как цвета кирпичей и раствора, толщина швов, размер кирпичей и т. п.;

Рис. 14.4. Цвет диффузного рассеивания фасада «МАХ-кафе» имитируется процедурной картой текстуры Tiles
Checker (Шахматное поле) — процедурная карта, генерирующая узор в виде шахматных клеток двух заданных цветов. Цвета клеток, в свою очередь, также могут имитироваться картами текстур разных типов, как показано на рис. 14.5;

Рис. 14.5. Цвет диффузного рассеивания паркетного пола «МАХ-кафе» имитируется картой текстуры Checker
Gradient (Градиентная) и Gradient Ramp (Улучшенный градиент) — процедурные карты, позволяющие формировать картину плавного перехода между заданными цветами. Простой градиент допускает использование трех цветов и реализует два типа переходов: линейный и радиальный. Улучшенный градиент позволяет применять произвольное число цветов, предлагает на выбор 12 (!) типов переходов и имеет множество настраиваемых параметров. Словом, есть где проявить фантазию. Как и у большинства процедурных карт, вместо цветов могут использоваться карты текстур. Для примера на рис. 14.6 показано использование карты градиента, реализующей плавный переход от растровой текстуры необработанных гранитных блоков к процедурной текстуре кирпичной кладки. Градиентные карты текстур применяются для имитации цвета диффузного рассеивания (например, при моделировании подводных сцен), управления прозрачностью, силой самосвечения и другими характеристиками материалов;

Рис. 14.6. Цвет диффузного рассеивания и рельеф фасада «МАХ-кафе» имитируются одинаковыми картами текстуры градиента
Swirl (Завитки) -- процедурная карта, генерирующая спиральный узор из двух цветов, как показано на рис. 14.7. Каждый цвет может быть заменен картами текстур.

Рис. 14.7. Модернистская окраска фасада «МАХ-кафе» имитируется картой текстуры Swirl
Двусторонний показ граней
Мы уже говорили о том, что в обычном случае грани оболочек объектов видны только с одной стороны, а именно с той, в которую направлена нормаль грани. Если трехмерный объект имеет внутреннюю полость, как у чашки, стакана, вазы или кастрюли, то все грани, на которые взгляд падает изнутри полости, не будут видны в окнах проекций, как показано на рис. 3.15, слева.

Рис. 3.15. В обычном случае грани оболочки не видны с тыльной стороны (слева), но становятся видимыми при включении режима Force 2-Sided (справа)
Чтобы обеспечить визуализацию с обеих сторон граней всех объектов, наблюдаемых в окне проекции, необходимо вызвать окно диалога Viewport Configuration (Конфигурация окон проекций), щелкнув, например, на имени любого окна проекции правой кнопкой мыши и выбрав в меню окна команду Configure (Конфигурировать). В окне диалога нужно щелкнуть на корешке вкладки Rendering Method (Метод визуализации) и установить в разделе Rendering Options (Параметры визуализации) флажок Force 2-Sided (Показывать обе стороны). После этого грани всех объектов будут видны с обеих сторон (рис. 3.15, справа). В обычном случае этот флажок сброшен, так как двусторонняя прорисовка граней замедляет работу max 7.5.
| ЗАМЕЧАНИЕ Установка флажка Force 2-Sided (Показывать обе стороны) приводит к желаемому результату только при использовании драйверов дисплея типа Software Z-buffer (Программный Z-буфер) или OpenGL. При использовании драйвера дисплея Direct3D установка флажка Force 2-Sided (Показывать обе стороны) ничего не дает — грани остаются невидимыми с изнанки. |
Режим двустороннего показа граней в окнах проекций не означает, что грани будут видны на изображении сцены, формируемом с помощью инструмента Render Scene (Визуализировать сцену). Чтобы грани можно было видеть с обеих сторон на визуализированном изображении сцены, необходимо установить флажок Force 2-Sided (Показывать обе стороны) в свитке Common Parameters (Общие параметры) на вкладке Common (Общие настройки) окна диалога Render Scene (Визуализация сцены), которое мы будем осваивать в главе 15, «Осваиваем тонкости визуализации сцены и внешней среды». Еще один способ сделать грани видимыми с двух сторон при визуализации — это применение материала типа Double Sided (Двусторонний) (рис. 3.16).

Рис. 3.16. У бокала грани видны с обеих сторон за счет включения при визуализации режима Force 2-Sided, а у вазы — за счет применения двустороннего материала
Итак, мы разобрались, как управлять качеством изображения всех объектов, видимых в окне проекции. Однако max 7.5 позволяет дополнительно управлять отображением отдельных объектов сцены.
Габаритные контейнеры
Каждый объект 3ds max 7.5, какую бы сложную форму он ни имел, заключается в габаритный контейнер (bounding box). Габаритный контейнер представляет собой всего-навсего прямоугольный параллелепипед, описанный вокруг объекта, как показано на рис. 1.12. В момент создания объекта стороны его габаритного контейнера ориентируются параллельно координатным плоскостям глобальной системы координат, о которой мы поговорим чуть ниже. При последующих поворотах объекта вместе с ним поворачивается и его габаритный контейнер.

Рис. 1.12. Какую бы форму ни имел объект, его габаритным контейнером всегда является прямоугольный параллелепипед
Габаритные контейнеры играют важную роль в программе трехмерной графики и используются ею в целом ряде случаев. Вот лишь некоторые примеры:
использование габаритных контейнеров помогает программе быстро определять, заслоняют ли объекты друг друга при наблюдении сцены с определенного направления;
для того чтобы не тратить лишнее время на перерисовку экрана в ходе работы над сценой, часть объектов можно отображать в виде их габаритных контейнеров (как это сделать, вы узнаете в главе 3);
когда от программы требуется точно подогнать размер объекта под размер окна, в котором наблюдается этот объект, подгонка делается так, чтобы в окне целиком уместился габаритный контейнер объекта;
за геометрический центр объекта сложной формы принимается центр его габаритного контейнера.
Продолжаем постигать секреты NURBS-моделирования
Овладение навыками манипулирования управляющими вершинами NURBS-поверхностей
Тонкости работы с NURBS-телами, преобразованными из примитивов
Освоение методов свободного NURBS-творчества на примере трехмерного персонажа
Объединение разрозненных геометрических моделей в единую сцену
В данной главе мы продолжим знакомство с методами моделирования трехмерных объектов, выходящими за рамки того элементарного набора, которым должен владеть каждый начинающий пользователь 3ds max. Описываемые в данной главе средства и способы создания трехмерных тел из NURBS-поверхностей и редактирования их формы относятся уже к арсеналу мастеров трехмерной графики.
Вы познакомитесь с тем, какие действия нужно предпринять, чтобы придать требуемую форму стандартной NURBS-поверхности или NURBS-поверхности, полученной преобразованием стандартного объекта другого типа, например трехмерного примитива. В завершение знакомства с методами NURBS-моделирования вам будет предоставлена возможность испытать на практике многие из инструментов построения и редактирования NURBS-поверхностей, упомянутых в главе 8, в ходе работы над моделью тела достаточно простого компьютерного персонажа. Поверхности типа NURBS прекрасно подходят для этой цели.
Как и в предыдущей главе, хочу предупредить: при освоении рассматриваемых методов вряд ли можно добиться результата, что называется, с ходу, с первой попытки. Надо достаточно много практиковаться, чтобы научиться предвидеть последствия тех или иных действий и уметь выбирать правильный путь к достижению поставленной цели. Редактировать NURBS-поверхности довольно сложно, в первую очередь по той причине, что во время работы с отдельными управляющими точками в поле зрения попадает масса других, создающих помехи и отвлекающих внимание. Кроме того, перемещать управляющие точки при редактировании формы поверхностей типа NURBS приходится в трехмерном пространстве. Это не просто, так как пользуясь двумерной проекцией трудно представить истинный результат редактирования. Как и во всяком деле, в этой работе есть свои тонкости и секреты, с некоторыми из них постараюсь вас познакомить.
Хочу предупредить и о том, что при описании последовательности действий по созданию образа трехмерного персонажа уже трудно дать исчерпывающие инструкции. Это в чем-то напоминало бы попытку дать инструкции но вопросу о том, в каких именно местах холста нужно наложить мазки определенной краски, чтобы воспроизвести, скажем, картину кого-то из известных художников, или в каких местах нужно стукнуть резцом по глыбе гранита для создания копии знакомого вам изваяния. Комментарии, приводимые в упражнениях, скорее будут напоминать рассуждения о том, как нужно готовить холст, какие выбирать кисти и как двигать ими, под каким углом держать резец и как именно следует стучать по нему молотком, то есть будут носить характер технической поддержки. Вся творческая сторона вопроса остается целиком за вами, уважаемый читатель. 3ds max — это всего лишь резец и кисть, с помощью которых можно воплотить ваши творческие замыслы со степенью успеха, пропорциональной художественному воображению, приложенным усилиям и знанию основ ремесла. Вот этими-то основами мы с вами и займемся.
Расставляем и настраиваем осветители и съемочные камеры
Разновидности источников света max 7.5
Настройка подсветки
Создание и настройка осветителей различного типа
Простейший вариант визуализации сцены
Глобальная освещенность и методы ее расчета
Общие сведения о моделях съемочных камер
Создание и размещение камер
Настройка параметров и управление камерами
Практические упражнения по созданию источников света и камер
Покончив с геометрией сцены, приступим к не менее интересному делу — теперь нам предстоит вдохнуть жизнь в эту совокупность множества сеток и линий, называемую геометрической моделью. Визуальное правдоподобие изображения, синтезируемого на основе геометрической модели, зависит от удачного подбора трех составляющих: освещения, материалов и выигрышного ракурса съемки. Материалами мы займемся в последующих главах, а пока познакомимся с основами настройки света и камер для съемки сцены.
Изучаем работу с модулем Hair and Fur
Создание волос и других подобных объектов при помощи модуля Hair and Fur (Волосы и шерсть)
Настройка волосяного покрова средствами модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM))
Работа над созданием прически в окне Style (Стиль)
Моделирование волосяного покрова — процесс очень сложный. Реализовать эту задачу практически невозможно ни одним из известных вам способов моделирования. Представим себе, например, прическу, созданную из сплайнов. В этом случае каждый волосок будет являть собой отдельную трехмерную кривую. Вам придется создать бесчисленное количество сплайнов и разместить их в нужном порядке. Количество объектов, с которыми придется работать, будет столь велико, что только на их создание вы должны будете потратить уйму времени. А теперь предположим, что нужно смоделировать животное, покрытое шерстью. Если прическа на голове персонажа занимает сравнительно небольшую площадь, то большинство животных покрыты шерстью с головы до лап, поэтому количество волосков на их теле исчисляется миллионами. Столько сплайнов вручную не смоделировать и за несколько лет.
Именно поэтому для моделирования волосяного покрова неприменимы те средства, которые используются для создания большинства моделей в 3ds max. В крупных анимационных студиях, которые занимаются разработкой фильмов с использованием 3D-графики, даже пишутся специальные программы, помогающие имитировать поведение волос героев. Модуль Hair and Fur (Волосы и шерсть), который входит в состав max 7.5, — это одно из таких приложений. Работая с ним, нет нужды создавать каждый волосок на голове персонажа отдельно. Основываясь на заданных параметрах длины прически, области размещения волосяного покрова, направления роста волос, программа сама просчитает геометрию и даже динамику массы волос.
Модуль Hair and Fur (Волосы и шерсть) представлен в mах 7.5 модификатором Hair and Fur (WSM) (Волосы и шерсть (WSM)) и фильтром Hair and Fur (Волосы и шерсть), относящимся к категории Effects (Эффекты). Этот фильтр после применения модификатора к объекту добавляется в список используемых в сцене эффектов автоматически. Фильтр Hair and Fur (Волосы и шерсть) используется для конечной визуализации волосяного покрова. Подробнее о фильтрах оптических эффектов max 7.5 вы узнаете в главе 15, «Осваиваем тонкости визуализации сцены и внешней среды».
С помощью инструмента Hair and Fur (Волосы и шерсть) можно создавать не только волосы, но и любые объекты, которые по форме напоминают волосы: траву, колючки кактуса, иголки ежа и т. д. Для использования модуля Hair and Fur (Волосы и шерсть) выполните следующие действия:
1. Выделите объект, на поверхности которого должны произрастать волосы, и примените к нему модификатор Hair and Fur (WSM) (Волосы и шерсть (WSM)). Вы увидите, что его поверхность покроется кривыми, которые схематически обозначают волосы. Воспользуйтесь параметрами свитка Display (Отображение) для управления отображением эффекта в окне проекции. Вы можете установить цвет волос (Hair Color), их количество (MaxHairs) или вовсе отключить их отображение, сняв флажок Display Hairs (Отобразить волосы).
2. Если волосы должны покрывать не всю модель, а лишь ее часть, переключитесь на уровень выделения подобъекта Polygon (Полигон). Для этого разверните дерево подобъектов модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)) и выделите строку Polygon (Полигон). Выделите полигоны той части сетки объекта, на которой должен проявляться эффект. Щелкните на кнопке Update Selection (Обновить выделение) в свитке Selection (Выделение). Теперь волосы покроют лишь выделенные полигоны объекта.
3. Переключитесь на верхний уровень модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)) и определите основные настройки модификатора. В свитке General Parameters (Общие параметры) установите значения параметров, определяющих количество волос (Hair Count), количество сегментов на волосе (Hair Segments), количество проходов визуализации (Hair Passes), плотность размещения волос (Density), масштаб (Scale), длину волос в процентном соотношении (Cut Length), долю случайного масштабирования (Rand Scale), толщину волос возле корней (Root Thick), толщину волос на кончиках (Tip Thick), расстояние от корней волос до поверхности модели (Displacement).
4. Перейдите к свитку Material Parameters (Параметры материала), чтобы подобрать параметры материала (рис. 12.1). Установите цвет волос на кончиках (Tip Color) и возле корней (Root Color), значения степени поглощения света (Occluded Amb), процентную долю разброса оттенков цвета волос (Hue Variation) и разброса яркости волос (Value Variation).

Рис. 12.1. Свиток Material Parameters
5. Если необходимо сделать волосы слегка вьющимися, в свитке Frizz Parameters (Параметры завивки) выберите значения параметров Frizz Root (Завиток у корня), Frizz Tip (Завиток на кончике), Frizz X Freq (Частота завитков по X), Frizz Y Freq (Частота завитков по Y) и Frizz Z Freq (Частота завитков по Z) (рис. 12.2).

Рис. 12.2. Свиток Frizz Parameters
6. Чтобы волосы выглядели правдоподобнее, сделайте их несколько спутанными при помощи настроек свитка Kink Parameters (Параметры извивов) (рис. 12.3). Выберите значения параметров Kink Root (Извивы у корней), Kink Tip (Извивы на кончиках), при ненулевых значениях которых волосы приобретают форму зигзагов. Kink X Freq (Частота извивов по X), Kink Y Freq (Частота извивов по Y) и Kink Z Freq (Частота извивов по Z).

Рис. 12.3. Свиток Kink Parameters
7. С остальными параметрами модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)) ознакомьтесь при необходимости с помощью справочника по использованию модуля Hair and Fur (Волосы и шерсть). Этот справочник можно вызвать из окна диалога, которое появляется при выборе команды Additional Help (Дополнительная справка) в меню Help (Справка).
Осваиваем создание материалов и применение их к объектам
Что такое «материал» в max 7.5
Стандартные и прочие материалы
Библиотеки материалов
Редактор материалов — универсальная мастерская мастера-отделочника
Методы раскраски материалов
Глянцевитость, прозрачность, самосвечение и другие свойства материалов
Настройка характеристик стандартных материалов
Практические упражнения по созданию и применению стандартных материалов
Учимся применять карты текстур и многокомпонентные материалы
Свойства материалов, имитируемые картами текстур
Разновидности карт текстур и их применение
Проекционные координаты max 7.5 и их использование
Настройка параметров растровых текстурных карт
Практические упражнения по созданию материалов на основе карт текстуры различных типов
Создание и использование многокомпонентных материалов
Осваиваем тонкости визуализации сцены и внешней среды
Инструменты и команды управления визуализацией
Предварительная визуализация в окне ActiveShade
Настройка параметров визуализации отдельных изображений и анимаций
Контроль за ходом процесса визуализации
Просмотр визуализированных изображений в окне виртуального буфера кадров
Просмотр изображений с помощью модуля RAM Player
Изменение характеристик фона и общих параметров освещения визуализируемой сцены
Настройка параметров и применение эффектов внешней среды
Способы согласования перспективы моделируемой сцены с фоновым изображением
Возможности фильтрации готовых изображений сцен с использованием каналов G-буфера и Z-буфера
Выбор и настройка параметров фильтров оптических эффектов
Вы уже многократно имели возможность убедиться, что выполнение простейшей визуализации не требует вообще никакой настройки. Просто щелкнул на кнопке Quick Render (Быстрая визуализация) — и готово, процесс пошел! Проблема, однако, состоит в том, что этот процесс может сильно затянуться. При насыщенности материалов сцены текстурами отражения и преломления время визуализации одного кадра нередко составляет несколько десятков минут, а то и несколько часов. И это при том, что качество результирующего изображения невозможно оценить, пока это изображение не сформируешь и как следует не рассмотришь. Теперь представьте себе, что вы потратили 2-3 часа на синтез картинки только для того, чтобы убедиться, что сцена выглядит слишком темной или тени от объектов лежат не так, как надо. А ведь визуализация венчает собой весь трудоемкий процесс подготовки трехмерной сцены и потому должна выполняться с особой тщательностью! В связи с этим в max 7.5 предусмотрен целый ряд средств для управления визуализацией, которые призваны помочь ускорить получение итогового изображения без существенных потерь в качестве. Эти средства позволяют заменить синтез целой картинки визуализацией только ее части или отдельных выделенных объектов.
Впрочем, этих средств, видимо, все же было недостаточно, потому что разработчики max 7.5 снабдили программу еще одним — окном ActiveShade (Активная раскраска), с которым нам предстоит познакомиться в этой главе. В этом окне изображение синтезируется почти с тем же качеством, что и при использовании алгоритма итоговой визуализации, но все же быстрее — за счет определенных упрощений. Кроме того, режим ActiveShade (Активная раскраска) можно включать в обычном окне проекции. Обновление изображения в окне ActiveShade (Активная раскраска) может происходить в «горячем» режиме, автоматически по мере модификации сцены, или в ручном режиме.
Синтез итогового изображения сцены — основная, но не единственная задача этапа визуализации. На этом этапе происходит также формирование целого ряда так называемых оптических эффектов и эффектов внешней среды, которые невозможно наблюдать в окне проекции. Нам предстоит познакомиться с разновидностями и способами реализации подобных эффектов.
Пробуем выполнять анимацию объектов
Общие сведения об анимации сцен в max 7.5
Средства управления анимацией
Настройка временных интервалов анимации
Создание базовых анимаций методом ключевых кадров
Просмотр анимации в окнах проекций
Создание и просмотр эскизов анимаций
Визуализация анимаций
Постигаем основы динамики
Имитация динамики жестких тел модулем reactor (Реактор)
Деформация ткани на препятствии
Привязка ткани к жесткому телу
Использование инструментов модуля Cloth (Ткань) для имитации поведения ткани
В обычных условиях трехмерные объекты, к которым применяется анимация, не могут взаимодействовать друг с другом. Например, при перемещении объекта он проникает сквозь другие объекты сцены так, как будто их нет. Однако очень часто при анимации возникает необходимость воспроизвести результаты взаимодействия объектов, как это бывает в реальной действительности. Например, заставить мяч подскакивать на полу, занавеску — развеваться на ветру, а парусник — плыть по воде, покачиваясь на волнах.
В связи с этим в 3ds max включены специальные средства, позволяющие трехмерным объектам взаимодействовать друг с другом так, как будто они имеют свойства реальных физических тел: массу, упругость, гибкость, растяжимость и т. д. Кроме того, такие средства позволяют имитировать действие на трехмерные тела различных физических сил, подобных силе тяжести или трения, давлению ветра или же архимедовой силе выталкивания.
и разновидности объектов max
Осваиваем настройку max 7.5 и работу с файлами
Учимся выделять, дублировать и преобразовывать объекты
Инструменты и приемы выделения объектов и подобъектов
Блокировка и разблокирование, группировка и разгруппирование объектов
Дублирование объектов и типы дубликатов — копии, образцы и экземпляры
Выполнение преобразований объектов «на глазок» и посредством точного ввода параметров
Преобразование с дублированием
Выбор подходящей системы координат, точки центра преобразования и ограничение осей преобразований
Выравнивание объектов
Создаем тела-примитивы, куски Безье и NURBS-поверхности
«Строительный материал» для создания трехмерных сцен
Командная панель Create (Создать) — инструментальный цех max 7.5
Способы создания любых трехмерных примитивов
Приемы построения стандартных и усовершенствованных примитивов
Упражнения по практическому применению примитивов
Создание кусков Безье и NURBS-поверхностей
Рисуем кривые, осваиваем методы вращения и выдавливания
Сплайны и NURBS-кривые: сходства и различия
Приемы рисования и правки сплайнов
Рисование NURBS-кривых на плоскости и в пространстве
Построение тел вращения и простая коррекция их формы
Создание трехмерных тел методом выдавливания
Особенности создания NURBS-тел вращения и выдавливания
Использование модификатора Bevel для создания тел с фаской по краям
Практические упражнения по освоению методов вращения и выдавливания
Пробуем метод лофтинга, создаем булевские объекты и системы частиц
Типы и назначение составных объектов max 7.5
Базовая процедура построения трехмерного тела методом лофтинга
Особенности лофтинга NURBS-поверхностей
Правка и деформации объектов лофтинга
Создание составных булевских объектов
Назначение и использование систем частиц
Практические упражнения по освоению методов создания тел лофтинга и составных объектов
Совершенствуем навыки модификации объектов
Обзор свитков командной панели Modify
Стек модификаторов и его использование
Сворачивание стека
Типы и применение модификаторов
Возможности редактирования сплайнов, полигональных сеток, кусков Безье, NURBS-кривых и поверхностей на уровнях подобъектов
Мы уже говорили, что трехмерную сцену практически невозможно создать без применения к объектам каких-то из стандартных преобразований перемещения, поворота или масштаба. Столь же затруднительно избежать необходимости тех или иных модификаций объектов. Такие модификации могут заключаться во вращении или выдавливании двумерных линий с целью превращения их в трехмерные объекты, в изгибе, скручивании, заострении, скосе, сплющивании или иной деформации сетки трехмерного объекта, будь то примитив, тело вращения, выдавливания или лофтинга, либо в изменении формы такого объекта за счет преобразования отдельных подобъектов — вершин, ребер, граней и т. п. Для каждой подобной операции в max 7.5 существуют специальные инструменты, называемые модификаторами (modifiers). В этой главе мы остановимся на определении данного понятия более подробно. Помимо модификаторов формы, имеется большое число модификаторов иного назначения, предназначенных, скажем, для управления проецированием текстур на поверхность объекта сложной формы, имитации сил упругости или скелетной деформации сетчатой оболочки объекта.
Какие бы модификаторы нам ни понадобились, все они сосредоточены на командной панели Modify (Изменить).
Осваиваем секреты моделирования
Как превратить прямоугольный блок во что угодно
Что такое NURMS-объекты и чем они полезны
Редактирование формы сеток кусков Безье, полученных из объектов-примитивов
Приемы «лепки» моделей из кусков Безье
Создание сетки кусков Безье на основе сплайнового каркаса
Те методы моделирования трехмерных объектов, которые вы освоили к настоящему моменту — использование примитивов и составных объектов, применение модификаторов, лофтинг, выдавливание и вращение, — безусловно, полезны и хороши. Как вы убедились, с помощью этих методов вполне можно создавать отнюдь не примитивные сцены. Однако mах 7.5 способен на нечто большее. Попробуйте, например, представить себе, как с помощью тех методов и приемов, которые были изложены в предыдущей части книги, создать модели коровы или куклы, подобные показанным на иллюстрациях первой главы.
До сих пор вы осваивали азы моделирования, которые должны иметься в арсенале каждого уважающего себя специалиста по трехмерной графике. Эта и следующая главы будут особенными. В них вы приобщитесь к некоторым секретам моделирования. Усвоение и творческое применение тех приемов, о которых пойдет речь далее, позволит вам начать восхождение к вершинам мастерства. Возможности методов построения оболочек трехмерных объектов поистине безграничны. Только в достаточной мере овладев подобными методами, можно рассчитывать на то, что технические сложности не будут служить преградой в воплощении ваших творческих замыслов и фантазий.
Мы приступаем к рассмотрению методов моделирования, которые позволяют буквально вылепливать сетчатые оболочки трехмерных объектов любой, самой причудливой формы. К числу таких методов создания объектов произвольной формы относятся:
редактирование сетки стандартного примитива-параллелепипеда на уровнях подобъектов, в том числе с последующим применением модификатора MeshSmooth (Сглаживание сетки) и формированием объектов типа NURMS (Non-Uniform Rational MeshSmooth — неоднородная рациональная сглаженная сетка);
формирование сеток кусков Безье посредством преобразования объектов-примитивов, путем непосредственной «лепки» из отдельных кусков или на основе трехмерных каркасов, выстроенных из сплайнов, с последующим «натягиванием» на них сетчатой оболочки с помощью модификатора Surface (Поверхность);
редактирование формы стандартных NURBS-поверхностей или формирование таких поверхностей на основе каркасов из трехмерных NURBS-кривых произвольной формы.
Первые две группы методов мы рассмотрим в этой главе, а последнюю — в главе 10. При освоении этих методов у вас будет возможность применить на практике многие из тех инструментов редактирования сеток, кусков Безье и NURBS-объектов, которые были только обозначены в предыдущей главе. В тексте этой главы будет много картинок, может быть, слишком много. Что поделаешь, очень трудно словами описать, какое именно действие предлагается проделать над той или иной совокупностью граней, ребер или вершин.
Не следует рассчитывать на легкий успех. Рассматриваемые ниже методы уже не столь просты как те, с которыми вы сталкивались до сих пор. Их применение требует кропотливой работы с такими мелкими элементами трехмерных моделей, как отдельные вершины, сегменты, ребра, грани или полигоны. Вряд ли можно рассчитывать на то, что вам удастся воплотить задуманную модель в виде сетки с первой попытки. Признаюсь, у меня самого это никогда не получается. Начинаешь что-то делать, доходишь до определенного момента и видишь, что чуть раньше нужно было сделать по-другому. Приходится начинать все заново. Особенно трудно выполнять настройку формы трехмерных оболочек, создаваемых на основе сплайновых каркасов или NURBS-кривых. На экране — мешанина из перепутывающихся линий и множества точек. Только-только, казалось бы, придашь сетке нужную форму, но стоит чуть повернуть объект и взглянуть на него под другим ракурсом, как обнаруживаешь, что результат совсем не похож на то, к чему ты стремился, и выглядит просто отвратительно. Однако здесь как нельзя лучше действует простое утверждение, что терпением и трудом можно добиться удивительных результатов. Тренируйтесь и тренируйтесь, и успех придет. Со своей стороны обещаю поделиться с вами рядом практических советов, облегчающих тернистый путь к заветной цели. Так что запаситесь терпением и настойчивостью, и — приступим.
Главное меню
Главное меню обеспечивает доступ к командам max 7.5, объединенным в следующие группы:
File (Файл) - команды этого меню позволяют открывать, сохранять, импортировать и экспортировать файлы трехмерных сцен, присоединять к редактируемой сцене объекты из других файлов, а также просматривать файлы изображений и анимаций различных форматов, просматривать и корректировать справочные сведения о сцене. В нижней части меню размещается список имен последних открывавшихся файлов;
Edit (Правка) - обеспечивает доступ к командам отмены и повторения операций, выделения, копирования и удаления объектов, настройки их свойств, а также регистрации и восстановления текущего состояния сцен;
Tools (Сервис) - позволяет активизировать различные инструменты преобразований и выравнивания объектов сцены, обеспечивает вызов плавающих командных палитр управления отображением и выделением объектов, предоставляет возможность просмотра всего списка осветителей сцены и их настройки;
Group (Группа) - позволяет создавать, редактировать и разрушать именованные группы объектов;
Views (Проекции) - позволяет управлять всеми аспектами отображения объектов в комплексе max 7.5, включая настройку окон проекций и установку вспомогательных средств для точного рисования, обеспечивает отмену и повторение команд управления отображением, а также позволяет переключать max 7.5 в экспертный режим, при котором с экрана для экономии места убираются все командные панели и панели инструментов;
Create (Создать) - предоставляет инструменты создания целого ряда объектов max 7.5, познакомиться с которыми вам предстоит в конце данной главы, включая стандартные и улучшенные примитивы, формы, источники света, съемочные камеры и системы частиц. Команды этого меню являются аналогами некоторых инструментов, имеющихся на командной панели Create ( Создать);
Modifiers (Модификаторы) - содержит команды активизации восьми десятков специальных инструментов max 7.5 - модификаторов, предназначенных для редактирования формы объектов различных типов, управления процессом проецирования текстур материалов на поверхности объектов, скелетной деформации сетчатых оболочек и решения многих других задач. Команды данного меню полностью дублируют инструменты, имеющиеся на командной панели Modify (Изменить);
Character (Персонаж) — включает команды, предназначенные для создания и настройки разновидности групп объектов — персонажных сборок (character assembly);
reactor (Реактор) — содержит команды создания и настройки вспомогательных объектов, с помощью которых моделируются реальные физические свойства трехмерных тел, рассматриваемых как жесткие, мягки, упругие или легко деформируемые;
Animation (Анимация) — позволяет создавать такие специфические объекты max 7.5, как системы костей, связанных между собой и предназначенных для скелетной деформации сетчатых оболочек, выбирать алгоритмы управления анимацией — так называемые контроллеры (controllers), алгоритмически связывать между собой любые параметры любых объектов max 7.5 для их синхронного изменения при анимации, создавать для управления параметрами объектов собственные элементы управления, такие как счетчики или ползунки, а также создавать и просматривать эскизы анимаций;
Graph Editors (Графические редакторы) — содержит команды управления окнами диалога Track View (Просмотр треков), предназначенными для настройки параметров анимации объектов, а также окном диалога Schematic View (Просмотр структуры), которое служит для просмотра иерархических связей отдельных объектов сцены между собой;
Rendering (Визуализация) — предоставляет доступ к командам визуализации сцен, обеспечивает возможность выбора одного из двух алгоритмов расчета глобальной освещенности и настройки его параметров, позволяет вызывать диалоговое окно Video Post (Видеомонтаж) и выполнять настройку параметров имитации оптических эффектов и эффектов окружающей среды, обеспечивает доступ к «инструментальному цеху» создания материалов — окну диалога Material Editor (Редактор материалов), а также дает возможность запустить приложение RAM Player (RAM-проигрыватель) для просмотра изображений и анимаций;
Customize (Настройка) — в это меню сведены все команды, предназначенные для настройки элементов интерфейса и параметров программы max 7.5, а также управления всеми бесчисленными дополнительными модулями программы;
MAXScript — содержит команды, предназначенные для написания и отладки макросов и сценариев на языке MAXScript;
Help (Справка) — предоставляет доступ к справочной системе МАХ, обеспечивает возможность обновления справочной информации по сети Интернет, позволяет вызвать окно справки о «горячих клавишах» max 7.5, а также содержит информацию о текущей версии программы.
Выбор команд меню max 7.5 производится точно так же, как в любом приложении Windows. Команды, сопровождаемые многоточием, вызывают появление окон диалога, позволяющих задавать и настраивать параметры этих команд. Назначение и порядок использования отдельных команд меню будет рассматриваться по мере необходимости в соответствующих главах.
Глобальная освещенность: от теории к практике
В начале этой главы мы уже говорили с вами о том, что в программе 3ds max прежних версий отсутствовала возможность учитывать дополнительное освещение, которое объекты реального мира получают за счет световых лучей, отраженных от других объектов. В расчет принималось только прямое освещение, то есть освещение лучами, достигающими поверхности объектов непосредственно от источника света. В результате сцена при использовании единственного осветителя никогда не выглядела реалистично, и решение проблемы состояло в применении целого ряда дополнительных осветителей и множества ухищрений со включением и исключением объектов из числа освещаемых тем или иным источником. Именно из-за того, что мы пока не использовали возможность расчета глобальной освещенности, нам пришлось разместить внутри помещения «МАХ-кафе», помимо двух ключевых осветителей-прожекторов, еще пять всенаправленных источников света.
Как уже говорилось, программа max 7.5 поддерживает расчет глобальной освещенности, причем даже двумя различными способами, с использованием алгоритмов Light Tracer (Трассировщик света) и Radiosity (Перенос излучения).
Глобальная освещенность: первое знакомство
Что такое глобальная освещенность, что дает ее учет при моделировании освещения трехмерных сцен и как она реализуется в 3ds max 7.5?
Все предметы реального мира доступны нашим глазам только потому, что они отражают световые лучи. Однако отраженные от какого-то объекта лучи света распространяются не только в сторону наших глаз, но и во всех остальных направлениях, попадая на другие предметы окружающей обстановки, снова отражаясь от них и т. д. Для примера на рис. 11.1 показаны несколько возможных путей попадания в объектив камеры, имитирующей в виртуальном мире глаз наблюдателя, единственного луча от источника света. На самом деле число лучей, испускаемых осветителем, бесконечно велико. В программе 3ds max при расчетах освещенности число воображаемых испущенных лучей, разумеется, не бесконечно, но тоже очень велико — ведь освещение сцены в пределах пучка световых лучей должно быть равномерным.

Рис. 11.1. Единственный луч источника света (?) может попадать в объектив камеры после однократного отражения (2), двукратного отражения от разных предметов (3-4 и 5-6), трехкратного отражения (5-7-8) и т. д
Отражения световых лучей происходят многократно, пока свет не утратит свою энергию за счет частичного поглощения освещаемыми предметами и рассеивания на мельчайших пылинках, взвешенных в воздухе. Если отражающие объекты имеют характерную окраску, то и отраженные от них лучи света приобретают определенный цветовой оттенок. Например, объект красного цвета поглощает световые лучи всех цветов, кроме красного. Отраженные от такого объекта красные лучи будут придавать близко расположенным к нему предметам красноватый оттенок. Освещенность предметов реального мира, определяющаяся не только прямыми лучами света от источника освещения, но и лучами, отраженными от других предметов окружающей обстановки, и называется в трехмерной графике глобальной освещенностью (Global Illumination).
Вот в чем состоят основные достоинства учета глобальной освещенности:
с учетом переотражений от объекта к объекту в сцене часто оказывается достаточно света даже от единственного источника;
автоматически формируются полупрозрачные тени, если затененные области дополнительно подсвечиваются лучами, отраженными от объектов сцены;
автоматически воспроизводится такое характерное для реального мира явление, как цветовое тонирование объектов светом, отраженным от других объектов, имеющих выраженную цветовую окраску.
Расчет глобальной освещенности требует значительного времени и вычислительных ресурсов компьютера, а также предъявляет определенные требования к конструкции геометрических моделей сцены. Получение хороших результатов с использованием методов расчета глобальной освещенности требует терпения, так как часто приходится действовать методом проб и ошибок.
Разработчики программы mах 7.5 пошли на то, чтобы включить в ее состав два различных алгоритма расчета глобальной освещенности: Light Tracer (Трассировщик света) и Radiosity (Перенос излучения), потому что каждый из них имеет свои особенности и области применения. В дальнейшем мы вкратце познакомимся с каждым из них.
Помимо этого, глобальная освещенность может рассчитываться имеющимся в составе шах 7.5 модулем визуализации mental ray. В числе стандартных осветителей имеются два, предназначенные для использования совместно с этим модулем. Их наименования включают буквы mr (от слов mental ray). Кроме того, большинство источников света приобрело дополнительные параметры, позволяющие настроить их свойства применительно к данному модулю визуализации. Свитки таких параметров отсутствуют на панели Create (Создать) и появляются только при переключении при выделенном осветителе на панель Modify (Изменить). Названия этих свитков также включают слова mental ray.
Глобальная освещенность
Алгоритм расчета глобальной освещенности базируется на технике обратной трассировки лучей. Настройка глобальной освещенности в модуле mental ray производится в разделе Global Illumination (Глобальная освещенность) свитка Caustics and Global Illumination (Gl) (Каустика и глобальная освещенность (Gl)) на вкладке Indirect Illumination (Непрямое освещение) окна диалога Render Scene (Визуализация сцены). Доступно всего три элемента управления:
Enable (Включить) — установка этого флажка включает расчет глобальной освещенности модулем mental ray. В результате оказываются несколько подсвечены области, не освещаемые прямыми лучами света (рис. 15.29);

Рис. 15.29. Результат визуализации сцены модулем mental ray без учета глобальной освещенности (слева) и при включении этого эффекта (справа)
Maximum Sampling Radius (Максимальный радиус выборки) — если этот флажок сброшен, то радиус каждого фотона полагается равным одной десятой доле размера сцены. При установленном флажке радиус задается в счетчике справа от флажка. Принятое по умолчанию значение Maximum Sampling Radius (Максимальный радиус выборки), равное 1, может привести к появлению множества мелких пятен от отдельных фотонов. В этом случае можно увеличить размер фотона или число Average Gl Photons per Light (Среднее значение фотонов глобальной освещенности) в разделе Light Properties (Свойства освещения).
Группирование объектов
В max 7.5 существует еще одно удобное средство для работы с наборами объектов — группы. Группа (group) — это совокупность объектов, которые после группирования действуют как единый объект. В этом состоит основное отличие группы от именованного набора выделенных объектов, в составе которого каждый объект остается самостоятельным. Группу можно открыть, чтобы изменить или модифицировать часть ее объектов, и снова закрыть — после этого группа продолжит действовать как единый объект.
Команды работы с группами сосредоточены в меню Group (Группа). Чтобы команды данного меню стали доступными для использования, нужно выделить один или несколько объектов сцены.
Имитация конечной глубины резкости изображения
У реальных фотоаппаратов или видеокамер изображение редко бывает резким по всей глубине сцены. Как правило, фокусировка объектива на предмете съемки, находящемся на определенном удалении от точки наблюдения, ведет к тому, что все остальные предметы, расположенные как ближе к наблюдателю, так и дальше от него, получаются на изображении несколько размытыми. Это свойство оптики, которое можно рассматривать как технический недостаток, с точки зрения композиции сцены имеет неоспоримое достоинство: оно позволяет фокусировать внимание зрителя на нужном элементе сцены. Привыкнув видеть подобный эффект на фотографиях и в кино, мы сразу же замечаем его отсутствие на визуализированных изображениях трехмерной графики, где все предметы выглядят резко, на каком бы удалении от камеры они ни находились.
Виртуальные камеры ранних версий программы 3ds max не обладали способностью воспроизводить эффект конечной глубины резкости. Для его реализации использовался специальный фильтр из категории оптических эффектов, который можно было применять к изображению как в процессе визуализации, так и в ходе вторичной обработки уже синтезированного снимка.
В max 7.5 виртуальные камеры способны имитировать эффект конечной глубины резкости изображения, который можно наблюдать не только после визуализации, но и непосредственно в окнах проекций.
Особенность реализации эффекта глубины резкости виртуальной камеры в max 7.5 состоит в том, что расфокусированное изображение строится как суперпозиция нескольких изображений одной и той же сцены, синтезируемых заданное число раз и накладываемых друг на друга. Каждое синтезированное изображение строится при небольшом отличии от предыдущего по углу съемки. При этом смещение точек съемки производится так, чтобы линия визирования камеры всегда проходила через некоторую точку, удаленную от камеры на заданное расстояние. Такой точкой может, в частности, служить мишень нацеленной камеры. Каждое отдельное изображение ослабляется по интенсивности и суммируется с предыдущими, чтобы в совокупности они образовали нужную картинку. Таким образом, процесс визуализации одной и той же сцены производится много раз, из-за чего данный эффект носит название многопрогонного (Multi-Pass Effect). Объекты сцены, расположенные в непосредственной близости от точки фокусировки, выглядят на суммарном изображении резко. Изображения остальных объектов оказываются размытыми тем сильнее, чем дальше они отстоят от точки фокусировки.
Имитация тканей модулем reactor
Ткани, как и мягкие тела, являются разновидностью деформируемых тел, которые можно моделировать средствами модуля reactor (Реактор). С помощью тканей можно имитировать развевающиеся на ветру флаги, колышущиеся занавеси или, скажем, плащ персонажа.
В программе max 7.5 для моделирования ткани используют примитив Plane (Плоскость).
Чтобы освоить методы имитации тканей, рассмотрим несколько примеров.
Импорт файлов
Если требуется загрузить файлы данных в форматах, не являющихся описаниями трехмерных сцен программы max 7,5 или ее предшествующих версий (например, это могут быть файлы типа PRJ, SHP или 3DS — DOS-версии программы 3D Studio), следует использовать возможности импорта файлов.
Для импорта файлов выполните следующие действия:
Выберите команду меню File > Import (Файл > Импорт). Появится окно диалога Select File to Import (Выбор файла для импорта), не отличающееся от типового окна открытия файла. Выберите нужный формат файла в раскрывающемся списке Files of Type (Тип файлов), выделите требуемый файл и щелкните на кнопке Open (Открыть).
В зависимости от формата импортируемого файла выполните настройку параметров в одном или нескольких окнах диалога. Так, при импорте файлов форматов DWG, DXF, PRJ или 3DS на первом шаге появляется окно диалога с переключателем Do you want to (Хотите ли вы), который требуется установить в одно из двух положений: Merge objects with current scene (Присоединить объекты к текущей сцене) или Completely replace current scene (Полностью заместить текущую сцену). Для продолжения импорта щелкните на кнопке ОК, для отмены — на кнопке Cancel (Отмена). Обратитесь к электронной справочной системе max 7.5 за сведениями о параметрах окон диалога импорта файлов различных форматов.
Индивидуальные режимы отображения
Установка индивидуальных режимов отображения объектов производится в окне диалога Object Properties (Свойства объекта), которое вызывается из четвертного меню.
Для настройки индивидуальных режимов отображения объектов проделайте следующее:
Выделите нужный объект в любом окне проекции, щелкнув на нем левой кнопкой мыши, а затем щелкните на нем правой кнопкой мыши, чтобы вызвать четвертное меню, с которым вы знакомились в предыдущей главе.
Выберите в разделе transform (преобразование) четвертного меню команду Properties (Свойства). Появится окно диалога Object Properties (Свойства объекта), показанное на рис. 3.18.

Рис. 3.18. В окне диалога Object Properties можно настраивать режимы отображения объекта
Включение и выключение индивидуальных режимов отображения производится путем установки или сброса флажков в разделе Display Properties (Свойства отображения) вкладки General (Общие) окна. Рассмотрим только некоторые из них, которые могут вам пригодиться на деле:
Display as Box (Показывать как габаритный контейнер) — если этот флажок установлен, объект будет показываться в виде габаритного контейнера вне зависимости от текущего уровня качества отображения в окне проекции (рис. 3.19). Это бывает удобно, когда работа по отладке данного объекта уже закончена, а редактирование других объектов еще продолжается;

Рис. 3.19. Отдельный объект — голова куклы — изображается в виде габаритного контейнера
Backface Cull (Отбрасывание граней) — если сбросить этот флажок, то результат будет аналогичен включению режима двустороннего показа граней, но не для всех объектов сцены, а только для текущего выделенного объекта, как показано на рис. 3.20;

Рис. 3.20. У правого объекта, вазы, выключен режим Backface Cull
Edges Only (Только края) — если сбросить этот флажок, установленный по умолчанию, то в каркасном режиме отображения будут показываться пунктирными линиями ребра смежных треугольных граней, лежащих в одной плоскости, которые в обычном случае не видны;
See-Through (Просвечивание) — установка этого флажка делает объект в окнах проекций полупрозрачным, позволяя видеть сквозь него те объекты, которые он заслоняет от наблюдателя, как видно на рис. 3.21. Это бывает полезно на этапе отладки взаимного положения объектов. Включение этого режима не влияет на результат визуализации: прозрачность объекта на итоговом изображении зависит только от свойств присвоенного ему материала.

Рис. 3.21. Включение режима See-Through для двух стен домика делает их полупрозрачными и позволяет видеть объекты внутренней обстановки
Инструменты для укладки волос
![]() | Translate (Переместить) — дает возможность переместить волосы в выбранном направлении. Этот инструмент также можно включить клавишей W. | ||
![]() | Stand (Поднять) — позволяет разместить волосы перпендикулярно к поверхности объекта, с которой они произрастают. | ||
![]() | Puff Roots (Завить от корней) — повторяет действие предыдущего инструмента с той разницей, что поднятие волос происходит не от кончиков, а от корней. Этот инструмент также можно включить клавишей Т. | ||
![]() | Clump (Собрать в пучок) — позволяет собрать волосы в пучок. Включается также клавишей Y. | ||
![]() | Rotate (Вращать) — помогает завить волосы в направлении, указанном курсором мыши. | ||
![]() | Scale (Масштабировать) — дает возможность увеличить или уменьшить длину волос. | ||
![]() | Invert Selection (Инвертировать выделение) — позволяет инвертировать выделение вершин. Для выполнения этой команды можно использовать сочетание клавиш CTRL+I. | ||
![]() | Zoom Extents Selected (Увеличить выделение) — позволяет увеличить область с выделенными участками волос. Для выполнения этой команды можно использовать клавишу Z. | ||
![]() | Zoom Extents (Увеличить) — дает возможность увеличить область, на которой растут волосы. Для выполнения этой команды можно использовать клавишу Пробел. | ||
![]() | Hide Selection (Скрыть выделение) — служит для временного скрытия выделенных волос. Для выполнения этой команды можно использовать клавишу -. | ||
![]() | Unhide All (Отобразить все) — является дополнением к предыдущей команде, позволяя отобразить волосы, которые были ранее скрыты. Включается также клавишей \. | ||
![]() | Preview (Предварительный просмотр) — дает возможность узнать, как будет выглядеть изображение после визуализации. Для этого картинка визуализируется непосредственно в окне Style (Стиль) с не слишком высоким качеством. Для завершения предварительного просмотра и возврата' к редактированию нажмите клавишу Esc. | ||
![]() | Toggle Collisions (Включить/выключить соударения) — позволяет временно отключить и вновь включить взаимодействие волос с объектами соударения. Такие объекты специально добавляются в сцену, если необходимо сымитировать взаимодействие с ними волос, средствами свитка Dinamics (Динамика) модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)). В окне Style (Стиль) работа с подобными объектами не производится, поэтому для ускорения работы их лучше отключить. | ||
![]() | Pop Zero/Pop Selected (Восстановить нулевой длины/Восстановить выделенные) — эти два похожих инструмента дают возможность восстановить длину волос, если она была по ошибке слишком уменьшена. При этом инструмент Pop Zero (Восстановить нулевой длины) восстанавливает исходную длину только тех волос, которые были срезаны полностью, a Pop Selected (Восстановить выделенные) — всех выделенных волос. | ||
![]() | Lock Selected (Зафиксировать выделенные) — позволяет закрепить все выделенные участки волос в текущем положении. Такой инструмент удобно использовать, чтобы случайно не нарушить полученную форму прически. | ||
![]() | Unlock Selected (Разблокировать выделенные) — инструмент, дополняющий предыдущий. С его помощью можно снять фиксацию с участков волос, которые ранее подверглись воздействию инструмента Lock Selected (Разблокировать выделенные). Включается также клавишей U. | ||
![]() | Attenuate Length (Уменьшить длину волос) — позволяет упростить процесс создания волосяного покрова на теле животного. Она автоматически подбирает длину шерсти на разных участках, основываясь на полигональной структуре модели. | ||
![]() | Cut Hair (Подстричь волосы) — дает возможность сделать волосы короче, убрав ненужную часть. При использовании этого инструмента волосы не удаляются, а масштабируются в меньшую сторону. Благодаря этому их размер можно восстановить в любое время при помощи уже известных вам инструментов Scale (Масштабировать), Pop Zero (Разблокировать выделенные) или Pop Selected (Извлечь выделенные). Включается также клавишей С. | ||
![]() | Comb Away (Расчесать от себя) — позволяет расчесать выделенные волосы в направлении от точки обзора. При выполнении этой операции сохраняется параллельное расположение волос относительно поверхности. | ||
![]() | Recomb (Повторное расчесывание) — помогает расположить волосы параллельно по отношению к поверхности, при этом текущее положение волос используется как направляющая. Для выполнения этой команды можно использовать клавишу R. | ||
![]() | Undo (Отменить) — позволяет отменить последнее действие, выполненное в окне Style (Стиль). Для выполнения этой команды можно использовать клавишу CTRL+Z. | ||
![]() | Done (Готово) — сохраняет результаты произведенных действий и позволяет вернуться в окно 3ds max. |
Инструменты нижней части обеих разновидностей окна Track View
В нижней части обеих разновидностей окна Track View располагаются следующие кнопки:

Zoom Selected Object (Выделенный объект наверху) — кнопка, расположенная в левом нижнем углу окна Track View (Просмотр треков), обеспечивает вертикальную прокрутку дерева иерархии так, чтобы выделенный объект располагался в верхней части списка в окне иерархии. Треки в окне правки треков прокручиваются синхронно с иерархическим списком;

Show Selected Key Stats (Показать статистику ключа) — в окне Редактора кривых щелчок на этой кнопке приводит к отображению справа от маркера выделенного ключа анимации справочных сведений о нем в следующем формате: номер (или время) кадра, величина преобразования. Например, отображение строки 40,100.0 обозначает, что в кадре № 40 величина параметра равна 100 %;

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

Zoom Horizontal Extents (Сегмент целиком) — увеличивает или уменьшает масштаб изображения в окне правки треков так, чтобы целиком отобразить активный временной сегмент анимации. Панель инструмента содержит дополнительную кнопку Zoom Horizontal Extents Keys (Диапазон действия ключей целиком), щелчок на которой изменяет масштаб так, чтобы в окне целиком поместился диапазон действия всех ключей анимации. Этот диапазон может оказаться как больше, так и меньше текущего сегмента анимации;

Zoom Value Extents (Значения функций целиком) — в режиме функциональных кривых увеличивает или уменьшает размер правой части окна по вертикали так, чтобы целиком отобразить диапазон численных значений анимируемого параметра в пределах активного временного сегмента;

Zoom (Масштаб) — позволяет увеличивать и уменьшать масштаб изображения в правой части окна просмотра треков, как при использовании аналогичного инструмента в любом из окон проекций. Раскрывающаяся панель инструмента содержит две дополнительные кнопки: Zoom Time (Масштаб времени) — изменяет только горизонтальный масштаб правой части окна просмотра треков, Zoom Values (Масштаб значений) — изменяет только вертикальный масштаб правой части окна просмотра треков в режиме функциональных кривых;

Zoom Region (Масштаб диапазона) — позволяет увеличивать масштаб выделенного диапазона действия ключей анимации в отдельном окне аналогично действию кнопки Region Zoom (Масштаб области) в окне проекции.
Слева от кнопки Show Selected Key Stats (Показать статистику ключа) размещаются два текстовых поля. На рис. 16.57 они показаны на панели инструментов Key Stats (Статистика ключей), превращенной в плавающее окно. Левое из этих полей демонстрирует номер кадра, в котором находится выделенный ключ. Если в это поле ввести иной номер и нажать клавишу Enter, то ключ сместится по шкале времени к отметке указанного кадра.

Рис. 16.57. Панель инструментов Key Stats, превращенная в плавающее окно
Правое поле показывает величину анимируемого параметра, хранящегося в ключе анимации. Для изменения данной величины можно ввести новое значение прямо в это поле.
Инструменты окна Track View
Рассмотрим только те инструменты, которые могут оказаться наиболее полезными для вас на начальном этапе работы с обеими модификациями окна правки треков.
Панель инструментов Keys (Ключи) содержит следующие кнопки.

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

Рис. 16.58. Окно диалога Filters содержит средства настройки состава параметров, отображаемых в окне просмотра треков
С помощью флажков списка Show (Показывать) в левой части окна фильтров можно выбрать, какие типы объектов следует показывать в окне просмотра треков. Кнопки под списком позволяют установить все флажки (All), сбросить все флажки (None) или инвертировать установку флажков (Invert). Обратите внимание на сброшенный по умолчанию флажок Controller Types (Типы контроллеров). При его установке в окне дерева иерархии справа от каждого параметра или преобразования, допускающего анимацию, будет отображаться наименование контроллера, назначенного этому параметру или преобразованию по умолчанию. Об этом мы еще поговорим подробнее в следующей главе.
Список Hide By Controller Type (Скрыть по типу контроллера) в средней части окна содержит перечень всех контроллеров max 7.5. В этом списке можно выделить те контроллеры, которые не должны отображаться на дереве иерархии окна Просмотр треков. В разделе Show Only (Показывать только) в правой части окна можно установить флажки, обеспечивающие отображение только треков с анимацией (Animated Tracks), выделенных объектов (Selected Objects), выделенных треков (Selected Tracks), видимых объектов (Visible Objects) или только треки с ключами (Keyable Tracks). В разделе Hide By Category (Скрыть по категории) можно установить флажки, обеспечивающие скрытие треков объектов определенных категорий. В разделе Function Curve Display (Отображение функциональных кривых) в правой нижней части окна фильтров можно указать, какие преобразования следует отображать в окне Редактора кривых. Если щелкнуть на кнопке Filters (Фильтры) правой кнопкой мыши, то появится меню, показанное на рис. 16.59. Это меню содержит команды, дублирующие соответствующие флажки из разделов Show Only (Показывать только) и Show (Показывать) окна Filters (Фильтры).

Рис. 16.59. Меню, вызываемое щелчком правой кнопки мыши на кнопке Filters, содержит команды управления отображением в окне просмотра треков

Move Keys (Переместить ключи) — в окне Диаграммы ключей позволяет перемещать выделенные ключи только по горизонтали, вдоль оси времени, а в окне Редактора кривых — как по горизонтали, так и по вертикали, по оси значений анимируемого параметра. Для перемещения одного или нескольких ключей выделите их, щелкните на кнопке Move Keys (Переместить ключи) и перетащите ключи. Перемещение ключей в окне Диаграммы ключей не сказывается на их числовых значениях, меняются только связанные с ключами моменты времени. При перемещении ключей в окне Редактора кривых могут меняться как моменты времени размещения ключей, так и значения ключевых параметров. Для дублирования одного или нескольких ключей выделите ключи, щелкните на кнопке Move Keys (Переместить ключи) и перетащите ключи влево или вправо при удерживаемой клавише Shift.
|
СОВЕТ Для удаления ключей нет специального инструмента. Просто выделите нужные ключи и нажмите клавишу Delete. |

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

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

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

Add Keys (Добавить ключи) — позволяет добавить ключ анимации на любом из треков окна Диаграммы ключей или на любой из функциональных кривых окна Редактора кривых. Для добавления ключа щелкните на данной кнопке, а затем щелкните в точке трека или функциональной кривой напротив отметки нужного момента времени. Числовое значение параметра ключа рассчитывается путем интерполяции значений соседних ключей, если параметр подвергался анимации, или принимается равным статическому значению, если анимация параметра отсутствовала.

Draw Curves (Рисовать кривые) — предназначена для того, чтобы рисовать функциональные кривые или дорисовывать имеющиеся прямо в окне диалога Track View — Curve Editor (Просмотр треков — Редактор кривых). Выделите трек какого-то отдельного параметра, например преобразования положения по оси X, и щелкните на этой кнопке. Переместите курсор, который принимает вид карандаша, в область правки треков в правой части окна диалога и дорисовывайте функциональную кривую, как показано на рис. 16.60. Чем медленнее вы будете

перемещать курсор, тем больше ключей будет появляться на нарисованной кривой. Ели ключей будет слишком много, щелкните на кнопке Reduce Keys (Уменьшить число ключей).

Рис. 16.60. Инструмент Draw Curves окна диалога Curve Editor позволяет рисовать кривые изменения анимируемых параметров вручную
Панель инструментов Key Tangents (Касательные ключей) окна диалога Track View — Curve Editor (Просмотр треков — Редактор кривых), показанная отдельно на рис. 16.61, содержит кнопки, предназначенные для выбора того или иного варианта сглаживания функциональных кривых на входе и выходе из ключа анимации. Все эти кнопки являются аналогами соответствующих кнопок окна диалога Key Info (Справка о ключах), подробно рассмотренных в этой главе ранее. Каждая из кнопок имеет раскрывающуюся панель с двумя дополнительными инструментами, позволяющими изменить тип касательных функциональной кривой только на входе в ключ или только на выходе из него.

Рис. 16.61. Панель инструментов Key Tangents окна диалога Track View — Curve Editor
Из всех кнопок панели инструментов Curves (Кривые) на начальном этапе для вас может представлять интерес только одна — Parameter Curve Out-of-Range Types (Типы экстраполяции функциональных кривых). Этот инструмент позволяет управлять тем, каким образом будет выполняться анимация параметра, соответствующего выделенному треку, за пределами заданного диапазона, вызывая окно диалога Param Curve Out-of-Range Types (Типы экстраполяции параметрических кривых), показанное на рис. 16.62.

Рис. 16.62. Окно диалога Param Curve Out-of-Range Types
Использование этого окна бывает важно в тех случаях, когда анимация, которая должна периодически повторяться, настраивается в ограниченном диапазоне кадров. С помощью средств данного окна можно выбрать тот или иной вариант повторения настроенной анимации. Окно содержит шесть графиков, иллюстрирующих варианты продолжения (экстраполяции) функциональных кривых: Constant (Постоянный) — анимируемый параметр за пределами диапазона будет сохранять постоянные значения, соответствующие началу и концу диапазона; Cycle (Циклический) — будет периодически повторяться анимация параметра, заданная в пределах диапазона действия; Loop (Периодический) — также будет периодически повторяться анимация параметра, заданная в пределах диапазона действия, но при этом будет выполнена интерполяция между значениями параметра в начале и в конце диапазона действия, чтобы в процессе анимации не наблюдалось «скачка» значения параметра; Ping Pong (Зеркальный повтор) — анимация будет попеременно повторяться в прямом и зеркальном вариантах; Linear (Линейный) — анимация продолжается по линейному закону вдоль касательной к кривой графика изменения параметра в точке конца диапазона действия; Relative Repeat (Относительный повтор) — повторяется анимация, заданная в пределах диапазона, но все значения параметра смещаются так, чтобы на краях диапазона действия не было скачков значения параметра. Под каждым из шести графиков имеются по две кнопки. Левая кнопка управляет выбором варианта поведения параметра до начала диапазона действия анимации, а правая кнопка определяет, как будет меняться параметр после выхода из этого диапазона. Можно произвольным образом комбинировать варианты продолжения параметрических кривых влево и вправо от заданного диапазона действия, нажимая левую кнопку под образцом одного варианта, а правую — под образцом другого.
Когда окно просмотра треков находится в режиме Диаграммы ключей, в нем появляются некоторые дополнительные инструменты.

Edit Keys (Правка ключей) — переводит окно диалога Track View — Dope Sheet (Просмотр треков — Диаграмма ключей) в режим правки ключей, в котором можно редактировать отдельные ключи или их выделенные наборы.

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

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

Delete Time (Удалить сегмент) — удаляет выделенный временной сегмент и все связанные с ним ключи анимации.

Reverse Time (Обратить время) — изменяет порядок следования ключей выделенного временного сегмента на обратный. Это очень полезный инструмент, позволяющий заставить полностью настроенную анимацию действовать в обратном направлении, как в кино, когда пленку крутят от конца к началу.

Scale Time (Масштабировать сегмент) — позволяет выделить сегмент времени и изменить его масштаб в сторону уменьшения или увеличения. Изменение масштаба времени сказывается на поведении объектов, которое управляется ключами, принадлежащими масштабируемому сегменту.

Insert Time (Вставить сегмент) — позволяет вставить интервал времени в текущий трек.
Пожалуй, это все, что следует для начала знать об окне диалога Track View (Просмотр треков). Осталось только рассмотреть вопрос о том, как с помощью этого окна можно заменять контроллеры анимации — но это уже вопрос следующей главы.
Инструменты, определяющие режим работы с волосами
![]() | Brush mode (Режим кисти) — при включении этого режима курсор приобретает вид окружности, символизирующей виртуальную кисть. Эта окружность определяет область воздействия инструментов для укладки. Все заданные действия будуг производиться только по отношению к тем выделенным волосам, которые попали в окружность. Размером виртуальной кисти можно управлять, нажав и удерживая клавишу В и изменяя положение мыши. | ||
![]() | Drag mode (Режим перетаскивания) — при включении этого режима воздействие инструментов для укладки распространяется на все выделенные волосы. | ||
![]() | Shake mode (Режим вибрации) — при включении этого режима происходит просчет поведения волос при воздействии на них силы земного притяжения. Такой режим удобно использовать для того, чтобы волосы не торчали в разные стороны, а лежали естественно. |
Инструменты управления материалами
Ячейки образцов окружены рядом кнопок, показанных отдельно на рис. 13.8.

Рис. 13.8. Инструменты управления окна Редактор материалов
Эти кнопки являются инструментами управления Редактором материалов и имеют следующее назначение:

Get Material (Получить материал) — позволяет загрузить готовый материал или создать новый. Щелчок на этой кнопке вызывает появление немодального окна диалога Material/Map Browser (Просмотр материалов и карт текстур), рассматриваемого ниже;

Put Material to Scene (Поместить материал на сцену) — позволяет после настройки параметров применить к объектам сцены материал, являющийся копией «горячего» материала, созданной с помощью кнопки Make Material Copy (Копировать материал). Изначально материал-копия, имеющий по умолчанию то же имя, что и оригинал, создается как «холодный», то есть не примененный ни к одному объекту сцены;

Assign Material to Selection (Назначить материал выделенным объектам) — позволяет назначить материал из активной ячейки образца всем выделенным объектам сцены, при этом материал из данной ячейки становится «горячим». Объекты должны быть выделены до щелчка на данной кнопке. Открытое окно Редактора материалов не препятствует выделению объектов;

Reset Map/Mtl to Default Settings (Установить исходный материал/карту текстуры) — возвращает материалу (карте текстуры) из активной ячейки образца исходные значения параметров, принимаемые по умолчанию, при этом все цвета компонентов материала заменяются градациями серого тона;

Make Material Copy (Копировать материал) — позволяет снять копию с «горячего» материала. Копия помещается в ту же ячейку образца и становится «холодной», хотя сохраняет все свойства и имя оригинала. Правка свойств копии не вызывает немедленных изменений в материалах объектов сцены. Для превращения «холодной» копии в «горячий» материал и обновления его в составе сцены служит кнопка Put Material to Scene (Поместить материал на сцену);

Make Unique (Сделать уникальным) — позволяет превратить в независимую копию материал, являющийся дубликатом-образцом другого материала. Эта кнопка становится доступной, например, при выборе одного из компонентов материала типа Multi/Sub-Object (Многокомпонентный), примененного к определенному объекту сцены, если этот материал-компонент применен еще к какому-то объекту;

Put to Library (Поместить в библиотеку) — служит для помещения материала из активной ячейки образца в текущую библиотеку материалов (по умолчанию это библиотека 3dsmax.mat). После этого библиотеку следует сохранить на диске с помощью окна диалога Material/Map Browser (Просмотр материалов и карт текстур);

Material Effects Channel (Канал эффектов монтажа) — позволяет связать материал с одним из 15 каналов графических эффектов, используемых в процессе фильтрации готового изображения сцены (об этом мы поговорим в главе 15, «Осваиваем тонкости визуализации сцены и внешней среды»). Выбор канала 0, используемого по умолчанию, означает, что к материалу не смогут быть применены графические эффекты. Кнопки выбора номера канала размещаются на раскрывающейся панели данного инструмента;

Show Map in Viewport (Показать текстуру в окне проекции) — позволяет увидеть, как будет выглядеть растровая текстура материала непосредственно на поверхности объекта в окне проекции max 7.5. Интерактивный визуализатор, действующий в окнах проекций, обеспечивает упрощенное отображение текстуры, но зато позволяет разглядеть объект в окне проекции с разных сторон. Данная кнопка доступна только в том случае, когда активная ячейка содержит материал с картой растровой текстуры;

Show End Result (Показать конечный результат) — позволяет просматривать в ячейке образца вид комбинированного материала, основанного на карте текстуры. Если режим выключен, можно просматривать лишь тот из компонентов комбинированного материала, с которым ведется работа в данный момент;

Go to Parent (Перейти к составному материалу) — позволяет перейти с уровня правки компонента — материала или текстуры, входящих в составной материал, — на более высокий уровень работы с составным материалом, объединяющим эти компоненты;

Go to Sibling (Перейти к компоненту) — позволяет перейти к правке следующего материала или текстуры, входящих в составной материал в качестве компонентов, не поднимаясь на уровень составного материала;

Materials/Map Navigator (Путеводитель по материалам/картам текстур) — вызывает окно диалога Materials/Map Navigator, позволяющее определить, какие текстуры и материалы используются в активной ячейке образца. В этом окне используются те же инструменты просмотра материалов и текстур, что и в окне Material/Map Browser (Просмотр материалов и карт текстур), рассматриваемом ниже. Если в окне Materials/Map Navigator (Путеводитель по материалам/картам текстур), показанном на рис. 13.9, щелкнуть на строке любого материала или любой карты текстуры, входящих в состав текущего материала, в окне Редактора материалов автоматически произойдет переход на уровень работы с этим материалом или с этой картой;

Рис. 13.9. Щелчок на строке Color 2 в окне Путеводителя по материалам/картам текстур вызывает в окне Редактора материалов переход на уровень работы с текстурной картой, замещающей цвет Color 2 в составе материала Wood Checker
|
ЗАМЕЧАНИЕ Многие пользователи max 7.5 справедливо считают окно Путеводителя по материалам/ картам текстур самым удобным и наглядным способом переключения с одного уровня редактирования составного материала на другой. В любом случае, это окно полностью заменяет собой кнопки Go to Parent (Перейти к составному материалу) и Go to Sibling (Перейти к компоненту). |

Select by Material (Выделить по материалу) — позволяет выделить объекты сцены по признаку используемых в их составе материалов, вызывая для этого окно диалога Select Entities (Выделение по материалу). Все объекты, использующие текущий активный материал, выделяются в списке окна;

Options (Параметры) — позволяет перейти к настройке параметров Редактора материалов, вызывая окно диалога Material Editor Options (Параметры Редактора материалов);

Make Preview (Создать эскиз) — позволяет создать и просмотреть эскиз анимации материала в ячейке образца в реальном масштабе времени, вызывая для настройки параметров эскиза окно диалога Create Material Preview (Создание эскиза анимации материала). Это окно является упрощенной версией окна диалога Make Preview (Создание эскиза), вызываемого по команде меню Rendering > Make Preview (Визуализация > Создать эскиз), которое будет рассматриваться в главе 16, «Пробуем выполнять анимацию объектов». Раскрывающаяся панель данной кнопки содержит еще два инструмента: View Preview (Просмотреть эскиз) для просмотра ранее созданных эскизов анимаций материалов и Save Privew (Сохранить эскиз) для сохранения или переименования файлов анимаций материалов;

Video Color Check (Контроль цветности) — включает режим контроля цветов материала на предмет их соответствия стандартам видеосигналов NTSC и PAL. Цвета, не соответствующие этим стандартам, либо отображаются бросающимся в глаза оттенком, либо корректируются, в зависимости от установок на вкладке Rendering (Визуализация) окна диалога Preference Settings (Настройка параметров), вызываемого по команде Customize > Preferences (Настройка > Параметры);

Sample UV Tiling (Плитки образцов в плоскости UV) — позволяет просмотреть в ячейке образца варианты построения материала из плиток образцов текстуры с различной кратностью повторения в пределах поверхности объекта. Раскрывающаяся панель инструмента содержит кнопки выбора 4, 9 или 16 плиток;

Background (Фон) — позволяет изменить фон в ячейке образца, который по умолчанию является черным, что неудобно при просмотре образцов стеклянных или других прозрачных материалов. Если кнопка нажата, в ячейке образца изображается клетчатый фон в виде шахматной доски, как показано на рис. 13.10;

Рис. 13.10. Ячейка образца с шахматным фоном

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

Sample Type (Тип образца) — позволяет выбрать тип образца материала. Каждый из возможных вариантов — сфера, цилиндр или куб — включается своей кнопкой, расположенной на раскрывающейся панели данного инструмента.
Ниже инструментальных кнопок Редактора материалов находятся (см. рис. 13.3):

Pick Material from Object (Взять образец материала с объекта) — кнопка, позволяющая загрузить в ячейку образец материала, взятого с объекта сцены. Активизируйте ячейку, щелкните на кнопке, переместите курсор в окно проекции и щелкните на объекте с нужным материалом;

раскрывающийся список имен материалов, позволяющий переименовать текущий материал. Присваивать имена материалам столь же важно, как именовать объекты сцены. Бывает очень трудно отыскать нужный материал в библиотеке, если все материалы будут иметь принятые по умолчанию однотипные имена # — Default (Исходный №) или Material # (Материал №), сопровождаемые порядковым номером;

кнопка, расположенная справа от списка имен материалов, предназначена для выбора типа редактируемого материала. Щелчок на этой кнопке ведет к появлению окна диалога Material/ Map Browser (Просмотр материалов и карт текстур).
Инструменты управления визуализацией
Мах 7.5 позволяет выполнять визуализацию изображения сцены в любом из активных окон проекций — если, разумеется, в этом окне действительно отображается проекция сцены, а, скажем, не треки анимации окна Track View (Просмотр треков). Выбор варианта визуализации осуществляется с помощью двух кнопок и раскрывающегося списка основной панели инструментов, показанных на рис. 15.1.

Рис. 15.1. Кнопки и раскрывающийся список основной панели инструментов, предназначенные для управления визуализацией
Эти инструменты, описываемые в следующем перечне, позволяют выбрать, какое окно проекции и каким образом будет визуализироваться:

Render Scene (Визуализировать сцену) — вызывает окно диалога Render Scene (Визуализация сцены), в котором можно настроить параметры визуализации изображения сцены в активном окне проекции, если в раскрывающемся списке Render Type (Вариант визуализации) не указан другой вариант. Описание окна диалога Render Scene (Визуализация сцены) приводится ниже, в разделе «Учимся настраивать параметры визуализации»;

Render Type (Вариант визуализации) — раскрывающийся список, содержащий восемь вариантов визуализации — View (Проекция целиком), Selected (Выделенные объекты), Region (Область), Crop (Обрезка), Blowup (Увеличение), Box Selected (Габаритный контейнер), Region Selected (Область с выделенными объектами) и Crop Selected (Обрезка выделенных объектов), — и позволяющий выбрать, какую часть проекции сцены в активном окне проекции следует визуализировать, как будет описано ниже;
Quick Render (Production) (Быстрая визуализация (итоговая)) — также запускает процесс визуализации сцены в активном окне, но при этом использует значения параметров, принятые по умолчанию, и не вызывает окно диалога Render Scene (Визуализация сцены).
Именно этот вариант визуализации вы уже использовали много раз. Мах 7.5 позволяет заранее настроить три группы параметров, соо

Инструменты выделения волос
![]() | Select by Hair Ends (Выделить концы волос) — когда включен этот режим выделения, работа происходит только с кончиками волос. Его также можно включить клавишей Н. | ||
![]() | Select Whole Strand (Выделить весь волос) — когда включен этот режим выделения, действия, производимые с волосами, оказывают на них влияние по всей длине. Его также можно включить клавишей J. | ||
![]() | Select by Vertex (Выделить по вершинам) — когда включен этот режим выделения, вы вручную можете выделить те участки волос, с которыми вы хотите работать. Этот режим также можно включить клавишей К. | ||
![]() | Select by Root (Выделить по корням) — когда включен этот режим выделения, работа происходит только с корнями волос. Его также можно включить клавишей L |
Интерактивное окно предварительного просмотра анимаций
Интерактивное окно предварительного просмотра анимаций (рис. 17.6) вызывается щелчком на кнопке Preview in Window (Просмотреть в окне) в свитке Preview & Animation (Просмотр и анимация), появляющемся на командной панели Utilities (Утилиты) после запуска утилиты reactor (Реактор). Вызвать появление этого окна можно также, выполнив команду Preview Animation (Просмотреть анимацию) меню reactor (Реактор) или щелкнув на кнопке Preview Animation (Просмотреть анимацию) панели инструментов reactor (Реактор).

Рис. 17.6. Интерактивное окно предварительного просмотра анимаций
Для управления просмотром анимации в окне используйте следующие средства:
чтобы начать просмотр анимации, временно приостановить и снова возобновить просмотр, выполните команду меню окна Simulation > Play/Pause (Имитация > Воспроизведение/Пауза) или просто нажмите клавишу Р;
для полной остановки воспроизведения и восстановления исходного состояния сцены выполните команду Simulation > Reset (Имитация > Перезагрузка) или нажмите клавишу R;
для изменения ракурса просмотра щелкните левой кнопкой мыши и перетаскивайте курсор вверх-вниз или вправо-влево по окну;
для прокрутки изображения в окне щелкните средней кнопкой (колесиком) мыши и перетаскивайте курсор вверх-вниз или вправо-влево по окну;
для изменения масштаба изображения крутите среднее колесико мыши.
Окно просмотра называется интерактивным, потому что позволяет воздействовать на объекты анимации. Щелкните на объекте правой кнопкой мыши и перетаскивайте курсор. В результате между объектом и курсором будет создана упругая связь, и вы сможете наблюдать результаты своего воздействия на объект в окне просмотра, если только объект не является неподвижным или не имеет ограничений по положению.
Интерфейс окна просмотра материалов и карт текстур
Вдоль левой части окна сосредоточены элементы управления просмотром материалов, а в правой части находится поле просмотра, где отображается список материалов и текстурных карт. Материалы в этом списке помечаются значком в виде шарика синего цвета, а текстуры — значком в виде зеленого или красного параллелограмма. В левом верхнем углу окна находится поле просмотра образца материала или карты текстуры, выбранных в списке окна. Для демонстрации материалов используются образцовые сферы, как в ячейках Редактора материалов, а карты текстур изображаются в плоском виде, полностью заполняя поле просмотра.
Переключатель Browse From (Источник) позволяет выбирать для просмотра материалов и карт текстур один из следующих источников:
Mtl Library (Библиотека материалов) — позволяет просматривать материалы и карты текстур, содержащиеся в текущей библиотеке материалов. Если выбрать этот вариант, в левом нижнем углу окна появляется группа кнопок File (Файл), дающая возможность загружать библиотеки материалов и сохранять их на диске;
Mtl Editor (Редактор материалов) — позволяет просматривать материалы и карты текстур, которые в данный момент загружены в Редактор материалов (число материалов в списке окна просмотра равно 24, то есть соответствует максимальному числу ячеек образцов в Редакторе материалов);
Active Slot (Активная ячейка) — обеспечивает просмотр материала из активной ячейки образца;
Selected (Выделенные объекты) — обеспечивает просмотр только тех материалов и текстур, которые имеются в составе выделенных объектов сцены;
Scene (Сцена) — позволяет просматривать материалы и карты текстур из состава текущей сцены, независимо от того, где хранятся описания этих материалов;
New (Новые) — позволяет просматривать весь перечень материалов и карт текстур, которые можно использовать для создания новых материалов. На рис. 13.11 показан как раз такой вариант установки переключателя.
Флажки в разделе Show (Показывать) позволяют выбирать вариант отображения материалов и карт текстур:
Materials (Материалы), Maps (Карты текстур), Incompatible (Несовместимые) — определяют типы объектов, помещаемых в окно просмотра;
Root Only (Только результат) — включает режим отображения только типов материалов. Если флажок сброшен, устанавливается режим отображения в окне просмотра всех компонентов, входящих в состав комбинированных материалов, как показано на рис. 13.12. Это очень удобный режим, позволяющий видеть все типы текстурных карт, входящих в состав того или иного материала;

Рис. 12.12. Если флажок Root Only сброшен, включается режим просмотра составных материалов с отображением всех компонентов
By Object (По объектам) — включает режим отображения списка материалов, упорядоченного по алфавиту имен объектов сцены, которым назначены эти материалы. Объекты помечаются значками в виде желтых кубиков, а материалы изображаются в виде иерархических ветвей списка объектов. Этот флажок доступен только при установке переключателя Browse From (Источник) в положения Selected (Выделенные объекты) или Scene (Сцена).
Кнопки раздела File (Файл), которые доступны только в том случае, когда в разделе Browse From (Источник) установлен переключатель выбора материалов из библиотеки (Material Library), позволяют открывать и сохранять библиотеки материалов.
При помощи кнопок, расположенных в верхней части окна диалога Material/Map Browser (Просмотр материалов и карт текстур) и показанных отдельно на рис. 13.13, можно выбирать режим просмотра материалов и выполнять некоторые типовые операции с библиотеками материалов.

Рис. 13.13. Кнопки выбора режимов просмотра материалов и работы с библиотеками
Данные кнопки имеют следующее назначение:

View List (Показывать список) — включает режим отображения материалов и карт текстур в виде списка, примеры которого приведены на рис. 12.11 и 12.12;

View List + Icons (Показывать список + значки) — включает режим отображения материалов и карт текстур в виде списка и миниатюрных сферических значков материалов, как показано на рис. 13.14;

Рис. 13.14. Просмотр материалов в режиме «Показывать список + значки»

View Small Icons (Показывать мелкие значки) — включает режим отображения материалов и карт текстуры в виде миниатюрных сфер- образцов материалов, как показано на рис. 13.15;

Рис. 13.15. Просмотр материалов в режиме «Показывать мелкие значки»

View Large Icons (Показывать крупные значки) — включает режим отображения материалов и карт текстуры в виде крупных, легко читаемых сфер-образцов материалов, как показано на рис. 13.16;

Рис. 13.16. Просмотр материалов в режиме «Показывать крупные значки»

Update Scene Materials from Library (Обновить материалы сцены из библиотеки) — позволяет обновить материалы объектов сцены материалами из библиотеки, имеющими те же имена;

Delete from Library (Удалить из библиотеки) — позволяет удалить выбранный материал из библиотеки;

Clear Material Library (Очистить библиотеку материалов) — позволяет удалить список всех материалов текущей библиотеки из окна просмотра материалов и карт текстур. Очистку текущей библиотеки материалов производят, чтобы наполнить ее новыми материалами и сохранить под новым именем. Операция очистки библиотеки совершенно безобидна, она практически исключает возможность потерять текущую библиотеку. Файл библиотеки материалов на диске не будет очищен, он будет продолжать хранить описания всех материалов, которые были в нем сохранены. Если вы сделаете попытку сохранить пустую библиотеку под прежним именем, щелкнув на кнопке Save (Сохранить) в окне Material/Map Browser (Просмотр материалов и карт текстур), программа max 7.5 попросит вас задать для этой библиотеки новое имя. Если же вы настойчиво выберете прежнее имя очищенной библиотеки, скажем, 3dsmax.mat в случае исходной библиотеки max 7.5, программа еще раз предупредит вас о том, что файл с таким именем уже существует, и спросит, хотите ли вы записать новый файл поверх имеющегося. Вот если после этого вы все же нажмете на кнопку Yes (Да), то потерю библиотеки материалов можно будет смело считать результатом ваших преднамеренных действий.
На этом вводную часть главы, связанной с созданием материалов, будем считать законченной. С инструментами мы познакомились, теперь пора непосредственно заняться магией создания материалов для нашего основного проекта — «МАХ-кафе».
Интерфейс окна Track View
Окно диалога Track View — Curve Editor (Просмотр треков — Редактор кривых), показанное на рис. 16.55, вверху, так же как и окно Track View — Dope Sheet (Просмотр треков — Диаграмма ключей), показанное на рис. 16.55, внизу, разбито на две области: окно дерева иерархии и окно правки треков, разделенное, в свою очередь, на горизонтальные дорожки — треки анимации. Кроме того, это окно имеет строку меню и девять панелей инструментов, из которых в верхней и нижней частях окна по умолчанию отображаются семь, как видно на рис. 16.55.

Рис. 16.55. Окна диалога Track View — Curve Editor (вверху) и Track View — Dope Sheet (внизу)
Чтобы вывести на экран или скрыть из вида панели окна, используется стандартный для 3ds max способ. Следует установить курсор на левый край любой из панелей и щелкнуть правой кнопкой мыши. В появившемся меню необходимо выбрать команду Show Toolbars (Показывать панели). В подменю, показанном на рис. 16.56, перечисляются все доступные панели окна. Отображаемые панели помечены галочками. Для показа или скрытия любой панели просто выберите нужную команду этого подменю.

Рис. 16.56. Подменю Show Toolbars контекстного меню настройки интерфейса окна диалога Track View — Curve Editor
Использование модификатора UVW Map
Для того чтобы назначить проекционные координаты геометрической модели готового объекта, выделите объект, перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке модификатора UVW Map (UVW-проекция). Будут автоматически созданы проекционные координаты установленного по умолчанию типа, и в окнах проекций появится изображение габаритного контейнера модификатора проекций (mapping gizmo), иногда называемого также значком проекционных координат (mapping icon), который демонстрирует схему проекционных координат объекта. Габаритный контейнер модификатора проекций (рис. 14.25) по своим размерам, ориентации и положению соответствует одной копии изображения карты текстуры, проецируемого на поверхность объекта. Форма значка зависит от выбора типа проекционных координат.

Рис. 14.25. Габаритный контейнер модификатора проекций изображается линиями темно-оранжевого цвета
В нижней части командной панели Modify (Изменить) появится свиток Parameters (Параметры) с элементами настройки параметров модификатора проекций, показанный на рис. 14.26.

Рис. 14.26. Свиток Parameters содержит все необходимые элементы управления модификатором проекций
Использование наборов выделенных объектов
Mах 7.5 позволяет работать не только с отдельными выделенными объектами, но и с определенными совокупностями выделенных объектов, которые называют выделенными наборами (selection sets). Состав выделенных наборов можно блокировать от возможных изменений, а самим наборам можно присваивать имена для повторного выделения.
Умение применять выделенные наборы — одно из условий эффективной работы в max 7.5. В чем состоит смысл работы с выделенными наборами? Выделенную совокупность объектов можно перемещать, поворачивать или масштабировать как единое целое. При этом каждый объект сохраняет полную самостоятельность и может быть выделен индивидуально или в совокупности с другими объектами сцены. У всех выделенных объектов из набора можно одновременно менять свойства в окне Properties (Свойства). Всем выделенным объектам можно присвоить один и тот же материал, выделенный набор можно скрыть от просмотра или удалить и т. п. Наконец, возможно, самое важное, для чего нужны выделенные наборы — это определение состава объектов, которым будут назначаться ключи анимации в режиме «ручной» установки ключей Set Key (Задать ключ).
вы уже научились создавать простейшие
Итак, вы уже научились создавать простейшие трехмерные тела-примитивы, рисовать кривые на плоскости и в трехмерном пространстве, а также преобразовывать эти кривые в трехмерные объекты методами вращения и экструзии. Даже владея только этими средствами, уже можно создавать отнюдь не тривиальные трехмерные сцены. Однако ваши созидательные возможности существенно расширятся, если вы научитесь объединять отдельные примитивы в составные объекты, а также строить трехмерные тела на основе форм-сечений методом лофтинга. Объекты, создаваемые методом лофтинга, также отнесены в max 7.5 к числу составных.
Из чего и как строятся модели трехмерных сцен
Будем считать, что, запустив программу max 7.5, вы уже имеете в голове сценарий будущей анимации или, по крайней мере, представляете, что должно находиться в кадре: пустынная равнина, горная гряда, городской квартал, заросли леса, морская гладь, изрытый кратерами лунный ландшафт или панель приборов межпланетного корабля. Задавшись целью воплотить свой замысел в виде виртуальных трехмерных моделей, вы неизбежно должны прийти к простому вопросу (во всяком случае, у меня каждый раз бывает именно так): «Как же это сделать?»
Разумеется, нет и не может быть однозначных категоричных наставлений типа «Модель банана всегда делай методом лофтинга, а модель бутылки — методом вращения профиля». Практически любой графический проект можно воссоздать в виде трехмерных моделей различными способами. Примеры, которые будут рассмотрены на страницах нашей книги, никак не могут считаться единственно возможными или наилучшими вариантами воплощения замысла. За вами остается полная свобода поиска оптимальных методов построения трехмерных сцен.
Тем не менее есть несколько самых общих соображений но выбору подходящих средств построения геометрических моделей трехмерных сцен, которые стоит иметь в виду, приступая к их созданию. В этой и нескольких последующих главах нам предстоит разобраться в том, каким «строительным материалом» располагает тот, кто владеет копией программы max 7.5, и какой арсенал приемов есть в его распоряжении, чтобы превратить этот сырой материал в желанный виртуальный мир.
Итак, первичным материалом для создания трехмерных сцен являются объекты-примитивы, куски поверхностей Безье, NURBS-поверхности, а также двумерные или трехмерные формы — сплайны и NURBS-кривые.
| ЗАМЕЧАНИЕ Если вы забыли, что представляют собой названные объекты, то загляните на страницы главы 2. |
Изменение масштаба части изображения
В ходе работы над сценой часто бывает нужно укрупнить какой-то фрагмент изображения, чтобы рассмотреть его во всех деталях и выполнить необходимую правку. Этой цели служит инструмент Region Zoom (Масштаб области), который в предыдущих версиях программы 3ds max действовал только в окнах ортографических проекций. В max 7.5 пользоваться этим инструментом можно и в окнах перспективной проекции.
Для увеличения фрагмента сцены в любом из окон ортографических проекций выполните следующие действия (считаем, что на экране вашего компьютера все еще виден «натюрморт» из сферы и чайника):

Щелкните на кнопке Region Zoom (Масштаб области). Кнопка зафиксируется и подсветится желтым цветом. Переместите курсор в нужное окно проекции, где он примет вид значка, изображенного на кнопке.
Щелкните в точке изображения, которая будет одним из углов увеличиваемой области, и перетащите курсор по диагонали, растягивая пунктирную рамку, как показано на рис. 3.9, слева.
Отпустите кнопку мыши. Область, заключенная в рамку, увеличится до размеров окна проекции, как показано на рис. 3.9, справа.
Щелкните в окне проекции правой кнопкой мыши, чтобы выключить режим масштабирования области.

Рис. 3.9. Растяните рамку вокруг области изображения, которую нужно укрупнить (слева), и область увеличится до размеров окна проекции (справа)
| СОВЕТ Быстрое переключение в режим масштабирования области изображения обеспечивает нажатие клавиш Ctrl+w. Если после нажатия этой комбинации клавиш курсор не меняет своего вида, просто чуть сдвиньте мышь. |
Изменение поля зрения в окне центральной проекции
Если активно окно центральной проекции Perspective (Перспектива), то кнопка Region Zoom (Масштаб области) превращается в кнопку Field of View (Поле зрения). Размер поля зрения при центральной проекции определяется углом между крайними лучами из того веера лучей, с помощью которых формируется такая проекция (мы поговорим об этом подробнее в главе 11, «Расставляем и настраиваем осветители и съемочные камеры»).
Для изменения величины поля зрения действуйте так:

Активизируйте окно проекции Perspective (Перспектива) и щелкните на кнопке Field of View (Поле зрения). Кнопка зафиксируется и подсветится желтым цветом. Переместите курсор в окно проекции, где он примет вид значка, изображенного на кнопке.
Щелкните кнопкой мыши и перетаскивайте курсор вниз для увеличения поля зрения или вверх для уменьшения поля зрения. При увеличении поля зрения происходит расширение видимой области сцены, объекты становятся мельче, а перспективные искажения усиливаются: вертикальные линии становятся все более наклонными, а параллельные прямые перестают выглядеть параллельными, как на рис. 3.10, справа. При уменьшении поля зрения происходит сужение видимой области сцены, укрупнение объектов и снижение перспективных искажений.
Щелкните в окне проекции правой кнопкой мыши, чтобы выключить режим изменения поля зрения.
| ЗАМЕЧАНИЕ Потренируйтесь в настройке величины поля зрения — файл показанной выше сцены под именем Ris3-10.max есть в папке Scenes\Glava_03 прилагающегося к книге компакт-диска. |

Рис. 3.10. Исходный вид сцены в окне проекции Perspective (слева) и вид этой же сцены после увеличения поля зрения (справа)
Если при активном окне перспективной проекции щелкнуть на кнопке Field of View (Поле зрения) и немного задержать кнопку мыши нажатой, на раскрывшейся панели можно будет выбрать инструмент Region Zoom (Масштаб области). Возможность пользоваться этим инструментом в окнах перспективной проекции — новинка max 7.5. Порядок использования инструмента не отличается от описанного в предыдущем подразделе применительно к окнам параллельной проекции.
Изменение порядка следования модификаторов
Порядок расположения модификаторов в стеке можно менять, просто перетаскивая имя модификатора или группы модификаторов с помощью мыши. В процессе перетаскивания синяя линия будет указывать текущее положение модификатора в стеке. Только для наименования типа модифицируемого объекта нельзя изменить положение в стеке — оно всегда должно находиться в начале стека, то есть в самом низу списка модификаторов. Изменение порядка следования модификаторов, а значит, порядка их применения к объекту может привести к кардинальному изменению результата модификации.
Рассмотрим пример изменения порядка следования модификаторов в стеке.
1. Создайте в окне проекции вида сверху прямоугольный параллелепипед длиной 3 текущих единицы измерения, шириной 10 единиц и высотой 120 единиц. Придайте ему следующую сегментацию: по длине и ширине — по 4 сегмента, а по высоте — 30 сегментов. Этот объект будет изображать собой кожаный ремешок, который мы хотим скрутить вокруг оси и изогнуть, чтобы он играл роль, скажем, ручки от сумки,
2. Примените к объекту модификатор Twist (Скрутка), подробное знакомство с которым нам предстоит несколько ниже. Установите в счетчике Angle (Угол) свитка параметров модификатора величину 720, чтобы произошло скручивание параллелепипеда на два полных оборота вокруг принятой по умолчанию вертикальной осп Z.
3. Теперь примените к объекту модификатор Bend (Изгиб), с которым вы уже сталкивались, установив в счетчике Angle (Угол) величину изгиба равной 180°. На рис. 8.6 показано, как должен выглядеть наш скрученный и изогнутый ремешок на данный момент.

Рис. 8.6. Результат последовательного применения к объекту модификаторов скрутки и изгиба
4. Выделите в стеке объекта строку Twist (Скрутка), перетащите его вверх и поместите в конец стека, над модификатором Bend (Изгиб). На рис. 8.7 показано, как в этом случае будет выглядеть наш ремешок. Это явно не то, к чему мы стремились! Причина такой поразительной разницы в том, что очередной модификатор применяется не к объекту, а к габаритному контейнеру предыдущего модификатора. О том, что такое габаритный контейнер модификатора и какова его роль, мы поговорим в этой главе далее.

Рис. 8.7. Так выглядит тот же объект, что показан на рис. 8.6, после изменения порядка применения модификаторов: сначала изгиб, затем скрутка
Изменение режима выделения объектов рамкой
Смена режимов выделения объектов рамкой производится последовательными щелчками на кнопке Window/Crossing (Оконное/Пересекающее выделение), расположенной на главной панели инструментов max 7.5.

Если кнопка не нажата, она имеет вид Crossing Selection (Пересекающее выделение).

Если нажата — принимает вид Window Selection (Оконное выделение). По умолчанию в max 7.5 используется режим оконного выделения объектов рамкой.
Смену режимов выделения можно произвести также с помощью команд меню Edit (Правка) — команда Region > Window (Область > Окно) включает оконный режим выделения, а команда Region > Crossing (Область > Пересечение) — пересекающий.
Ячейки образцов «горячих» и «холодных» материалов
Материал, представленный в ячейке образца Редактора материалов, но не назначенный ни одному из объектов сцены, считается «холодным». Редактирование «холодного» материала никак не сказывается на внешнем виде сцены.
Материал считается «горячим», если он назначен одному или нескольким объектам сцены. По углам ячейки образца «горячего» материала появляются четыре белых треугольника, как показано на рис. 13.7. Если объект, которому назначен этот материал, к тому же выделен, то треугольники в углах ячейки заливаются белым цветом. При внесении изменений в любой из параметров «горячего» материала в Редакторе материалов эти изменения автоматически отображаются на объектах сцены. Один и тот же материал может быть загружен в несколько ячеек, но только одна из них может быть «горячей».

Рис. 13.7. Слева направо: ячейки образцов «холодного» материала, «горячего» материала и «горячего» материала выделенного объекта
Ячейки образцов материалов
Ячейки образцов позволяют заранее увидеть, как будет выглядеть материал после его визуализации в составе сцены. Качество изображения материалов в ячейках не отличается от качества итоговой визуализации этого материала.
Белая рамка вокруг ячейки образца указывает текущий выделенный материал. Как и в случае с окнами проекций МАХ, активизировать нужную ячейку образца и связанный с ней материал можно, просто щелкнув на этой ячейке любой кнопкой мыши — левой, средней или правой.
Эффект глубины резкости
Обычно визуализируемые в 3ds max изображения не имеют пределов наилучшей фокусировки, что выглядит не вполне естественно. Для включения режима визуализации эффекта конечной глубины резкости установите флажок Enable (Включить) в разделе Depth of Field (Perspective Views Only) (Глубина резкости (только перспективные проекции)) данного свитка. В счетчике Focus Plane (Фокальная плоскость) задается расстояние до плоскости, соответствующей наилучшей фокусировке, в текущих единицах длины. Раскрывающийся список позволяет выбрать один из двух алгоритмов реализации эффекта:
f-Stop (f-стоп) — простой алгоритм, позволяющий с помощью единственного параметра f-Stop (f-стоп) управлять размером области, в пределах которой объекты будут в фокусе. Чем больше значение параметра, тем больше размеры области высокой резкости изображения;
In Focus Limits (Пределы фокусировки) — алгоритм, при использовании которого требуется задавать ближнюю и дальнюю границы области фокусировки с помощью связанных между собой параметров Near (Вблизи) и Far (Вдали). При этом будут расфокусированы объекты, расположенные ближе ближней и дальше дальней границы (рис. 15.18).

Рис. 15.18. Свиток Camera Effects вкладки Renderer
Эффект глубины резкости, настройка которого производится в разделе Depth of Field (Perspective Views Only) (Глубина резкости (только перспективные проекции)), может быть непосредственно реализован только при визуализации изображения в окне проекции Perspective (Перспектива). Применительно к окну камеры рассмотренные в этом разделе настройки параметров группы Depth of Field (Perspective Views Only) (Глубина резкости (только перспективные проекции)) свитка Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) не имеют никакого значения. Для применения эффекта конечной глубины резкости к окну проекции Camera (Камера) выделите камеру и переключитесь на командную панель Modify (Изменить). В раскрывающемся списке раздела Multi-Pass Effect (Многопрогонный эффект) свитка Parameters (Параметры) установите флажок Enable (Включить) и выберите вариант Depth of Field (mental ray) (Глубина резкости (mental ray)). В появившемся свитке Depth of Field Parameters (Параметры глубины резкости) настройте значение единственного параметра f-Stop (f-стоп), назначение которого аналогично такому же параметру свитка Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор). Чтобы усилить эффект конечной глубины резкости, можно задавать значения параметра f-Stop (f-стоп) меньше единицы. Несмотря на то что вариант эффекта Depth of Field (mental ray) (Глубина резкости (mental ray)) отнесен в разряд многопрогонных, он визуализируется модулем mental ray за один прогон действия визуализатора.
Эффект каустики
Эффектом каустики в трехмерной графике называют формирование хаотических световых пятен (бликов) на объектах сцены, возникающих в результате случайного сгущения и разрежения световых лучей, отраженных от объектов с неровной поверхностью или преломленных при прохождении через объекты с неровной поверхностью.
Для визуализации эффекта каустики установите флажок Enable (Включить) в разделе Caustics (Каустика) свитка Caustics and Global Illumination (Gl) (Каустика и глобальная освещенность (Gl)) на вкладке Indirect Illumination (Непрямое освещение) окна диалога Render Scene (Визуализация сцены) (рис. 15.20).

Рис. 15.20. Свиток Caustics and Global Illumination (Gl) окна диалога Render Scene
Для настройки каустики можно использовать следующие элементы управления:
Maximum Num. Photons per Sample (Максимальное число фотонов для выборки) — задает число фотонов, которые будут использованы для имитации каустики. Чем больше, выборка, тем более размытыми выглядят световые пятна бликов каустики. Рекомендуется в процессе отладки устанавливать величину этого параметра равной 20-30, а затем увеличивать до 100-200 при чистовой визуализации;
Maximum Sampling Radius (Максимальный радиус выборки) — если этот флажок сброшен, то радиус каждого фотона полагается равным одной десятой доле размера сцены. При установленном флажке радиус задается в счетчике справа от флажка. Принятое по умолчанию значение Maximum Sampling Radius (Максимальный радиус выборки) = 1 может привести к появлению множества мелких пятен от отдельных фотонов. В этом случае можно рекомендовать увеличить значение параметра Average Caustic Photons per Light (Среднее значение фотонов каустики в освещении) в разделе Light Properties (Свойства освещения);
Filter (Фильтр) — служит для выбора фильтра сглаживания пятен каустики. Предлагается три варианта: Box (Прямоугольный) — требует меньше времени на визуализацию; Cone (Конический) — обеспечивает более четкие границы бликов; и Gauss (Гауссовский). При выборе фильтра Cone (Конический) можно настроить размер области усреднения в счетчике Kernel (Ядро). Этот параметр должен быть больше единицы. С его ростом пятна становятся все более размытыми.
Эффект смаза, вызванного движением
Необходимым условием проявления смаза от движения некоторого объекта при визуализации сцены модулем mental ray является установка флажка Enable (Включить) и переключателя Object (Объект) в разделе Motion Blur (Смаз от движения) окна диалога Object Properties (Свойства объекта).
Настройка эффекта смаза выполняется в разделе Motion Blur (Смаз от движения). Для включения эффекта установите флажок Enable (Включить). Счетчик Shutter (Затвор) управляет величиной выдержки затвора виртуальной камеры. При значении 0 смаз отсутствует, при значении 1 смаз максимален. Чтобы улучшить изображение объекта, движущегося по касательной к линии визирования, следует увеличивать значение параметра Motion Segments (Сегментов движения), который меняется в пределах от 1 до 15.
Экспорт файлов
Если требуется сохранить файлы сцен в форматах, не являющихся описаниями трехмерных сцен программы шах 7.5 или ее предшествующих версий, следует использовать возможности экспорта файлов.
Для экспорта файлов выполните следующие действия:
Выберите команду меню File > Export (Файл > Экспорт). Появится окно диалога Select File to Export (Выбор файла для экспорта), не отличающееся от типового окна открытия файла. Выберите нужный формат файла в раскрывающемся списке Files of Type (Тип файлов), введите имя файла и щелкните на кнопке Save (Сохранить).
В зависимости от формата экспортируемого файла выполните настройку параметров в одном или нескольких окнах диалога. Для продолжения экспорта щелкните на кнопке ОК, для отмены — на кнопке Cancel (Отмена). Обратитесь к электронному справочнику max 7.5 за сведениями о параметрах окон диалога экспорта файлов различных форматов.
Как отличить выделенные объекты
Мы уже говорили о том, что всем объектам max 7.5 в момент их создания назначаются определенные цвета, выбираемые случайным образом из цветовой палитры. Этими цветами раскрашиваются каркасы объектов и их тонированные оболочки в окнах проекций, а если объектам не назначены материалы, то и при визуализации сцены они будут окрашены в эти же цвета. Единственный цвет не используется программой max 7.5 для раскрашивания объектов: белый. Белый цвет зарезервирован для обозначения каркасов выделенных объектов. Так как по умолчанию в окнах проекций используется серый цвет фона, белые каркасы выделенных объектов хорошо заметны — они действительно выделяются на сером фоне, как показано на рис. 4.2, слева. Разумеется, вручную можно изменить цвет любого объекта на белый, но лучше этого не делать: такой объект всегда будет казаться выделенным, вводя вас в заблуждение.
В режиме тонированного отображения выделенные объекты не окрашиваются в белый цвет: ведь, пользуясь одним белым цветом, невозможно было бы отобразить тени и блики на оболочке объекта. Вместо этого вокруг выделенных объектов изображаются белым цветом их габаритные контейнеры, помечаемые своими восемью углами, как показано на рис. 4.2, справа.

Рис. 4.2. В каркасном режиме отображения выделенные объекты окрашиваются в белый цвет (слева), а в тонированном режиме — снабжаются габаритными контейнерами, помечаемыми своими восемью углами белого цвета (справа)
Как происходит оживление объектов на экране
При воспроизведении визуализированной последовательности кадров со скоростью, достаточной для создания иллюзии плавного движения, происходит «оживление» {animation — анимация или оживление) сцены. Количество кадров, приходящихся на единицу времени анимации, необходимое для обеспечения плавности изменений сцены, задается пользователем в процессе настройки временных интервалов. Обычно в max 7.5 оно составляет 30 кадров в секунду.
Как происходит «оживление» сцены
Слово анимация {animation — оживление) имеет в компьютерной графике двоякий смысл. С одной стороны, анимацией часто называют результат «оживления» трехмерной сцены, зафиксированный в виде последовательности кадров. Каждый такой кадр, как мы уже отмечали ранее, представляет собой синтезированное программой изображение определенной стадии меняющегося во времени процесса, например, движения объекта, изменения его формы, прозрачности или цвета. При установке программы 3ds max 7.5 на диске даже создается специальная папка Animations (Анимации), предназначенная для хранения готовых компьютерных мультиков.
С другой стороны, под анимацией подразумевают сам процесс «оживления» трехмерной сцены, в работе над которым программа трехмерной графики способна оказать вам существенную помощь.
Эта помощь состоит в автоматизации синтеза последовательности кадров, представляющих отдельные промежуточные стадии движения того или иного объекта сцены. От пользователя требуется всего лишь установить начальное и конечное положения объекта в пространстве сцены и указать, каким номерам кадров будущей анимации эти положения соответствуют, а все промежуточные положения программа синтезирует автоматически. При синтезе каждого отдельного кадра анимационной последовательности программа выполняет все те же трудоемкие процессы расчета и визуализации изображений с учетом взаимных затенений, изменений освещенности, отражений и переотражений света и т. п., как и при создании отдельного фиксированного изображения. Для примера на рис. 1.13 показаны четыре кадра из последовательности, синтезированной программой 3ds max 7.5 при анимации движения руки кукольного малыша.
| ЗАМЕЧАНИЕ Модель куклы разработана компанией Viewpoint Datalabs International. Вы можете найти ее в файле под именем Bmdoll1l.max в папке Meshes компакт-диска, прилагающегося к книге. Просмотрите заодно и полный файл анимации, который хранится на этом же компакт-диске под именем Kukla.avi в папке Animations\Glava_01. |

Рис. 1.13. Начальное (а) и конечное (г) положения руки куклы заданы пользователем, а промежуточные (б, в) — синтезированы программой
Используя специальные инструменты 3ds max 7.5 — контроллеры анимации (animation controllers), — можно указывать, должен ли «оживляемый» объект в интервалах времени между заданными положениями двигаться равномерно, рывками, с ускорением в начале или в конце и т. п. Помимо анимации движения объектов сцены или их частей, 3ds max 7.5 может также обеспечить «оживление» цвета объектов, их размеров или формы, яркости источников света и многих других параметров — почти все параметры max 7.5 допускают анимацию.
При настройке анимации в состав сцены можно включать источники так называемых объемных деформаций, предназначенные для того, чтобы заставить объекты от кадра к кадру изменять свою форму или имитировать действие на объекты различных внешних сил, таких как сила тяжести или ветра. Использование объемных деформаций позволяет моделировать средствами ЗD-графики даже такие сложные динамичные объекты, как поверхность взволнованной воды, потоки раскаленной лавы или вихри снежной метели.
Подробное рассмотрение средств и методов анимации трехмерных сцен в 3ds max 7.5 ожидает вас в главах 16, «Пробуем выполнять анимацию объектов», и 17, «Постигаем основы динамики».
Как просмотреть созданную анимацию
Созданную анимацию можно просматривать непосредственно в окнах проекций max 7.5; при этом, естественно, изображения объектов будут выглядеть примитивно, а многие эффекты освещения, материалов, внешней среды и т. п. не могут быть воспроизведены. Для отладки анимаций удобно пользоваться командами создания и просмотра эскизов — упрощенных вариантов анимаций, сохраняемых на диске в виде файлов формата .avi и просматриваемых с помощью приложения Media Player (Универсальный проигрыватель) системы Windows. Окончательный вариант анимации может сохраняться в виде файлов различных форматов, предназначенных для записи видеофрагментов.
Как разглядеть объект с разных сторон, не сходя с места
Если вдуматься, то возможность менять типы проекций в окнах является поистине удивительной! Она позволяет, не сходя с места, рассматривать объект со всех сторон одновременно. При этом вполне можно ощутить себя бдительным охранником, наблюдающим с помощью множества мониторов, связанных с видеокамерами, за подступами к заветным объектам виртуального мира со всех возможных направлений.
Вот некоторые типы проекций, которые могут демонстрироваться в каждом из окон:
Тор (Вид сверху), Front (Вид спереди), Left (Вид слева), Back (Вид сзади), Right (Вид справа) и Bottom (Вид снизу) — это шесть окон ортографических проекций объектов на плоскости, параллельные соответствующим плоскостям глобальной системы координат. Можно вручную располагать плоскости проекций под произвольным углом к координатным плоскостям. Окно параллельной проекции на плоскость, не параллельную координатной плоскости, имеет название User (Специальный вид);
Perspective (Перспектива) — окно центральной проекции, характеризующей вид сцены из точки, положение которой вы можете изменять по своему усмотрению;
если на сцене установлены съемочные камеры, то в любом из окон можно включить центральную проекцию сцены на плоскость, перпендикулярную линии визирования съемочной камеры. Такие окна позволяют увидеть сцену через объектив воображаемой камеры и имеют имена, соответствующие
именам камер, то есть по умолчанию Camera# (Камера#), где # — порядковый номер камеры (01, 02 и т. д.);
если в составе сцены имеются источники направленного света, то в любом из окон можно включить центральную проекцию сцены на плоскость, перпендикулярную оси пучка лучей источника. Такие окна позволяют увидеть сцену из точки расположения каждого направленного источника света или прожектора, а это бывает очень удобно, когда требуется точно настроить расположение пятна света на сцене. Имена таких окон соответствуют именам источников света, то есть по умолчанию Spot# (Прожектор#) или Direct# (Направленный#), где # — порядковый номер источника света (01, 02 и т. д.);
если в состав сцены включен вспомогательный объект-сетка (Grid), представляющий собой плоскость, произвольным образом ориентированную в глобальной системе координат, то появляется возможность включить в любом из окон любую из шести ортографических проекций сцены на плоскости, параллельные координатным плоскостям объекта-сетки. Такие окна имеют имена Grid (Top) (Сетка (Вид сверху)), Grid (Front) (Сетка (Вид спереди)) и т. п.
Кроме того, в окнах проекций для удобства работы над сценой могут размещаться окна Schematic View (Просмотр структуры) или ActiveShade (Активная раскраска), о назначении которых вы узнаете из последующих глав, и ряд других служебных окон, которых мы не будем касаться.
|
СОВЕТ Для работы над геометрической моделью объекта лучше всего подходят окна типа Тор (Вид сверху), Front (Вид спереди), Left (Вид слева) и т. п., так как в них не искажаются размеры и можно точно ориентироваться при перемещениях или поворотах объектов. Если же требуется представить общий вид сцены в привычном для глаза виде, обращайтесь к окнам проекций типа Perspective (Перспектива) или Camera# (Камера#). |
реализованы два способа создания
В max 7. 5 реализованы два способа создания основной части объектов из категории Geometry (Геометрия): «на глазок» с помощью мыши (по-научному это называется «в интерактивном режиме») и путем ввода точных значений параметров.
Карты-модификаторы цвета
Карты-модификаторы цвета (color modifiers) позволяют изменять цвет пикселей материала. Чтобы увидеть полный перечень текстурных карт-модификаторов цвета, необходимо вызвать окно диалога Material/Map Browser (Просмотр материалов и карт текстур) и установить в левом нижнем углу окна переключатель Color Mods (Карты-модификаторы цвета). К данному типу относятся следующие карты текстур:
Output (Результат) — просто позволяет применить параметры настройки цветовых характеристик текстуры из типового свитка Output (Результат), который будет рассматриваться в этой главе ниже, при обсуждении вопроса настройки растровых карт, к процедурным картам типа Checker (Шахматное поле) или Marble (Текстура мрамора), которые не имеют таких параметров;
RGB Tint (Оттенки RGB) — позволяет настраивать каналы основных цветов (Red, Green, Blue — красного, зеленого и синего) любой текстуры, обеспечивая коррекцию ее цветового тона;
Vertex Color (Цвет вершин) — позволяет при визуализации раскрасить поверхность материала в соответствии с цветами вершин объекта, назначенными при редактировании на уровне вершин сетчатой оболочки, преобразованной к типу Editable Mesh (Редактируемая сетка).
с основными категориями объектов max
Познакомимся поближе с основными категориями объектов max 7.5. Кстати, число типов объектов может увеличиваться за счет применения дополнительных модулей, а таких модулей для max 7.5 благодаря открытой архитектуре этой программы разрабатывается все больше и больше.
Классификация объектов модуля reactor
Все объекты реального мира, которые можно имитировать при помощи модуля reactor (Реактор), делятся на жесткие тела (rigid bodies), деформируемые тела (deformable bodies) и воду (water). Как на жесткие, так и на деформируемые тела по умолчанию действует сила тяжести, заставляющая их падать вертикально вниз, если у них нет опоры или они не закреплены в пространстве.
Клавиши выбора инструментов выделения и преобразований
Выбирать инструменты преобразования в max 7.5 можно при помощи клавиатурных комбинаций для выбора инструментов преобразований. В более ранних версиях 3ds max использовались четыре клавиши на левом краю верхнего ряда алфавитной клавиатуры — q, w, e и r, которые служили соответственно для выбора кнопок главной панели инструментов Select Object (Выделить объект), Select and Move (Выделить и переместить). Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать).
Удобство переключения инструментов выделения с помощью клавиш состоит в том, что появляется возможность работать сразу двумя руками. Правая рука управляет мышью, с помощью которой выполняются преобразования объекта, а левая выполняет переключение инструментов преобразований с помощью клавиш. При этом исключается необходимость периодически «бросать» объект и перемещать курсор на панель инструментов, чтобы переключиться на другую кнопку.
В max 7.5 по умолчанию используются лишь три клавиши - w, e и r, а клавише q команда не назначена. Это неудобно, ведь активизировать инструмент Select Object (Выделить объект) в такой ситуации можно только при помощи мыши. Поэтому имеет смысл назначить клавишу активизации инструмента Select Object (Выделить объект) вручную. Для этого выполните следующие действия:
Вызовите окно диалога Customize User Interface (Настройка интерфейса пользователя) с помощью команды Customize (Настройка) контекстного меню настройки интерфейса или цепочки команд Customize > Customize User Interface (Настройка > Настройка интерфейса пользователя). Перейдите на вкладку Keyboard (Клавиатура).
Чтобы быстрее найти интересующий нас инструмент, в раскрывающемся списке Category (Категория) выберите категорию Selection (Выделение). После этого в столбце Action (Действие) списка команд будут представлены все доступные команды избранной группы. Обратите внимание, что если той или иной команде уже назначена «горячая» клавиша или комбинация клавиш, она указывается в столбце Shortcut (Вызов).
Найдите в списке и выделите строку с командой Smart Select (Умное выделение). С помощью этой команды можно не только активизировать инструмент Select Object (Выделить объект), но и произвести выбор типа выделяющей рамки, о чем будет сказано несколько ниже. Как можно видеть, эта команда не имеет связанной с ней комбинации клавиш. Щелкните кнопкой мыши в текстовом поле Hotkey (Клавиши) и нажмите клавишу q. Если бы эта клавиша уже была использована для вызова какой-то команды или инструмента, имя этой команды появилось бы в поле Assigned to (Назначена для). Если выбранная комбинация клавиш пока «вакантна», как в нашем примере, то в этом поле появится надпись
Щелкните на кнопке Assign (Назначить), и выбранная комбинация обозначится в столбце Shortcut (Вызов) списка команд справа от настраиваемой команды. Щелчок на кнопке Remove (Удалить) удаляет клавиатурную комбинацию, назначенную выделенной команде.
Чтобы сохранить сделанные назначения и иметь возможность пользоваться ими после перезагрузки max 7.5, щелкните на кнопке Save (Сохранить). Появится окно диалога для выбора файла типа .kbd, в котором max 7.5 хранит клавиатурные комбинации. По умолчанию предлагается сохранить сделанные назначения в файл с именем MaxStartUI. Щелкните на кнопке Save (Сохранить).
Некоторые «горячие» клавиши 3ds max по возможности выбираются исходя из первой буквы названия выполняемой операции. Четыре упомянутые клавиши на левом краю верхнего ряда клавиатуры не имеют никакого отношения к названиям инструментов выделения, перемещения, поворота и масштабирования объектов. Здесь действует иная логика: правило qwer. Для запоминания просто учтите, что порядок расположения клавиш, считая слева направо, совпадает с порядком размещения кнопок соответствующих инструментов на панели инструментов mах 7.5.
|
СОВЕТ Итак, запомните правило: q, w, e, r = выделить, переместить, повернуть, масштабировать. |
Кнопка Auto Key

Кнопка Auto Key (Автоключ) является истинной наследницей свойств инструмента Animate (Анимация), просуществовавшего в 3ds max с первой версии до четвертой. Именно с ее помощью max 7.5 переводят в привычный по прежним версиям режим анимации, когда любое изменение какого-либо параметра сцены автоматически запоминается в текущем кадре в виде ключа анимации. После щелчка на этой кнопке она фиксируется и подсвечивается темно-красным цветом. Таким же цветом окрашиваются строка ползунка таймера и рамка активного окна проекции (рис. 16.1). Повторный щелчок на этой кнопке выключает режим автоматического создания ключей анимации.

Рис. 16.1. При нажатой кнопке Auto Key сама кнопка, строка таймера и рамка активного окна проекции окрашиваются в темно-красный цвет
Красный цвет кнопки, рамки окна и строки ползунка говорит: «Внимание, max 7.5 в режиме анимации!» Пока max 7.5 находится в этом режиме, программа следит за изменениями любых параметров, скажем, координат положения объектов в пространстве сцены, углов их ориентации или размеров; цвета, характеристик блеска или силы свечения материалов, настроек оптических эффектов или эффектов окружающей среды и т. п. Новые значения параметров запоминаются в качестве ключей анимации в текущем кадре (current frame). Текущим кадром называется изображение, синтезируемое в результате визуализации текущего состояния сцены — того, которое видно в окнах проекций.
Кнопка Key Filters и список именованных наборов
В режиме автоматического создания ключей все просто: ключи создаются для того параметра, который вы изменяете. В режиме принудительного создания ключей необходимо указывать, для каких именно параметров и каких именно объектов требуется устанавливать ключи. Этой цели служат кнопка Key Filters (Фильтры ключей) и раскрывающийся список именованных выделенных наборов.

Кнопка Key Filters (Фильтры ключей) вызывает появление окна диалога Set Key Filters (Выбор фильтров ключей), показанного на рис. 16.3 и предназначенного для выбора параметров, ключи которых будут создаваться при щелчке на кнопке Set Keys (Задать ключи). Использование этого окна будет рассмотрено далее в разделе «Режим принудительной анимации Set Key».

Рис. 16.3. Окно диалога Set Key Filters

Список именованных выделенных наборов позволяет быстро указать набор объектов, для которых будут установлены ключи при щелчке на кнопке Set Keys (Задать ключи). Имена выделенных наборов включаются в список автоматически по мере их создания. При выборе установленного по умолчанию варианта Selected (Выделенные) ключи будут создаваться только для выделенных объектов сцены. При выборе имени набора ключи будут создаваться для всех объектов из этого набора, даже если эти объекты не выделены в данный момент в окнах проекций max 7.5.
Кнопки Set Key и Set Keys

Кнопка Set Key (Задать ключ) служит для включения и выключения режима анимации, при котором ключи устанавливаются в нужных кадрах вручную, с помощью кнопки Set Keys (Задать ключи). После щелчка на кнопке Set Key (Задать ключ) она фиксируется и подсвечивается светло-красным цветом. Таким же цветом окрашиваются строка ползунка таймера и рамка активного окна проекции (рис. 16.2). Повторный щелчок на этой кнопке выключает режим принудительного создания ключей анимации.

Рис. 16.2. При нажатой кнопке Set Key сама кнопка, строка таймера и рамка активного окна проекции окрашиваются в светло-красный цвет

Большая кнопка Set Keys (Задать ключи) со значком в виде ключа больше всего похожа на прежний элемент управления Animate (Анимация) по размерам и положению на экране, но она служит не для включения режима анимации, а для установки ключей в текущем кадре, если активен режим анимации, включаемый кнопкой Set Key (Задать ключ). Для создания ключей нужно просто щелкнуть на этой кнопке. Кнопка не фиксируется в нажатом состоянии, но при щелчке на ней на мгновение окрашивается красным цветом, указывая на то, что ключи созданы.
Кнопки управления анимацией
Справа от кнопки Animate (Анимация) находится ряд кнопок, показанных на рис. 16.8 и позволяющих управлять воспроизведением анимации и выполнять ряд других функций, например настраивать скорость воспроизведения и продолжительность анимации.

Рис. 16.8. Кнопки управления анимацией
Рассмотрим назначение и порядок использования каждой из этих кнопок:

Go to Start (Перейти в начало). Устанавливает в качестве текущего начальный кадр активного сегмента анимации.


Previous Frame (Предыдущий кадр). Устанавливает предыдущий кадр в качестве текущего. В режиме ключей эта кнопка называется Previous Key (Предыдущий ключ).

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


Next Frame (Следующий кадр). Устанавливает следующий кадр в качестве текущего. В режиме ключей эта кнопка называется Next Key (Следующий ключ).

Go to End (Перейти в конец). Устанавливает в качестве текущего конечный кадр активного сегмента анимации.

Key Mode Toggle (Переключатель режима ключей). Переключает комплекс в режим отслеживания ключей анимации. Если в этом режиме щелкнуть на кнопке Next Key (Следующий ключ) или Previous Key (Предыдущий ключ), то происходит переход не к следующему кадру, а к очередному кадру, содержащему ключ анимации выделенного объекта. Выбор следующего ключа анимации при переходе зависит в этом случае от выбранного типа преобразования. Например, если выбрано преобразование перемещения, то следующим ключевым кадром будет тот, который содержит ключ анимации положения объекта.

Current Frame (Текущий кадр). Отображает номер текущего кадра, а также позволяет ввести требуемый номер кадра или момент времени анимации. После нажатия клавиши Enter заданный кадр становится текущим

Time Configuration (Настройка временных интервалов). Вызывает рассматриваемое ниже диалоговое окно, позволяющее выбрать вариант отображения текущего времени анимации, а также задать ее продолжительность и частоту следования кадров.
|
СОВЕТ Можно вызвать окно Time Configuration (Настройка временных интервалов) и другим способом — щелкнув правой кнопкой мыши на любой из перечисленных выше кнопок управления воспроизведением анимации. |
Кнопки управления окнами проекций
Кнопки управления окнами параллельных проекций типа Тор (Вид сверху) или Front (Вид спереди), состав которых обозначен на рис. 2.10, служат для манипулирования изображением в этих окнах: увеличения и уменьшения масштаба всего изображения, подгонки масштаба выделенных объектов под размер окна и т. п. Некоторые кнопки этой группы после щелчка фиксируются в нажатом положении и подсвечиваются желтым цветом. Если после этого перевести курсор в одно из окон проекций, он примет вид значка, изображенного на кнопке, указывая на готовность к выполнению соответствующей операции.

Рис. 2.10. Кнопки управления окнами параллельных проекций
Если активно окно центральной проекции Perspective (Перспектива), то кнопка Region Zoom (Масштаб области) заменяется на кнопку Field of View (Поле зрения), как показано на рис. 2.11.

Рис. 2.11. Кнопки управления окном центральной проекции
Мы будем обучаться работе со средствами управления окнами проекций в главе 3, «Осваиваем настройку max 7.5 и работу с файлами».
Кнопки управления стеком
На командной панели Modify (Изменить) всегда отображаются стек модификаторов и свитки параметров выделенного объекта. Иногда бывает необходимо, выделив новый объект, видеть параметры ранее выделенного объекта. Например, нацеленные источники света или нацеленные камеры состоят из двух объектов: собственно источника света или камеры и пустого объекта-мишени. При выделении мишени все параметры источника или камеры исчезают с командной панели Modify (Изменить). Это не позволяет, скажем, следить за изменением расстояния от источника или камеры до мишени при ее перемещении, так как этот параметр отображается в свитке параметров источника (камеры). Можно, однако, закрепить отображение стека модификаторов и свитков параметров текущего объекта на командной панели Modify (Изменить). Для этого служит кнопка

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

Рис. 8.8. Кнопки управления стеком модификаторов

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

Show end result on/off toggle (Показать конечный результат вкл/выкл) нажата, как принято по умолчанию, то выделенный объект будет отображаться в окнах проекций в его итоговом модифицированном виде вне зависимости от того, какая строка выбрана в стеке модификаторов. Если же кнопка не нажата, то при выборе той пли иной строки стека модификаторов объект будет изображаться в том виде, какой он имеет за счет воздействия на него текущего выделенного модификатора и всех модификаторов, лежащих в стеке ниже выделенной строки.

Кнопка Make unique (Сделать уникальным) служит той же цели, что и одноименная команда рассмотренного ранее меню стека модификаторов.

Кнопка Remove modifier from the stack (Удалить модификатор из стека) служит для удаления текущего модификатора из стека. При этом устраняются и результаты его воздействия на объект.
Командная панель Modify в целом
Говоря о командной панели Modify (Изменить), нам придется все время упоминать уже встречавшееся на страницах нашего курса понятие модификатор. Что же это такое?
Модификаторами называются инструменты, предназначенные для изменения структуры объектов mах 7.5, то есть взаимного расположения, типа или числа вершин, формы, размеров и расположения граней, длины и кривизны ребер или сегментов и т. п. В этом состоит отличие модификаторов от инструментов преобразований, воздействующих на объект в целом и не меняющих его внутренней структуры.
Для выбора нужного модификатора в верхней части командной панели Modify (Изменить), показанной на рис. 8.1, постоянно располагается список Modifier List (Список модификаторов). Выше этого списка всегда находится текстовое поле имени и поле образца цвета выделенного объекта сцены, а ниже — окно, отображающее стек модификаторов выделенного объекта и позволяющее управлять им. О стеке модификаторов речь пойдет несколько ниже. Размер окна стека можно регулировать, просто перетаскивая с помощью мыши линию, разграничивающую верхнюю часть панели и область свитков, как видно на том же рис. 8.1.

Рис. 8.1. Командная панель Modify
Содержимое нижней части командной панели Modify (Изменить) — области свитков — меняется в зависимости от типа выделенных объектов и выбранных модификаторов.
Командные панели
Командные панели являются поистине кладовыми инструментов max 7.5. Они обеспечивают выполнение основной части операций по созданию и редактированию объектов сцены, настройке иерархических связей между объектами и их частями, а также помогают управлять отображением объектов. Кроме того, именно на командных панелях появляются новые инструменты при подключении к программе новых дополнительных модулей.
Мах 7.5 имеет шесть командных панелей, снабженных корешками: Create (Создать), Modify (Изменить), Hierarchy (Иерархия), Motion (Движение), Display (Дисплей) и Utility (Сервис). Для выбора нужной командной панели следует щелкнуть на соответствующем корешке (рис. 2.6).

Рис. 2.6. Корешки командных панелей max 7.5
Основную часть каждой командной панели занимает область свитков. Свиток (rollout) — это участок командной панели, содержащий группу тематически связанных параметров и имеющий заголовок в виде кнопки шириной во всю ширину свитка, как показано на рис. 2.7.

Рис. 2.7. Свиток командной панели в развернутом виде
Свитки применяются не только в составе командных панелей, но и в ряде окон диалога, таких как Material Editor (Редактор материалов), Render Scene (Визуализация сцены) или Environment (Внешняя среда). Свиток может быть развернут или свернут до размеров кнопки-заголовка последовательными щелчками на этой кнопке. Кнопка заголовка свернутого свитка помечается в левой части знаком «+», как видно на рис. 2.8.

Рис. 2.8. Свернутый свиток
Иногда развернутые свитки не умещаются в пределах экрана и уходят за нижний край командной панели или окна диалога. В этом случае можно прокрутить область свитков вверх или вниз. Для прокрутки области свитков выполните следующее:
Установите курсор в пределах свитка, но вне элементов управления. Курсор примет форму руки.
Нажав и удерживая кнопку мыши, перетаскивайте область свитков вверх или вниз.
С использованием инструментов, располагающихся на командных панелях, мы будем знакомиться в последующих главах.
Команды манипулирования модификаторами в стеке
Контекстное меню модификатора содержит и ряд других полезных команд, например:
Rename (Переименовать) — позволяет переименовать модификатор, что бывает иногда просто жизненно необходимо, например, в случае использования в стеке множества однотипных модификаторов проецирования текстур на отдельные поверхности сетки объекта. Если при этом не присвоить модификаторам какие-то уникальные имена, разобраться впоследствии, какие из них к какой поверхности относятся, оказывается чрезвычайно затруднительно;
Delete (Удалить) — позволяет удалить выделенный модификатор или группу модификаторов из стека объекта. При этом объект принимает такой вид, какой имел до применения удаленных модификаторов;
Make Unique (Сделать уникальным) — разрывает связь выделенного в стеке модификатора-образца с остальными образцами этого модификатора, примененными к другим объектам, позволяя независимо настраивать его параметры;
On (Вкл.), Off (Выкл.) — команды включения/выключения действия модификатора. Выключенный модификатор остается в стеке объекта, но не оказывает на него никакого влияния. Использование команды выключения бывает необходимо в случаях, когда при отладке параметров объекта необходимо посмотреть, в каком виде он поступает на вход того или иного модификатора. Включение и выключение действия модификатора можно производить также щелчком на значке в виде лампочки, располагающемся слева от имени каждого модификатора в окне стека;
Off in Viewport (Выкл. в окне проекции), Off in Renderer (Выкл. при визуализации) — команды выключения действия модификатора только в окне проекции (при визуализации будет действовать) или только при визуализации (будет действовать в окне проекции);
Show All Subtrees (Показать все деревья), Hide All Subtrees (Скрыть все деревья) — пара команд, позволяющих одновременно развернуть или свернуть деревья подобъектов всех элементов стека.
Назначение и использование команд Collapse All (Свернуть все) и Collapse To (Свернуть до) этого меню мы рассмотрим несколько ниже.
Команды меню Rendering (Визуализация)
Меню Rendering (Визуализация) предоставляет доступ к командам, обеспечивающим визуализацию сцены и позволяющим выполнять настройку эффектов, воспроизводимых на этапе визуализации. С некоторыми командами этого меню, такими как Environment (Внешняя среда), Advanced Lighting (Улучшенное освещение), Material Editor (Редактор материалов) и Material/Map Browser (Просмотр материалов и карт текстур), вы уже полностью или частично знакомы. Вот остальные команды:
Render (Визуализировать) — позволяет выполнять настройку параметров визуализации сцены, вызывая появление окна диалога Render Scene (Визуализация сцены). С той же целью можно щелкнуть на кнопке Render Scene (Визуализировать сцену) главной панели инструментов или просто нажать функциональную клавишу F10;
Effects (Эффекты) — обеспечивает возможность настройки различных оптических эффектов, воспроизводимых в процессе визуализации, таких как формирование сияющих ореолов, кругов или лучей вокруг выбранных объектов, изменение яркости, контраста или цветового баланса изображения, имитация зернистости пленки и т. п. Выбор этой команды вызывает появление окна диалога Environment and Effects (Внешняя среда и эффекты), раскрытого на вкладке Effects (Внешняя среда и эффекты) и рассматриваемого в данной главе ниже, в разделе «Пробуем создать оптические эффекты»;
Render to Textures (Визуализация в текстуры) — обеспечивает возможность включения и настройки параметров нового режима визуализации в текстуры. При использовании этого режима визуализированный облик выбранного объекта со всеми появившимися на его поверхности световыми бликами, тенями и отражениями наносится на плоскую развертку сетчатой оболочки этого объекта. В итоге условия освещенности и отражения окружающей обстановки запечатлеваются в виде текстурной карты, называемой «запеченной» текстурой. Эта карта автоматически включается в состав специального материала Shell Material (Материал-оболочка), который, в свою очередь, наносится на поверхность объекта. После этого уже не требуется тратить время на повторную визуализацию свето-теневых эффектов и зеркальных отражений применительно к объекту с запеченной текстурой, что существенно ускоряет последующие циклы визуализации той же сцены. Использование «запеченных» текстур придумано применительно к игровым приложениям, где визуализация сцены должна происходить в режиме времени, близком к реальному. Этот вариант визуализации обладает массой принципиальных недостатков, например зависимостью от ракурса наблюдения. Его реализация в max 7.5 тоже пока оставляет желать лучшего, например, в части визуализации зеркальных отражений в «запеченной» текстуре. Выбор команды вызывает появление немодального окна диалога Render to Textures (Визуализация в текстуры), рассмотрение которого не входит в наши планы. Желающим подробнее познакомиться с визуализацией в текстуры могу посоветовать обратиться к справочной системе mах 7.5 или к моей книге «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году;
Raytracer Settings (Настройки трассировщика) — вызывает появление окна диалога Global Raytracer Settings (Глобальные настройки трассировщика), обеспечивающего выполнение настроек универсального алгоритма трассировки лучей программы max 7.5. Рассмотрение параметров этого окна диалога выходит за рамки данной книги;
Raytrace Global Exclude/Include (Глобальное включение/исключение трассировки) — обеспечивает возможность глобального исключения объектов из обработки трассировщиком лучей для ускорения расчетов, выполняемых трассировщиком, вне зависимости от материала, назначенного объектам. Мы не будем рассматривать особенности такого исключения;
ActiveShade Floater (Плавающее окно Активная раскраска) — вызывает появление окна диалога ActiveShade (Активная раскраска), предназначенного для предварительной визуализации сцены (о нем будет рассказано ниже, в разделе «ActiveShade — визуализация в окне проекции»), действуя аналогично соответствующей кнопке панели инструментов;
ActiveShade Viewport (Активная раскраска в окне проекции) — устанавливает режим активной раскраски в активном окне проекции;
Video Post (Видеомонтаж) — вызывает окно диалога Video Post (Видеомонтаж), позволяющее осуществлять визуализацию анимации и одновременно применять различные методы фильтрации визуализированных кадров изображений сцены, включать в анимацию эффекты переходов между кадрами, объединять несколько кадров в один и реализовывать другие приемы видеомонтажа. Рассмотрение приемов использования этого окна выходит за рамки нашей книги;
Show Last Rendering (Показать последнюю визуализацию) — вызывает появление на экране окна виртуального буфера кадров с изображением сцены, сформированным в ходе последней визуализации. Если визуализация не производилась, то команда недоступна;
Panorama Exporter (Экспорт панорам) — команда, обеспечивающая запуск утилиты, предназначенной для визуализации интерактивных круговых панорам трехмерной сцены;
Print Size Wizard (Мастер настройки печати) — вызывает появление окна диалога, предназначенного для предварительной настройки визуализируемого изображения с целью удобства его последующей печати;
RAM Player (RAM-проигрыватель) — запускает специальное приложение, предназначенное для отображения фиксированных кадров и воспроизведения анимаций, целиком загружаемых в оперативную память компьютера.
Контекстное меню ключа анимации
Для вызова контекстного меню ключа анимации, показанного на рис. 16.43, укажите на ключ курсором и щелкните правой кнопкой мыши.

Рис. 16.43. Фрагмент экрана max 7.5 с контекстным меню ключа анимации
В верхней части меню расположен список объектов, которые имеют ключи анимации в текущей позиции временной шкалы, и всех ключей этих объектов. Например, на рис. 16.43 в меню входят четыре ключа объекта Sphere01 (Сфера01): три ключа анимации положения отдельно по каждой из осей, X Position (Положение по X), Y Position (Положение по Y) и Z Position (Положение по Z), и ключ анимации такого свойства материала, как Specular Level (Сила блеска). Выбор любого из элементов этого списка вызывает появление окна диалога Key Info (Справка о ключах), рассматриваемого ниже.
Помимо списка ключей, меню содержит следующие команды:
Delete Key (Удалить ключ) — команда вызова подменю, содержащего список ключей для выборочного удаления, аналогичный списку в верхней части меню, а также команду All (Все), позволяющую удалить сразу все ключи в текущей позиции временной шкалы;
Delete selected keys (Удалить выделенные ключи) — команда удаления всех ключей, выделенных на строке треков;
Filter (Фильтр) — команда вызова подменю, содержащего перечень режимов выборочного отображения ключей в строке треков:
All Keys (Все ключи) — отображение всех ключей, этот режим выбирается по умолчанию;
All Transform Keys (Все ключи преобразований) — отображение только ключей преобразований положения, поворота или масштаба;
Current Transform (Текущее преобразование) — отображение только ключей того преобразования, инструмент которого выбран на главной панели;
Object (Объект) — отображение ключей модификаторов объекта;
Material (Материал) — отображение ключей материала объекта;
Configure (Конфигурировать) — команда вызова подменю, содержащего дополнительные команды конфигурирования строки треков:
Show Frame Numbers (Показывать номера кадров) — включает/выключает отображение номеров кадров на шкале строки треков;
Show Selection Range (Показывать выделенный диапазон) — включает/ выключает отображение под шкалой строки треков диапазона действия анимации в виде черной линии с белыми маркерами на концах (рис. 16.44), такой же, как в окне диалога Track View — Dope Sheet (Просмотр треков — Диаграмма ключей). Линия выделенного диапазона отображается, если в строке треков выделено хотя бы два ключа. Если выделено несколько ключей, линия выделенного диапазона отображается между крайними из них;

Рис. 16.44. Фрагмент экрана max 7.5 в режиме отображения выделенного диапазона действия анимации между ключами в кадрах № 25 и № 40
Show Sound Track (Показывать звуковую дорожку) — включает/выключает отображение звуковой дорожки между шкалой строки треков и строкой диапазонов действия, если для озвучивания анимации применяется звукозапись, как показано на рис. 16.45. Это особенно удобно при согласовании анимируемых движений губ персонажа с записью его речи;

Рис. 16.45. Фрагмент экрана max 7.5 в режиме отображения звуковой дорожки между строкой треков и строкой выделенных диапазонов действия анимации
Snap to Frames (Привязка к кадрам) — включает/выключает режим привязки положений перемещаемых ключей анимации на временной шкале к моментам времени, соответствующим границам кадров анимации. Режим по умолчанию включен; если его выключить, то ключи можно размещать в произвольных точках шкалы времени. Значки таких ключей имеют вид узких прямоугольников;
Go to Time (Перейти к текущему времени) — заставляет ползунок таймера анимации переместиться к точке шкалы, соответствующей моменту времени выбранного ключа анимации.
Контролируем ход визуализации
Процесс визуализации в ряде случаев может быть довольно продолжительным, а иногда и просто невыносимо долгим. Не стоит даже и говорить, насколько важно при этом иметь возможность контроля за ходом визуализации. Не будь в max 7.5 средств такого контроля, могло бы возникнуть паническое впечатление, что компьютер «завис», и вы не знали бы, что делать: то ли выключать машину, то ли подождать еще минут 20 (а может, еще пару часов?).
Для наблюдения за ходом визуализации в max 7.5 служит окно диалога Rendering (Визуализация), появляющееся на экране после щелчка на кнопке Render (Визуализировать) в окне диалога Render Scene (Визуализация сцены) или на кнопке Quick Render (Быстрая визуализация) главной панели инструментов и показанное на рис. 15.16.

Рис. 15.16. Окно диалога Rendering служит для наблюдения за ходом визуализации
| ЗАМЕЧАНИЕ Если вы используете программу max 7.5 при разрешении экрана 800x600 точек, то рискуете не увидеть окно диалога Rendering (Визуализация). По какой-то причине разработчики программы указали такое исходное положение этого окна, при котором оно оказывается правее правого края экрана с разрешением 800x600 точек. Чтобы исправить эту погрешность, выключите программу 3ds max. Найдите в папке с программным обеспечением max 7.5 файл 3dsmax.ini. Это обычный текстовый файл, так что откройте его для правки в программе Notepad (Блокнот). Найдите строку [RenderProgressDialogPosition], а под ней — параметр Dimensions Первые два числа после знака равенства задают координаты левого верхнего угла окна в пределах экрана по горизонтали и вертикали. Измените их, скажем, на 400 и 20. Сохраните файл и запустите программу max 7.5. Теперь после щелчка на кнопке Quick Render (Быстрая визуализация) окно Rendering (Визуализация) должно появиться на экране. |
В окне Rendering (Визуализация) указывается, какая стадия процесса визуализации выполняется в данный момент, демонстрируется ход выполнения этой стадии, а также отображаются сводные справочные сведения о параметрах общего назначения и параметрах, специфичных для алгоритма визуализации. В правом верхнем углу окна имеются две кнопки: Cancel (Отмена), щелчок на которой прекращает процесс визуализации, и Pause (Пауза) — кнопка временного прерывания визуализации. После щелчка на этой кнопке ее наименование изменяется на Resume (Пуск). Чтобы возобновить процесс визуализации, следует повторно щелкнуть на данной кнопке.
Непосредственно ход визуализации демонстрируется с помощью двух прогресс-индикаторов в верхней части окна:
Total Animation (Общая анимация) — демонстрирует ход выполнения визуализации всей последовательности кадров анимации;
Current Task (Текущая операция) — строка вывода сообщения о типе выполняемой операции, например Preparing Lights (Подготовка осветителей), Rendering Reflect/Refract Maps (Визуализация карт отражения/преломления) или Rendering Image (Визуализация изображения). Ход выполнения текущей операции отображается при помощи прогресс-индикатора.
Свиток Common Parameters (Общие параметры) окна Rendering (Визуализация) содержит следующие сведения:
Rendering Progress (Ход визуализации) — группа сведений, характеризующих ход визуализации, включая номер визуализируемого кадра (Frame #), число визуализированных кадров и общее число кадров визуализируемого сегмента (например, 5 of 100 Total — 5 из 100), время визуализации последнего кадра (Last Frame Time), общий расход времени (Elapsed Time) и время, требуемое для визуализации оставшейся части анимации (Time Remaining). Последний параметр рассчитывается по завершении визуализации первого кадра анимационной последовательности;
Render Settings (Параметры визуализации), Output Settings (Параметры вывода) — группы сведений о параметрах и режимах визуализации, а также о параметрах вывода результатов визуализации, заданных в окне диалога Render Scene (Визуализация сцены);
Scene Statistics (Статистика сцены) — сведения, указывающие, сколько объектов (Objects), граней (Faces) и источников света (Lights) присутствует в составе визуализируемой сцены, сколько источников света формируют тени по алгоритму карт теней (Shadow Mapped), а сколько — с использованием алгоритма трассировки лучей (Ray Traced), а также о том, сколько памяти использует программа (Memory Used), как физической (Р), так и виртуальной (V). В примере, представленном на рис. 14.15 и соответствующем варианту визуализации сцены «МАХ-кафе», программа использует 282,6 Мбайт физической оперативной памяти и 374,3 Мбайт виртуальной памяти на жестком диске.
|
ЗАМЕЧАНИЕ Внимательно присматривайтесь к сообщениям о расходе памяти при визуализации. Если требуемый объем виртуальной памяти превышает размер свободного пространства на жестком диске компьютера, может произойти аварийное завершение программы. |
По завершении визуализации взгляните на строку подсказки в нижней части экрана max 7.5 — там появится надпись Rendering Time (Время визуализации) с указанием времени, затраченного на синтез изображения, в формате «часы:минуты:секунды».
Краткий словарь терминов по трехмерной графике и анимации
Этот словарик не претендует на полноту и уж тем более на законченность. Кроме того, словарь ограничивается терминологией, используемой только в одной из многочисленных программ трехмерной графики и анимации, — программе 3ds max. В качестве переводов приведены в основном те выражения, которые устоялись в многочисленных книгах издательства «Питер», посвященных программе 3ds max различных версий. Таких книг насчитывается уже более двух десятков.
В пояснениях для отдельных терминов приведены жаргонные аналоги, используемые в обиходе сообщества любителей и профессионалов трехмерной компьютерной графики и анимации, которых я объединил словом «трехмерщики» и к которым причисляю и себя. Эти жаргонные обозначения являются, как правило, просто словами-кальками с английского, заменяющими перевод побуквенным воспроизведением звучания слова. Живой язык стремится к лаконизму и рациональности, и следует признать, что говорить «бокс» вместо «прямоугольный параллелепипед» в качестве обозначения английского термина «box» все же короче и проще. Будем надеяться, что постепенно удастся найти приемлемые переводы специальных терминов, которые устроят если не всех, то хотя бы большинство пользователей.
Курсивом набраны термины, поясняемые в этом же словаре.
ActiveShade
(Активная раскраска) — режим предварительной визуализации {rendering) сцены в целях быстрой оценки изменений освещения или материалов. Может осуществляться или прямо в любом из окон проекций, или в отдельном окне диалога, сходном с виртуальным буфером кадра {virtual frame buffer). Окно активной раскраски обладает возможностью интерактивного обновления. Позволяет просматривать как целую сцену, так и выделенные объекты.
АЕС Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) — разновидности стандартных трехмерных тел, позволяющих создавать специфические объекты, которые применяются в архитектурном моделировании, такие как ограждение (Railing), стена (Wall) или растительность (Foliage).
Ambient Color (Цвет подсветки) — параметр материала, характеризующий цвет объекта в затененной области, куда не попадают прямые лучи источников света (lights). Может полностью или частично замещаться текстурной картой (texture map).
Ambient Light (Подсветка) — равномерное освещение поверхностей всех объектов рассеянным светом, не имеющим видимого источника и определенного направления распространения. Подсветка является одним из проявлений внешней среды (environment) и имитирует освещенность совокупностью световых лучей, падающих на любой объект в результате отражения от всех остальных объектов сцены. Чем выше уровень подсветки, тем ярче становятся цвета поверхностей объектов. Если подсветка абсолютно белая и в сцене нет источников освещения, то все объекты будут иметь цвета, соответствующие цвету подсветки (ambient color) материалов объектов.
Angle of Incidence (Угол падения) — угол между нормалью к поверхности и направлением падающих на нее лучей света заданного источника. Чем больше угол, тем меньше света рассеивает поверхность и тем темнее она выглядит.
Animation (Анимация) — автоматизированный процесс визуализации серии изображений, называемых кадрами (frames), каждое из которых фиксирует некоторые изменения состояния этой сцены. Эти изменения могут касаться положений объектов (objects) или подобъектов (subobjects), формы объектов, определяемой действием различных модификаторов (modifiers), свойств материала (material) объектов, таких как цвет (color), сила блеска (specular level), непрозрачность (opacity) или самосвечеиие (self-illumination), состояния внешней среды (environment), представленной туманом (fog), пламенем (fire effect) или объемным светом (volume light), и многих других компонентов сцены, допускающих анимацию.
Animation Controls (Средства управления анимацией) — набор кнопок в нижнем правом углу экрана, позволяющих конфигурировать условия создания анимаций, управлять их созданием и просмотром.
Animation Keys (Ключи анимации) — см. key (ключ).
Area Shadows (Площадные тени) — тип геометрически правильных теней с границами, резкость которых убывает по мере удаления от объекта. При использовании площадных теней любой осветитель заменяется воображаемой совокупностью точечных источников света, равномерно размещенных в пределах области заданной формы и размеров.
Atmospheric Apparatus (Атмосферная оснастка) — разновидность вспомогательных объектов, предназначенных для локализации областей проявления эффектов внешней среды (environment effects).
Atmospheric Effects (Атмосферные эффекты) — то же, что эффекты внешней среды (environment effects).
Attenuation
(Затухание) — уменьшение интенсивности света по мере удаления от источника. В реальной жизни затухание света происходит обратно пропорционально квадрату расстояния от источника, но в 3ds max можно задавать и другие виды зависимости затухания от расстояния.
Auto Key (Автоключ) — один из двух режимов анимации, реализованных в 3ds max, с автоматической установкой ключей анимации (animation keys). Предполагает автоматическое создание ключей любых параметров любых объектов, которые изменяются пользователем в процессе анимации.
Baked Textures («Запеченные» текстуры) — разновидность текстурных карт (texture maps), которые формируются в процессе операции визуализации в текстуры (rendering to textures). Такие текстуры помимо исходного рисунка, имевшегося на поверхности материала, запечатлевают, как на фотографии, все тени, падающие на объект, блики света, зеркальные отражения и т. п.
Background
(Фон) — воображаемый задник, на фоне которого визуализируется трехмерная сцена. Можно задавать однородный цвет задника или указывать тип карты текстуры, которая будет играть роль фона сцены. Например, часто в качестве фона выбирается растровая карта текстуры (bitmap) в виде фотографии реального мира.
Bitmap
(Растровая карта) — тип текстурной карты (texture map), используемой для полного или частичного замещения некоторых характеристик материала (material), таких как цвет диффузного рассеивания (diffuse color) или зеркальное отражение (reflection), а также в качестве изображения, проецируемого источником света в режиме проектора (projector), или в качестве фона (background) сцены. Представляет собой просто точечное изображение в виде файла одного из графических форматов типа BMP (*.bmp), JPG (*.jpg), TIFF (*.tif), TGA (*.tga) и т. п.
Bones
(Кости) — система (system) объектов, позволяющих создавать иерархически связанные цепочки рычагов, напоминающих кости скелета и используемых при анимации моделей живых существ или механических устройств.
Border
(Граница) — тип подобъекта редактируемых полисеток (Editable Poly) в виде замкнутой последовательности ребер, каждое из которых является крайним ребром сетки; фактически это край отверстия в сетке.
Bounding Box (Габаритный контейнер) — прямоугольный параллелепипед, в который вписывается объект любой формы. Габаритными контейнерами снабжаются все без исключения геометрические объекты трехмерной сцены.
Bump
(Рельефность) — характеристика материала, управляемая с помощью текстурной карты (texture map), изменение яркости пикселей которой создает иллюзию впадин и выпуклостей на поверхности объекта без изменения его геометрии. На жаргоне трехмерщиков иногда обозначается словом «бамп».
Cameras
(Камеры) — категория объектов, предназначенных для наблюдения трехмерной сцены через объективы воображаемых съемочных камер.
Caustics
(Каустика) — формирование хаотических световых пятен (бликов) на объектах сцены, возникающих в результате случайного сгущения и разрежения световых лучей, отраженных от объектов с неровной поверхностью или преломленных при прохождении через объекты с неровной поверхностью.
Chamfer Box (Параллелепипед с фаской), Chamfer Cyl (Цилиндр с фаской) —
типы улучшенных трехмерных примитивов, отличающихся от стандартных наличием сглаженных кромок по периметрам верхнего и нижнего оснований. На жаргоне трехмерщиков эти примитивы иногда называют словом «чамферы».
Codec
(Кодек) — алгоритм компрессии-декомпрессии видеозаписей, то есть их сжатия в процессе создания и последующей распаковки для воспроизведения, а также программное обеспечение, использующее такой алгоритм.
Color
(Цвет) — одно из свойств материала, основанное на том, что освещаемый объект поглощает часть энергии падающих световых лучей с определенными длинами волн. Например, объекты красного цвета поглощают лучи синего и зеленого цветов. В 3ds max цвет материала искусственно разделяется на такие составляющие, как цвет подсветки (ambient color), цвет диффузного рассеивания (diffuse color) и цвет зеркального отражения (specular color).
Command Panels (Командные панели) — шесть панелей на правом краю экрана 3ds max для доступа к большинству инструментов моделирования и редактирования.
Compound Objects (Составные объекты) — трехмерные тела, составленные из двух или более простых объектов, как правило, объектов-примитивов или форм (shapes).
Constraint
(Ограничитель) — тип контроллеров (controller) анимации, которые используют набор опорных объектов или совокупность управляющих параметров для наложения определенных ограничений на параметры анимируемого объекта. Например, эти контроллеры могут ограничивать перемещение объекта только вдоль заданной кривой или по заданной поверхности, ограничивать ориентацию объекта только заданным направлением и т. п.
Controller
(Контроллер) — алгоритм, управляющий анимацией каждого из параметров объекта. Всем параметрам по умолчанию присваиваются определенные типы контроллеров, которые можно заменять при редактировании анимации.
Daylight (Дневной свет) — система (system) из двух связанных фотометрических осветителей: имитатора солнечного освещения, воспроизводящего движение солнца с учетом географического положения, времени года и суток моделируемой сцены, и имитатора рассеянного света небосвода (skylight).
Default Scanline Renderer (Исходный сканирующий визуализатор) — тип визуализатора (Renderer), используемого в программе 3ds max по умолчанию. Позволяет создавать визуально правдоподобное изображение трехмерной сцены высокого качества, близкого к фотографическому.
Deflectors
(Отражатели) — разновидность объектов из категории объемных деформаций (space warps), позволяющих достоверно имитировать столкновения объектов, при необходимости с воспроизведением упругого отскока.
Depth of Field (Глубина резкости) — оптический эффект, выраженный в том, что изображения объектов, расположенных за пределами зоны фокусировки, оказываются размытыми. Границы зоны задаются как расстояния от зрителя. Размываться могут объекты, расположенные как ближе, так и дальше, чем зона фокусировки.
Diffuse Color (Цвет диффузного рассеивания) — характеристика материала, определяющая цвет световых лучей, рассеиваемых объектом в произвольных направлениях. Может полностью или частично замещаться текстурной картой (texture map), что равноценно нанесению рисунка на поверхность материала.
Direct Light (Направленный осветитель) — источник света, который испускает пучок параллельных лучей, подобно бесконечно удаленному Всенаправленному источнику.
Displacement
(Смещение) — характеристика материала, позволяющая применить ту или иную текстурную карту (texture map) для фактического изменения геометрии поверхности пропорционально яркости отсчетов карты.
Dope Sheet (Диаграмма ключей) — одна из двух разновидностей окна диалога Track View (Просмотр треков), предназначенная для выполнения различных операций над ключами (keys) анимации.
Dummy Object (Объект-пустышка) — вспомогательный объект в виде каркасного куба с точкой опоры в его геометрическом центре. У него есть имя, но нет параметров. К такому объекту нельзя применять никакие модификаторы, он не отображается при визуализации. Единственный реальный элемент пустышки — ее опорная точка (pivot point), которая используется в качестве центра преобразований.
Editable Mesh (Редактируемая сетка) — класс редактируемых объектов, поверхность которых разбивается на треугольные грани (faces). На жаргоне трехмер-щиков часто называется словом «меш».
Editable Poly (Редактируемая полисетка) — класс редактируемых объектов, поверхность которых разбивается на многоугольники-полигоны (poligons), а не на треугольные грани (faces).
Edge
(Ребро) — линия края грани, соединяющая две вершины.
Element
(Элемент) — группа подобъектов, составляющая единый объект.
Environment
(Внешняя среда) — совокупность инструментальных средств и приемов, с помощью которых имитируются проявления внешней среды в виртуальном пространстве трехмерной сцены. Эти проявления включают цвет фона (background) сцены, подсветку (ambient light), а также ряд эффектов внешней среды (environment effects).
Environment Effects (Эффекты внешней среды) — эффекты, с помощью которых имитируются проявления внешней среды в виртуальном пространстве трехмерной сцены. В 3ds max 7.5 реализовано четыре типа эффектов внешней среды: туман (fog), объемный туман (volume fog), объемный свет (volume light) и горение (fire effect).
Exposure Control (Управление экспозицией) — имитация результатов настройки экспозиции съемочной камеры, которая определяется длительностью времени открытия затвора (выдержкой) и диаметром отверстия на входе объектива (диафрагмой). Правильный подбор экспозиции обеспечивает получение насыщенных полутонами, контрастных изображений практически в любых условиях освещенности.
Extended Primitives (Улучшенные примитивы) — трехмерные тела правильной геометрической формы, характеризуемые большим числом параметров, чем стандартные примитивы (standard primitives). К их числу относятся такие объекты, как параллелепипед с фаской {chamfer box) или цилиндр с фаской {chamfer cylinder), многогранник, тороидальный узел и т. п.
Face
(Грань) — область плоскости треугольной формы, представляющая собой элементарный плоский участок сетчатых оболочек. На жаргоне трехмерщиков называется словом «фэйс».
Fire Effect (Горение) — один из эффектов внешней среды (environment effects), предназначенный для имитации пламени открытого огня или взрыва. Допускает анимацию.
Fog
(Туман) — один из эффектов внешней среды {environment effects), предназначенный для имитации однородного по плотности тумана типа дымки или смога, который заполняет весь объем сцены и постепенно скрывает объекты по мере их удаления от наблюдателя или располагается над поверхностью сцены слоем заданной толщины.
Foliage
(Растительность) — тип стандартных объектов, позволяющий создавать за один прием готовые модели деревьев и кустарников. Образцы растительности одной и той же породы могут случайным образом варьироваться, отличаясь друг от друга.
Forward Kinematics (Прямая кинематика) — метод управления движением объектов, связанных в иерархическую цепочку, при котором движение задается перемещением объекта-предка и распространяется на все дочерние объекты.
Frame
(Кадр) — а) фиксированное состояние анимированной трехмерной сцены на какой-то момент времени; б) одно из серии изображений, последовательность которых формируется при визуализации анимации; е) единица измерения времени анимации.
FPS, Frames Per Second (Кадров в секунду) — скорость воспроизведения анимации, типовые значения которой составляют 30 FPS (телевизионная система NTSC, принятая в США), 25 FPS (телевизионные системы PAL и SECAM, принятые в Европе и России) и 24 FPS (киносъемка).
Function Curves (Функциональные кривые) — графики изменения анимирован-ных параметров во времени.
G-Buffer
(G-буфер) — буфер графики, то есть автоматически формируемый набор масок для выборочной фильтрации только тех областей изображения, которые представляют собой проекции заданных объектов или относятся к заданному материалу. Номера масок, называемые также номерами каналов буфера графики, задаются числовыми идентификаторами, которые присваиваются объектам и материалам объектов разработчиком трехмерной сцены.
Geometry
(Геометрия) — совокупность объектов {objects), предназначенных для построения геометрической модели трехмерной сцены.
Gizmo
(Контейнер) — вспомогательный объект определенной формы, предназначенный для локализации действия эффектов внешней среды {environment effects) или действия модификаторов {modifiers).
GI, Global Illumination (Глобальная освещенность) — освещенность объектов трехмерной сцены, определяющаяся не только прямыми лучами света от источника освещения, но и лучами, многократно отраженными от других объектов окружающей обстановки. Расчет глобальной освещенности реализован в 3ds max с помощью двух алгоритмов: Light Tracer {Трассировщик света) и Radiosity {Перенос излучения).
Glossiness
(Глянцевитость) — характеристика материала, определяющая размер зеркального блика на поверхности. Чем больше глянцевитость, тем меньше размер блика.
GUI, Graphical User Interface (Графический интерфейс пользователя) — то, что вы видите на экране своего компьютера во время работы программы.
Helpers
(Вспомогательные объекты) — объекты, которые не включаются в итоговое изображение сцены и предназначены для упрощения задачи ее моделирования или анимации.
Hierarchical Linking (Иерархическое связывание) — процесс установления иерархических связей «предок-потомок» между объектами сцены.
Home Grids (Исходные координатные сетки) — координатные плоскости глобальной системы координат, которые являются рабочими конструкционными плоскостями в 3ds max 7.5.
HSDS, Hierarchical SubDivision Surface (Иерархическое деление поверхностей) — метод разбиения поверхностей на множество уровней, отличающихся друг от друга степенью локальной детализации.
Inverse Kinematics (Обратная кинематика) — метод управления движением иерархически связанных объектов, при котором движение задается перемещением самого младшего объекта-потомка и распространяется на все родительские объекты вплоть до объекта-ограничителя (terminator). Иногда термин переводится как «инверсная» или «возвратная» кинематика.
Key
(Ключ) — значения анимируемых параметров в ключевых кадрах {keyframes).
Keyboard Shortcuts (Комбинации клавиш) — клавиши, одновременное нажатие которых приводит к выполнению команд 3ds max. Пользователь может задавать такие комбинации по своему усмотрению.
Keyframes
(Ключевые кадры) — кадры {frames) анимации, в которых фиксируются наиболее важные, ключевые фазы (например, начало и конец) любого преобразования объекта или изменения сцены.
Light
(Осветитель) — источник освещения трехмерной сцены. В 3ds max реализовано шестнадцать различных типов осветителей, в том числе восемь фотометрических {photometric light). Кроме того, имеются два встроенных осветителя, не подлежащих настройке, и две готовые системы объектов, включающих в свой состав источники света.
Light Temperature (Цветовая температура) — температура, до которой нужно нагреть абсолютно черное тело, чтобы оно излучало свет характеризуемого цвета. Низкие цветовые температуры соответствуют теплым красным тонам, а высокие — холодным голубым.
Light Tracer (Трассировщик света) — один из двух алгоритмов расчета глобальной освещенности (global illumination), реализованных в 3ds max. Отличается сравнительной простотой настройки и использования. Не обеспечивает физически точных результатов, хотя визуализированные изображения выглядят достаточно правдоподобно.
Lofting
(Лофтинг) — метод моделирования трехмерных тел, оболочка которых строится как огибающая двумерных форм-сечений, расставляемых вдоль заданной кривой произвольной формы, именуемой путем (path).
Manipulator
(Манипулятор) — настраиваемый вспомогательный объект, используемый для изменения параметров управляемых объектов прямо в окне проекции.
Map
(Карта) — см. texture map (текстурная карта).
Material
(Материал) — набор характеристик, таких как цвета подсветки (ambient color), диффузного рассеивания (diffuse color) или зеркального отражения (specular color), сила блеска (specular level), глянцевитость (glossiness), непрозрачность (opacity), самосвечение (self-illumination) и т. п., присваиваемых поверхности геометрической модели для придания ей сходства с поверхностью реального объекта.
Material Libraries (Библиотеки материалов) — файлы определенной структуры, предназначенные для сохранения материалов (materials) и карт текстур (texture maps).
MAXScript Listener (Интерпретатор MAXScript) — окно, разделенное на две части (верхняя розового, нижняя белого цвета) и предназначенное для программирования на языке сценариев MAXScript.
mental ray Renderer (Визуализатор mental ray) — альтернативный модуль визуализации, встроенный в 3ds max и обладающий рядом дополнительных возможностей по сравнению со стандартным визуализатором. В частности, позволяет рассчитывать эффекты глобальной освещенности (Global Illumination) и каустики (caustics).
Mesh
(Сетка) — оболочка трехмерных тел, состоящая из треугольных граней (faces). См. также editable mesh (редактируемая сетка).
Modifier
(Модификатор) — инструмент для изменения геометрической структуры объекта. Например, при применении к верхней части цилиндра модификатора Taper (Заострение) вершины сетки, составляющей верх цилиндра, перемещаются ближе к его оси.
Modifier Stack (Стек модификаторов) — иерархический список модификаторов, показывающий «историю» деформации объекта.
Motion Blur (Размывание в движении) — эффект размывания изображения, связанный с тем, что объект или камера в процессе съемки находились в движении.
Multi-Pass Rendering Effect (Эффект многопрогонной визуализации) — оптический эффект, формируемый за счет многократной визуализации одного и того же кадра при небольшом изменении положения и/или ориентации оси визирования камеры. Многопрогонная визуализация позволяет имитировать размывание изображения, возникающее в реальных камерах при определенных условиях съемки. В 3ds max методом многопрогонной визуализации реализованы эффекты конечной глубины резкости {depth of field) и размывания в движении (motion blur).
Normal
(Нормаль) — перпендикуляр к грани. Если нормаль грани направлена к зрителю, то грань является видимой.
NTSC — название стандарта телевизионного сигнала с частотой 30 кадров в секунду. Данный стандарт используется в странах Америки и в Японии.
NURBS Curve (NURBS-кривая) — тип кривой, математически описываемой как неоднородный рациональный В-сплайн (Non-Uniform Rational B-Spline — NURBS). Форма такой кривой целиком определяется управляющими точками, располагающимися на линии сплайна или за ее пределами. Кривые данного типа могут применяться для формирования поверхностей, также контролируемых управляющими точками.
NURMS, Non-Uniform Rational Mesh Smoothing (Сглаживание неоднородных рациональных сетчатых поверхностей) — тип сглаживания сеток и полисеток, при котором на каждом очередном уровне сглаживания вершины сетки предыдущего уровня играют роль управляющих точек, подобно управляющим точкам поверхностей типа NURBS, что и определило сходство названий.
Object
(Объект) — любой элемент трехмерной сцены, к которому можно применять преобразования (transforms) и модификаторы (modifiers). Некоторые объекты видны только в окнах проекций и не включаются в визуализированное изображение трехмерной сцены.
Omni
(Всенаправленный) — источник света, испускающий лучи во всех направлениях.
Opacity
(Непрозрачность) — характеристика материала, определяющая его способность не пропускать свет; свойство, противоположное прозрачности. Может полностью или частично задаваться текстурной картой (texture map), изменение яркости пикселей которой управляет свойством прозрачности или непрозрачности поверхности.
PAL — европейский стандарт телевизионного сигнала с частотой 25 кадров в секунду.
Particle Systems (Системы частиц) — объекты-источники множества мелких двумерных или трехмерных частиц, призванных имитировать такие природные явления, как пыль, дым, снег, а также брызги воды, воздушные пузырьки или искры огня.
Patch
(Кусок Безье) — треугольный или четырехугольный фрагмент поверхности в виде рамки, образованной сплайнами Безье с вершинами, снабженными касательными векторами. Внутри рамки поверхность разбивается на треугольные грани, вершины и ребра которых не могут быть выделены и не подлежат редактированию. Таким образом, у треугольного куска Безье всего три редактируемых наружных ребра и три вершины, у четырехугольного — четыре редактируемых ребра и четыре вершины. За счет манипулирования этими вершинами и их касательными векторами выполняется настройка формы и кривизны кусков. Иногда вместо слова «кусок» используется перевод «лоскут». В жаргоне трехмерщиков встречается слово «патч».
Patch Grids (Сетки кусков) — поверхности, состоящие из кусков Безье (patches).
Photometric Lights (Фотометрические источники света) — разновидность осветителей (lights), позволяющих средствами трехмерной графики точно воспроизводить освещенность, цвет и пространственное распределение силы света, свойственные реальным источникам света, будь то обычная лампочка накаливания, люминесцентная лампа дневного света или солнце. Свет, испускаемый фотометрическими осветителями, всегда затухает обратно пропорционально квадрату расстояния до освещаемой поверхности.
Pivot point (Опорная точка) — точка геометрической модели любого трехмерного или двумерного объекта, которая автоматически назначается при его создании и служит центром преобразований перемещения, поворота и масштаба. Опорную точку можно перемещать и даже выносить за пределы объекта.
Plug-In
(Дополнительный модуль) — программный модуль в виде динамически компонуемой библиотеки, который можно подключать к программе 3ds max благодаря ее открытой архитектуре. Огромное количество дополнительных модулей выпускается как самой компанией Discreet, так и многими другими сторонними компаниями. В среде трехмерщиков распространено слово «плагин».
Polygon
(Полигон) — многоугольный участок плоскости, состоящий из треугольных граней и окруженный видимыми ребрами.
Preview
(Эскиз) — упрощенный вариант визуализированной анимации (animation), чаще всего создаваемый для контроля качества движений объектов сцены. В эскизе анимации могут наблюдаться эффекты освещения и прозрачности, а также текстуры материалов (materials) объектов, хотя и в существенно упрощенном виде. Фактически представляет собой не что иное, как записанный в файл процесс воспроизведения анимации в окне проекции 3ds max.
Projector
(Проектор) — режим работы источника света, в котором этот осветитель играет роль проектора для слайдов и отбрасывает на окружающие предметы изображение, заданное текстурной картой (texture map).
Pull-down menu (Выпадающее меню) — меню, раскрывающееся при выборе команды, расположенной в строке меню.
Quad menu (Четвертное меню) — настраиваемое меню, возникающее вокруг курсора при щелчке правой кнопкой мыши. Может содержать от одного до четырех полей с наборами команд.
Radiosity
(Перенос излучения) — один из двух алгоритмов расчета глобальной освещенности (global illumination), реализованных в 3ds max. Более сложен в настройке, чем алгоритм Трассировщика света (Light Tracer), и к тому же требует специальной подготовки геометрических моделей. При использовании фотометрических, осветителей (photometric lights) позволяет рассчитывать физически точные результаты визуализации освещенности сцены.
Railing
(Ограждение) — тип стандартных трехмерных объектов, позволяющий строить как прямолинейные секции заборов или изгородей, так и сложные в плане ограждения, выстраиваемые вдоль периметра произвольной формы, задаваемого сплайном. В частности, объект этого типа можно применять в качестве перил моделей лестниц.
Raytrace Shadows (Трассированные тени) — тип теней, формируемых в виде зон, недоступных для воображаемых лучей света, путь которых отслеживается от источника до глаз наблюдателя. Эти тени более точно воспроизводят проекцию объекта, чем карты теней, и всегда имеют резко очерченные края.
reactor
(Реактор) — встроенный в 3ds max программный модуль, позволяющий имитировать визуально правдоподобные взаимодействия трехмерных тел с учетом таких воображаемых физических свойств объектов, как масса, упругость, жесткость, коэффициент трения и т. п., а также действия на объекты таких сил, как тяжесть, ветровое давление, сопротивление воздуха, вращающий момент, архимедова сила и т. п.
Reflection
(Отражение) — характеристика материала, позволяющая применить ту или иную текстурную карту {texture map) для имитации отражения окружающих объектов на поверхности зеркального материала.
Refraction
(Преломление) — характеристика материала, позволяющая применить ту или иную текстурную карту {texture map) для имитации преломления световых лучей прозрачным объектом.
Render to Textures (Визуализация в текстуры) — процесс визуализации, при котором строится не изображение сцены, а развернутое на плоскость изображение поверхности заданного трехмерного объекта. На этом изображении вместе с рисунком материала объекта запечатлеваются («запекаются») изображения падающих на объект теней, бликов света и зеркальных отражений окружающих объектов. Сформированное изображение называется «запеченной» текстурой {baked texture).
Renderer
(Визуализатор) — алгоритм, в соответствии с которым выполняется визуализация {rendering). В состав 3ds max входят три модуля визуализации: исходный сканирующий визуализатор (default scanline renderer), визуализатор в файл VUE (VUE File Renderer) и визуализатор mental ray {mental ray renderer).
Rendering
(Визуализация) — процесс создания проекции изображения сцены с заданной точки наблюдения с учетом падающего на объекты сцены света, назначенных объектам материалов, а также цвета или изображения фона {background) и эффектов внешней среды {environment effects). В жаргоне трехмерщи-ков используются слова «рендерить», «рендеринг».
Resolution
(Разрешение) — число точек (пикселей) изображения по ширине и длине.
Segment
(Сегмент) — соединяющая две вершины ломаная линия, которая является частью двумерной формы.
Self-illumination
(Самосвечение) — характеристика материала, обеспечивающая создание иллюзии свечения объекта за счет замены цвета теней на его поверхности цветом диффузного рассеивания. Может полностью или частично задаваться текстурной картой {texture map), яркость пикселей которой управляет степенью светимости материала. Чем ближе цвет отсчета текстурной карты к белому, тем выше яркость самосвечения материала.
Set Key (Задать ключ) — один из двух режимов анимации, реализованных в 3ds max, с принудительной установкой ключей анимации {animation keys). Предполагает необходимость предварительной настройки типов ключей и выбора объектов, для которых ключи будут принудительно устанавливаться пользователем в процессе анимации.
Shader
(Раскраска) — алгоритм сглаживания ребер между гранями и отображения зеркальных бликов. На жаргоне трехмерщиков часто обозначается словом «шэйдер».
Shadow Map (Карта теней) — разновидность теней в виде растрового изображения, создаваемого на предварительном этапе процесса визуализации методом построения проекций объектов в направлении падающих лучей света. Карты теней не показывают оттенков цвета прозрачных или полупрозрачных объектов.
Shape
(Форма) — объект, созданный на основе одной или нескольких кривых, образующих разомкнутые или замкнутые двумерные или трехмерные фигуры. В 3ds max реализованы два типа форм: сплайны {splines) и NURBS curves (NURBS-кривые). В жаргоне трехмерщиков бытует слово «шэйп».
Skylight
(Свет неба) — осветитель (light), предназначенный для имитации рассеянного света, испускаемого облачным небом. Отличается от всех остальных стандартных источников света тем, что его воображаемые лучи не исходят из какой-то одной точки. Источниками световых лучей считаются все точки воображаемой полусферы бесконечного радиуса, куполом накрывающей трехмерную сцену сверху.
Smoothing
(Сглаживание) — эффект исчезновения ребер между гранями при визуализации. Изображение ребра между двумя смежными гранями сглаживается, если эти грани относятся к одной и той же группе сглаживания {smoothing group).
Smoothing Group (Группа сглаживания) — числовой идентификатор, присваиваемый граням или полигонам оболочки объекта. Грани с одинаковым значением идентификатора считаются относящимися к одной и той же группе сглаживания.
Space Warps (Объемные деформации) — объекты, предназначенные для имитации действия различных сил на геометрические модели или частицы, попадающие под влияние «силового поля». Позволяют имитировать действие сил тяжести или ветра на системы частиц, моделировать волны на воде и т. п.
Specular Color (Цвет зеркального отражения) — характеристика материала, определяющая цвет зеркальных бликов на блестящем материале. Размер и яркость блика задаются с помощью параметров глянцевитость {glossiness) и сила блеска (specular level). Может полностью или частично задаваться текстурной картой (texture map), что позволяет придать области зеркального блика некоторую неоднородность или изобразить в этой области заданный узор.
Specular Level (Сила блеска) — характеристика материала, определяющая яркость зеркального блика на поверхности. Может полностью или частично задаваться текстурной картой (texture map), яркость пикселей которой управляет интенсивностью блеска участков зеркального блика.
Spline
(Сплайн) — тип кривой, состоящей из набора вершин, соединенных сегментами (segments), которые формируют линию, в общем случае произвольной формы.
Spotlight
(Прожектор) — источник света, испускающий расходящийся пучок лучей в пределах заданного конуса или пирамиды.
Standard Primitives (Стандартные примитивы) — трехмерные тела правильной геометрической формы, такие как параллелепипед, сфера или тор.
Status Bar (Строка состояния) — область внизу экрана, в которой отображается вспомогательная информация.
Storyboard
(Раскадровка) — эскиз, обычно сделанный в графической форме, дающий представление о содержании проекта и расположении объектов в сцене.
Subobject
(Подобъект) — один из элементов, составляющих объект и допускающих редактирование. Например, редактируемые сетки состоят из таких подобъектов, как вершины, ребра, грани, полигоны и элементы. Чтобы получить доступ к редактированию подобъектов, можно использовать окно стека модификаторов на командной панели Modify (Изменить) или четвертное меню, вызываемое по щелчку правой кнопки мыши.
Sunlight
(Солнечный свет) — система (system) объектов, позволяющая создать источник параллельных световых лучей, имитирующий солнечное освещение и воспроизводящий движение солнца с учетом географического положения, времени года и суток моделируемой сцены.
Systems
(Системы) — категория связанных между собой объектов, снабженных набором параметров, обеспечивающих анимацию системы.
Tab Panels (Панели с вкладками) — снабженный корешками ряд панелей инструментов, допускающих настройку со стороны пользователя.
Tangent
(Касательный вектор) — вектор, касательный к сплайну в точке вершины типа Безье или к функциональной кривой в точке ключа анимации. Служит для настройки степени кривизны сегментов сплайна на входе и выходе из вершины.
Terminator
(Ограничитель) — конечный элемент иерархической цепочки связанных объектов, анимируемых по методу обратной кинематики (inverse kinematics), который остается неподвижным.
Tessellation
(Разбиение) — деление поверхности на более мелкие элементы для увеличения числа граней сетки.
Texture Map (Текстурная карта) — а) изображение характерного рисунка, иногда в виде повторяющегося узора (текстуры), которым полностью или частично заменяются отдельные характеристики материала (material). В жаргоне трех-мерщиков используется слово «мэп»; б) математический алгоритм, с помощью которого материалу придаются определенные свойства, например формируются эффекты зеркального отражения или преломления лучей света, выполняется цветокоррекция и т. п.
Tiling
(Кратность) — способ наложения текстурной карты (texture map) с многократным повторением образца изображения для покрытия области поверхности, превышающей образец по размерам.
Toolbar
(Панель инструментов) — плавающая или пристыкованная к одному из краев экрана панель с набором команд и кнопок редактирования.
Track Bar (Строка треков) — строка в нижней части экрана 3ds max, на которой отображаются все ключи анимации выделенного объекта.
Track View (Просмотр треков) — окно диалога, позволяющее просматривать и редактировать созданные ранее ключи анимации (animation keys), создавать новые ключи и настраивать их свойства, просматривать и настраивать форму функциональных кривых (function curves), а также выполнять ряд других функций редактирования анимаций. Существует в 3ds max в двух модификациях: Редактор кривых (Curve Editor) и Диаграмма ключей (Воре Sheet). Некоторые из функций окна просмотра треков можно реализовать при помощи строки треков.
Transform
(Преобразование) — одна из трех операций над объектами, в результате которых изменяется положение центра объекта в трехмерном пространстве (преобразование перемещения), ориентация объекта (преобразование поворота) или его масштаб (преобразование масштабирования).
Transform Gizmo (Контейнер преобразования) — вспомогательный объект, изображаемый в окнах проекций при выполнении того или иного преобразования (transform). Основу данного объекта составляет изображение тройки координатных векторов.
Vertex
(Вершина) — безразмерная точка в трехмерном пространстве или на плоскости, обычно конец сегмента линии или угол грани сетки. В жаргоне трех-мерщиков встречается слово «вертекс».
Viewport
(Окно проекции) — окно для просмотра параллельной или перспективной проекции сцены, созданной средствами трехмерной графики. Встречается иногда жаргонное словечко «вьюпорт».
Virtual Frame Buffer (Виртуальный буфер кадра) — окно диалога, в котором происходит отображение результатов визуализации сцены.
Volume Fog (Объемный туман) — один из эффектов внешней среды (environment effects), предназначенный для имитации тумана, распределение которого не является однородным в пределах трехмерного пространства сцены, что делает его изображение более реалистичным, чем эффект однородного тумана (fog).
Volume Light (Объемный свет) — один из эффектов внешней среды (environment effects), предназначенный для имитации прохождения пучка световых лучей через туманную или запыленную атмосферу. Применяется к осветителям (lights).
VUE File Renderer (Визуализатор в файл VUE) — тип альтернативного визуализатора (Renderer), который формирует не изображение, а текстовый файл с перечнем визуализируемых объектов сцены, осветителей и камер. Такой файл может использоваться для управления внешними модулями визуализации.
Wall
(Стена) — стандартный объект, напоминающий по виду набор обычных примитивов Box (Параллелепипед), но обладающий рядом качеств, создающих удобства при моделировании зданий на основе таких стен. В частности, позволяет за один прием создать любое число смежных стен, стыкующихся друг с другом под произвольными углами, создавать на любой стене треугольный выступ заданной высоты под конек двускатной крыши и т. п.
Z Buffer (Z-буфер) — автоматически формируемая программой информация о глубине расположения объектов трехмерной сцены. Наименование историческое, так как в 3ds max координатой глубины сцены является Y. Может использоваться для выборочной фильтрации только тех областей изображения сцены, объекты в которых располагаются на заданном удалении от зрителя. Содержимое Z-буфера можно просматривать как обычное изображение, где яркость отсчетов характеризует расстояние по глубине сцены: чем ближе объект к зрителю, тем он ярче, а чем дальше, тем темнее.
Кривые деформации
После выделения объекта, созданного методом лофтинга, и щелчка на любой из кнопок инструментов деформации появляется окно диалога, показанное на рис. 7.31 применительно к деформации масштаба.

Рис. 7.31. Окно диаграммы деформации масштаба
На сетке диаграммы деформации имеется линия красного цвета. Эта линия, называемая кривой деформации, является графиком величины деформации в зависимости от координаты пути, вдоль которого строится оболочка объекта. Если речь идет о деформации масштаба, то график изображает зависимость масштаба сечений от координаты пути. Если диаграмма относится к деформации скрутки или скоса, то она показывает зависимость от координаты пути углов поворота сечения вокруг линии пути, наклона сечения к линии пути и т. п. Кривая имеет на концах два маркера, называемых управляющими точками. Можно создать на кривой деформации любое количество управляющих точек или удалить лишние точки при необходимости. Фактически, управляющие точки — это те же вершины, уже знакомые вам по работе со сплайнами, а сами кривые деформации — те же сплайны. Используя инструменты окна диаграммы деформации, можно перемещать управляющие точки, изменять их тип, настраивать касательные векторы, чтобы придать кривой деформации точно ту форму, какая необходима.
Сверху над сеткой диаграммы находится относительная шкала расстояния. Координаты положения управляющих точек вдоль линии пути, на котором размещаются сечения, указываются на диаграмме в процентах расстояния от начала этого пути. Обратите внимание на то, что путь совершенно не обязательно должен являться прямой линией. Кривая пути может иметь произвольную форму, при этом расстояние будет отсчитываться вдоль кривой.
Слева от сетки диаграммы деформации имеется шкала значений. Градуировка этой шкалы зависит от типа деформации. Например, в случае деформации масштаба вертикальная шкала проградуирована в процентах. Если используется деформация скрутки, шкала значений будет иметь градуировку от -180 до 180 градусов.
Попробуйте применить метод деформаций для придания нужной формы телу лофтинга, выполнив практическое упражнение.
| ЗАМЕЧАНИЕ Мы будем учиться применять только деформацию типа Scale (Масштаб). Приемы использования остальных деформаций, во многом аналогичные рассматриваемым ниже, попробуйте освоить самостоятельно. |
Кривые-формы и тела вращения, экструзии и лофтинга
Двумерные и трехмерные формы (сплайны и NURBS-кривые) обычно применяются в max 7.5 для создания профилей сечений, которые можно преобразовывать в трехмерные тела методами вращения, экструзии, лофтинга (эти методы будут нами рассматриваться в главах 6 и 7), а также более «продвинутым» методом, таким как построение сеток кусков Безье на основе сплайновых каркасов, с которым мы познакомимся в главе 9, «Осваиваем секреты моделирования».
Метод вращения (Lathe) профиля хорошо подходит для создания трехмерных моделей предметов окружающего мира, обладающих свойством осевой симметрии. Для таких предметов характерно то, что любые их сечения плоскостями, перпендикулярными оси симметрии, представляют собой концентрические окружности, как показано на рис. 5.1. Данным свойством обладают, например, почти все сосуды традиционной формы: бутылки, стаканы, бокалы, тарелки, вазы, бочки и т. п.

Рис. 5.1. Примеры трехмерных тел, построенных методом вращения профиля (кривые профилей показаны белым цветом)
Метод экструзии (Extrude), или выдавливания, очень удобен для моделирования предметов, имеющих постоянное поперечное сечение вдоль одной из осей. Такие предметы похожи на детали, выдавленные прессом из тонкого листа пластичного материала по контуру, обозначенному с помощью замкнутой двумерной формы-линии. Можно смотреть на тела экструзии и по-другому — как на результат вырезания по контуру из листового материала постоянной толщины, наподобие фанеры.
Метод выдавливания отлично подходит, например, для моделирования деталей машин, деревянной мебели или создания рельефных текстовых надписей (рис. 5.2).

Рис. 5.2. Примеры трехмерных тел, построенных методом выдавливания по профилю
Метод лофтинга. (Loft) является наиболее гибким и универсальным методом преобразования плоских кривых в объемные тела. При использовании этого метода сетчатая оболочка трехмерного тела строится как огибающая двумерных форм {Shapes) — поперечных сечений, представляющих собой замкнутые кривые и расставленных вдоль еще одной кривой, называемой путем {Path). Это напоминает изготовление китайских бумажных драконов, где бамбуковые обручи играют роль опорных поперечных сечений, а обтягивающая их бумага — роль сетчатой оболочки. Линия пути может иметь произвольную конфигурацию, а форма и размеры сечений вдоль пути могут меняться, поэтому вообразите, какие возможности таит в себе данный метод создания трехмерных тел. Примеры объектов, построенных методом лофтинга, были представлены ранее на рис. 2.20.
Создание оболочек трехмерных тел методом онлайнового каркаса {spline framework) подразумевает построение из сплайнов трехмерной решетки произвольной формы, к которой предъявляется только одно требование: ее ячейки должны иметь строго по три или по четыре вершины. Затем эта решетка преобразуется в сетку кусков Безье за счет применения модификатора Surface (Поверхность). Достоинство данного метода моделирования состоит в том, что с его помощью можно строить трехмерные тела любой формы, что особенно ценно при необходимости моделировать объекты органического мира.
Куски Безье и NURBS-поверхности
Куски Безье и NURBS-поверхности изначально создаются как фрагменты плоскости, о чем речь пойдет в данной главе ниже. Для придания им объема необходима кропотливая ручная работа по перемещению управляющих точек, определяющих форму этих объектов. Чтобы добиться при этом нужного результата, необходимо владеть определенным набором типовых приемов и навыков, которые отчасти будут рассмотрены в тексте глав 9, «Осваиваем секреты моделирования», и 10, «Продолжаем постигать секреты NURBS-моделирования».
Есть и более простой, хотя и менее продуктивный способ работы с данными объектами. В поверхности типа NURBS или сетки кусков Безье можно преобразовывать трехмерные объекты других типов, например примитивы, после чего уже не составляет особого труда придать им любую требуемую форму вручную. Пример использования подобного подхода к моделированию вы также найдете в тексте главы 9.
С инструментами для редактирования формы сеток кусков Безье и NURBS-no-верхностей мы познакомимся до того, как приступим к освоению секретов моделирования, в главе 8, «Совершенствуем навыки модификации объектов».
«Лепим» модели из готовых кусков
Выше уже говорилось, что работать с сетками кусков Безье, полученными методом преобразования примитивов, — не самое продуктивное занятие. В следующем упражнении мы будем учиться «лепить» поверхность из стандартных кусков, пытаясь по ходу дела придавать им нужную форму.
Манипулирование ключами анимации
Простейшие виды манипуляций с ключами можно осуществлять, просто перетаскивая их с помощью мыши или пользуясь командами контекстного меню ключа. Рассмотрим эти возможности на конкретном примере.
1. Загрузите в max 7.5 файл ранее созданной анимации Letiasshiy shar.max. Как уже говорилось, такой файл можно найти в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге. Выделите объект Sphere01 (Сфера01), чтобы в строке анимации обозначились его ключи анимации.
2. Ключи объекта нумеруются по порядку слева направо. Так, в анимации «Летящий шар» всего два ключа: № 1 и № 2. Укажите курсором на ключ № 1, относящийся к кадру № 0, и когда курсор примет вид крестика, указывающего на возможность выделения, щелкните кнопкой мыши. Значок ключа в виде красного квадратика окрасится в белый цвет — ключ выделен. Ключи, как и любые другие объекты, можно выделять с помощью рамки. Чтобы выделить одновременно несколько ключей, щелкайте на них при удерживаемой клавише Ctrl.
3. Для перемещения выделенного ключа по шкале времени щелкните на нем и перетаскивайте вправо или влево, следя за сообщением в строке подсказки, из которого можно узнать номер кадра текущего положения перемещаемого ключа, например Moving key(s) from 0 to 25 (25) (Перемещение ключа из кадра О в кадр 25 (25)). В скобках в конце сообщения указывается величина смещения ключа в кадрах. Закончив перемещение, отпустите кнопку мыши и щелкните на строке треков вне ключей, чтобы сбросить выделение ключа. Ключ переместится в новое положение на шкале времени вместе со своими параметрами. Для нашей анимации «Летящий шар» перемещение первого ключа, фиксирующего положение шара в точке (-1000 см; 2000 см; 0 см), из кадра № 0 в кадр № 25 будет означать, что до 25-го кадра шар будет сохранять неподвижность в указанной точке.
4. Для копирования ключа в ходе перемещения используйте обычный прием, многократно испытанный вами в ходе работы с объектами сцен max 7.5: перетаскивайте ключ при удерживаемой клавише Shift. Например, удерживая клавишу Shift, щелкните на ключе № 1, расположенном в кадре № 25, перетащите копию ключа в кадр № 40 и отпустите кнопку мыши. Теперь шар имеет три ключа анимации, настраивая параметры которых можно существенно изменить характер движения. Копирование ключа также происходит вместе с присвоенными ему параметрами анимации. После того как ключ перемещен или скопирован, его параметры можно изменить с помощью окна свойств ключа, вызываемого по команде контекстного меню, рассматриваемого ниже.
5. Для удаления ключа или группы ключей выделите их и нажмите клавишу Delete. Команда удаления имеется также в контекстном меню ключа, к рассмотрению которого мы и переходим.
|
ЗАМЕЧАНИЕ Так каждый значок ключа на строке треков может означать наличие в данной точке шкалы времени сразу многих ключей анимации различных объектов, его удаление приведет к удалению сразу всех ключей, что не всегда желательно. Для выборочного удаления ключей анимации следует пользоваться командой удаления, имеющейся в контекстном меню. |
Масштабирование и прокрутка изображения в окне визуализированного кадра
Изображение в окне визуализированного кадра можно увеличивать, уменьшать и прокручивать даже в процессе визуализации сцены. С этой целью используйте следующие приемы:
чтобы увеличить масштаб изображения в два раза, нажмите клавишу Ctrl и щелкните левой кнопкой мыши. Для двукратного уменьшения масштаба аналогичным образом используйте правую кнопку мыши;
для прокрутки изображения удерживайте клавишу Shift и перетаскивайте курсор, принимающий форму руки, или используйте полосы прокрутки окна визуализированного кадра;
если вы применяете трехкнопочную мышь или мышь типа IntelliMouse компании Microsoft с колесиком вместо средней кнопки, то можете пользоваться средней кнопкой или колесиком для изменения масштаба и прокрутки. Для увеличения или уменьшения масштаба просто крутите колесико. Для прокрутки нажмите на колесико или на среднюю кнопку трехкнопочной мыши и перетаскивайте курсор.
| ЗАМЕЧАНИЕ Чтобы появилась возможность использовать среднюю кнопку трехкнопочной мыши для изменения масштаба и прокрутки, переключатель Middle Button (Средняя кнопка) должен быть установлен в положение Pan/Zoom (Прокрутка/Масштаб). Этот переключатель расположен на вкладке Viewports (Окна проекций) окна диалога, вызываемого по команде меню Customize > Preferences (Настройка > Параметры). |
Масштабирование объектов с помощью мыши
В max 7.5 имеются три разновидности преобразований масштаба: равномерное масштабирование, неравномерное масштабирование и масштабирование со сжатием.

Чтобы с помощью мыши произвести масштабирование объекта или совокупности объектов, щелкните на кнопке Select and Uniform Scale (Выделить и равномерно масштабировать) главной панели инструментов или просто нажмите клавишу r. Кнопка подсветится желтым цветом.
Перейдите в одно из окоп проекций и выделите один или несколько объектов, которые необходимо масштабировать. Станет виден габаритный контейнер преобразования масштаба, показанный на рис. 4.32. Контейнер преобразования масштаба max 7.5 состоит из трех векторов координатных осей и четырех плоскостей-манипуляторов, из которых одна имеет треугольную форму, а три — форму трапеций.

Рис. 4.32. Контейнер преобразования масштаба
В 3ds max имеются отдельные инструменты для выполнения равномерного и неравномерного масштабирования: Select and Uniform Scale (Выделить и равномерно масштабировать) и Select and Non-uniform Scale (Выделить и неравномерно масштабировать). Так вот, появившиеся в составе контейнера преобразования масштаба max 7.5 плоскости-манипуляторы позволяют выполнять как равномерное, так и неравномерное масштабирование, не меняя тип указанных инструментов. Масштаб самого контейнера теперь тоже меняется наряду с масштабом преобразуемого объекта. Считается, что это обеспечивает визуальную обратную связь, позволяющую лучше ощутить действие масштабирования.
| ЗАМЕЧАНИЕ Для выполнения масштабирования со сжатием требуется обязательно выбирать на панели инструментов кнопку Select and Squash (Выделить и сжать). |
Масштабирование со сжатием «вручную»

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

Рис. 4.35. При масштабировании со сжатием курсор принимает такой же вид, как при неравномерном масштабировании, но с маленькой стрелкой внизу
Перетаскивайте курсор, как при неравномерном масштабировании, наблюдая за изменением масштаба объекта и контейнера преобразования. При этом увеличение размеров объектов в направлениях, параллельных выбранной координатной плоскости, сопровождается уменьшением размеров в направлении, перпендикулярном этой плоскости, и наоборот. Как только вы отпустите кнопку мыши для завершения операции, контейнер приобретет прежние размеры и пропорции.
В папке Animations\Glava_04 компакт-диска, прилагающегося к книге, есть файл Masshtabirovanie.avi, позволяющий увидеть анимацию изменения масштаба объектов.
Материалы, материалы... а что это такое?
Визуализация сцены даже при отлично настроенном освещении никогда не даст тех результатов, какие можно наблюдать на лучших творениях мастеров трехмерной графики, если объектам сцены не будут назначены материалы. Окрашенные в присвоенные им при создании цвета, объекты не могут приобрести ни зеркального блеска, ни прозрачности, не станут казаться светящимися изнутри и ни за что не смогут воспроизвести шероховатую текстуру необработанного камня, мягкого ковра, древесной коры, сияние кафеля или полированного дерева... В результате самая выдающаяся геометрическая модель трехмерной сцены будет выглядеть убого.
Вот и пришла пора заняться материалами. Признаться, для меня это один из самых любимых этапов работы над трехмерной графикой. Процесс создания и назначения материалов напоминает действия средневекового алхимика: взял порцию металлического блеска, добавил прозрачности и немного самосвечения, подмешал красок — и вдруг тусклая невзрачная сетчатая оболочка начинает сверкать, как драгоценный камень! Впрочем, сходство с алхимиком не только чисто внешнее: как правило, при создании материала приходится пользоваться излюбленным методом этих фанатиков превращения свинца в золото — методом проб и ошибок.
Для создания и настройки свойств материалов в max 7.5 служит универсальный программный модуль — Material Editor (Редактор материалов). Перед тем как начинать непосредственное знакомство с его инструментарием, попробуем разобраться в том, что же представляют собой материалы max 7.5.
Меню окна Track View
Окно диалога Track View — Curve Editor (Просмотр треков — Редактор кривых) имеет восемь меню:
Modes (Режимы) — это меню содержит всего две команды: Curve Editor (Редактор кривых) и Dope Sheet (Диаграмма ключей). Выбор любой из этих команд переключает окно диалога Track View (Просмотр треков) в соответствующий режим. Таким образом, окно Редактора ключей можно превратить в окно Диаграммы ключей, и наоборот;
Settings (Настройки) — это меню содержит набор команд, управляющих отображением дерева иерархии в левой части окна Track View (Просмотр треков);
Display (Отображение) — это меню содержит команды, управляющие отображением функциональных кривых, касательных векторов ключей анимации и различных значков в окне Редактора кривых;
Controller (Контроллер) — это меню содержит команды для назначения, удаления, копирования и вставки контроллеров анимации, а также для придания дубликатам контроллеров уникальных свойств. Кроме того, с помощью этого меню можно устанавливать варианты экстраполяции параметрических кривых за пределами диапазона действия анимации;
Tracks (Треки) — команды этого меню позволяют добавлять и удалять треки комментариев и видимости объектов;
Keys (Ключи) — это меню содержит команды, позволяющие добавлять, удалять, сдвигать и масштабировать ключи анимации. Кроме того, здесь же собраны команды включения режимов привязки ключей к кадрам, плавного выделения и уменьшения числа ключей;
Curves (Кривые) — команды этого меню позволяют добавлять и удалять кривые ускорения {Ease Curve) и усиления {Multiplier Curve), вопросы использования которых мы в этой книге рассматривать не будем;
Utilities (Служебные программы) — данное меню содержит всего одну команду, Track View Utilities (Служебные программы Просмотра треков), предназначенную для вызова одноименного окна диалога, с помощью которого можно выбирать различные служебные программы окна диалога Track View (Просмотр треков).
Меню окна диалога Track View — Dope Sheet (Просмотр треков — Диаграмма ключей) отличается отсутствием пунктов Display (Отображение) и Curves (Кривые). Дополнительно в нем имеется меню Time (Время). Это меню содержит команды, позволяющие выделять временные сегменты на треках анимирован-ных параметров, копировать или вырезать выделенные временные сегменты треков, вставлять такие сегменты в другие точки треков, а также обращать ход времени анимации.
Многие команды меню обеих разновидностей окна диалога Track View (Просмотр треков) просто дублируют соответствующие кнопки панелей инструментов, которые будут обсуждаться в следующих разделах. Детальное ознакомление со всеми командами меню окна выходит за рамки нашего пособия. При необходимости обратитесь за нужными сведениями к электронной справочной системе max 7.5.
Меню reactor
Меню reactor (Реактор) (рис. 17.3), включает следующие команды:

Рис. 17.3. Меню reactor располагается в строке основного меню max 7.5
Create Object (Создать объект) — вызывает подменю с командами создания вспомогательных объектов модуля reactor (Реактор). Все команды этого подменю являются дубликатами соответствующих кнопок свитка Object Type (Тип объекта), относящегося к категории Helpers (Вспомогательные объекты) командной панели. Дополнительно в меню входит команда Water (Вода), являющаяся дубликатом аналогичной кнопки из свитка Object Type (Тип объекта), относящегося к категории Space Warps (Объемные деформации) командной панели Create (Создать);
Apply Modifier (Применить модификатор) — вызывает подменю с командами выбора одного из трех модификаторов модуля reactor (Реактор): Clothe Modifier (Модификатор Ткань), Rope Modifier (Модификатор Нить) и Soft Body Modifier (Модификатор Мягкое тело);
Open Property Editor (Открыть Редактор свойств) — вызывает окно диалога Rigid Body Properties (Свойства жестких тел) (рис. 17.4). Все элементы управления этого окна дублируют соответствующие элементы управления свитка Properties (Свойства), появляющегося на командной панели Utilities (Утилиты) после активизации утилиты reactor (Реактор) и будут рассматриваться по мере необходимости;

Рис. 17.4. Окно диалога Rigid Body Properties модуля reactor
Utilities (Утилиты) — вызывает подменю с командами активизации утилит модуля reactor (Реактор). Команды этого подменю Analyze World (Анализировать реальность), Convexity Test (Тест на выпуклость). Reduce Keys (Selection) (Уменьшить число ключей (выделенных объектов)), Reduce Keys (All) (Уменьшить число ключей (всех объектов)), Delete Keys (Selection) (Удалить ключи (выделенных объектов)), Delete Keys (All) (Удалить ключи (всех объектов)) дублируют соответствующие кнопки свитка Utils (Утилиты) утилиты reactor (Реактор). Команда View Stored Collisions (Показать сохраненные столкновения) дублирует кнопку View (Показать) свитка Collisions (Столкновения). Назначение отдельных команд будет рассматриваться но мере необходимости;
Preview Animation (Просмотреть анимацию) — вызывает появление интерактивного окна reactor Real-Time Preview (Просмотр в реальном времени модуля Реактор), в котором можно предварительно просматривать настроенную анимацию. Подробнее об этом окне читайте далее в разделе «Интерактивное окно предварительного просмотра анимаций». Эта команда дублирует кнопку Preview in Window (Просмотреть в окне), которая есть в свитке Preview & Animation (Просмотр и анимация) командной панели Utilities (Утилиты);
Create Animation (Создать анимацию) — включает режим расчета ключей анимации объектов сцены средствами модуля reactor (Реактор).
Метод численного ввода параметров
Объекты-примитивы, так же как сетки кусков Безье и NURBS-поверхности, могут создаваться методом численного ввода параметров. Метод численного ввода применяют довольно редко, в частности, когда заранее точно известны координаты центра объекта и его характерные размеры, что бывает далеко не всегда. Для создания объектов методом численного ввода параметров используется свиток Keyboard Entry (Клавиатурный ввод), появляющийся на командной панели Create (Создать) после выбора типа объекта и показанный на рис. 5.4. Этот свиток позволяет задать значения координат X, Y, Z опорной точки и величины характеристических параметров объекта, например длину, ширину и высоту. После ввода числовых значений параметров достаточно щелкнуть на кнопке Create (Создать) в свитке Keyboard Entry (Клавиатурный ввод), и объект автоматически создается на координатной плоскости активного окна проекции.

Рис. 5.4. Так выглядит свиток Keyboard Entry стандартного примитива Box
| ЗАМЕЧАНИЕ Несмотря на название свитка Keyboard Entry (Клавиатурный ввод), для ввода параметров совсем не обязательно применять клавиатуру: установить нужные значения в счетчиках можно и с помощью мыши. |
Моделируем объекты из кусков Безье
Куски Безье по своей природе занимают промежуточное положение между полигональными сетками и поверхностями типа NURBS, которые по праву считаются верхом совершенства для моделирования поверхностей тел с плавными обводами.
Как указывалось в главе 5, кусок Безье можно рассматривать всего лишь как прямоугольный или треугольный фрагмент полигональной сетки, внешние края которого представляют собой сплайны Безье. Кривизной этих сплайнов можно управлять с помощью касательных векторов, исходящих из угловых вершин куска, совершенно так же, как кривизной обычных двумерных сплайнов с вершинами типа Bezier (Безье). Внутри этой рамки из сплайнов кусок разбивается на несколько ячеек (по умолчанию таких ячеек шесть по каждой из координат), ребра которых представлены отрезками прямых, как в обычной полигональной сетке. Такое разбиение необходимо только для отображения поверхности куска в окнах проекций и на итоговом изображении. Форма куска полностью определяется кривизной наружных ребер, образующих рамку. В связи с этим mах 7.5 не предоставляет средств доступа к вершинам и ребрам ячеек сетки внутри куска. Основным достоинством кусков Безье при моделировании является возможность присоединять к их внешним ребрам новые куски, которые при этом наследуют кривизну исходного куска Безье. Таким образом можно наращивать площадь поверхности моделируемого тела. Основную сложность при редактировании формы кусков составляет необходимость манипулирования маркерами касательных векторов угловых вершин куска в трехмерном пространстве. Это требует определенной сноровки и дается не сразу.
Ниже мы рассмотрим на примерах три подхода к моделированию трехмерных тел в виде сеток кусков Безье:
редактирование формы сеток кусков, полученных в результате преобразования объектов-примитивов;
«лепка» трехмерных тел за счет присоединения к боковым ребрам куска новых кусков Безье;
получение сеток кусков Безье в результате применения модификатора Surface (Поверхность) к трехмерному каркасу, построенному из обычных сплайнов.
Модификация параметров объектов до завершения их создания
После того как объект создан, он всегда оказывается выделенным. При этом процесс создания объекта не считается законченным, поскольку сохраняется возможность изменения его характеристических параметров в свитках командной панели Create (Создать). При изменении параметров внешний вид объекта в окнах проекций меняется соответствующим образом, делая процесс модификации простым и наглядным. Если вы создавали объект «на глазок» с помощью мыши, то сразу же после создания можно ввести в счетчики параметров точные значения размеров этого объекта.
Процесс создания объекта считается законченным, как только будет выполнено одно из следующих действий:
отменено выделение созданного объекта;
выбран инструмент создания другого объекта;
выбран инструмент выделения или какой-либо из комбинированных инструментов выделения и преобразования;
активизирована другая командная панель;
выделен другой объект сцены.
О завершении процесса создания объекта говорит исчезновение свитков его параметров с командной панели Create (Создать). Последующие изменения характеристических параметров объекта можно производить только с помощью командной панели Modify (Изменить)
Модификация параметров объектов в любое время после их создания
Модификацию характеристических параметров любого параметрического объекта — примитива, сетки кусков Безье или NURBS-поверхности, сплайна, источника света, камеры или системы частиц — можно произвести как непосредственно после создания объекта, так и в любой последующий момент.
Если выделить созданный ранее объект и перейти на командную панель Modify (Изменить), то на ней появится свиток или свитки с теми же характеристическими параметрами объекта, какие имелись в момент его создания па командной панели Create (Создать), как показано, к примеру, на рис. 5.5 применительно к стандартному примитиву Box (Параллелепипед). Для модификации объекта следует просто изменить численные значения параметров в свитке Parameters (Параметры) командной панели Modify (Изменить). Такой прием модификации параметров объектов действует как в ходе того же сеанса работы max 7.5, когда объект был создан, так и после сохранения сцены и ее повторной загрузки. Это значит, что однажды создав объект, вы можете изменить его через минуту, через день, через месяц — в общем, в любой момент, когда это потребуется.

Рис. 5.5. Свиток Parameters командной панели Modify содержит те же параметры, какие были на панели Create в момент создания объекта
| ЗАМЕЧАНИЕ Возможность модификации параметров трехмерных геометрических объектов max 7.5 утрачивается только после того, как они будут преобразованы к типу Editable Mesh (Редактируемая сетка), Editable Poly (Редактируемая полисетка) или Editable Patch (Редактируемый кусок), а двумерных форм — к типу Editable Spline (Редактируемый сплайн). О том, какие существуют средства для изменения формы редактируемых сеток и сплайнов, вы узнаете в главе 8, «Совершенствуем навыки модификации объектов». |
Модификация параметров примитивов в интерактивном режиме
В max 7.5 реализована еще одна возможность модификации некоторых типов объектов в интерактивном режиме — с помощью нового инструмента Select and Manipulate (Выделить и манипулировать). В частности, с его помощью можно прямо в окнах проекций изменять радиус таких примитивов, как, скажем, сфера, цилиндр или чайник, или угловой размер конуса света источника-прожектора.
Для изменения радиуса геометрического примитива в интерактивном режиме выполните следующие действия:
1. Выберите на главной панели инструмент Select Object (Выделить объект) или один из комбинированных инструментов выделения и преобразования объектов. После этого дополнительно щелкните на кнопке инструмента Select and Manipulate (Выделить и манипулировать), которая, как и кнопка инструмента выделения, зафиксируется и подсветится желтым цветом.
2. Выделите объект-примитив в окне проекции. При этом на той из координатных плоскостей, на которой создавался объект, отобразится окружность зеленого цвета, фиксирующая текущее значение радиуса примитива. Если указать на эту окружность курсором, она окрасится в красный цвет. Если был выбран один из комбинированных инструментов выделения и преобразования объектов, то курсор примет вид крестика. Около него появится маленькое всплывающее окно подсказки с именем объекта и текущим значением радиуса, как показано на рис. 5.6.

Рис. 5.6. Изменение цвета окружности, опоясывающей сферу, с зеленого на красный указывает на готовность к изменению радиуса в интерактивном режиме
3. Щелкните кнопкой мыши и начинайте перетаскивать курсор, наблюдая за изменением радиуса сферы и следя за новым значением радиуса в окне подсказки. Для выключения режима манипулирования параметром объекта следует снова щелкнуть на кнопке инструмента Select and Manipulate (Выделить и манипулировать).
Модификаторы
В составе модуля reactor (Реактор) имеются три модификатора: reactor Clothe (Реактор: Ткань), reactor Rope (Реактор: Нить) и reactor SoftBody (реактор: Мягкое тело). Их можно найти в списке модификаторов командной панели Modify (Изменить). Для применения данных модификаторов к объектам можно также использовать команды подменю Apply Modifier (Применить модификатор) меню reactor (Реактор) и кнопки панели инструментов reactor (Реактор).
Над чем мы будем работать дальше
Для того чтобы дальнейшее обучение стало более предметным, нацелим его на создание трехмерной сцены, объединяющей в своем составе объекты различной природы и формы. Это позволит на практических примерах научиться использовать различные инструменты 3ds max 7.5.
Мы уже говорили о том, что 3ds max 7.5 позволяет создать целый воображаемый трехмерный мир. На мир мы не замахиваемся, но попробуем создать маленький мирок. Представьте себе такую картину: промозглый осенний вечер, багровый закат солнца, на улице холодно и туманно, но ярко светятся окна, гостеприимно распахнуты двери и сияет неоновая вывеска кафе «МАХ», как показано на рис. 1.19 (загляните также в папку \lmages\Glava_01 компакт-диска, чтобы увидеть цветные варианты этого и других приведенных ниже изображений).

Рис. 1.19. Внешний вид сцены под названием «МАХ-кафе»
Если же вам захочется переменить обстановку, нет проблем, все в нашей власти! Пусть будет так: на улице легкий морозец, падает снег, но все так же ярко горит окно, сияет вывеска и распахнута дверь кафе «МАХ» (рис. 1.20). А что там, справа за дверью? Заглянем? Пожалуй, да!

Рис. 1.20. Миг, и осень вокруг кафе «МАХ» сменилась зимой
Что ж, внутри не так уж и плохо: мягкие кресла, столы из полированного дерева сервированы и ждут гостей, мягко светятся лампы, сияют столовые приборы, сверкает стекло бокалов, пространство помещения увеличивается за счет висящего на стене зеркала (рис. 1.21). На столы и стены падают причудливые блики света — отчего бы это? И что это неясно виднеется в зеркале, там, в дальнем правом углу зала? Секунду терпения — сейчас все поймете!

Рис. 1.21. Использование съемочных камер позволяет заглянуть в гостеприимно распахнутую дверь
Понимаю ваше нетерпение! Самому интересно, что же такое в правой части зала? Но все по порядку, а пока присядем к столу. В ожидании своего заказа полюбуйтесь игрой света на стенках бокалов, причудливым переплетением теней на чистых салфетках, бликами на боках тарелок, металлическим блеском вилок и ложек (рис. 1.22).

Рис. 1.22. На этом снимке в полной мере проявляются возможности 3ds max 7.5 по имитации света и материалов
Ну а теперь повернем голову и взглянем направо. Елка, украшенная сверкающими игрушками и гирляндой разноцветных лампочек, как живая стоит в углу, почти доставая верхушкой до потолка. Фигурка Деда Мороза с мешком, полным подарков, и волшебным посохом должна принести счастье и удачу всем посетителям нашего кафе. В камине горит огонь, потрескивают поленья (рис. 1.23). Теперь ясно, почему в нашем кафе так тепло и уютно, несмотря на мороз и снег, и откуда взялись эти красноватые блики на стенах, потолке и предметах обстановки.

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

Рис. 1.24. Виртуальный мир целиком в вашей власти: миг — и все предметы закружились в воздухе
Если не возражаете, то на протяжении последующих глав мы шаг за шагом попробуем воссоздать представленную сцену. Возможно, что кто-то из вас собирается использовать 3ds max 7.5 для синтеза изображений совсем другого типа. Может быть, это будут автомобили, космические корабли, вымершие доисторические животные или монстры. Надеюсь, вы не будете разочарованы: приемы, которые мы будем рассматривать на протяжении последующих глав, пригодятся, над какой бы сценой вы ни работали.
Попробуйте заглянуть на web-узлы с адресами http://www.3domen.com, http://www.render.ru, http://www.3dcafe.comили http://www.raph.com, и вы найдете там галереи с множеством удивительных, вызывающих истинное восхищение изображений, созданных как профессионалами, так и талантливыми любителями трехмерной графики. Возможно, эти образцы художественного творчества вдохновят вас на создание собственных произведений с использованием того инструментария, который предстоит освоить в процессе изучения книги.
|
ЗАМЕЧАНИЕ Целый ряд ссылок на web-узлы, посвященные 3ds max и содержащие примеры синтезированных с помощью этой программы изображений, вы найдете в папке Resources прилагающегося к книге компакт-диска. |
Настраиваем max 7.5 для работы над сценой «МАХ-кафе»
В завершение этой главы примените полученные знания для выполнения необходимых настроек будущей сцены «МАХ-кафе», над которой нам предстоит работать до конца книги. Выполните следующие действия:
Запустите mах 7.5 или выполните команду File > Reset (Файл > Перезагрузить), если программа уже запущена.
Настройте единицы измерения. Для этого выберите в главном меню команду Customize > Units Setup (Настройка > Единицы измерения). Установите переключатель в появившемся окне диалога Units Setup (Единицы измерения) в положение Metric (Метрические) и выберите в раскрывающемся списке единицы измерения Centimeters (Сантиметры).
Настройте сетку координат. Выберите команду Grid and Snap Settings (Настройка сетки и привязок) меню Customize (Настройка) и щелкните на корешке вкладки Home Grid (Исходная сетка) окна диалога Grid and Snap Settings (Настройка сетки и привязок). Установите в счетчике Grid Spacing (Шаг сетки) величину шага между вспомогательными линиями координатной сетки равной 1 см. В счетчике Major Lines every Nth Grid Line (Главные линии через N линий сетки) оставьте число 10.
Активизируйте двумерную привязку. Для этого щелкните на кнопке 3D Snap (Трехмерная привязка) на главной панели инструментов, задержите кнопку мыши нажатой, пока не раскроется панель инструмента, перетащите курсор к кнопке 2D Snap (Двумерная привязка) и отпустите кнопку мыши.
Установите в качестве принятого по умолчанию режим освещения сцены в активном окне проекции двумя источниками света, как описано выше в разделе «Выбор освещения, используемого по умолчанию».
Сохраните пустую сцену с ее настройками в файле под именем MAX-kafe.
Настраиваем сетку координат
Координатная сетка, появляющаяся в окнах проекций после запуска max 7.5 и называемая исходной сеткой (home grid), образована линиями разной толщины и цвета. Две наиболее темные и толстые линии — это оси глобальной системы координат. Более светлые и тонкие линии сетки называются главными (major lines), а самые светлые и тонкие — вспомогательными (minor lines), как показано на рис. 3.24. По умолчанию главной является каждая десятая линия сетки. Под шагом линий сетки понимается расстояние между вспомогательными линиями, выраженное в текущих единицах измерения.

Рис. 3.24. Координатная сетка
Кстати, вид сетки в окне проекции Perspective (Перспектива) программы max 7.5 отличается от сетки такого же окна предыдущей версии программы. Теперь исходное направление взгляда наблюдателя направлено не строго вдоль оси Y глобальных координат, а под углом в 45°.
Настройка базовых параметров металлической раскраски
Свиток Metal Basic Parameters (Базовые параметры металлической оаскраски), показанный на рис. 13.32, представляет собой как бы упрошенный вариант свитка базовых параметров раскраски по Блинну или Фонгу.

Рис. 13.32. Свиток Metal Basic Parameters
Как видите, здесь отсутствуют средства управления цветом зеркального отражения и размыванием блика. Для металлических поверхностей характерно то, что цвет блика у них определяется цветом источника света. Счетчик Specular Level (Сила блеска) увеличивает яркость блика и одновременно снижает интенсивность диффузного рассеивания. Кроме того, счетчик Glossiness (Глянцевитость) управляет не только размером блика, как при раскраске по Блинну, Фонгу или Оурену—Найару—Влипну, по и его яркостью. Назначение остальных параметров и действия по их настройке не отличаются от того, что было рассмотрено в предыдущих разделах.
Настройка базовых параметров раскраски по Оурену—Найару—Блинну
Свиток Oren-Nayar-Blinn Basic Parameters (Базовые параметры раскраски по Оурену— Найару—Блинну), показанный на рис. 13.30, отличается от рассмотренного выше свитка Blinn Basic Parameters (Базовые параметры раскраски по Блинну) только группой параметров Advanced Diffuse (Свойства диффузного рассеивания).

Рис. 13.30. Свиток Oren-Nayar-Biinn Basic Parameters
Счетчик Diffuse Level (Уровень диффузного) позволяет дополнительно управлять уровнем яркости диффузного рассеивания по отношению к величине,, заданной параметром Value (Яркость) цвета Diffuse (Диффузный) в окне Color Selector (Выбор цвета), как показано на рис. 13.31. Допустимый диапазон значений уровня диффузного рассеивания составляет от 0 до 400. Параметр Roughness (Шероховатость) управляет плавностью перехода от цвета диффузного рассеивания к цвету подсветки. Увеличение этого параметра придает материалу матовый характер. При значениях Diffuse Level (Уровень диффузного) = 100 и Roughness (Шероховатость) = 0 раскраска по Оурену—Найару—Блинну не отличается от раскраски по Блинну.

Рис. 13.31. Верхний ряд, слева направо: Diffuse Level = 100, Roughness = 0; 50; 100. Нижний ряд, слева направо: Roughness = 50, Diffuse Level = 50; 150; 300. У всех образцов Specular Level = 75, Glossiness = 25
Настройка базовых параметров тонированной раскраски
Первое, что можно сделать в свитке Shader Basic Parameters (Базовые параметры раскраски), — это выбрать в раскрывающемся списке свитка (см. выше рис. 13.3) один из следующих вариантов раскраски оболочек объектов:
Blinn (По Блинну), Phong (По Фонгу) и Oren-Nayar-Blinn (По Оурену—Найару— Блинну) — методы тонированной раскраски, обеспечивающие сглаживание ребер между гранями и отображение зеркальных бликов. Основное различие между этими методами состоит в том. что при раскраске по Блинну, выбираемой по умолчанию, зеркальные блики выглядят более округленными и не столь неестественно яркими и большими, как в случае раскраски по Фонгу (рис. 13.17). Раскраска по Блинну или Фонгу отлично подходит для имитации таких материалов, как пластик, фарфор, резина, кожа, стекло, полированное дерево и т. п. Раскраска по Оурену—Найару—Блинну обеспечивает дополнительные возможности управления яркостью диффузного отражения и хорошо подходит для имитации шероховатых материалов, таких как ткань или обожженная глина.

Рис. 13.17. Слева направо: раскраска по Блинну, по Фонгу и по Оурену—Найару— Блинну. Обратите внимание на различия бликов, особенно от задней подсветки
| ЗАМЕЧАНИЕ Метод раскраски Blinn (По Блинну) недаром выбирается по умолчанию. С его помощью действительно можно имитировать основную часть предполагаемых материалов. На первых порах вам вполне достаточно будет освоить использование алгоритмов раскраски Blinn (По Блинну) и Metal (Металл). |
Metal (Металл), Strauss (по Штраусу) — два метода раскраски, первый из которых предназначен для имитации полированных материалов с металлическим блеском (сталь, стекло), а второй — для имитации как металлических, так и неметаллических материалов (рис. 13.18). Особенностью металлической раскраски служит малый уровень диффузного рассеивания, в связи с чем вся поверхность, кроме блика, выглядит черной, когда в ней ничего не отражается. Отличительной особенностью метода раскраски по Штраусу является упрощенный интерфейс с малым числом параметров.

Рис. 13.18. Металлическая раскраска (слева) применяется для имитации металлов, а раскраска по Штраусу (справа) — как для металлических, так и для обычных материалов
Anisotropic (Анизотропная) и Multi-Layer (Многослойная) — два метода раскраски, позволяющие имитировать несимметричные блики на поверхности материалов и управлять ориентацией этих бликов (рис. 13.19). Такие блики характерны, например, для металлических поверхностей, обработанных наждаком, гладко причесанных волос, стекла. При многослойной раскраске можно создавать по два несимметричных блика разного цвета и интенсивности один под другим.

Рис. 13.19. Анизотропная (слева) и многослойная (справа) раскраска позволяют имитировать материалы с характерно выраженной ориентацией шероховатостей
Translucent Shader (Просвечивающая раскраска) — раскраска, которая может использоваться с любым из материалов max 7.5, позволяя придать ему свойство просвечивания. Это свойство придает объектам, на которые нанесен материал с такой раскраской, способность как бы пропускать свет сквозь себя и формировать световое пятно на стороне объекта, противоположной освещаемой стороне. Кроме того, тени, отбрасываемые на объект с просвечивающим материалом, также становятся видны со стороны, противоположной освещаемой стороне. При этом материал может оставаться совершенно непрозрачным. Данная раскраска годится, например, для имитации материала ширмы из вощеной бумаги, матового стекла или занавески освещенного окна, на которое зритель смотрит с темной улицы, видя игру теней. Степень просвечивания материала с просвечивающей раскраской регулируется параметром Translucent Clr (Цвет просвечивания) (рис. 13.20).

Рис. 13.20. Если цвет Translucent Clr черный, то просвечивания нет (слева), серый цвет дает промежуточный эффект (посередине), при белом цвете эффект просвечивания максимален (справа)
Помимо выбора типа раскраски, в свитке Shader Basic Parameters (Базовые параметры раскраски) можно при необходимости установить еще четыре флажка:
2-Sided (Двусторонний) — позволяет визуализировать материал как двусторонний. Например, оконное стекло, если оно имитируется одним слоем граней, необходимо создавать как двусторонний материал, так как вы должны иметь возможность одинаково видеть его с любой стороны;
Wire (Каркас) — обеспечивает визуализацию объектов в каркасном виде с использованием текущего материала, как показано на рис. 13.21. Толщину линий каркаса можно задать в свитке Extended Parameters (Расширенные параметры);

Рис. 13.21. Визуализация материала в режиме Wire
Face Map (Карта грани) — установка этого флажка обеспечивает проецирование материала на каждую из граней объекта, которому данный материал назначен. Обычно этот параметр используется только для материалов, создаваемых на основе карт текстур;
Faceted (Огранка) — установка этого флажка выключает сглаживание ребер между гранями, каждая из которых визуализируется как плоскость независимо от выбранного алгоритма тонирования.
После выбора того или иного метода тонированной раскраски параметры настройки данного метода появляются в свитке Basic Parameters (Базовые параметры), причем название метода раскраски включается в заголовок свитка. Мы познакомимся только с настройкой базовых параметров раскраски по Блинну, по Фонгу, по Оурену—Найару— Блинну и металлической. С параметрами остальных методов раскраски при необходимости ознакомьтесь самостоятельно с помощью электронной справочной системы max 7.5.
Настройка базовых
Настройка цвета фона сцены
Раздел Background (Природный фон) вкладки Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты) позволяет задать цвет фона, на котором визуализируется изображение сцены, а также выбрать тип карты текстуры, которая будет играть роль фона сцены. После выбора типа текстуры ее параметры должны быть настроены в Редакторе материалов.
Для настройки цвета фона сцены щелкните на поле образца цвета Color (Цвет) в разделе Background (Природный фон) вкладки Environment (Внешняя среда). Появится стандартное окна диалога Color Selector (Выбор цвета), позволяющее задать цвет фона сцены. Цвет фона не сказывается на изображении сцены в окнах проекций и проявляется только при визуализации. По умолчанию любая сцена визуализируется на черном фоне, однако если изменить цвет фона на белый, визуализированные изображения в ряде случаев смотрятся гораздо менее мрачно (рис. 15.32).

Рис. 15.32. Изображение, визуализированное на исходном черном фоне (слева), выглядит мрачнее и тяжеловеснее того же изображения, визуализированного на белом фоне (справа)
Настройка дополнительных параметров
Содержимое свитка Extended Parameters (Дополнительные параметры), показанного на рис. 13.33, не меняется в зависимости от выбора метода тонированной раскраски. Параметры этого свитка позволяют настраивать свойства непрозрачности, толщину линий каркаса (если материал визуализируется в каркасном режиме) и ослабление блеска.

Рис. 13.33. Свиток Extended Parameters
Для настройки дополнительных характеристик непрозрачности материала используйте параметры раздела Advanced Transparency (Свойства прозрачности). Переключатель Falloff (Спад) определяет характер изменения прозрачности в пределах поперечного сечения объекта, которому назначен прозрачный материал, и может быть установлен в одно из двух положений:
In (Внутрь) — непрозрачность объекта будет спадать (а прозрачность, соответственно, увеличиваться) от наружных кромок к центру, как, например, в случае с воздушным шариком, хрустальным бокалом, стеклянной бутылкой или мыльным пузырем (рис. 13.34);
Out (Наружу) непрозрачность будет спадать от центра к наружным краям объекта, что подойдет для имитации облаков, клубов дыма или тумана.

Рис. 13.34. Слева направо: спад непрозрачности отсутствует, составляет 75 % внутрь и наружу соответственно
Степень изменения непрозрачности в процентах в обоих случаях задается счетчиком Amt (Степень).
Переключатель Туре (Тип) позволяет задать три типа прозрачности, то есть три варианта взаимодействия световой составляющей, пропущенной прозрачным объектом, с цветами объектов позади него (рис. 13.35):

Рис. 12.35. Слева направо: различные типы непрозрачности: фильтрующая, вычитающая и аддитивная; Opacity = 60
Filter (Фильтрующая) — цвет пропущенного компонента света, указанный в свитке базовых параметров, умножается на цвет объекта, расположенного позади прозрачного материала;
Subtractive (Вычитающая) — ведет к вычитанию пропущенного цвета из цвета объекта, расположенного позади;
Additive (Аддитивная) — ведет к суммированию указанных компонентов.
Если материал применяется для визуализации объекта в виде каркаса (в свитке базовых параметров установлен флажок Wire (Каркас)), то можно настроить ширину линий каркаса в счетчике Size (Размер) раздела Wire (Каркас) в правой части свитка. Для задания ширины линий в пикселях установите переключатель In (В) в положение Pixels (Пикселях), а для задания ширины линий в текущих единицах длины — в положение Units (Единицах).
В нижней части свитка размещается группа параметров Reflection Dimming (Ослабление зеркального отражения). С помощью этих параметров можно задать характеристики ослабления блеска для карт зеркального отражения участков поверхности, находящихся в тени:
Apply (Применить) — включает режим ослабления блеска. При сброшенном флажке отсутствие или наличие прямых световых лучей не влияет на вид карт текстуры зеркального отражения;
Dim Level (Уровень ослабления) — задает степень ослабления блеска в тени. При значении 0 блеск в тени полностью отсутствует, а при значении 1 отсутствует ослабление;
Refl. Level (Уровень отражения) — задает степень зеркального отражения вне тени, действуя как умножитель степени освещенности области блика, позволяя скомпенсировать ослабление. Как правило, значение 3,0 обеспечивает сохранение силы блеска на том же уровне, что и при отсутствии ослабления.
Итак, мы рассмотрели особенности настройки основных параметров стандартных материалов при различных методах тонированной раскраски оболочек объектов. Как видите, параметров довольно много, так что поначалу в них можно даже запутаться. Однако, как вы убедитесь, выполняя практические упражнения, во многих случаях для получения нужного результата оказывается достаточно настроить лишь малую часть параметров из свитка Blinn Basic Parameters (Базовые параметры раскраски по Блинну) и назначить одну, две или три карты текстур в свитке Maps (Карты текстур), оставляя все остальные параметры в их исходных состояниях.
Настройка единиц измерения
Чтобы выбрать одну из допустимых метрических единиц измерения, проделайте следующее:
Выберите в главном меню команду Customize > Units Setup (Настройка > Единицы измерения). Появится окно диалога Units Setup (Единицы измерения), показанное на рис. 3.23.

Рис. 3.23. Окно диалога Units Setup
Установите переключатель типа единиц измерения в положение Metric (Метрические) и выберите в раскрывающемся списке одну из допустимых метрических единиц: Millimeters (Миллиметры), Centimeters (Сантиметры), Meters (Метры) или Kilometers (Километры). После этого в поле отсчета координат строки состояния к значению координат будет добавлено сокращенное наименование выбранной единицы измерения. Если, к примеру, вы выбрали метры, к значению координат в окне отсчета добавится буква «м».
Часто работа над сложной сценой ведется по частям, причем отдельные объекты сохраняются в разных файлах. Следите за тем, чтобы все они были созданы при выборе одинаковой цены деления системной шкалы, иначе при объединении этих объектов в общей сцене их размеры могут оказаться несоответствующими друг другу.
Настройка координат растровой текстуры
Свиток Coordinates (Координаты), показанный на рис. 14.41, предназначен для задания способа преобразования карты текстуры при ее проецировании на поверхность объекта или фон сцены.

Рис. 14.41. Свиток Coordinates содержит средства настройки параметров проецирования растровых текстур
При использовании растровой карты в качестве текстуры материала применяются иные варианты проецирования, чем при ее использовании в качестве фона сцены. Собственно варианты проецирования выбираются в раскрывающемся списке Mapping (Проекция), а состав этих вариантов задается установкой переключателя в левом верхнем углу свитка в одно из двух положений:
Texture (Текстура) — проекционные координаты будут применены для проецирования растровой текстуры на поверхности объектов сцены (этот вариант выбирается по умолчанию);
Environ (Фон) — растровая текстура будет использована в качестве фона сцены или для имитации эффектов окружающей среды.
При установке переключателя в положение Texture (Текстура) в раскрывающемся списке Mapping (Проекция) можно выбрать один из следующих вариантов проекционных координат:
Explicit Map Channel (Явный канал карты) — для проецирования будет использована система проекционных координат, явно заданная в канале модификатора проекций, номер которого устанавливается; в счетчике Map Channel (Канал карты) под раскрывающимся списком. Этот вариант выбирается по умолчанию и его всегда следует использовать, если вы хотите применить проекционные координаты, назначенные объекту с помощью модификатора UVW Map (UVW-проекция);
Vertex Color Channel (Канал цвета вершин) — может использоваться в случае, когда отдельным вершинам объекта, преобразованного в редактируемую сетку, назначены разные цвета. Такой способ применяют в основном при создании объектов для компьютерных игр реального времени, где некогда заниматься проецированием текстур;
Planar from Object XYZ (Плоская локальная объекта), Planar from World XYZ (Плоская глобальная) — для проецирования будет использована система прямоугольных локальных координат объекта или глобальных координат, обеспечивающая только плоскую проекцию. При этом на невидимую заднюю сторону объекта текстура не будет нанесена, если не установить флажок Show Map on Back (Показать текстуру на задней стороне).
|
СОВЕТ Флажок Show Map on Back (Показать текстуру на задней стороне) действует только в режимах проецирования Planar from Object XYZ (Плоская локальная объекта) и Planar from World XYZ (Плоская глобальная) и не оказывает никакого влияния на другие режимы, включая используемый по умолчанию вариант проецирования Explicit Map Channel (Явный канал карты). Чтобы получить доступ к флажку Show Map on Back (Показать текстуру на задней стороне), необходимо предварительно сбросить оба флажка группы Tile (Повтор). |
Spherical Environment (Сферическая фоновая), Cylindrical Environment (Цилиндрическая фоновая), Shrink-wrap Environment (Обтягивающая фоновая) — обеспечивают проецирование карты текстуры фона сцены как бы на невидимый объект, соответствующий по форме выбранному типу проекции;
Screen (Экранная) — карта текстуры отображается на экране как плоский задник театральной сцены.
Если требуется точно подогнать положение текстуры в пределах поверхности объекта, счетчики группы Offset (Смещение) позволяют задать величины смещения карты текстуры (в долях ее полного размера) относительно значка проецирования по осям U и V. Счетчики группы Tiling (Кратность) дают возможность указать количество копий карты текстуры по каждой из осей проекционных координат. Продублированные копии изображения текстуры заполнят всю поверхность объекта, если будут установлены соответствующие флажки группы Tile (Повтор). Если же флажки будут сброшены, то изображение текстуры просто уменьшится в число раз, указанное в счетчиках Tiling (Кратность), как показано на рис. 14.42.

Рис. 14.42. Результат удвоения кратности текстуры. У левого объекта флажки Tile по осям U и V установлены, у правого — сброшены
|
СОВЕТ Чтобы удобнее было видеть действие счетчиков Tiling (Кратность) в ячейке образца Редактора материалов, смените тип образца со сферы на параллелепипед. |
При установке флажка Use Real-World Scale ( Использовать масштаб реального мира) вместо группы Tiling (Кратность) появляется группа Size (Размер), а вместо кратности проецирования по осям U и V предлагается задать размеры рисунка текстуры по координатам Width (Ширина) и Height (Высота). Устанавливать флажок Use Real-World Scale (Использовать масштаб реального мира) рекомендуется в том случае, если необходимо сохранить неизменным масштаб текстуры при изменении параметров объекта, к которому она были применена.
Установка флажков группы Mirror (Отражение) включает режим зеркального отражения карты текстуры, как показано на рис. 14.43.

Рис. 14.43. У правого объекта установлен флажок Mirror по оси V
Переключатели UV, VW и WU позволяют выбрать пару проекционных координат, которая будет определять плоскость проецирования. Установка переключателя UV обеспечивает проецирование текстуры на поверхность подобно изображению из проектора на экран. Выбор переключателей VW или WU ведет к проецированию текстуры на плоскости, перпендикулярные поверхности объекта.
Можно управлять не только положением, но и ориентацией текстурной карты относительно каждой из осей проекционных координат U, V, W. Для этого служит группа счетчиков Angle (Угол). Поворот текстурной карты можно настраивать в режиме, аналогичном вращению изображения в окнах проекций. Если щелкнуть на кнопке Rotate (Повернуть), появится окно диалога Rotate Mapping Coordinates (Поворот проекционных координат) со схематическим изображением трекбола вращения, подобного тому, что используется при вращении изображения в окнах проекций. Переместите курсор в пределы окна и, когда он примет вид курсора вращения, перетаскивайте его для поворота проекционных координат. Значения углов поворота будут отображаться в счетчиках группы Angle (Угол).
Если есть необходимость несколько размыть изображение текстуры, например, с целью сглаживания ступенчатого эффекта краев цветовых областей, это можно сделать с помощью счетчика Blur (Смаз). Величина смаза зависит от удаления растровой текстуры от наблюдателя: чем дальше текстура, тем больше смаз. Счетчик Blur offset (Постоянный смаз) позволяет задать постоянное значение смаза, которое не зависит от расстояния между текстурой и наблюдателем и имитирует расфокусировку изображения.
Настройка общих параметров и режимов визуализации
Настройка общих параметров и режимов визуализации производится в свитке Common Parameters (Общие параметры) вкладки Common (Общие настройки) окна диалога Render Scene (Визуализация сцены), показанном ранее на рис. 15.12.
Настройка общих параметров растровой текстуры
Свиток Bitmap Parameters (Параметры растровых текстур), показанный на рис. 14.46, позволяет подобрать изображение текстуры, то есть загрузить нужный графический файл и настроить режимы его использования в качестве растровой текстуры в составе материала.

Рис. 14.46. Свиток Bitmap Parameters позволяет выбрать файл и настроить параметры изображения текстуры
Чтобы выбрать графический файл растровой текстуры, щелкните на длинной кнопке справа от поля Bitmap (Растровая карта) в верхней части свитка. Появится окно диалога Select Bitmap Image File (Выбор файла растрового изображения), показанное на рис. 14.47 и представляющее собой типовое окно выбора файлов. Выделите нужный файл и щелкните на кнопке ОК или просто дважды щелкните на имени файла. Щелчок на кнопке Reload (Обновить) в свитке Bitmap Parameters (Параметры растровых текстур) позволяет повторить загрузку растрового файла с тем же именем и маршрутом доступа, если вид файла изменился после редактирования с помощью внешнего графического редактора.

Рис. 14.47. Окно диалога Select Bitmap Image File дает возможность видеть миниатюрные изображения текстур
Параметры группы Cropping/Placement (Обрезка/Размещение) служат для того, чтобы с предельной точностью разместить на поверхности объекта копию растрового изображения в виде наклейки или обрезать края изображения прямо в программе max 7.5, не обращаясь для этого к внешним редакторам типа Photoshop. Установите переключатель типа операции в положение Crop (Обрезка) или Place (Размещение) и щелкните на кнопке View Image (Показ изображения). Появится окно интерактивного редактора Specify Cropping/Placement (Настройка обрезки/размещения), позволяющее в интерактивном режиме изменить масштаб и положение изображения или выполнить его обрезку. В окне редактора появляется пунктирная рамка, указывающая границы обрезанного фрагмента или его положение в пределах исходного изображения. Перетаскивая угловые и боковые маркеры рамки, можно выполнять подгонку изображения. Вместо перетаскивания маркеров можно настраивать числовые параметры в счетчиках U и V в верхней части окна редактора, указывающих координаты положения фрагмента изображения, и в счетчиках W и Н, определяющих ширину (Width) и высоту (Height) фрагмента. Аналогичные счетчики имеются и в разделе Cropping/Placement (Обрезка/Размещение) свитка. Чтобы применить результаты обрезки или размещения текстуры к материалу, установите флажок Apply (Применить).
С назначением остальных параметров растровых текстур, которые в большинстве практических ситуаций не требуют настройки, попробуйте разобраться самостоятельно с помощью электронной справочной системы max 7.5.
Настройка параметров фильтров оптических эффектов
Рассмотрение порядка настройки всех фильтров оптических эффектов не входит в планы нашего учебного курса. Познакомимся с назначением и настройкой параметров только одного фильтра, позволяющего реализовывать эффект сияющих ореолов вокруг выбранных объектов или материалов сцены. Этот фильтр носит название Glow (Сияние) и входит в группу, объединенную общим названием Lens Effects (Линзовые эффекты). В эту группу, кроме фильтра сияния, входят еще фильтры для имитации различных оптических эффектов, связанных с линзами объективов реальных съемочных камер: Ring (Круг), Ray (Луч), Auto Secondary (Вторичные автоблики), Manual Secondary (Вторичные блики ручной настройки), Star (Звезда) и Streak (Полоса). С параметрами этих, а также всех остальных фильтров при желании познакомьтесь самостоятельно, пользуясь электронной справочной системой max 7.5.
Для настройки параметров фильтра Glow (Сияние) выполните следующие действия:
1. В свитке Effects (Эффекты) окна диалога Environment and Effects (Внешняя среда и эффекты) выберите группу фильтров Lens Effects (Линзовые эффекты). В нижней части окна появятся свитки Lens Effects Parameters (Параметры линзовых эффектов) и Lens Effects Globals (Глобальные настройки линзовых эффектов), показанные на рис. 15.54.

Рис. 15.54. Свитки, предназначенные для выбора и настройки фильтров линзовых эффектов
2. Настройте при необходимости некоторые общие параметры всех фильтров линзовых эффектов на вкладке Parameters (Параметры) свитка Lens Effects Globals (Глобальные настройки линзовых эффектов), хотя на первых норах все эти параметры можно оставлять без изменений:
Size (Размер) — задает размер участка изображения, охватываемого действием фильтра сияния, в процентах от размеров визуализируемого кадра;
Intensity (Интенсивность) — задает общую яркость и непрозрачность области сияния. Чем меньше интенсивность, тем слабее и прозрачнее сияние;
Squeeze (Растяжение) — степень растяжения области эффекта по горизонтали (при положительных значениях) или по вертикали (при отрицательных) в процентах от размера области;
Angle (Угол) — угол, на который область эффекта будет поворачиваться от исходного положения при изменении (анимации) ракурса съемки сцены камерой;
Lights (Осветители) — группа параметров, позволяющих выбрать источники света для применения к ним эффекта сияния. Щелкните на кнопке Pick Light (Указать источник) и выделите осветитель непосредственно в одном из окон проекций.
3. На вкладке Scene (Сцена) свитка Lens Effects Globals (Глобальные настройки линзовых эффектов) можете при необходимости настроить следующие параметры (на этапе ознакомления с эффектом их также можно оставлять нетронутыми):
Affect Alpha (Воздействовать на альфа-канал) — включает/выключает режим воздействия фильтра сияния на альфа-канал прозрачности изображения, если это изображение сохраняется в формате 32 бита на пиксель;
Affect Z Buffer (Воздействовать на Z-буфер) — если установить этот флажок, то max 7.5 будет использовать информацию о дальностях расположения объектов сцены для реализации отдельных линзовых эффектов (например, для формирования сияния позади выбранного объекта);
Distance Effects (Расстояние до эффекта), Off-Center Effects (Смещение эффекта) — установка флажков Size (Размер) и/или Intensity (Интенсивность) поставит размер и/или интенсивность проявления эффекта в зависимость от расстояния до камеры и от смещения относительно линии визирования камеры;
Occlusion (Перекрытие) — параметры этой группы позволяют установить внутренний (Inner Radius) и внешний (Outer Radius) пределы области, в которой объекты сцены, расположенные между камерой и источником сияния, будут влиять на проявление этого эффекта.
4. Выделите имя фильтра Glow (Сияние) в свитке Lens Effects Parameters (Параметры линзовых эффектов) и щелкните на кнопке со стрелкой, указывающей вправо, чтобы перенести имя фильтра в правый список. После этого в нижней части окна Rendering Effects (Визуализация эффектов) появится свиток параметров сияния — Glow Elements (Элементы сияния), состоящий из двух вкладок: Parameters (Параметры) и Options (Режимы).
Рассмотрим настройку некоторых параметров из этого свитка в ходе выполнения практического упражнения по применению эффекта сияния к сцене «МАХ-кафе».
Настройка параметров искажения текстуры
Чтобы применить к изображению растровой текстуры управляемые пространственные неоднородности, которые в ряде случаев делают изображение более реалистичным, используйте параметры свитка Noise (Неоднородности), показанного на рис. 14.44.

Рис. 14.44. Свиток Noise содержит средства настройки пространственных неоднородностей растровых текстур
| ЗАМЕЧАНИЕ Свиток Noise (Неоднородности) управляет пространственными неоднородностями рисунка текстуры — в отличие от текстурной карты Noise (Неоднородности), позволяющей настраивать случайные изменения яркости рисунка текстуры. |
Включают и выключают режим неод-нородностей карты текстуры путем установки или сброса флажка On (Вкл.). Счетчик Amount (Степень) устанавливает степень неоднородностей текстуры. Допустимые значения лежат в пределах от 0 до 100, где 0 соответствует отсутствию неоднородностей, а 100 — максимальному искажению. Помимо этого в свитке имеются еще следующие параметры:
Levels (Уровни) — счетчик, задающий количество циклов фрактального алгоритма, генерирующего случайные неоднородности;
Size (Размер) — счетчик, задающий характерный пространственный размер неоднородностей;
Animate (Анимация) — флажок, включающий режим анимации неоднородностей, меняющихся во времени;
Phase (Фаза) — счетчик, позволяющий управлять скоростью изменения неоднородностей при анимации.
На рис. 14.45 показан пример неоднородностей растровой текстуры.

Рис. 14.45. Неоднородности растровой текстуры при Amount = 25, Levels = 3
Настройка параметров распределенной визуализации
Модуль mental ray способен распределять процесс визуализации изображения между несколькими компьютерами, объединенными в сеть. В этом случае рекомендуется включать режим Use Placeholder Objects (Использовать местозапол-нители) в свитке Translator Options (Параметры транслятора) вкладки Processing (Обработка) и выбирать вариант Hilbert (best) (По Гильберту (наилучшая)) в списке Bucket Order (Последовательность блоков) свитка Sampling Quality (Качество выборки) на вкладке Renderer (Визуализатор).
Для настройки параметров распределенной визуализации изображения используйте следующие элементы управления свитка Distributed Bucket Rendering (Распределенная блочная визуализация) вкладки Processing (Обработка) окна диалога Render Scene (Визуализация сцены):
Distributed Render (Распределенная визуализация) — включает режим распределенной визуализации;
Distributed Maps (Распределенные текстуры) — установка этого флажка означает, что файлы текстур могут быть найдены на любом компьютере, задействованном в распределенной сетевой визуализации.
Настройка параметров растровой текстуры
Карта текстуры типа Bitmap (Растровая) обладает набором параметров, используемых целым рядом различных текстур. Остановимся несколько подробнее на настройке параметров растровой текстуры. Надеюсь, это пригодится вам при самостоятельном знакомстве с другими картами текстур.
После того как вы дважды щелкнете в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) на строке Bitmap (Растровая), чтобы назначить растровую текстуру той или иной характеристике материала, в окне Редактора материалов появятся свитки параметров растровых текстур: Coordinates (Координаты), Noise (Неоднородности), Bitmap Parameters (Параметры растровых текстур), Output (Результат) и Time (Время). Эти свитки, за исключением Bitmap Parameters (Параметры растровых текстур), являются типовыми и используются для настройки параметров многих других типов текстур.
Необходимость настройки параметров свитка Time (Время) возникает только при анимации изображения текстуры.
Настройка параметров сканирующего визуализатора
Для настройки параметров сканирующего визуализатора, используемого в max 7.5 по умолчанию, служит свиток Default Scanline Renderer (Исходный сканирующий визуализатор), располагающийся на вкладке Renderer (Визуализатор) окна диалога Render Scene (Визуализация сцены) и показанный на рис. 15.14.

Рис. 15.14. Вкладка Renderer окна диалога Render Scene со свитком Default Scanline Renderer
В разделе Options (Режимы) по умолчанию установлены следующие флажки:
Mapping (Карты текстур) — включает режим визуализации текстур материалов;
Shadows (Тени) — включает режим изображения теней от объектов;
Auto-Reflect/Refract and Mirrors (Автоотражение/преломление и зеркала) — включает режим формирования отражений в зеркальных поверхностях и преломления света в прозрачных материалах, основанных на картах текстур Reflect/Refract (Отражение/Преломление) и Flat Mirror (Плоское зеркало). Состояние флажка не влияет на генерацию эффектов отражения и преломления, производимую методом трассировки лучей при использовании трассируемых материалов или карт текстуры.
Чтобы включить режим визуализации всех геометрических моделей объектов в виде каркасов с учетом использованных материалов, как показано на рис. 15.15, установите флажок Force Wireframe (Каркасы объектов). При этом в счетчике Wire Thickness (Толщина каркаса) можно задать толщину линий каркасов в пикселях.

Рис. 15.15. Пример визуализации сцены в режиме Force Wireframe при толщине линий каркасов в два пикселя
В реальном мире два поставленных напротив друг друга зеркала дают картину бесконечного ряда взаимных отражений. В max 7.5 кратность взаимных отражений зеркальных объектов сцены, в материалах которых используются текстурные карты отражения/преломления, задается с помощью параметра Rendering Iterations (Число итераций визуализации) в разделе Auto Reflect/Refract Maps (Карты автоотражения/преломления). По умолчанию этот параметр имеет значение 1, и это означает, что в двух поставленных напротив друг друга зеркалах будет построено всего по одному взаимному отражению.
Все остальные параметры свитка Default Scanline Renderer (Исходный сканирующий визуализатор) можно на первых порах смело оставлять без изменений. Попробуйте разобраться в их назначении и использовании самостоятельно с помощью электронной справочной системы max 7.5.
Настройка параметров стандартных материалов
Материалы типа Standard (Стандартный) представляют собой базовый тип материалов max 7.5 и часто служат основой для создания более сложных составных материалов. При выборе материала данного типа в нижней части окна Редактора материалов появляются свитки параметров стандартного материала.
Настройка параметров стандартного материала обычно производится в свитках Basic Parameters (Базовые параметры), Extended Parameters (Дополнительные параметры) и Maps (Карты текстур). Все параметры свитка Shader Basic Parameters (Базовые параметры раскраски) в подавляющем большинстве случаев можно оставлять в исходном состоянии, принятом по умолчанию.
Потребность работы с параметрами свитков SuperSampling (Сверхразрешение) и Dynamics Properties (Динамические свойства) возникает только при необходимости добиться особо высокого качества изображения или выполнить имитацию столкновений объектов с учетом сил упругости и трения. Попробуйте разобраться в параметрах этих свитков самостоятельно, в нашей книге мы их рассматривать не будем.
Порядок использования свитка Maps (Карты текстур) будет рассмотрен в главе 14, «Учимся применять карты текстур и многокомпонентные материалы».
Настройка параметров текстуры фона
Для проецирования текстур на фон сцены необходимо проследить за тем, чтобы переключатель варианта использования проекционных координат, расположенный в верхней части свитка Coordinates (Координаты) Редактора материалов, был установлен в положение Environ (Фоновые). Мах 7.5 делает это автоматически, если используется второй способ связывания карты текстуры с кнопки Environment Map (Карта текстуры фона) окна диалога Environment and Effects (Внешняя среда и эффекты) с ячейкой Редактора материалов. Затем нужно выбрать один из четырех типов фоновых проекционных координат в раскрывающемся списке Mapping (Проекция):
Spherical Environment (Сферическая внешней среды) — обеспечивает нанесение карты растровой текстуры фона на внутреннюю поверхность воображаемой сферы большого радиуса, охватывающей всю сцену. Карта текстуры проецируется на внутреннюю поверхность сферы, а верхний и нижний края карты стягиваются к точкам полюсов. Достоинством этого варианта является то, что куда бы вы ни направили объектив камеры, в него всегда попадет картина фона, причем при перемещении линии визирования камеры эта картина будет меняться, как и должно быть в реальности. Однако в этом случае, во-первых, необходимо использовать растровую текстуру высокого разрешения, иначе фон сцены будет выглядеть растянутым и расплывчатым. Во-вторых, где-нибудь на проекционной сфере обязательно будет присутствовать явно выраженный стык. Следует стараться располагать камеру так, чтобы стыки оставались за пределами ее поля зрения при визуализации сцены. Оба эти предупреждения относятся также к цилиндрической системе фоновых координат;
Cylindrical Environment (Цилиндрическая внешней среды) — обеспечивает проецирование карты текстуры фона на внутреннюю боковую поверхность воображаемого цилиндра больших размеров, охватывающего сцену;
Shrink Wrap Environment (Обтягивающая внешней среды) — обеспечивает проецирование карты текстуры фона на внутреннюю поверхность воображаемой сферы большого радиуса, охватывающей всю сцену. При этом в отличие от сферического проецирования все четыре угла текстурной карты стягиваются к одному из полюсов сферы;
Screen (Экранная) — позволяет использовать растровую текстуру в качестве обычного плоского фона, привязанного к окну проекции. В этом случае при смене типа проекции в окне вид фона не меняется, то есть с какого бы ракурса вы ни взглянули на сцену, перед глазами всегда будет один и тот же фон. Это явно не соответствует реальности. В связи с этим данная система координат удобна только для визуализации кадров, снятых неподвижно укрепленной камерой (рис. 15.34).

Рис. 15.34. Визуализация объекта на фоне фотографии облачного неба с использованием экранной системы проекционных координат
После того как тип системы проекционных координат выбран, установку текстуры фона можно считать законченной. Созданный фон будет использоваться при визуализации до тех пор, пока не будет сброшен флажок Use Map (Использовать карту текстуры) в свитке Background (Фон) окна диалога Environment and Effects (Внешняя среда и эффекты).
Настройка режимов визуализации
Флажки раздела Options (Режимы) позволяют настроить некоторые режимы визуализации, в частности:
Render Hidden (Визуализировать скрытые объекты) — включает режим визуализации скрытых объектов сцены, которые остаются невидимыми в окнах проекций. По умолчанию скрытые объекты не подлежат визуализации;
Force 2-Sided (Изображать обе стороны) — заставляет модуль визуализации изображать обе стороны граней. Используется при визуализации геометрических моделей, импортированных из других программ трехмерной графики, подобных AutoCAD, поскольку нормали граней объектов таких программ обычно ориентированы случайным образом. Установка данного флажка обеспечивает визуализацию подобных объектов, но ведет к росту времени визуализации. Кроме того, данный флажок следует устанавливать, если в сцене есть объекты с отверстиями, через которые грани оболочек объектов могут быть видны с изнаночной стороны. Примером объектов такого рода служит стандартный примитив-чайник без крышки. Если флажок не установить, то грани, наблюдаемые с изнанки, не будут визуализированы;
Atmospherics (Эффекты внешней среды) — установленный по умолчанию, этот флажок включает режим визуализации эффектов внешней среды типа тумана, объемного освещения или горения. Сбрасывайте данный флажок для ускорения тестовой визуализации, если в сцену включены эффекты имитации внешней среды;
Effects (Оптические эффекты) — установленный по умолчанию, этот флажок включает режим визуализации оптических эффектов типа бликов линз объектива, конечной глубины резкости или зернистости фотопленки.
Настройка временных параметров создания и показа анимаций
Временные параметры анимации настраиваются и управляются с помощью окна диалога Time Configuration (Настройка временных интервалов), показанного на рис. 16.9. В нем можно указать общую продолжительность времени анимации, скорость ее воспроизведения и способ отображения отсчетов времени, который будет использовать max 7.5.

Рис. 16.9. Окно диалога Time Configuration служит для настройки временных параметров создания и показа анимаций

При необходимости настройки временных параметров создания и показа анимаций щелкните на кнопке Time Configuration (Настройка временных интервалов) или щелкните правой кнопкой мыши на любой из кнопок управления анимацией, чтобы вызвать окно диалога Time Configuration (Настройка временных интервалов).
| ЗАМЕЧАНИЕ Мы рассматриваем здесь это окно главным образом в учебных целях. Для создания и просмотра простейшей анимации в этом окне можно вообще ничего не настраивать, оставив значения всех параметров в исходном состоянии, установленном по умолчанию. |
Если вы готовите анимацию для просмотра на компьютере средствами операционной системы Windows, оставьте переключатель Frame Rate (Частота кадров) в исходном положении NTSC. Тем самым будет задана частота повторения кадров, соответствующая стандарту телевизионного сигнала, установленному Национальным комитетом телевизионных стандартов США и принятому в США и Японии. Эта частота составляет 30 кадров в секунду (точнее, 29,97 кадра в секунду). Если вы собираетесь готовить анимацию с целью записи на видеокассету и просмотра на экране обычного домашнего телевизора, то установите переключатель в положение PAL. Этот вариант соответствует телевизионному стандарту Phase Alternate Line с частотой 25 кадров в секунду, принятому в большинстве стран Европы.
| ЗАМЕЧАНИЕ Частота повторения кадров на экранах телевизоров в нашей стране в соответствии с принятым в России стандартом телевизионного сигнала SECAM также составляет 25 кадров в секунду. |
Переключатель Frame Rate (Частота кадров) имеет еще два положения:
Film (Кино) — стандарт для игрового кино с частотой 24 кадра в секунду;
Custom (Специальная) — позволяет указать произвольную частоту кадров в счетчике FPS (Frames Per Second — кадров в секунду).
При необходимости укажите, в какой форме будет отображаться время на ползунке таймера и в любом из окон диалога, где можно менять текущее время анимации, установив переключатель Time Display (Отображение времени) в одно из четырех положений:
Frames (Кадры) — время отображается в виде номера кадра;
SMPTE — стандарт, разработанный обществом SMPTE (Society of Motion Picture and Television Engineers). Время отображается в формате Минуты: Секунды.Кадр, где Кадр — это число долей очередной секунды, выраженное в количестве кадров, прошедших с конца предыдущей секунды (число кадров в секунде определяется установкой переключателя Frame Rate). Например, при частоте 30 кадров в секунду (стандарт NTSC) запись 0:2.29 означает кадр номер 89 или момент времени, равный 2 и 29/30 секунды;
FRAME:TICKS — время отображается в формате Кадр:Тик, где тик (Tick) — внутренняя единица измерения времени в max 7.5, равная 1/4800 секунды;
MM:SS.TICKS — время отображается в формате Минуты:Секунды.Тики, позволяя отсчитывать время с интервалом в 1/4800 секунды.
Как вы узнаете чуть позже, созданную анимацию можно при отладке просматривать прямо в окнах проекций. По умолчанию max 7.5 пытается воспроизвести анимацию в окне проекции в реальном масштабе времени. Если производительность компьютера недостаточна, то начинается «торможение» и пропуск кадров. Чтобы увидеть все кадры при воспроизведении анимации в окнах проекций, сбросьте флажок Real Time (Реальное время) в разделе Playback (Воспроизведение). Воспроизведение пойдет медленнее, но зато без пропусков. Можно не сбрасывать флажок, а уменьшить значение коэффициента, на который умножается заданная частота кадров при воспроизведении. Этот коэффициент устанавливается переключателем Speed (Скорость) и по умолчанию равен 1. В разделе Playback (Воспроизведение) окна Time Configuration (Настройка временных интервалов) имеются еще следующие элементы управления:
Active Viewport Only (Только активное окно) — обеспечивает воспроизведение анимации только в активном окне проекции. Если флажок сброшен, интерактивное воспроизведение анимации будет выполняться во всех окнах проекций;
Loop (Цикл) — если этот флажок установлен, анимация будет повторяться в окнах проекций раз за разом, пока вы не нажмете кнопку Stop (Стоп);
Direction (Направление) — этот переключатель, доступный только при сброшенном флажке Real Time (Реальное время), позволяет выбрать один из трех вариантов направления воспроизведения анимации: Forward (Вперед), Reverse (Обратно) или Ping-Pong (Вперед-назад).
Часто возникает необходимость изменить общую продолжительность времени анимации. Чтобы добиться этого, нужно изменить значения следующих параметров раздела Animation (Анимация):
Start Time (Время начала), End Time (Время окончания) — задают моменты начала и конца активного временного сегмента {active time segment) анимации, то есть интервала, в пределах которого можно перемещаться по шкале времени при помощи ползунка таймера или кнопок управления анимацией;
Length (Продолжительность) — задает продолжительность активного временного сегмента анимации. Этот счетчик связан со счетчиком End Time (Время окончания). Когда изменяется значение в одном из них, автоматически изменяется значение в другом;
Current Time (Текущее время) — позволяет установить текущее время анимации;
Re-Scale Time (Сменить масштаб времени) — вызывает окно диалога Re-Scale Time (Смена масштаба времени), где можно изменить масштаб времени активного сегмента анимации, задав новые значения параметров Start Time (Время начала), End Time (Время окончания) и Length (Продолжительность). Масштабирование шкалы времени производится за счет сжатия или растяжения интервалов между ключами анимации в пределах сегмента, для которого указываются новая продолжительность или новые значения моментов начала и окончания.
|
СОВЕТ Иногда бывает удобно менять продолжительность анимации в интерактивном режиме. Для этого следует, нажав и удерживая клавиши Ctrl+Alt, щелкнуть на строке треков и перетаскивать курсор. Если щелкнуть левой кнопкой мыши, то будет меняться номер кадра начала анимации, если правой — номер кадра конца. Если щелкнуть средней кнопкой мыши и перетаскивать курсор, то будут меняться номера кадров и начала, и конца анимации. При этом возле курсора появляется всплывающая подсказка, например End time: 220 (Время окончания: 220). |
Назначение и отмена назначения материалов объектам сцены
Уметь настроить материал в Редакторе материалов — это важно, но нужно еще уметь назначить созданный отличный материал выбранному объекту сцены.
Для назначения материала из ячейки образца объекту сцены используйте один из следующих вариантов действий:
примените технику «перетащить и оставить»: щелкните на ячейке, перетащите курсор в окно проекции и положите образец материала поверх объекта, отпустив кнопку мыши. Если объект изображается в каркасном виде, то укладывать материал нужно на любую из линий каркаса. Этот способ лучше всего подходит для индивидуального назначения материалов;

выделите объекты, которым требуется назначить материал, и щелкните на кнопке Assign Material to Selection (Назначить материал выделенным объектам), чтобы назначить один и тот же материал всем выделенным объектам сразу;
для назначения материала сразу нескольким объектам методом «перетащить и оставить» выделите объекты, которым требуется назначить материал, щелкните на ячейке образца материала, перетащите курсор в окно проекции и положите образец материала поверх любого из выделенных объектов, отпустив кнопку мыши. Появится окно диалога Assign Material (Назначить материал) с переключателем на два положения: Assign to Object (Назначить объекту) и Assign to Selection (Назначить выделенным объектам). Установите переключатель в положение Assign to Selection (Назначить выделенным объектам) и щелкните на кнопке ОК.
Чтобы отменить материал, назначенный тому или иному объекту сцены, выполните следующее:
Вызовите окно диалога Material/Map Browser (Просмотр материалов и карт текстур), щелкнув на кнопке Get Material (Получить материал) в окне Редактора материалов или выполнив команду меню Rendering > Material/Map Browser (Визуализация > Просмотр материалов и карт текстур).
Щелкните в окне Material/Map Browser (Просмотр материалов и карт текстур) на строке None (Отсутствует), перетащите ее в любое окно проекции и положите поверх нужного объекта, отпустив кнопку мыши.
Для отмены материалов, присвоенных ряду объектов, выделите все эти объекты, щелкните в окне Material/Map Browser (Просмотр материалов и карт текстур) на строке None (Отсутствует), перетащите ее в окно проекции и положите поверх любого из выделенных объектов, отпустив кнопку мыши. В окне диалога Assign Material (Назначить материал) установите переключатель в положение Assign to Selection (Назначить выделенным объектам) и щелкните на кнопке ОК.
Назначение и типы карт текстур
Как уже упоминалось в предыдущей главе, основная часть карт текстур (а их в max 7.5 реализовано 35 типов) — это всего лишь фотографии или изображения, синтезируемые программой по заданным алгоритмам и воспроизводящие характерный рисунок поверхности тех или иных объектов реального мира. Существует несколько специальных типов карт текстур, призванных обеспечивать эффект зеркального отражения окружающих объектов на поверхности текущего материала или эффект преломления лучей света при прохождении через прозрачный материал.
Как вы можете представить, в рамках нашей книги нет никакой возможности рассмотреть вопросы назначения и использования всех или хотя бы большей части карт текстур. В связи с этим мы перечислим все карты текстур, а рассмотрим подробнее только те из них, которые пригодятся нам в работе над проектом «МАХ-кафе».
Карты текстур max 7.5 делятся на пять групп: двумерные, трехмерные, составные, карты-модификаторы цвета и прочие.
Назначение номеров каналов G-буфера
Назначение номеров каналов G-буфера объектам сцены производится в окне диалога Properties (Свойства). Чтобы назначить объекту номер канала G-буфера, действуйте следующим образом:
1. Выделите нужный объект сцены и щелкните на нем правой кнопкой мыши, чтобы вызвать меню объекта. В этом меню выберите команду Properties (Свойства). Появится окно диалога Object Properties (Свойства объекта) (пример такого окна можно видеть на рис. 3.18).
2. Установите в счетчике Object Channel (Канал объекта) раздела G-Buffer (G-бу-фер) номер канала, отличный от 0. Нулевое значение этого параметра означает, что канал графических эффектов объекту не присвоен.
3. Щелкните на кнопке ОК.
Назначение номеров каналов G-буфера материалам max 7.5 производится в окне диалога Material Editor (Редактор материалов). Чтобы назначить материалу номер канала G-буфера, выполните следующие действия:
1. Раскройте окно Редактора материалов и активизируйте ячейку с образцом нужного материала.
2.

Щелкните на кнопке Material Effects Channel (Канал эффектов монтажа) и выберите на ее раскрывающейся панели нужный номер канала G-буфера. Нулевой номер означает, что канал G-буфера для данного материала не установлен и его выборочная фильтрация невозможна.
Чтобы выполнить имитацию тех или иных оптических эффектов, их следует выбрать и настроить.
Недостатки автоматического режима анимации
Вспомним пример анимации сцены «Шахматы». Когда мы выполняли поочередную анимацию движения шахматных фигур, нам приходилось постоянно помнить о необходимости создания ключей фиксации их положений, чтобы фигуры не начинали свое движение раньше времени.
Вот если бы в момент создания ключа перемещения для выделенной фигуры, обеспечивающего ее сдвиг на новую клетку шахматной доски, для всех остальных фигур, остающихся на месте, тоже создавался ключ перемещения, фиксирующий их текущее положение, проблема была бы решена.
Аналогичная проблема возникает при анимации, скажем, нацеленной камеры. Такая анимация обычно осуществляется поочередным перемещением мишени при неподвижной камере (это имитирует перевод взгляда зрителя, остающегося на месте, на новый предмет его внимания) и перемещением камеры при неподвижной мишени (этим имитируется, что зритель переходит в новую позицию, фиксируя взгляд на выбранном предмете). Таким образом, пока движется камера, должна оставаться неподвижной мишень, и наоборот, пока движется мишень, неподвижна камера. В традиционном режиме автоматической анимации это требовало постоянной заботы о создании ключей фиксации.
А теперь представьте себе, что речь идет об анимации сложного персонажа, состоящего из десятков связанных между собой деталей. Вы настраиваете какую-то позу персонажа и имеете право желать, чтобы сделанные впоследствии изменения тех или иных параметров частей тела не оказали обратного влияния на тщательно настроенную позу. Это может быть достигнуто только в том случае, если для всех параметров (а не только для анимируемых, как в автоматическом режиме!) всех объектов в текущем кадре создаются ключи фиксации их текущих значений. Отследить такое количество параметров средствами автоматической анимации было достаточно сложно или уж, по крайней мере, хлопотно.
В режиме принудительной анимации, включаемом кнопкой Set Key (Задать ключ), описанные проблемы после некоторой подготовки решаются буквально одним щелчком кнопкой мыши. Итак, можно считать, что основное назначение принудительного режима анимации — обеспечить простую и удобную возможность создания ключей, фиксирующих в текущем кадре значения сразу множества параметров анимации множества объектов, выбираемых пользователем.
Чтобы научиться вручную создавать ключи анимации в режиме, включаемом кнопкой Set Key (Задать ключ), выполните пару следующих упражнений.
Недостатки трехмерной графики
Выше мы рассмотрели особенности трехмерной графики, которые можно отнести к ее достоинствам по сравнению с обычной двумерной графикой. Но, как известно, не бывает достоинств без недостатков. Недостатками трехмерной графики, которые следует учитывать при выборе средств для разработки ваших будущих графических проектов, можно условно считать:
повышенные требования к аппаратной части компьютера, в частности к объему оперативной памяти, наличию свободного места на жестком диске и быстродействию процессора;
необходимость большой подготовительной работы по созданию моделей всех объектов сцены, которые могут попасть в поле зрения камеры, и по присвоению им материалов. Впрочем, эта работа обычно окупается полученным результатом;
меньшую, чем при использовании двумерной графики, свободу в формировании изображения. Имеется в виду, что, рисуя картину карандашом на бумаге или средствами двумерной графики на экране компьютера, вы имеете возможность совершенно свободно искажать любые пропорции объектов, нарушать правила перспективы и т. п., если это необходимо для воплощения художественного замысла. В 3ds max 7.5 это также возможно, но требует дополнительных усилий;
необходимость контроля за взаимным положением объектов в составе сцены, особенно при выполнении анимации. В связи с тем, что объекты трехмерной графики «бестелесны», легко допустить ошибочное проникновение одного объекта в другой или ошибочное отсутствие нужного контакта между объектами. Это означает, что, например, модель персонажа анимации вместо того, чтобы плотно стоять на «земле», может зависнуть в «воздухе» или провалиться по колено. По этой же причине необходимо принимать специальные меры для деформации объектов при их столкновении или разрушении. Если этого не сделать, то, например, сталкивающиеся модели автомобилей просто проедут друг сквозь друга, а меч одного героя анимации пройдет сквозь тело другого, не причинив ему никакого вреда;
необходимость принятия дополнительных мер, обычно применяемых на этапе вторичной обработки синтезированных изображений, чтобы «испортить» картинку, придав ей более правдоподобный вид. Не секрет, что результаты визуализации сцен средствами трехмерной графики выглядят чересчур «прилизанными», идеально правильными, а потому недостаточно жизненными. В связи с этим в состав программ трехмерной графики входит целый ряд фильтров, позволяющих имитировать такие эффекты, как конечная глубина резкости изображений, зернистость воображаемой фотопленки или смаз, вызванный движением объектов в момент съемки.
За счет перемещения группы управляющих

Рис. 8.21. За счет перемещения группы управляющих вершин модификатора FFD с решеткой 4x4x4 прямоугольному блоку придан вид книги
Skew (Сдвиг) -- этот модификатор позволяет применить к объекту деформацию, вызывающую его равномерный перекос, как показано на рис. 8.22. Это похоже на то, как если бы объект разрезали на тонкие слои параллельно оси сдвига и слегка сместили их относительно друг друга, подобно колоде карт. Данный модификатор позволяет создавать интересные анимации;

Рис. 8.22. Кресло «откинулось назад» и «встало на дыбы» с помощью модификатора Skew
Melt (Таяние) — этот модификатор позволяет имитировать довольно правдоподобную анимацию процесса таяния объекта, постепенно превращающегося в растекшуюся лужу, как показано на рис. 8.23;

Рис. 8.23. Один из бокалов начал «таять» благодаря применению модификатора Melt
|
ЗАМЕЧАНИЕ Просмотрите анимацию действия модификатора Melt (Таяние), файл которой под именем Taianie.avi хранится в папке Animations\GIava_08 компакт-диска, прилагающегося к книге. Соответствующая сцена, по которой построена эта анимация, имеется в файле Taianie.max, хранящемся в папке Scenes\Glava_08 того же компакт-диска. |

Рис. 8.24. К объекту слева был применен модификатор Shell, в результате чего он обрел толщину
Что ж, если вы всерьез заинтересовались теми поистине безграничными возможностями воздействия на форму объектов, которые предоставляют вам модификаторы max 7.5, попробуйте разобраться в них самостоятельно при помощи электронной справочной системы этой программы. Нам же пора переходить к рассмотрению вопросов применения модификаторов для редактирования трехмерных тел на уровнях подобъектов.
Некоторые другие полезные модификаторы формы
Помимо рассмотренных модификаторов формы объектов существует еще целый ряд модификаторов, полезных для начинающих разработчиков трехмерной графики. К таким модификаторам, на мой взгляд, можно отнести следующие:
Bevel Profile (Скос по профилю) — модификатор, занимающий промежуточное положение между инструментами выдавливания и лофтинга. Позволяет выполнить выдавливание заданной кривой, представляющей собой сечение объекта, с изменением масштаба сечения в направлении выдавливания в соответствии с заданным профилем, задаваемым второй кривой. Это позволяет, например, взяв сечение в форме круга и выполнив его скос по профилю в форме зеркальной половины вертикального сечения бокала, построить трехмерный бокал, как показано на рис. 8.19;

Рис. 8.19. Слева — сечение-круг и кривая-профиль скоса, а справа — бокал, сформированный по этим кривым с помощью модификатора скоса по профилю
Path Deform (Деформация по траектории) — этот модификатор позволяет изменить форму готового трехмерного тела в соответствии с некоторой заданной кривой, представляющей собой траекторию деформации, как показано на рис. 8.20;

Рис. 8.20. Объект (выдавленный сплайн-текст) деформирован по траектории в виде сплайна-окружности
| ЗАМЕЧАНИЕ Просмотрите анимацию действия модификатора Path Deform (Деформация по траектории), файл которой под именем Deformacia po traektorii.avi хранится в папке Animations\ Glava_08 компакт-диска, прилагающегося к книге. Соответствующая сцена, по которой построена эта анимация, имеется в файле Deformacia po traektorii.max, хранящемся в папке Scenes\Glava_08 того же компакт-диска. |
FFD (Free Form Deformation — Произвольная деформация) - это целое семейство модификаторов, позволяющих произвольным образом менять форму объекта за счет перемещения управляющих точек решетки деформации, в которую заключается модифицируемый объект, как показано на рис. 8.21. Именно числом точек этой решетки, а также формой габаритного контейнера различаются отдельные модификаторы данного семейства. Для перемещения управляющих точек следует сначала выбрать строку Control Points (Управляющие точки) на дереве подобъектов данного модификатора, а затем выделить нужные точки в окнах проекций;
Некоторые особенности NURBS-поверхностей
Поверхности типа NURBS по праву считаются одним из наиболее совершенных творений компьютерной графики, когда речь идет о моделировании объектов с плавными обводами форм. Такие формы свойственны, главным образом, объектам живой природы или, как принято говорить в трехмерной графике, объектам «органики» — растениям и живым организмам. Однако и среди объектов искусственного происхождения достаточно много таких, которые отличаются плавностью кривизны поверхности и отсутствием резких изломов формы. В частности, такая плавность изгибов характерна для складок на тканях или для корпусов современных самолетов и автомобилей.
В главе 5 вы познакомились с инструментами создания стандартных NURBS-no-верхностей двух типов: Point Surf (Точечная поверхность) и CV Surf (CV-поверх-ность), однако до сих пор мы ничего не говорили о том, как можно придать этим стандартным поверхностям нужную форму. Задача данной главы — научить вас работать с подобъектами NURBS-поверхностей, аналогично тому, как в предыдущей главе вы научились редактировать форму сеток и полисеток, манипулируя их вершинами, ребрами и гранями.
В главах 6 и 7 вы сталкивались с NURBS-поверхностями, формируемыми путем выдавливания, вращения или лофтинга NURBS-кривых. Создаваемые такими способами поверхности называются зависимыми, так как их форма полностью зависит от конфигурации кривых-сечений. Редактировать форму зависимых NURBS-поверхностей нельзя никак иначе, кроме как воздействуя на форму лежащих в их основе кривых. Однако можно разорвать зависимость подобных поверхностей от породивших их кривых, обретя при этом возможность редактирования формы поверхностей на уровне подобъектов. Платой за это будет утрата связи формы поверхности с породившими ее кривыми-сечениями.
Перед тем как приступить к освоению методов редактирования формы независимых NURBS-поверхностей, стоит внимательнее присмотреться к тому, как они отображаются на экране max 7.5.
В каркасном варианте отображения NURBS-поверхность совсем не похожа на привычную нам сетку из треугольных граней или многоугольников-полигонов. Вообще говоря, такая поверхность и не имеет граней, так как ее форма описывается математическими уравнениями. По умолчанию NURBS-поверхность отображается совокупностью так называемых изолиний, то есть линий равных значений локальных координат U и V, которые условно можно рассматривать как координаты «вдоль» и «поперек» поверхности, как показано на рис. 10.1, вверху. На этом рисунке белыми линиями обозначены опорные кривые, а линиями серого цвета, которые на самом деле на экране max 7.5 имеют зеленую окраску, — изолинии NURBS-поверхности.

Рис. 10.1. Отображение поверхности типа NURBS в виде набора изолиний (вверху) и в виде сетки (внизу)
Число изолиний можно менять с помощью счетчиков U Lines (U-изолиний) и V Lines (V-изолиний), размещающихся в свитке Display Line Parameters (Параметры отображения линий) командной панели Modify (Изменить), показанном на рис. 10.2. Этот свиток становится доступным, если выделен объект, представляющий собой NURBS-поверхность, и не включен режим выделения подобъектов этого объекта, то есть в окне стека модификаторов выбрана строка NURBS Surface (NURBS-поверхность) — заголовок дерева подобъектов.

Рис. 10.2. Свиток Display Line Parameters содержит переключатель типа отображения NURBS-поверхностей и счетчики числа изолиний
Тем не менее max 7.5 все же разбивает NURBS-no-верхности на треугольные грани, чтобы к ним можно было применять те же алгоритмы отображения, что и к полигональным сеткам. Чтобы увидеть эту скрытую от глаз сетчатую геометрию NURBS-поверхности в каркасном режиме, как показано на рис. 10.1, внизу, следует в свитке Display Line Parameters (Параметры отображения линий) установить переключатель в положение Mesh Only (Только сетка). Выбираемая по умолчанию позиция переключателя Iso and Mesh (Сетка и изолинии) обеспечивает отображение изолиний в каркасном режиме просмотра и сетки — в тонированном режиме. Чтобы увидеть топологию сетки в тонированном варианте отображения, нужно дополнительно включить режим Edged Faces (Контуры граней), просто нажав клавишу F4.
Эти особенности отображения NURBS-поверхностей следует учитывать при редактировании их формы, своевременно выбирая нужный режим просмотра.
В данной главе мы познакомимся с тремя разновидностями приемов создания трехмерных тел произвольной формы на основе NURBS-поверхностей:
придание нужной формы стандартной поверхности типа NURBS;
редактирование формы NURBS-поверхности, полученной за счет преобразования стандартного примитива;
моделирование тел произвольной формы с использованием набора инструментов преобразования NURBS-кривых в NURBS-поверхности.
Неравномерное масштабирование «вручную»
Для неравномерного масштабирования также годится любой из инструментов Select and Uniform Scale (Выделить и равномерно масштабировать) и Select and Non-uniform Scale (Выделить и неравномерно масштабировать). Выделите объект. Установите курсор уже не на треугольную плоскость в центре контейнера, а на одну из трех полосок в форме трапеций по бокам от центрального треугольника. Каждая из трех полосок позволяет выполнять неравномерное масштабирование в направлении пары осей координат, которые она соединяет. Соответствующая полоска приобретет полупрозрачную заливку желтого цвета, векторы осей, на которые она опирается, тоже станут желтыми, а курсор примет вид, показанный на рис. 4.34. Щелкните кнопкой мыши и перетаскивайте курсор, наблюдая за изменением масштаба объекта и контейнера преобразования.

Рис. 4.34. При неравномерном изменении масштаба объекта размеры контейнера преобразования также меняются, но только вдоль избранной оси или пары осей
Если перетаскивать полоску-манипулятор за ее середину, то масштаб объекта будет меняться в направлении сразу обеих осей, которые соединяет эта полоска. При этом в направлении третьей оси координат, которая не меняла цвет на желтый, масштаб объекта меняться не будет. Если перетаскивать полоску за один из концов, то будет происходить масштабирование только вдоль той оси, которая ближе к выбранному концу полоски.
Для масштабирования объекта строго вдоль какой-то одной оси координат можно щелкнуть непосредственно на этой оси и перетаскивать курсор. При этом ни одна из плоскостей-манипуляторов не приобретает желтой заливки.
Как только вы отпустите кнопку мыши для завершения операции, контейнер приобретет прежние размеры и пропорции.
Несколько заданий на самостоятельную проработку
Чтобы достойно завершить эту главу, выполните самостоятельно несколько заданий, цель которых — помочь вам убедиться в понимании тонкостей применения текстурных карт и создания многокомпонентных материалов.
Попробуйте проделать самостоятельно следующие действия:
1. Попытайтесь смоделировать двери со стеклами на створках, применив к объектам, изображающим створки дверей, материал типа «Дерево + стекло». Нужно только подготовить сетки створок дверей соответствующим образом, аккуратно назначив граням нужные идентификаторы материала.
2. Попробуйте создать и назначить материалы Деду Морозу, стоящему возле елки. Многокомпонентный материал для шубы и шапки Деда Мороза должен состоять всего из двух компонентов, скажем, красного и белого цветов. Красный материал будет применен к полам шубы, рукавицам и верху шапки, а белый будет изображать меховую оторочку. Можете добавить в состав этих материалов текстуры на свой вкус. Материал для головы Деда Мороза должен включать три компонента: телесного цвета — для лица, белого — для усов и бороды и черного — для глаз. Прототипы соответствующих материалов под именами Shuba и Golova можно найти в библиотеке MAX-kafe.mat. Кстати, в этой библиотеке при желании вы найдете также и материалы Valenki, Meshok и Kristall posoha, назначение которых ясно из их названий. На рис. 14.84 показано, как могла бы выглядеть в интерьере кафе «МАХ» фигурка Деда Мороза после нанесения материалов.

Рис. 14.84. Вариант внешнего вида фигурки Деда Мороза после нанесения материалов
3. Подготовьте многокомпонентные материалы для раскраски елочных шаров, ветвей и ствола самой елки. Материал, предназначенный для елочных игрушек-шаров, должен состоять из двух компонентов, первый из которых будет имитировать зеркальное цветное стекло, а второй — золотистый металлический колпачок наверху шариков. Не рекомендую вам использовать в материале шариков карту трассируемой текстуры для имитации отражения, так как сцена и без того перенасыщена подобными текстурами. Так как шарики не представлены крупным планом, проще сымитировать отражения с помощью растровой текстуры. В качестве материала для золотистых колпачков используйте готовый материал Pozolota. Модель елки изначально снабжена многокомпонентным материалом из 17 компонентов. Среди них вас будут интересовать только материалы № 4 и 5, имитирующие ствол и ветки, а также № 16, изображающий иголки на ветвях ели. В основу материалов для ствола и ветвей положите растровую текстуру с рисунком еловой коры из файла Bark4.jpg, имеющегося в папке Maps\Wood компакт-диска, прилагающегося к книге. Поместите эту текстуру в канал цвета диффузного рассеивания. Для имитации иголок елки примените две растровые текстурные карты, также имеющиеся в папке Maps компакт-диска, прилагающегося к книге. Одну, с изображением зеленой еловой веточки, хранящуюся в файле lgolki.tif, поместите в канал цвета диффузного рассеивания того компонента материала, который будет применен к веткам елки. Другую текстуру, из файла lgolki(Opacity).tif, с черно-белым изображением той же еловой ветки, поместите в канал Opacity (Непрозрачность). Если не сможете проделать это самостоятельно, загляните в библиотеку MAX-kafe.mat, найдите там многокомпонентный материал Yolka и разберитесь в его структуре. На рис. 14.85 показано, как может выглядеть наша новогодняя елка с игрушками в интерьере кафе.

Рис. 14.85. Новогодняя елка с ее убранством после нанесения материалов
4. Создайте многокомпонентный материал для камина нашего кафе. В этой работе есть две особенности. Во-первых, использование для наружной облицовки камина материала с характерным узором кирпичной кладки (можете применить растровую текстуру Yellobrk.jpg, имеющуюся в папке Maps\Brick стандартных текстур max 7.5) требует тщательной подгонки кратности текстуры и положения рисунка в пределах поверхностей объекта, иначе разрывы рисунка на краях объекта будут слишком очевидны. Можете попробовать применить при нанесении материала на поверхности камина метод назначения объекту нескольких модификаторов плоской проекции, как было описано выше в разделе «Применение нескольких модификаторов проекций к одному объекту». Образец той же самой растровой текстуры поместите в канал Bump (Рельефность), чтобы швы между кирпичами выглядели более выразительно. Во-вторых, в составе материала, выстилающего внутренние поверхности топки камина, имеет смысл заменить цвет диффузного рассеивания текстурной картой типа Noise (Неоднородности). В самой карте случайных пятен замените белый цвет текстурой красной кирпичной кладки, применив, скажем, растровую текстуру Brkwea.jpg. Такой прием позволит создать впечатление, что стенки топки покрыты пятнами копоти, как это и должно быть на самом деле. Примерный вид камина после нанесения материалов показан на рис. 14.86. После того как у вас что-то получится, можете сравнить свой результат с готовым материалом, который хранится под именем Kamin в библиотеке MAX-kafe.mat.

Рис. 14.86. Вариант нанесения текстуры кирпичной кладки на поверхности камина
5. Чтобы убедиться, что созданные нами материалы имеют более широкое применение, чем то, какое мы им уготовили в сцене «МАХ-кафе», попробуйте назначить материалы шахматным фигурам и доске, на которой они расставлены. Необходимый для этого файл сцены под именем Shahmati.max вы можете найти в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге. Ко всем фигурам одного цвета, кроме ферзя и короля, примените стандартный материал с текстурой темного дерева типа Duboviy кар, к фигурам другого цвета — материал с текстурой светлого дерева, наподобие материала lasenevaia doska. Для ферзей и королей, на «головах» которых должны красоваться маленькие золотые короны, создайте два многокомпонентных материала. Один — из стандартных материалов Duboviy кар и Pozolota, а второй — из материалов lasenevaia doska и Pozolota. Для шахматной доски создайте многокомпонентный материал из двух компонентов. В качестве первого, который должен быть нанесен на все поверхности доски, кроме шахматного поля, используйте все тот же материал с текстурой светлого дерева lasenevaia doska. В качестве второго компонента примените стандартный материал Parket. Тщательно настройте счетчики группы Tiling (Кратность), чтобы вписать в пределы шахматного поля точно 8x8 клеток «паркета». Проделав всю эту работу, можете сопоставить получившийся результат с готовой сценой, к которой применены все описанные материалы. Такая сцена, результат визуализации которой показан на рис. 14.87, хранится под именем Shahmati01.max в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге.

Рис. 14.87. Шахматы после применения материалов к фигурам и доске
Объекты категории Geometry (Геометрия)
В данную категорию входят объекты, предназначенные для построения геометрической модели трехмерной сцены и подразделяемые на следующие разновидности:
Standard Primitives (Стандартные примитивы) - это трехмерные тела правильной геометрической формы, такие как параллелепипед, сфера или тор. В число стандартных примитивов исторически входит также объект, представляющий собой чайник с носиком, ручкой и крышкой (рис. 2.17; на компакт- диске в папке lmages\Glava_02 есть цветные варианты этого и последующих рисунков, а в папке Scenes\Glava_02 — файлы сцен, по которым они были визуализированы);

Рис. 2.17. Стандартные примитивы
Extended Primitives (Улучшенные примитивы) — это также трехмерные тела, но обладающие несколько более сложной формой и характеризуемые большим числом параметров, чем стандартные примитивы. К их числу относятся такие объекты, как параллелепипед или цилиндр с фасками, многогранник, тороидальный узел и т. п. (рис. 2.18);

Рис. 2.18. Улучшенные примитивы
Compound Objects (Составные объекты) — это трехмерные тела, составленные из двух или более простых объектов, как правило, объектов-примитивов (рис. 2.19). В данную разновидность входят также объекты типа Loft (Лофтин-говые) — трехмерные тела, которые строятся методом лофтинга, то есть путем формирования оболочки по опорным сечениям, расставляемым вдоль заданной траектории (рис. 2.20);

Рис. 2.19. Составные объекты

Рис. 2.20. Объекты, построенные методом лофтинга
Particle Systems (Системы частиц) — это источники множества мелких двумерных или трехмерных частиц, призванных имитировать такие природные объекты, как пыль, дым, снег, брызги воды, воздушные пузырьки или искры огня (рис. 2.21). На прилагающемся к книге компакт-диске в папке Animations\Glava_02 находится файл Chasticy.avi, позволяющий увидеть системы частиц в действии;

Рис. 2.21. Системы частиц
Patch Grids (Сетки кусков) — это поверхности, состоящие из кусков Безье, форма и кривизна которых может регулироваться за счет манипулирования управляющими точками. С помощью сеток кусков Безье удобно моделировать поверхности с плавно меняющейся кривизной (рис. 2.22);

Рис. 2.22. Так выглядят сетки кусков Безье в окне проекции (слева), а так — после визуализации (справа)
NURBS Surfaces (NURBS-поверхно-сти) — это поверхности, форма которых описывается специальными математическими выражениями — неоднородными рациональными В-сплайнами {Non-Uniform Rational В-Splines — NURBS). В зависимости от типа NURBS-поверхностей они или проходят через все точки, заданные в пространстве сцены, или плавно огибают их. Такие поверхности наилучшим образом подходят для моделирования объектов сложной формы, свойственных живой и неживой природе (рис. 2.23);

Рис. 2.23. NURBS-поверхность позволяет моделировать даже складки ткани (слева — в окне проекции, справа — после визуализации с применением материала)
Doors (Двери) и Windows (Окна) — разновидности стандартных объектов, позволяющие без труда создавать такие достаточно сложные архитектурные элементы, как двери и окна различных типов (рис. 2.24), которые могут открываться и закрываться в процессе анимации;

Рис. 2.24. Окна и двери
Dynamics Objects (Динамические объекты) - это специфическая разновидность стандартных объектов, позволяющая с легкостью моделировать два типа механических устройств: пружины и амортизаторы (рис. 2.25). Эти объекты не просто похожи на свои реальные прототипы по виду, но и позволяют при анимации физически правдоподобно реагировать на действующие на них воображаемые силы;

Рис. 2.25. Динамические объекты
АЕС Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) — это разновидности стандартных объектов, позволяющих создавать такие специфические объекты, которые применяются в архитектурном моделировании, как Railing (Ограда), Wall (Стена) Foliage (Растительность) (рис. 2.26). Последний используется, в частности, для оформления экстерье-ров (хотя небольшую пальму можно посадить и в трехмерном офисе);

Рис. 2.26. Улучшенные объекты для архитектурных, инженерных и конструкторских работ
Stairs (Лестницы) — это разновидность стандартных объектов, позволяющая моделировать разнообразные типы лестниц (рис. 2.27): Spiral (Винтовые), Straight (Прямые) и другой формы.

Рис. 2.27. Разные типы лестниц
Объекты категории Helpers (Вспомогательные объекты)
В данную категорию входят объекты, которые не включаются в итоговое изображение сцепы и предназначены для упрощения задачи ее моделирования или анимации. Из восьми разновидностей вспомогательных объектов нас будут интересовать лишь некоторые, востребуемые по мере необходимости:
Standard (Стандартные) — это объекты, используемые как вспомогательные при разработке и анимации геометрических моделей;
Atmospheric Apparatus (Атмосферная оснастка) — объекты, предназначенные для локализации областей проявления эффектов окружающей среды;
Camera Match (Горизонт камеры) — группа объектов, которая облегчает согласование линии горизонта виртуальной камеры с линией горизонта фона сцены в случае, если трехмерные модели визуализируются на фоне фотографии или видеоролика;
Assembly Heads (Головные объекты сборок) — это объекты, призванные управлять общими свойствами разновидности групп объектов под названием сборки;
Manipulators (Манипуляторы) — объекты, предназначенные для создания прямо в окнах проекций таких элементов управления параметрами других объектов, как, скажем, ползунок или джойстик;
Particle Flow (Поток частиц) — объекты, предназначенные для помощи в настройке объекта PF Source (Источник потока частиц), который предлагает мощные инструменты управления частицами в сцене;
VRML97 — объекты, которые используются при моделировании тех трехмерных сцен, которые впоследствии планируется экспортировать в формат языка VRML (Virtual Reality Modeling Language) стандарта 97;
reactor (Реактор) - разновидность объектов, которые используются при создании динамики в трехмерных сценах средствами модуля reactor (Реактор).
Объекты категории Shapes (Формы)
К данной категории относятся различные типы линий, образующих разомкнутые или замкнутые двумерные фигуры (только один тип линии размещается в трехмерном пространстве — это спираль). Формы обычно используются в качестве заготовок, которые могут различными способами преобразовываться в трехмерные тела, хотя могут и самостоятельно визуализироваться в составе сцены. Представлены формы тремя разновидностями объектов:
Splines (Сплайны) — это стандартные двумерные геометрические фигуры, такие как прямоугольник, эллипс или звезда, а также линии произвольной кривизны и контуры текстовых символов (рис. 2.28);

Рис. 2.28. Примеры двумерных сплайнов
NURBS Curves (NURBS-кривые) — это разновидность линий, позволяющих строить плавные, не имеющие изломов кривые. NURBS-кривые или проходят через все опорные точки, обозначенные в пространстве сцены, или плавно огибают их.
Extended Splines (Улучшенные сплайны) — это дополнительные двумерные геометрические фигуры, имеющие более гибкие, по сравнению с обычными, возможности настройки, а также более сложную форму (рис. 2.29).

Рис. 2.29. Примеры улучшенных сплайнов
Объекты категории Space Warps (Объемные деформации)
В данную категорию входят объекты, предназначенные для имитации действия различных сил на геометрические модели или частицы, попадающие под влияние «силового поля». Это позволяет имитировать действие сил тяжести или ветра на системы частиц или, скажем, деформировать поверхность плоского объекта, изображающего воду, для моделирования ветровых волн или кругов от брошенного камня. Источники объемных деформаций изображаются в окнах проекций в виде условных значков, но не включаются в итоговое изображение сцены. В max 7.5 имеется семь разновидностей объемных деформаций:
Forces (Силы) — позволяют имитировать действие на объекты геометрической модели сцены различных сил, таких как давление, тяжесть, тяга, вращающий момент и т. п.;
Geometric/Deformable (Деформируемая геометрия) и Modifier-Based (На базе модификаторов) — различным образом деформируют геометрические модели объектов;
Particles & Dynamics (Частицы и динамика) — оказывают силовые воздействия на отдельные частицы в системах частиц;
Deflectors (Отражатели) — позволяют достоверно имитировать столкновения объектов с воспроизведением при необходимости упругого отскока;
reactor (Реактор) - в эту группу входит единственная объемная деформация Water (Вода), которая предназначена для реалистичной имитации взаимодействия тел с водой — плавания, затопления, преодоления лобового сопротивления и т. п., осуществляемой с использованием дополнительного модуля reactor (Реактор) из комплекта поставки max 7.5.
Объекты категории Systems (Системы)
Каждый тип систем представляет собой совокупность связанных между собой объектов, снабженных набором параметров, обеспечивающих анимацию системы. Данная категория изначально предназначена для включения в нее объектов, создаваемых дополнительными программными модулями. В комплект поставки max 7.5 входят четыре типа систем:
Bones (Кости) — позволяет создавать иерархически связанные цепочки рычагов, напоминающих кости скелета и используемых при анимации моделей живых существ или механических устройств (рис. 2.32). Эти объекты не только видны в окнах проекций, но также могут визуализироваться и обладают множеством параметров для настройки;

Рис. 2.32. Система объектов типа Bones, изображающих упрощенный скелет руки компьютерного персонажа
Ring Array (Хоровод) — позволяет создавать набор из заданного числа объектов, упорядочение расположенных по окружности указанного радиуса, и выполнять анимацию движений этих объектов (рис. 2.33);

Рис. 2.33. «Хоровод» из 20 объектов
Sunlight (Солнечный свет) — позволяет создать источник параллельных световых лучей, имитирующий солнечное освещение, а также воспроизводящий движение солнца с учетом географического положения, времени года и суток моделируемой сцены (рис. 2.34);

Рис. 2.34. Так выглядит в окне проекции источник света — имитатор корректного солнечного освещения
Daylight (Дневной свет) — позволяет создать сразу два связанных осветителя, причем не простых, а фотометрических, то есть позволяющих рассчитывать освещенность с физической точностью: имитатор солнечного освещения, воспроизводящий движение солнца с учетом географического положения, времени года и суток моделируемой сцены и имитатор рассеянного света небосвода (рис. 2.35).

Рис. 2.35. Так выглядят в окне проекции объекты, входящие в состав системы осветителей Daylight
Объекты категорий Lights (Источники света) и Cameras (Камеры)
В данные категории входят объекты, предназначенные для имитации различных источников освещения сцены и для наблюдения сцены через объективы воображаемых съемочных камер. Эти объекты не отображаются на итоговом визуализированном изображении сцены — их можно видеть только в окнах проекций. На рис. 2.30 и 2.31 показано, как выглядят подобные объекты на экране max 7.5. Значок виртуальной съемочной камеры сделан в max 7.5 так, что камера выглядит почти как настоящая кинокамера: с контейнерами для катушек с пленкой и раструбом бленды на конце объектива (см. рис. 2.31). Не берусь судить, насколько это будет способствовать эффективности работы с камерами, но выглядят значки забавно.

Рис. 2.30. Значки источников света разного типа

Рис. 2.31. Значки съемочных камер в max 7.5 сделаны более похожими на реальные кинокамеры
Источники света и камеры могут быть нацеленными и свободными. Нацеленные источники света и камеры характеризуются наличием мишени {target) - точечного объекта, на который нацелена ось пучка световых лучей или линия визирования камеры. Свободные источники света и камеры не имеют мишеней.
| ЗАМЕЧАНИЕ Для наглядности размер значков осветителей и камер на рис. 2.30 и 2.31 был увеличен в три раза по сравнению с принятым по умолчанию за счет установки значения 3 в счетчике Non-scaling object size (Размер немасштабируемых объектов) на вкладке Viewports (Окна проекций) окна диалога Preference Settings (Настройка параметров), вызываемого по команде меню Customize > Preferences (Настройка > Параметры). |
Объекты-примитивы
Объекты-примитивы изначально создаются как трехмерные тела (только один «нетипичный» примитив не является трехмерным: объект Plane — Плоскость). Строгая геометрическая форма примитивов заставляет применять их в первую очередь для моделирования рукотворных объектов окружающего мира: фрагментов зданий и архитектурных сооружений, элементов строительных конструкций, деталей мебели, механизмов, машин и т. п. При этом примитивы обычно используются не по отдельности, а как элементарные части более сложных по структуре составных объектов {compound objects).
Приемы создания стандартных и улучшенных примитивов мы рассмотрим в этой главе, а составных объектов — в главе 7.
Объемная деформация water
Для доступа к инструменту создания объемной деформации Water (Вода) можно щелкнуть на кнопке Space Warps (Объемные деформации) командной панели Create (Создать) и выбрать в раскрывающемся списке строку reactor (Реактор). В появляющемся после этого свитке Object Type (Тип объекта) имеется единственная кнопка Water (Вода). Для создания этой объемной деформации можно также использовать команду меню reactor (Реактор) и кнопку панели инструментов reactor (Реактор).
Обеспечение доступа к объектам в группе
Для обеспечения доступа к отдельным объектам группы с целью применения к ним преобразований или модификаторов, не затрагивающих остальные объекты, группа должна быть открыта. После выполнения необходимых операций над отдельными объектами группа должна быть вновь закрыта.
Чтобы временно открыть и вновь закрыть группу, выполните следующие действия:
1. Выделите одну или несколько групп.
2. Выберите команду меню Group > Open (Группа > Открыть группу). Объекты из состава открытой группы в окнах проекций заключаются в параллелепипед коричневого цвета (рис. 4.21). Этот параллелепипед представляет собой не что иное, как вспомогательный объект типа Dummy (Пустышка), являющийся родительским по отношению ко всей совокупности объектов, входящих в группу. В открытой группе можно выделять отдельные объекты и редактировать их обычным порядком.

Рис. 4.21. Открытая группа, в которой выделен один из объектов
3. Чтобы открыть вложенную группу, откройте составную группу, затем выделите вложенную группу и снова примените команду Group > Open (Группа > Открыть группу).
Открыв группу, примените нужные преобразования к отдельным объектам открытой группы, после чего закройте ее. Для этого выполните следующие действия:
1. Выделите параллелепипед коричневого цвета, охватывающий объекты открытой группы. Он станет белым.
2. Выберите команду меню Group > Close (Группа > Закрыть группу).
Области применения трехмерной графики
Рассмотрим несколько типовых областей применения трехмерной графики. Разумеется, приводимый перечень нельзя считать исчерпывающим, и вы можете найти программе 3ds max 7.5 новое применение, которое посчитаете более интересным.
Компьютерное проектирование
Вы хотите представить, как будут смотреться на стенах вашей комнаты те или иные обои при дневном свете и вечером, когда включена люстра или стоящий в углу комнаты торшер? А может быть, вы хотите заранее представить, как будет выглядеть ваша квартира или офис после расстановки в них новой мебели? ЗD-графика поможет вам сравнительно быстро и без особых затрат решить такие задачи, относящиеся к области проектирования интерьеров.
ЗD-графика поможет в случаях, когда требуется встроить воображаемую сцену в изображение реального мира. Такая ситуация типична для задач архитектурного проектирования. Одно дело — разглядывать чертеж будущего здания на листе ватмана (это задача для специалистов), и совсем другое дело — видеть зримый трехмерный образ этого здания на фоне реальной застройки с учетом естественного или электрического освещения и теней. В данном случае ЗD-графика устраняет необходимость создания макета и обеспечивает гибкие возможности синтеза изображения сцены для любых погодных условий и под любым углом зрения.
Можно представить и иную ситуацию: не воображаемый объект встраивается в реальный фон, а наоборот, изображение реального объекта встраивается в трехмерную сцену как ее составная часть. Такой способ использования ЗD-графики применяют, например, для создания виртуальных выставочных залов или галерей, по стенам которых развешаны изображения реальных картин. «Бродя» по таким залам, вы можете приблизиться к каждой картине и рассмотреть ее во всех подробностях.
К области автоматизированного проектирования с помощью компьютера (Computer Aided Design — CAD) относятся также применения ЗD-графики в целях синтеза внешнего вида сложных отливок, деталей, изготовляемых методами штамповки, токарных и фрезерных операций, визуального облика проектируемых автомобилей, катеров, самолетов и т. п. Создание трехмерных образов деталей и конструкций — хотя и непростая в целом, но все же менее трудоемкая задача, чем изготовление масштабных или полноразмерных макетов таких объектов.
Компьютерные игры
Разумеется, компьютерные игры — одна из наиболее широких и испытанных областей применения ЗD-графики. Уж если вы потратили массу сил на создание виртуального мира, то почему бы не населить его виртуальными трехмерными персонажами и не заставить их действовать в соответствии с лихим детективным сценарием? По мере совершенствования программных средств моделирования трехмерной графики, роста производительности и увеличения ресурсов памяти компьютеров виртуальные трехмерные миры, в которых действуют персонажи компьютерных игр, становятся все более сложными и похожими на реальную действительность. С точки зрения трехмерной графики игра «Doom» является еще далеко не лучшим, хотя и ярким образцом. Взгляните на игру «Myst». Потрясающее качество проработки используемых в этой игре трехмерных сцен и материалов, впечатляющие эффекты освещения и анимации в совокупности позволили создать невообразимо красивые загадочные миры, выглядящие совершенно реально.
Комбинированная съемка
Трехмерная графика помогает и там, где выполнение реальной фотосъемки невозможно, затруднительно или требует значительных материальных затрат, а также позволяет синтезировать изображения событий, которые не встречаются в обыденной жизни.
Например, с помощью ЗD-графики можно «заглянуть» внутрь работающего автомобильного двигателя, воссоздать научно-фантастический сюжет из далекого прошлого Земли, вроде прогулки с динозаврами, или из ее туманного будущего, а то и воплотить родившийся в воображении образ неведомых миров, где нам с вами (ну, по крайней мере, мне-то уж точно) дано побывать только мысленно.
Виртуальные объекты не имеют таких физических характеристик, как вес или жесткость, поэтому средствами 3D-графики легко заставить слона «парить» в воздухе, помахивая ушами, или позволить крокодилу «высунуть» голову из экрана телевизора, как в известных образцах рекламы.
|
ЗАМЕЧАНИЕ В программе 3ds max 7.5 имеются средства, позволяющие имитировать действие на трехмерные объекты таких физических сил, как тяжесть, сопротивление воздуха, ветровое давление, трение или инерция, а также воспроизводить результаты столкновений объектов. |
Практическими областями использования ЗD-графики для комбинированной съемки и создания научно-фантастических сюжетов являются киносъемка с включением анимационных эффектов (примерами могут служить фильмы «Звездный десант» и «Звездные войны», «Парк Юрского периода», «Джуманджи», «Мумия» или «Стюарт младший»), создание видеотренажеров для обучения пилотов или автоводителей, книжная и журнальная графика, популяризация науки, реклама и художественное творчество.
Компьютерная мультипликация
Главные аргументы в пользу ЗD-графики появляются тогда, когда речь заходит не о синтезе отдельного фотореалистичного изображения трехмерной сцены, а о создании компьютерной мультипликации.
Те, кто хотя бы немного знаком с технологией создания мультипликационного, или, как его еще называют, анимационного кино, знают, каких трудов стоит заставить персонаж фильма совершить простейшее движение на экране. Каждое элементарное движение разбивается на целый ряд промежуточных стадий, изображаемых в виде отдельных кадров. Затем эти кадры снимаются на кино- или видеопленку и воспроизводятся на экране один за другим, создавая иллюзию движения. При типичной скорости воспроизведения 30 кадров в секунду для мультика продолжительностью всего 10 секунд требуется нарисовать 300 кадров! 3ds max 7.5 позволяет существенно упростить работу над подобными мультипликационными видеофрагментами за счет использования методов анимации трехмерных сцен, введением в которые служит следующий раздел главы.
Областями использования 3D-графики для создания компьютерной мультипликации являются киноиндустрия (вы наверняка видели хотя бы один из таких фильмов, целиком снятых средствами трехмерной компьютерной графики, как «Суперсемейка» («The Incredibles»), «В поисках Немо» («Finding Nemo»), «Роботы» («The Robots»), « Корпорация монстров» («Monster Corporation»), «Шрек» («Shrek») или «Ледниковый период» («Ice Age»)), телевизионная реклама, подготовка видеороликов на научно-популярные или фантастические сюжеты, съемка клипов-прологов к компьютерным играм, разработка анимированных логотипов компаний и т. п.
Оболочки: вершины, ребра, грани...
В программе 3ds max 7.5 оболочки всех объектов, независимо от их формы, состоят в конечном счете из треугольных граней (faces), образующих сетку (mesh) с треугольными ячейками, как показано на рис. 1.9.

Рис.1.9. Оболочки объектов любой формы представлены сетками с треугольными ячейками
Каждая грань имеет три вершины (vertices) и три ребра (edges), соединяющих эти вершины. Смежные грани, лежащие в одной плоскости, образуют многоугольник или полигон (polygon). Начиная с четвертой версии в программе 3ds max появился новый тип объектов, в оболочках которых минимальным редактируемым плоским фрагментом является именно полигон, а не треугольная грань. Сетку, образованную из полигонов, называют редактируемой полисеткой (editable poly). В чем состоит удобство использования полисеток по сравнению с традиционными сетками, вам, надеюсь, станет понятно в ходе прочтения последующих глав книги. Несмотря на то что полигон как минимальную ячейку полисетки можно выделить только целиком, он все равно разбивается программой на треугольные грани, недоступные для редактирования.
Ребра между гранями, не лежащими в одной плоскости, изображаются на сетке сплошными линиями, а между гранями, лежащими в одной плоскости, — пунктиром, как показано на рис. 1.10, демонстрирующим увеличенный фрагмент сферической оболочки. На этом рисунке изображен еще один важный элемент грани — ее нормаль (normal), то есть перпендикуляр к поверхности грани. Нормаль позволяет определить, будет данная грань видимой или нет. Видимыми считаются только те грани, нормали которых направлены в сторону наблюдателя. Если нормаль грани перпендикулярна линии взгляда или направлена от наблюдателя, то грань перестает быть видимой. Например, если бы вы заглянули внутрь объекта-сферы (а это легко сделать в 3ds max 7.5 с помощью модели съемочной камеры), то были бы разочарованы, не увидев ничего. Все грани сферы видны только снаружи.
| ЗАМЕЧАНИЕ При просмотре сцены в окнах проекций и при ее визуализации можно включать режим, делающий видимыми обе стороны граней. Об этом вы узнаете в главе 3, «Осваиваем настройку max 7.5 и работу с файлами». Кроме того, материалам 3ds max 7.5 можно назначать свойство двусторонней видимости. |

Рис.1.10. Сетка оболочки состоит из граней, задаваемых своими вершинами, ребрами и нормалями
В программе 3ds max 7.5 каждая грань задается координатами своих вершин — как известно, положение любой точки в трехмерном пространстве можно задать тройкой координат: (X, Y, Z). Таким образом, даже для такого простейшего трехмерного объекта, как прямоугольный параллелепипед, программе приходится хранить координаты 8 вершин, то есть 8 троек чисел, с указанием того, какие из этих троек образуют каждую из 12 треугольных граней параллелепипеда. Сложные сцены иногда содержат в своем составе сотни тысяч граней, так что можете представить, какую работу приходится производить компьютеру при визуализации таких сцен!
Зачем же нужно разбивать оболочки на грани? Это делается из соображений единообразия. Точки поверхностей тел простой формы, таких как сфера, цилиндр или конус, можно было задать и не разбивая эти поверхности на грани, но в реальной жизни объекты правильной геометрической формы встречаются редко. Пришлось бы разрабатывать и использовать разные подходы к описанию поверхностей тел простой формы и всех остальных объектов, имеющих произвольную конфигурацию.
Почему используются грани именно треугольной формы? Это просто: через три точки в трехмерном пространстве всегда можно провести плоскость, и притом только одну. Если бы нам приходилось разбивать поверхности объектов на грани вручную, то каждому пользователю 3ds max 7.5 пришлось бы осваивать смежную профессию огранщика алмазов. Само по себе это, может быть, и не плохо, да вот только процесс моделирования мог бы оказаться слишком сложным. К счастью, программа производит такое разбиение самостоятельно.
Образцы модификаторов и стеки объектов-образцов
Имена модификаторов в стеке могут отображаться не только нормальным шрифтом, но также полужирным или курсивом. Отображение имен модификаторов курсивом, как, например, в случае с модификатором Bend (Изгиб) на рис. 8.4, означает, что данные модификаторы являются копиями-образцами и используются одновременно стеками нескольких объектов сцены. Дело в том, что модификаторы со всеми присвоенными им параметрами можно копировать с объекта на объект. Простое копирование разрывает связь модификатора-копии с оригиналом, а копирование в виде образца сохраняет связь модификаторов, назначенных разным объектам. В этом случае изменение параметров любого из модификаторов-образцов сказывается на всех остальных дубликатах-образцах этого модификатора. Это иногда бывает удобно, если приходится настраивать параметры большого количества сходных объектов, например листьев на деревьях или травинок на лужайке.
Для копирования модификаторов одного объекта и применения их к другому проделайте следующее:
1. Выделите в сцене объект, имеющий стек с одним или несколькими модификаторами. Перейдите на командную панель Modify (Изменить) и выделите имя нужного модификатора в стеке объекта. Можно выделить группу из нескольких модификаторов, не обязательно расположенных в стеке последовательно, щелкая на них при удерживаемой клавише Ctrl. Щелкните на имени выделенного модификатора правой кнопкой мыши. Появится контекстное меню модификатора, показанное на рис. 8.5.

Рис. 8.5. Контекстное меню модификатора содержит команды, позволяющие копировать, вставлять, переименовывать, удалять модификаторы и производить ряд других операций
2. Выберите в меню команду Сору (Копировать). Модификатор скопирован, теперь его можно вставить в стек другого объекта. Переместите курсор в окно проекции и выделите нужный объект. Вновь вернитесь на командную панель Modify (Изменить), выделите в стеке текущего объекта строку, над которой должен быть вставлен скопированный модификатор. Щелкните правой кнопкой мыши на выделенной строке стека и выберите в появившемся меню, аналогичном показанному на рис. 8.5, команду Paste (Вставить). Чтобы вставить в стек образец, а не копию модификатора, выберите в меню команду Paste Instanced (Вставить как образец). В этом случае имя модификатора отобразится в стеке курсивом.
| ЗАМЕЧАНИЕ Модификаторы можно копировать с объекта на объект и простым перетаскиванием с помощью мыши. Выделите объект, выделите в его стеке нужный модификатор, щелкните на нем, перетащите в окно проекции, положите поверх другого объекта и отпустите кнопку мыши. Новый объект выделится, а перетащенный модификатор появится наверху стека этого объекта. |
Отображение всех строк стека жирным шрифтом указывает на то, что это стек объекта, представляющего собой дубликат-образец. Все образцы используют один и тот же общий стек модификаторов, вот почему применение модификатора к любому из образцов или к объекту-оригиналу сразу же сказывается на всех остальных. Попробуйте, к примеру, выделить у использованного нами ранее объекта Kreslo.max одну из боковин, которые являются копиями-образцами. Вы увидите, что стек модификаторов каждой боковины состоит из строк Line (Линия) и Extrude (Выдавливание), отображаемых жирным шрифтом.
Общие действия по созданию анимаций с помощью модуля reactor
Чтобы создать анимацию с использованием модуля reactor (Реактор), необходимо в общем случае выполнить следующие действия:
1. Создайте геометрическую модель трехмерной сцены. Следует иметь в виду, что единственной силой, действующей на объекты по умолчанию, является сила тяжести. Поэтому, чтобы получить при имитации динамики модулем reactor (Реактор) какое-то действие в сцене, необходимо располагать объекты в состоянии неустойчивого равновесия. Например, приподнять часть объектов над плоскостью опорной поверхности или наклонить их так, чтобы они начали падать, поместить объекты на наклонной плоскости, чтобы они начали скользить и т. п. При необходимости настройте предварительную анимацию объектов традиционными средствами. Например, придайте объектам сцены, которые должны столкнуться, поступательное движение. Добавьте в состав сцепы хотя бы одну камеру и осветители и настройте их положение и ориентацию.
2. При необходимости смоделировать мягкие тела, ткани и нити примените к объектам, которые должны изображать такие деформируемые тела, модификаторы reactor SoftBody (Реактор: Мягкое тело), reactor Clothe (Реактор: Ткань) и reactor Rope (Реактор: Нить).
3. Добавьте в состав сцены вспомогательные объекты-коллекции в соответствии с тем, тела каких типов вы собираетесь имитировать. Например, если в составе сцены будут только жесткие тела, добавьте только вспомогательный объект Rigid Body Collection (Коллекция жестких тел). Если в составе сцены будут жесткие тела и ткани, добавьте коллекции Rigid Body Collection (Коллекция жестких тел) и Cloth Collection (Коллекция тканей) и т. п. Поместите объекты геометрической модели сцены в списки соответствующих коллекций.
4. При необходимости добавьте в состав сцены простые или объединенные ограничители. Укажите для каждого из ограничителей объекты сцены, на которые они будут действовать. Если в состав сцены будут включены объединенные ограничители, добавьте еще вспомогательный объект Constraint Solver (Решение ограничений). В список этого объекта на панели Modify (Изменить) поместите имена всех объединенных ограничителей сцены. С помощью кнопки RB Collection (Коллекция жестких тел) укажите данному решению на имеющуюся в составе сцены коллекцию жестких тел.
5. Переключитесь на командную панель Utilities (Утилиты) и запустите утилиту reactor (Реактор). Настройте индивидуальные физические свойства каждого из объектов сцены, которые должны будут играть роль жестких тел, используя свиток Properties (Свойства) этой утилиты, показанный на рис. 17.7. С той же целью можно использовать окно диалога Rigid Body Properties (Свойства жестких тел), вызываемое по команде меню reactor > Open Property Editor (Реактор > Открыть Редактор свойств) или щелчком на кнопке с таким же названием панели инструментов reactor (Реактор). Группа параметров Physical Properties (Физические свойства) свитка Properties (Свойства) утилиты reactor (Реактор) позволяет настроить следующие свойства жестких тел:

Рис. 17.7. Свиток Properties утилиты reactor на командной панели Utilities
Mass (Масса) — масса тела в килограммах. Если для жесткого тела указана нулевая масса, такое тело остается абсолютно неподвижным при анимации. Чтобы задавать массу тела не произвольно, а исходя из физических принципов, следует использовать величину плотности вещества. Перемножьте объем тела в кубических метрах на взятую из справочника по физике плотность в килограммах на кубический метр и получите массу тела в килограммах, которую и следует ввести в поле параметра Mass (Масса). Для измерения объема трехмерного тела установите в качестве единиц измерения метры, выделите тело и щелкните на кнопке Measure (Измерить) на командной панели Utilities (Утилиты). Прочитайте объем тела в строке параметра Volume (Объем);
Elasticity (Эластичность) — свойство, определяющее способность жестких тел к отскоку при столкновении. Меняется от 0 до 5. При столкновении двух жестких тел па результат влияют величины эластичности каждого из них;
Friction (Трение) — коэффициент трения. Меняется от 0 до 1. При скольжении одного жесткого тела по поверхности другого имеют значение величины коэффициента трения каждого из них.
Четыре флажка под счетчиками позволяют включать и выключать следующие свойства жестких тел:
Inactive (Неактивно) — установка этого флажка заставляет жесткое тело вступать в анимацию, рассчитываемую модулем reactor (Реактор), как неактивное. На такое тело не действуют сила тяжести, давление ветра или крутящий момент, даже если у него есть ненулевая масса, пока какие-то другие тела не вступят с ним в столкновение. После этого тело автоматически активизируется;
Disable All Collisions (Отменить все столкновения) — установка этого флажка исключает участие жесткого тела в столкновениях с другими телами, которые будут свободно проникать сквозь него;
Unyielding (Неподатливо) — этот флажок устанавливают для объектов, имеющих анимацию, созданную средствами программы max 7.5, если требуется, чтобы жесткое тело при анимации модулем reactor (Реактор) сохраняло свое поведение, определяющееся ключами анимации max 7.5. При этом сохраняется возможность других жестких и деформируемых тел взаимодействовать с данным телом;
Phantom (Фантом) — жесткие тела, для которых установлен этот флажок, не участвуют в столкновениях с другими жесткими телами, проходя сквозь них. Однако тела-фантомы запоминают информацию о столкновениях, которую затем можно использовать.
6. Для каждого из жестких тел укажите, является ли оно выпуклым или вогнутым, используя средства управления из раздела Simulation Geometry (Моделируемая геометрия) свитка Properties (Свойства).
7. Настройте физические свойства мягких тел, тканей и нитей, используя для этого свиток Properties (Свойства) соответствующего модификатора, примененного к таким телам, появляющийся на командной панели Modify (Изменить).
8. Чтобы изображение в окне предварительного просмотра модуля reactor (Реактор) соответствовало виду сцены в окне камеры max 7.5, укажите нужную камеру. Для этого щелкните в свитке Display (Дисплей) командной панели Utilities (Утилиты) на кнопке с надписью None (Нет), а затем щелкните на значке камеры в любом из окон проекций (рис. 17.8). Имя камеры появится на кнопке. Для того чтобы в окне предварительного просмотра действовали осветители сцены max 7.5, щелкните в свитке Display (Дисплей) на кнопке Pick (Указать) под списком Lights (Осветители). Затем щелкните на нужном источнике света, имя которого появится в списке. Для добавления в список сразу нескольких источников света щелкните на кнопке Add (Добавить), выделите имена нужных осветителей в списке окна

Рис. 17.8. Свиток Display утилиты reactor на командной панели Utilities
Select Lights (Выделить осветители), а затем щелкните на кнопке Select (Выделить). Если в составе сцены не будет осветителей, модуль reactor (Реактор) использует встроенный прожектор.
9. На командной панели Utilities (Утилиты) щелкните на кнопке Preview in Window (Просмотреть в окне) в свитке Preview & Animation (Просмотр и анимация) (рис. 17.9), чтобы вызвать появление интерактивного окна reactor Real-Time Preview (Просмотр в реальном времени модуля Реактор).

Рис. 17.9. Свиток Preview & Animation утилиты reactor на командной панели Utilities
10. После этого может появиться окно диалога Detected Errors (Обнаруженные ошибки) с перечнем ошибок, обнаруженных модулем reactor (Реактор) в подготовленной сцене, или похожее на него окно World Analysis (Анализ реальности) с перечнем предупреждений (рис. 17.10). Для закрытия окна Detected Errors (Обнаруженные ошибки) щелкните на кнопке Close (Закрыть), а окна World Analysis (Анализ реальности) — па кнопке Cancel (Отмена). Предупреждения можно и проигнорировать, щелкнув в окне World Analysis (Анализ реальности) на кнопке Continue (Продолжить). Устраните ошибки и еще раз вызовите окно просмотра анимации. Для начала предварительного просмотра настроенной анимации нажмите клавишу Р, для восстановления исходного состояния — клавишу R. Просмотрев анимацию, закройте окно.

Рис. 17.10. Окно диалога World Analysis утилиты reactor
11. Чтобы создать ключи анимации объектов трехмерной сцены, позволяющие просматривать анимацию в окнах проекций, задайте номера начального и конечного кадров анимации в счетчиках Start Frame (Начальный кадр), End Frame (Конечный кадр) свитка Preview & Animation (Просмотр и анимация) утилиты reactor (Реактор). Щелкните на кнопке Create Animation (Создать анимацию). Появится окно предупреждения о том, что данная операция не подлежит отмене. Щелкните на кнопке ОК. Если установить флажок Update Viewports (Обновлять окна проекций), то по мере выполнения расчетов будет происходить обновление изображения сцены в окнах проекций mах 7.5. Когда анимация будет готова, выполните ее визуализацию обычным порядком.
Общие действия по созданию любых объектов-примитивов
Чтобы создать стандартный или улучшенный геометрический примитив любого типа, выполните для начала следующие действия:
1.

Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке нужную разновидность объектов — Standard Primitives (Стандартные примитивы) или Extended Primitives (Улучшенные примитивы). В свитке Object Type (Тип объекта) появятся кнопки с надписями, соответствующими типам стандартных или улучшенных примитивов.
2. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся три свитка: Creation Method (Метод создания), Keyboard Entry (Клавиатурный ввод) и Parameters (Параметры). Из всех типов рассматриваемых объектов только улучшенные примитивы Hedra (Многогранник), Ring Wave (Круговая волна) и Hose (Шланг) не имеют свитков Creation Method (Метод создания) и Keyboard Entry (Клавиатурный ввод). Назначение свитка Creation Method (Метод создания) - обеспечивать выбор метода создания примитива, зависящий от его типа, а назначение свитка Keyboard Entry (Клавиатурный ввод) было рассмотрено выше.
3. В свитке Parameters (Параметры) всех типов стандартных и улучшенных примитивов имеется флажок Generate Mapping Coords (Проекционные координаты). Установите этот флажок, если вы собираетесь применять к объекту материалы на основе текстурных карт. В этом случае вершинам оболочки объекта будут назначены проекционные координаты, необходимые для правильного нанесения текстур.
4. Большинство примитивов имеет параметры, в названия которых входят слова Segs или Segments (Сегментов), например Length Segs (Сегментов по длине) или Height Segs (Сегментов по высоте). С их помощью задается число сегментов, то есть количество граней, на которые будет разбита оболочка объекта вдоль соответствующей координаты. Увеличьте число сегментов по сравнению с принятым по умолчанию до 10-20 или более (нужное число подбирают опытным путем), если планируется последующее редактирование и модификация сетчатой оболочки объекта с целью, например, его плавного изгибания с помощью модификатора Bend (Изгиб) или формирования неровностей на его поверхности с помощью модификатора Noise (Неоднородности). Чтобы наглядно контролировать изменение числа сегментов, используйте каркасный режим отображения объектов или включите режим Edged Faces (Контуры граней) при тонированном отображении.
Дальнейшие действия различаются в зависимости от типа выбранного примитива. Мы будем рассматривать только особенности применения интерактивного метода создания объектов. Общий принцип создания примитивов методом численного ввода описан выше, а назначение используемых при этом параметров будет понятно из описания конкретных примитивов. Опорные точки объектов-примитивов различного типа располагаются в разных частях объекта, но всегда размещаются на координатной плоскости активного окна проекции, в котором создается примитив.
Разумеется, в рамках нашей книги мы не можем подробно ознакомиться с приемами построения и настройки параметров всех тел-примитивов max 7.5. Для этого существует электронный справочник 3ds max 7.5, а также справочные пособия, среди которых не последнее место занимают книги серии «Энциклопедия», выпускаемые издательством «Питер». Ограничимся знакомством с теми примитивами, с которыми вам уже пришлось иметь дело (чтобы показать, что и у них есть свои секреты) или которые понадобятся нам при выполнении упражнений но использованию этих примитивов для создания практически полезных объектов.
Общие сведения о прожекторах
Свободные и нацеленные прожекторы во многом схожи, но приемы их создания различаются. Нацеленный прожектор, состоящий из двух объектов — собственно прожектора и мишени в виде объекта-пустышки, — создается на координатной плоскости активного окна проекции таким образом, что его конус световых лучей виден сбоку, как показано на рис. 11.22.

Рис. 11.22. Нацеленный прожектор и его элементы
Значок прожектора имеет вид миниатюрного конуса, значок мишени — вид маленького кубика, оба желтого цвета. Голубовато-серым цветом обозначается внешняя граница конуса света, за пределами которой интенсивность света прожектора равна нулю. Если рассматривать пятно света, оставляемое прожектором на плоской преграде, то внешней границе конуса света будет соответствовать край пятна (Falloff). Светло-голубым цветом обозначается граница области, в пределах которой интенсивность света остается постоянной. Эта область носит название яркого пятна (Hotspot). В кольцевой области между ярким пятном и наружным краем пятна свет постепенно затухает от максимальной яркости до нуля. Размеры яркого пятна и его внешней кромки задаются в градусах при вершине конуса лучей прожектора. Светло-голубая линия, соединяющая значки прожектора и мишени, носит название оси осветителя. Если щелкнуть на ней кнопкой мыши, то значки прожектора и мишени выделятся одновременно. Это позволяет перемещать нацеленный осветитель, не изменяя ориентации его оси. Если же перемещать отдельно значок прожектора, то мишень будет оставаться на месте, обеспечивая постоянную нацеленность пучка света на выбранную точку сцены. И наоборот, если перемещать мишень, то на месте будет оставаться значок прожектора, изменяя только свою ориентацию в направлении на мишень.
Свободные прожекторы не имеют мишени и при создании ориентируются так, чтобы ось конуса света была перпендикулярна координатной плоскости активного окна проекции. При этом конус света виден сверху, как показано на рис. 11.23.

Рис. 11.23. Так выглядит свободный прожектор в том окне проекции, в котором он создан
Свободный прожектор имеет те же элементы, что и нацеленный, за исключением мишени. При перемещении свободного прожектора ориентация его оси не меняется. Чтобы изменить ориентацию оси такого прожектора, необходимо применить к его значку преобразование поворота.
Окна диалога
Как и во всех приложениях системы Windows, в программе max 7.5 широко используются окна диалога. Работа с ними не имеет никаких специфических особенностей. Стоит остановиться лишь на одной тонкости. В max 7.5 используются два типа окон диалога: модальные и немодальные (что ж, не я придумал эту терминологию).
Присутствие на экране модального окна исключает возможность работы с другими элементами интерфейса max 7.5, такими как главное меню или панель инструментов. Иными словами, пока такое окно присутствует на экране, вы должны уделить все свое внимание работе с ним и закончить эту работу, щелкнув на кнопке ОК или Cancel (Отмена). Примерами таких окон могут служить окна диалога Open File (Открытие файла), Select Objects (Выделение объектов) или Preference Settings (Настройка параметров).
Немодальные окна диалога не столь привередливы: их присутствие на экране не препятствует работе с окнами проекций, меню, командными панелями и другими окнами диалога. Такие окна, как правило, не имеют кнопок ОК или Cancel (Отмена). Действия, выполняемые в немодальных окнах диалога, не требуют подтверждения и немедленно отражаются на состоянии max 7.5. Примерами немодальных окон диалога могут служить Display Floater (Плавающая палитра Дисплей), Selection Floater (Плавающая палитра Выделение объектов), Transform Type-In (Ввод данных преобразования), Material Editor (Редактор материалов), Schematic View (Просмотр структуры) или Track View (Просмотр треков).
В max 7. 5 имеется возможность произвольным образом перемещать границы, разделяющие четыре окна проекций. Если установить курсор на вертикальную или горизонтальную линию, разграничивающую окна проекций, он примет вид двунаправленной стрелки. После этого можно щелкнуть кнопкой мыши и перетащить линию границы, изменив горизонтальный или вертикальный размер двух пар окон в пределах отведенной для них области экрана max 7.5. Как только кнопка мыши будет освобождена, окна приобретут новый размер, в них будет перерисована сетка координат и отображаемая в данный момент сцена. Если установить курсор на точку пересечения границ окон, он примет вид четырехконечной стрелки, позволяя произвольным образом изменять размеры и пропорции сразу всех четырех окон проекций, как показано на рис. 2.9.

Рис. 2.9. Вид экрана программы max 7.5 в процессе изменения размеров и пропорций всех четырех окон проекций
Для восстановления исходного расположения окон проекций, определяемого их текущей компоновкой, следует установить курсор на линию границы окон или на точку пересечения границ и щелкнуть правой кнопкой мыши. Появится контекстное меню, содержащее всего одну команду: Reset Layout (Восстановить компоновку). Выберите эту команду, и исходные пропорции и размеры окон проекций будут восстановлены.
|
ЗАМЕЧАНИЕ О том, что такое компоновка окон проекций и как она задается, вы узнаете из главы 3, «Осваиваем настройку max 7.5 и работу с файлами». |
Окна проекций
Окна проекций позволяют отображать геометрические модели, источники света, камеры и другие объекты трехмерной сцены, о которых мы поговорим подробнее несколько ниже, в виде ортографических или центральных проекций с различным уровнем качества тонирования изображения, а также наблюдать материалы и карты текстур.
Каждое окно проекции имеет рамку и имя, располагающееся в левом верхнем углу этого окна. Одновременно на экране max 7.5 может присутствовать не более четырех окон проекций, расположение и размеры которых выбираются пользователем из числа заранее заготовленных вариантов и могут изменяться произвольным образом. По умолчанию на экране max 7.5 располагаются три окна ортографических проекций — Тор (Вид сверху), Front (Вид спереди) и Left (Вид слева), а также окно центральной проекции Perspective (Перспектива). В окнах проекций по умолчанию отображается координатная сетка, относящаяся к соответствующей координатной плоскости глобальной системы координат и называемая исходной сеткой (home grid). В левом нижнем углу каждого из окон по умолчанию изображается тройка координатных векторов (coordinate axis tripod), указывающих истинные направления осей глобальной системы координат.
Из всех присутствующих на экране окон проекций только одно является активным, то есть находится в готовности к применению команд и инструментов max 7.5. Рамка активного окна изображается ярко-желтым цветом (на рис. 2.1 активно окно проекции Perspective — Перспектива). Неактивные окна служат только для наблюдения за сценой.
Чтобы сделать окно активным, просто щелкните левой кнопкой мыши в его пределах. Так как щелчок левой кнопкой мыши обычно служит для выделения объекта сцены, такое действие может вызвать сброс текущего выделения объектов.

Чтобы сделать окно активным, сохранив текущее выделение, щелкните правой кнопкой мыши на любой точке окна или щелкните левой кнопкой мыши на имени окна, когда курсор приобретет показанный на рисунке вид, соответствующий режиму активизации окна.
Щелчок правой кнопкой мыши на имени окна вызывает меню окна проекции, содержащее команды выбора уровня качества отображения объектов типа проекции, включения режимов показа координатной сетки или фона сцены и другие команды управления отображением сцены в этом окне. С назначением и использованием этих команд вы будете знакомиться по мере необходимости.
Окно дерева иерархии
Окно дерева иерархии содержит допускающий развертывание древовидный список всех элементов сцены с их характеристическими параметрами, включая объекты, материалы, звуки и эффекты внешней среды. Каждую из ветвей дерева можно развернуть, щелкнув на кружке со знаком «плюс» рядом с именем ветви. С каждым из элементов дерева иерархии связан трек, расположенный напротив него в окне правки треков и содержащий ключи анимации элемента или статические значения параметров, если элемент не имеет анимации.
Если иерархический список не помещается в окне, его можно прокручивать подобно свитку командной панели.
Окно диалога Key Info и свитки командной панели Motion
Окно диалога, содержащее сведения о свойствах ключа анимации, появляется на экране max 7.5 при выборе любого из элементов списка ключей, содержащегося в верхней части контекстного меню. Это окно может быть представлено в простом и развернутом виде, как показано на рис. 16.46. Для перехода к развернутому представлению окна следует щелкнуть на кнопке Advanced (Расширенное) в правом верхнем углу окна, а для возврата к простому варианту — на кнопке Simple (Простое).

Рис. 16.46. Окно диалога Key Info содержит элементы управления для настройки параметров ключа и может быть представлено в простом (слева) и развернутом (справа) виде
Данное окно называют окном Key Info (Справка о ключах), хотя его заголовок образуется из названия объекта, которому принадлежит ключ анимации, и указанного через двоеточие наименования анимируемого параметра, например Sphere01: X Position (Сфера01: Положение по X). Такое название окна связано с названиями двух свитков командной панели Motion (Движение), полностью аналогичных данному окну по составу параметров: Key Info (Basic) (Справка о ключах (Базовая)) и Key Info (Advanced) (Справка о ключах (Дополнительная)), показанных на рис. 16.47.

Рис. 16.47. Свитки Key Info (Basic) и Key Info (Advanced) панели Motion аналогичны по составу параметров окну диалога Key Info
Для редактирования свойств ключа анимации с помощью элементов управления окна диалога Key Info (Справка о ключах) действуйте следующим образом:
1. Выберите нужный ключ анимации по его номеру, используя две кнопки с черными стрелками в левом верхнем углу свитка для перехода к следующему или предыдущему ключу. Номер текущего ключа отображается в текстовом поле справа от кнопок (см. рис. 16.46). Щелчок на кнопке со стрелкой, указывающей вправо, вызывает загрузку в окно диалога свойств следующего ключа анимации выбранного параметра объекта, а на кнопке со стрелкой, указывающей влево, — предыдущего ключа.
2. Для изменения момента времени наступления (номера кадра) текущего ключа анимации используйте счетчик Time (Время). Меняя значение в этом счетчике, можно перемещать текущий ключ вместе с его пара-Метрами вдоль трека анимации (из кадра в кадр). Например, раскройте поочередно окна справки о ключах анимации «Летящий шар», управляющих положением объекта по осям X, Y и Z и расположенных в кадре № 25, и измените для каждого из них номер кадра на 0. Ключи переместятся в начало строки треков. Если щелкнуть на кнопке с буквой L (Lock — Блокировать) справа от счетчика номера кадра, то выбранный ключ будет заблокирован в текущем кадре анимации, что исключает возможность ошибочного перемещения ключа по шкале времени.
3. Контролируйте значения компонентов анимируемого параметра (например, координат положения, коэффициентов масштаба, силы блеска или интенсив-ностей RGB-компонентов цвета материала), соответствующих текущему кадру, в счетчиках, расположенных под счетчиком Time (Время). Например, для ключа преобразования положения по оси X объекта Sphere01 (Сфера01) анимации «Летящий шар» это будет счетчик Value (Значение). При необходимости измените значения параметров в этом счетчике для настройки анимации. К примеру, выберите в окне справки о ключе анимации положения по оси X ключ, расположенный в кадре № 40 (это ключ № 2), и измените значение в счетчике Value (Значение) с -1000 см на -100 см. Если теперь воспроизвести анимацию, то окажется, что шар «летит» не по прямолинейной траектории, как раньше, а по плавной дуге, проходящей через точки его начального и конечного положения, а также через точку (-100 см; 2000 см; 0 см), заданную в кадре № 40. Кривая траектории перемещения объекта через заданные точки является плавной потому, что преобразованию положения при анимации по умолчанию назначается контроллер Bezier (Безье), преобразующий траекторию движения объекта в сплайн Безье, плавно проходящий через ключевые точки. Линию траектории перемещения объекта в процессе анимации можно сделать видимой (рис. 16.48), если выделить объект и щелкнуть на кнопке Trajectories (Траектории), расположенной на командной панели Motion (Движение) под списком Selection Level (Уровень выделения). Эту кнопку можно видеть на рис. 16.47. Сама траектория изображается пунктирной линией красного цвета, а ключи анимации отмечаются на ней маркерами в виде квадратиков.

Рис. 16.48. Линия траектории перемещения шара до {слева) и после (справа) добавления нового ключа анимации в кадре № 40
|
ЗАМЕЧАНИЕ В рассматриваемом нами примере анимации перемещения сферы удобно иметь дело с траекторией перемещения, которая является графиком изменения положения объекта в пространстве. Контроллер анимации на самом деле управляет не пространственной траекторией, а графиком изменения анимируемого параметра во времени — функциональной кривой анимации, которая тоже может иметь вид кривой Безье. Этот график нельзя сделать видимым в окнах проекций, но его легко наблюдать с помощью окна диалога Track View — Curve Editor (Просмотр треков — Редактор кривых). Если бы речь шла об анимации не положения, а какого-то иного свойства объекта, например цвета, то говорить о «траектории» изменения цвета было бы некорректно, зато вполне уместно рассматривать «функциональную кривую изменения цвета». |
4. Выберите вариант сглаживания сегментов сплайна Безье, играющего роль функциональной кривой перемещения объекта, слева и справа от точки ключа анимации, используя две большие кнопки In (Вход) и Out (Выход). Если щелкнуть на одной из больших кнопок и слегка задержать кнопку мыши в нажатом состоянии, раскроется панель дополнительных кнопок, показанных на рис. 16.49 и представляющих различные варианты поведения сегментов функциональной кривой в промежутках между ключами. Маленькие кнопки со стрелками по сторонам большой кнопки In (Вход) служат для копирования выбранных вариантов сглаживания на выход предыдущего ключа и на выход текущего ключа, а маленькие кнопки со стрелками по сторонам большой кнопки Out (Выход) — на входы текущего и следующего ключей.

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

Smooth (Сглаженное управление) — обеспечивает гладкость функциональной кривой при входе в точку ключа или при выходе из него, что ведет к получению достаточно гладкого, плавного изменения анимируе-мого параметра в районе ключевого кадра. Этот вариант использовался по умолчанию в прежних версиях 3ds max, из-за чего часто возникали проблемы в виде паразитных движений объекта. Посмотрите, например, как выглядит на виде сверху траектория нашей летающей сферы при таком варианте управления (рис. 16.50). Попытка программы провести гладкую, не имеющую изломов кривую через точки с координатами (-1000; 2000; 0), (-100; 2000; 0) и (100; -300; 0), приводит к тому, что сфера в интервале между первым и вторым ключами вместо того, чтобы сохранять свою Y-координату, равную 2000, улетает почти до отметки 2153. Это и есть паразитное движение;

Рис. 16.50. Линия траектории перемещения шара при сглаженном управлении на входе и выходе ключей анимации по X и Y в кадрах № 0, 40 и 100

Linear (Линейное управление) — обеспечивает линейный вид функциональной кривой вблизи входа в точку ключа или выхода из него, что ведет к равномерному изменению параметра анимации. Для примера выберите данный вариант сглаживания в группе кнопок In (Вход) ключа № 2 анимации «Летящий шар», управляющего положением по X. Затем проделайте аналогичное действие для ключа № 2, управляющего положением по Y. Щелкните на маленькой кнопке со стрелкой справа от кнопки Linear (Линейное управление), чтобы распространить действие линейного управления и на выход из ключа. Траектория примет вид ломаной линии, как показано на рис. 16.51. Соответственно и шар при анимации будет сначала равномерно смещаться вправо, а затем равномерно двигаться на зрителя по косой траектории;

Рис. 16.51. Линия траектории перемещения шара после применения линейного управления на входе и выходе ключа анимации в кадре № 40

Step (Скачкообразное управление) — обеспечивает скачкообразный характер функциональной кривой, что ведет к отсутствию изменений параметра анимации в интервалах между ключами и резкому изменению параметра при достижении ключевого кадра. Попробуйте применить такой вариант управления анимацией к ключу № 2 анимации «Летящий шар». При воспроизведении анимации в окне проекции вы увидите, что шар стоит на месте от нулевого кадра до кадра № 40, в момент наступления кадра № 40 резко перемещается в точку второго ключа положения и находится в этой точке до момента наступления кадра № 100, когда резко «перескакивает» в точку своего конечного положения;

Fast (Быстрое управление) — создает вогнутую функциональную кривую, обеспечивающую изменение параметра с ускорением в районе точки ключа;

Slow (Медленное управление) — создает выпуклую функциональную кривую, обеспечивающую изменение параметра с замедлением в районе точки ключа;

Custom (Специальное управление) — создает на функциональной кривой в точке ключа касательные векторы, которые можно перемещать в режиме показа функциональных кривых в окне просмотра треков. Если выбрана эта кнопка, становятся доступными параметры дополнительной части окна диалога Key Info (Справка о ключах), а также свитка Key Info (Advanced) (Справка о ключах (Дополнительная)) командной панели Motion (Движение). Используйте группы счетчиков координат In (Вход) и Out (Выход) для точной настройки положений маркеров касательных векторов. Наличие счетчиков обеспечивает полный контроль над поведением функциональной кривой в окрестности ключа анимации. Щелкните на кнопке Normalize Time (Нормализовать время) для перераспределения выделенных ключей по шкале времени так, чтобы величина приращения параметра анимации, например величина смещения объекта, от ключа к ключу была одинаковой для всех выделенных ключей. Установите флажок Constant Velocity (Постоянная скорость), чтобы обеспечить поддержание постоянной скорости изменения ани-мируемого параметра между ключевыми кадрами;
|
ЗАМЕЧАНИЕ Настройку касательных векторов лучше всего выполнять в окне диалога Track View — Curve Editor (Просмотр треков), переключенном в режим функциональных кривых, поскольку в этом случае можно манипулировать касательными векторами в интерактивном режиме, сразу же наблюдая результат на графике. |

Flat Tangent (Выровненное управление) — это новый тип сглаживания, появившийся впервые в max 7.5. При этом варианте управления сглаживанием, так же как и при варианте Custom (Специальное управление), в качестве функциональной кривой используется сплайн Безье, вершины которого, соответствующие ключам анимации, имеют касательные векторы, позволяющие настраивать форму кривой на входе и выходе из ключа. Особенность данного типа сглаживания состоит в том, что программа старается провести кривую по кратчайшему расстоянию между точками ключей, в то же время исключая резкие перегибы и изломы. Вид траектории нашей летящей сферы при выборе данного варианта управления показан ранее на рис. 16.48, справа. Данный тип сглаживания функциональных кривых в большинстве случаев является наиболее оптимальным, так как не создает паразитных движений и при этом обеспечивает плавность хода анимации. Он используется в max 7.5 по умолчанию.
Различные варианты управления использованы в анимации Kukla i miach.avi, которую можно найти в папке Animations\Glava__16 компакт-диска, прилагающегося к книге. В папке Scenes\Glava_16 этого диска находится файл сцены max 7.5, реализующей данную анимацию. Попробуйте самостоятельно проанализировать свойства ключей анимации этой сцены и разобраться в необходимости применения того или иного вида управления каждого ключа.
Закрепим знания о приемах редактирования ключей анимации, выполнив еще несколько упражнений.
Окно правки треков
Окно правки треков снабжено шкалой времени, исходно располагающейся в нижней части окна правки и про-градуированной в текущих единицах времени, выбранных в окне диалога Time Configuration (Настройка временных интервалов). По умолчанию шкала нумеруется в кадрах. Шкалу можно перетаскивать вверх и вниз для удобства отсчета времени.
По умолчанию в окне правки треков Редактора кривых отображаются ключи и функциональные кривые анимации параметров элементов сцены. В окне Редактора кривых ключи изображаются в виде квадратиков на кривых, как показано на рис. 16.55, вверху, в точках временной шкалы, соответствующих ключевому кадру. В окне Диаграммы ключей (рис. 16.55, внизу) ключи отображаются в виде разноцветных прямоугольников на треках окна правки, а диапазоны действия ключей — в виде черных полосок с белыми квадратиками на концах, так же как и в строке треков, с которой вы уже познакомились.
При помощи инструментальных средств окон Редактора кривых и Диаграммы ключей можно настраивать форму кривых анимации, удалять отдельные ключи, добавлять новые ключи, перемещать их по шкале времени, копировать и т. п. Для преобразования ключа его следует выделить. Выделение ключей производится точно так же, как выделение объектов сцены: установите курсор на значок ключа и щелкните кнопкой мыши. Для одновременного выделения нескольких ключей удерживайте нажатой клавишу Ctrl и т. д. Выделенный ключ анимации изображается квадратиком белого цвета. Если параметр не имеет анимации, то на соответствующем треке окна Диаграммы ключей отображается его статическое значение. Вертикальная полоска в окне правки треков заменяет ползунок таймера анимации. Если ее перетаскивать с помощью мыши, то можно менять момент времени (номер кадра анимации).
| СОВЕТ Для вызова окна диалога Key Info (Справка о ключах) достаточно щелкнуть на ключе анимации в любой из разновидностей окна Track View (Просмотр треков) правой кнопкой мыши. |
Окно стека модификаторов
Когда к объекту применяется тот или иной модификатор (количество модификаторов, примененных к одному и тому же объекту, не ограничивается), он помещается в стек. Стек — это список, состоящий из наименования типа исходного объекта, например Circle (Круг), Box (Параллелепипед) или Editable Mesh (Редактируемая сетка), и всех модификаторов, примененных к объекту, в порядке, обратном порядку их применения. Можно сказать, что этот список представляет собой полную «биографию» объекта, позволяя определить, кем и каким он был при «рождении» и как менялся в процессе «роста». Благодаря этому списку вы всегда можете вернуться к настройке параметров как самого объекта, так и того или иного модификатора, изменить эти параметры, а при необходимости вообще удалить модификатор из стека.
Управление стеком производится с помощью окна стека модификаторов и расположенных под ним кнопок, о которых мы поговорим несколько ниже. Если выделить объект, то в качестве первой, самой нижней строки в окне стека модификаторов появится наименование типа выделенного в данный момент объекта. Выше будет располагаться перечень модификаторов, которые были применены к объекту, как можно видеть на рис. 8.1 и 8.2. Если модификатор расположен в списке выше другого, значит, он был применен к объекту позднее. Если выбрать в стеке нижнюю строку наименования тина объекта, то ниже окна стека модификаторов появятся свитки параметров объекта, а если выбрать в стеке имя любого из модификаторов, там появятся свитки параметров модификатора. Иными словами, состав свитков на командной панели Modify (Изменить) всегда определяется тем, какая из строк выбрана в окне стека модификаторов выделенного объекта.
Как же действует стек модификаторов max 7.5? Стек вновь созданного объекта состоит только из наименования типа этого объекта. Программа хранит в памяти все характеристические параметры, присвоенные данному объекту на момент его создания. Вот почему, выделив объект и перейдя на командную панель Modify (Изменить), вы обнаружите там свитки параметров этого объекта и сможете изменить эти параметры в любой момент. Когда к объекту применяется первый модификатор, он помещается в стек. При этом на вход модификатора поступают данные об исходном объекте, а на выходе получается объект, измененный с учетом параметров модификатора. Теперь программа помнит не только характеристические параметры объекта, но и параметры примененного к нему модификатора. Если снова выделить в окне стека строку с наименованием типа объекта и изменить какие-то из его характеристических параметров, то на вход первого модификатора поступят данные об уже видоизмененном объекте, что скажется на результате модификации. Если выделить в стеке имя модификатора и изменить его параметры, это также скажется па результате модификации. Когда в стек помещается второй модификатор, на его вход поступают данные об объекте, преобразованном первым модификатором. Программа запоминает параметры второго модификатора наряду с характеристическими параметрами объекта и параметрами первого модификатора. Вновь, как и прежде, вы можете выделить в стеке имя типа объекта и изменить его характеристические параметры или выделить имя первого модификатора и изменить его параметры. Все это приведет к изменению данных на входе второго модификатора и скажется на результате модификации. Очевидно, вы можете выделить в стеке имя второго модификатора и также изменить его параметры, что тоже скажется на результате. И так далее, ведь число модификаторов в стеке объекта не ограничивается.
Итак, наличие стека обеспечивает вам уникальную возможность возврата в любой момент к любой стадии работы над модифицируемым объектом и свободного изменения тex или иных параметров самого объекта или любого из примененных к нему модификаторов вместо создания объекта заново, с нуля. Например, одним из характеристических параметров объекта-примитива является сегментация его сетки по каждой из координат. Очень часто после применения к примитиву того пли иного модификатора становится очевидной недостаточность сегментации и приходится ее увеличивать.
Чтобы попрактиковаться в работе со стеком модификаторов, проделайте следующее:
1. Откройте ранее сохраненный в главе 6 файл Kreslo.max (файл с аналогичным именем имеется в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге) и выделите спинку кресла (без подушки). Помните, при создании спинки вы применяли к сплайну типа Line (Линия) модификатор Extrude (Выдавливание)? К сформированному трехмерному телу экструзии затем был применен модификатор Bend (Изгиб).
2. Перейдите на командную панель Modify (Изменить) и посмотрите в окно стека модификаторов. Вы увидите в нижней строке списка наименование типа исходного объекта — Line (Линия), а выше — имена примененных к нему модификаторов, Extrude (Выдавливание) и Bend (Изгиб), как показано на рис. 8.4.

Рис. 8.4. Стек модификаторов спинки кресла
3. Выделите в списке строку Line (Линия), и ниже окна стека модификаторов появятся свитки Rendering (Визуализация), Interpolation (Интерполяция), Selection (Выделение), Soft Selection (Плавное выделение) и Geometry (Геометрия), предназначенные для правки сплайнов. С помощью этих свитков вы можете изменить общие параметры линии, такие как число линейных отрезков в пределах криволинейных сегментов, толщину линии при ее визуализации и т. п., а также выполнить редактирование линии на уровне различных подобъектов. Обратите внимание на то, что при выделении строки Line (Линия) в окнах проекций вместо изогнутого тела экструзии отображается исходная кривая.
4. Теперь выделите строку Extrude (Выдавливание). В нижней части командной панели Modify (Изменить) появится свиток параметров модификатора экструзии. Можете попробовать изменить значение толщины тела экструзии в счетчике Amount (Величина), наблюдая за результатом в окнах проекций. Затем выделите строку Bend (Изгиб), обратите внимание на появление свитка с параметрами модификатора изгиба и попробуйте изменить эти параметры.
5. Закончив эксперименты, завершите действие программы, не сохраняя изменения в файле. Для этого ответьте No (Нет) на запрос The scene has been modified. Do you want to save your changes9 (Сцена изменена. Хотите сохранить изменения?).
|
ЗАМЕЧАНИЕ Запомните правило: преобразования в max 7.5 всегда применяются к объекту на выходе стека модификаторов, даже если какие-то из модификаторов были назначены объекту после применения преобразования. В связи с этим, например, max 7.5 выдает предупреждение о некорректности операции неравномерного масштабирования объекта, имеющего стек модификаторов. Чтобы сделать такую операцию корректной, необходимо поместить в стек модификатор XForm (Преобразование) и применить масштабирование к габаритному контейнеру этого модификатора. |
Опробуем средства управления визуализацией
Рассмотрим для начала набор средств управления визуализацией, в число которых входят группы кнопок панели инструментов и команд меню Rendering (Визуализация).
Оптические эффекты
Перейдя в свиток Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор), можно настроить параметры визуализации таких оптических эффектов, как глубина резкости объектива камеры и смаз изображения, вызванный относительным движением камеры и объекта.
Особенности лофтинга NURBS-поверхностей
Построение методом лофтинга NURBS-поверхностей имеет свои особенности, наиболее важными из которых являются следующие:
сечения будущего трехмерного тела должны быть представлены NURBS-кривыми;
при расстановке сечений не используется форма-путь, поэтому сечения необходимо размещать в нужных точках трехмерного пространства вручную;
преобразование сечений в NURBS-поверхность производится при помощи специальных инструментов Create U Loft Surface (Создать поверхность методом U-лофтинга) или Create UV Loft Surface (Создать поверхность методом UV-лофтинга), располагающихся в палитре инструментальных средств для работы с NURBS-объектами. Эти инструменты позволяют создать NURBS-поверхность как огибающую набора сечений, заданных NURBS-кривыми по оси U (условно говоря, «вдоль» будущего объекта) или но осям U и V («вдоль» и «поперек») локальных координат объекта.
Рассмотрим эти особенности на практике при выполнении следующего упражнения.
Особенности отражения света — основа имитации материалов
Зеркальный блик возникает на том участке поверхности, где угол падения лучей света относительно нормали поверхности равен (или примерно равен для поверхностей, не являющихся идеально гладкими) углу отражения в направлении глаз наблюдателя, как показано на рис. 13.1. Чем более гладкой, или глянцевитой, является поверхность, тем меньше по размеру область блика. Для идеально гладкой поверхности блик стягивается в точку. Сильно шероховатые поверхности, такие как ткань или обожженная глина, могут почти совсем не давать блика. Цвет блика обычно выбирается так, чтобы он соответствовал цвету лучей главного осветителя сцены или являлся более ярким и менее насыщенным оттенком цвета диффузного рассеивания. Внешний вид объекта, наблюдаемого при условиях, соответствующих приведенной на рис. 13.1 схеме, показан на рис. 13.2.

Рис. 13.1. Схема отражения лучей света от трехмерного объекта: 1 — нормаль; 2 — область блика, 3 — область диффузного рассеивания, 4 — область тени

Рис. 13.2. Области поверхности объекта, различающиеся по условиям освещения и отражения света
Диффузное рассеивание имеет место на всей площади поверхности, освещаемой прямыми лучами света от одного или нескольких источников. В отличие от зеркального отражения, диффузное рассеивание света происходит во всех возможных направлениях, поэтому глаз наблюдателя достигает только часть рассеянного света, а значит, яркость поверхности в области диффузного рассеивания оказывается ниже, чем в области блика. Яркость диффузного рассеянного света максимальна, когда лучи света направлены перпендикулярно поверхности, и плавно убывает с ростом угла падения лучей, отсчитываемого от нормали, уменьшаясь до нуля при достижении этим углом величины 90°, когда лучи скользят параллельно поверхности. Цвет диффузного рассеивания, как правило, является насыщенным, сочным и представляет собой основной цвет материала. Именно этот компонент цвета материала мы обычно имеем в виду, когда говорим о том, что помидор красный, лимон желтый, а огурец зеленый.
В области тени, куда прямые лучи света не проникают, объект освещается только рассеянным светом, который в 3ds max обычно имитируется подсветкой. Впрочем, вы уже знаете, что в max 7.5 рассеянный свет может воспроизводиться и как результат многократных отражений от других объектов сцены при расчете глобальной освещенности.
Цвет материала в области тени зависит от условий освещенности. Для не слишком яркого комнатного освещения в качестве этого цвета можно выбирать просто более темный оттенок цвета диффузного рассеивания. Для условий яркого света в помещении или солнечного освещения следует использовать в этом качестве оттенок цвета лучей главного осветителя.
Особенности трехмерной компьютерной графики и анимации
Что же это такое — компьютерная ЗD-графика, и в чем ее отличия от обычной, двумерной графики? В самых общих словах можно сказать, что двумерная компьютерная графика - это совокупность средств и приемов для рисования изображений с помощью компьютера, в то время как ЗD-графика предназначена для имитации фотографирования или видеосъемки трехмерных образов объектов, которые должны быть предварительно подготовлены в памяти компьютера.
Поясним сказанное на примере. Предположим, вам потребовалось нарисовать деревенский домик. Используя средства двумерной компьютерной графики, вы изображаете видимые контуры элементов домика и окружающего пейзажа наподобие того, как показано на рис. 1.1, слева. Если после этого возникает потребность нарисовать тот же домик с другого ракурса (например, с тыльной стороны), то всю работу приходится повторять заново от начала и до конца: снова рисовать видимые контуры элементов, придумывая детали, наблюдаемые при данном направлении взгляда (рис. 1.1, справа). Полученные эскизы рисунков требуется затем раскрасить в нужные цвета, учитывая воображаемое направление лучей света для правильного воспроизведения теней и бликов.

Рис. 1.1. Эскиз рисунка деревенского домика, подготовленный средствами двумерной графики (слева); если требуется нарисовать тот же домик с тыльной стороны, всю работу нужно повторять заново (справа)
При использовании средств трехмерной графики синтез изображения той же сцены выполняется по иному алгоритму, включающему в общем случае следующие этапы:
предварительная подготовка;
создание геометрической модели сцены;
настройка освещения и съемочных камер;
подготовка и назначение материалов;
визуализация сцены.
Из перечисленных этапов только последний посвящен собственно формированию изображения, а все остальные являются подготовительными. Оно и понятно: ведь чтобы выполнить «фотографирование» сцены, ее нужно сначала создать. Это похоже на подготовку макета или строительство декораций, с тем отличием, что и макет, и декорации создаются не в натуре, а только в памяти компьютера.
Остальные примитивы
Надеюсь, проницательные читатели уже уловили магическую последовательность действий, которая остается практически неизменной при создании примитивов любых типов: «Выбрали инструмент — щелкнули кнопкой мыши в окне проекции — перетащили курсор — отпустили кнопку — переместили курсор — щелкнули кнопкой — дополнительно переместили курсор и т. д.». Конечно, применение данной формулы в ряде случаев требует учитывать некоторые тонкости, которые можно узнать из электронного справочника 3ds max 7.5 или выявить методом проб и ошибок (частенько использую именно этот способ).
Предоставляю вам возможность испытать эту формулу на практике при освоении приемов использования инструментов создания тел-примитивов, которые остались за пределами нашего рассмотрения. Вот они:
Cone (Конус) — позволяет построить конус и усеченный конус, многогранную пирамиду и усеченную пирамиду, а также конический сектор;
Pyramid (Пирамида) — позволяет построить стандартную пирамиду с прямоугольным или квадратным основанием и вершиной, располагающейся над центром основания — прямо как у египетских фараонов;
Capsule (Капсула) — позволяет создавать тело в виде двух полусфер, разделенных цилиндрической вставкой, а также цилиндрический сектор на базе такого тела;
Oil Tank (Цистерна) — служит для создания цилиндра с основаниями в виде сферических сегментов, а также цилиндрического сектора на базе такого тела;
Spindle (Веретено) — позволяет построить тело в виде цилиндра с заостренными основаниями конической формы, а также цилиндрический сектор на основе такого тела;
Prism (Призма) — дает возможность построить треугольную призму с произвольным соотношением сторон основания;
Gengon (Многогранная призма) — позволяет построить многогранную призму с фаской вдоль ребер или без нее;
Hedra (Многогранник) — с помощью данного инструмента можно построить целое семейство тел, представляющих собой многогранники различного вида;
Torus (Top) — позволяет построить тор (объект в виде цилиндра, замкнутого в кольцо), а также тороидальный сектор;
Torus Knot (Тороидальный узел) — служит для создания целого семейства экзотических тел, напоминающих резиновую трубку, завязанную в различные виды узлов и соединенную торцами. При этом можно изменять как форму осевой линии трубки узла, называемой базовой кривой (например, если базовой кривой сделать круг, то получится обычный тор), так и форму поперечного сечения трубки. Чтобы придумать вариант практического использования такого примитива, придется поднапрячь фантазию;
L Extrusion (L-тело экструзии) или С Extrusion (С-тело экструзии) — с помощью данных инструментов можно построить тела, представляющие собой результат выдавливания плоской формы в виде латинских букв L или С (па самом деле последнее сечение больше похоже на русскую букву «П»). Подобные тела могут использоваться для конструирования стен помещений при моделировании сцен для архитектурных проектов или дизайна интерьеров;
Ring Wave (Круговая волна) — еще один экзотический примитив, найти которому практическое применение не так-то просто. Позволяет построить тело, напоминающее собой трубу, внутренняя поверхность которой волнообразно деформирована в радиальном направлении, да к тому же имеет встроенную анимацию. Насколько можно понять, этот объект был разработан для анимации картины взрывной волны, распространяющейся во все стороны от эпицентра взрыва. При умелом использовании материалов данный объект играет эту роль довольно успешно;
Hose (Шланг) — дает возможность создавать примитивы, похожие по умолчанию на гофрированный цилиндр (что-то вроде пыльника автомобильного амортизатора). Имеет множество настраиваемых параметров, обеспечивающих, в частности, выбор сечения объекта — круглого, прямоугольного или D-образного, и к тому же допускающих анимацию.
Осваиваем приемы редактирования формы независимых NURBS-поверхностей
Так же как и стандартные куски Безье, стандартные NURBS-поверхности создаются изначально как прямоугольные фрагменты плоскости. В главе 5 мы уже знакомились с последовательностью действий по созданию таких поверхностей, как точечных {Point Surface), так и с управляющими вершинами (CV Surface).
Имея слабое представление о том, как можно изменять форму подобных прямоугольных фрагментов, кажется, что от стандартных NURBS-поверхностей мало проку. Это одна из причин, почему они до сих пор не слишком широко используются в практике моделирования трехмерных сцен.
Вообще говоря, поверхности типа CV имеют более общий характер, а их редактирование предоставляет разработчику трехмерной графики больший простор в реализации творческих замыслов.
В данном разделе мы рассмотрим основные приемы редактирования формы стандартных NURBS-поверхностей типа CV, позволяющие превращать такие поверхности в практически полезные объекты, на конкретном примере в ходе выполнения упражнения.
Осваиваем приемы выделения объектов
Чаще всего в max 7.5 используется способ выделения объектов с помощью инструмента Select Object (Выделить объект) или одного из пяти комбинированных инструментов, объединяющих функции выделения объектов с выполнением над ними определенных действий: Select and Link (Выделить и связать), Bind to Space Warp (Связать с воздействием), Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать). Инструмент Select and Manipulate (Выделить и манипулировать), несмотря на схожесть его названия, может использоваться только в паре с одним из комбинированных инструментов выделения. Нажатие этой кнопки после выбора инструмента Select Object (Выделить объект) или одного из инструментов выделения и преобразования объектов придает этим инструментам дополнительные возможности, о которых вы узнаете из главы 5, «Создаем тела-примитивы, куски Безье и NURBS-поверхности». Названные инструменты, а также другие вспомогательные средства выделения объектов показаны на рис. 4.3.

Рис. 4.3. Инструменты выделения объектов
Помимо перечисленных инструментов для выделения объектов служит группа команд меню Edit (Правка), показанная на рис. 4.4.

Рис. 4.4. Фрагмент меню Edit с командами выделения объектов
В max 7.5 имеются и другие специализированные средства для выделения объектов, скажем, по их цвету или материалу. Выделение объектов сцены можно производить также с использованием окон диалога Track View (Просмотр треков) или Schematic View (Просмотр структуры). Эти средства и способы выделения объектов предлагаю вам изучить самостоятельно с помощью электронной справочной системы max 7.5.
Осваиваем привязки
Привязки позволяют размещать отдельные точки создаваемых или редактируемых объектов сцены в точно определенных местах. Средства привязки заставляют курсор «притягиваться» к определенным точкам объектов сцены, таким как вершины, ребра, центры граней или точки опоры, а также к линиям или узлам координатной сетки. Кроме того, привязки позволяют указать, с каким шагом должны изменяться угол поворота или коэффициент масштаба объектов, а также значения параметров в счетчиках.
Научиться пользоваться привязками — значит уметь выполнять их активизацию, выбор типов и настройку общих параметров.
Выбор типов привязок производится на вкладке Snaps (Привязки), показанной на рис. 3.27, а настройка их общих параметров — на вкладке Options (Параметры) окна диалога Grid and Snap Settings (Настройка сетки и привязок). Для начала нас устроят установленный по умолчанию тип привязки к узлам координатной сетки (Grid Points) и ее параметры, поэтому перейдем сразу к вопросу об активизации привязок.

Рис. 3.27. Вкладка Snaps окна диалога Grid and Snap Settings позволяет производить выбор типов привязок
Осваиваем создание систем частиц
Под занавес этой главы освоим работу с еще одним классом объектов щах 7.5 — системами частиц. Система частиц — это совокупность малоразмерных объектов, управляемых по целому ряду параметров. Первоочередное назначение этих объектов состоит в том, чтобы имитировать всяческие атмосферные явления вроде дождя, падающего снега или клубов дыма, однако с их помощью легко смоделировать и, скажем, брызги фонтана, струю воды из пожарного брандспойта, искры электросварки и т. п.
Средства создания систем частиц отличаются от остальных средств моделирования, поскольку частицы существуют в динамике, меняясь во времени. Следует помнить, что для генерации частиц недостаточно только создать их источник. Чтобы увидеть частицы, необходимо после создания источника перейти к кадру с номером, отличным от нуля, перетащив ползунок таймера анимации вправо.
Осваиваем тонкости создания прически
Пример использования модуля Hair and Fur (Волосы и шерсть), рассмотренный выше, подразумевал работу над формой, размером и другими параметрами эффекта только с использованием настроек модификатора. Но разработчики модуля Hair and Fur (Волосы и шерсть) предусмотрели еще одно средство настройки внешнего вида волосяного покрова — окно диалога Style (Стиль) (рис. 12.7). Оно позволяет подбирать размер волос, направление их роста и другие параметры не при помощи числовых значений счетчиков, как это обычно делается при работе с max 7.5, а используя виртуальную кисть. Можно сказать, что, работая в этом окне диалога, вы превращаетесь в парикмахера, «подстригающего» и «причесывающего» свою модель.

Рис. 12.7. Окно диалога Style
Для вызова окна диалога Style (Стиль) используется кнопка Style Hair (Стиль прически) в свитке Tools (Инструменты) настроек модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)). В окне диалога Style (Стиль), как и в окне проекции, волосы отображаются схематически, однако в данном случае можно рассмотреть, что каждая кривая-волос имеет вершины в виде небольших квадратиков красного цвета. Перемещая эти вершины, можно придавать форму отдельным волоскам.
В нижней части окна Style (Стиль) размещены кнопки активизации инструментов, с помощью которых и производится настройка эффекта. Инструменты окна Style (Стиль) разделены на три группы:
инструменты выделения волос;
инструменты, определяющие режим работы с волосами;
инструменты для укладки волос.
В целом, работа в окне Style (Стиль) происходит следующим образом:
1. Выбирается режим выделения волос — по корням, по кончикам, полностью или ручной.
2. Выбирается средство для работы с выделенными участками волос — инструмент увеличения длины, «подстригания» и т. п.
3. Выбирается, на что будут воздействовать инструменты для укладки — на все волосы или только на те, которые попадают в область действия кисти.
4. Производится выбранная операция.
Активные инструменты подчеркиваются желтой линией. Одновременно может быть активным только один инструмент, который принадлежит к той или иной группе.
Рассмотрим инструменты окна диалога Style (Стиль) подробнее.
Осваиваем управление камерой — панорамирование, наезд и облет
Понимая важность и сложность выбора выигрышного ракурса съемки, разработчики mах 7.5 предусмотрели для управления камерами целый ряд специализированных инструментов. Познакомимся с этими инструментами, располагающимися в уже знакомой вам группе кнопок управления окном проекции в правом нижнем углу экрана max 7.5.
Как только вы активизируете окно проекции любой из камер сцены, группа кнопок управления окном проекции принимает вид, показанный на рис. 11.68.

Рис. 11.68. Кнопки управления окном проекции типа Camera
Рассмотрим назначение только тех кнопок, которые вам еще не знакомы или которые изменяют свою роль в окне камеры. Каждая из перечисленных ниже кнопок после щелчка фиксируется и подсвечивается зеленым цветом, причем курсор приобретает в окне проекции вид изображенного на кнопке значка. Вот эти кнопки:

Dolly Camera (Наезд камерой) — позволяет перемещать свободную камеру ближе или дальше по отношению к объекту съемки, а нацеленную камеру — ближе к неподвижной мишени или дальше от нее, не изменяя ширину поля зрения. Это приводит к тому, что изображение объектов в кадре становится крупнее, когда камера приближается к объекту съемки, или мельче, когда камера удаляется от объекта. Для выполнения наезда щелкните на кнопке и перетаскивайте курсор в окне камеры по вертикали. Если активизировано окно нацеленной камеры, то на раскрывающейся панели данной кнопки размещаются еще два инструмента: Dolly Target (Наезд мишенью) и Dolly Camera + Target (Наезд камерой и мишенью). Инструмент Dolly Target (Наезд мишенью) позволяет перемещать мишень ближе к неподвижной камере или дальше от нее, при этом изображение в окне камеры совершенно не меняется, а инструмент Dolly Camera + Target (Наезд камерой и мишенью) обеспечивает перемещение камеры вместе с мишенью при неизменном расстоянии между ними.

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

Roll Camera (Крен камеры) — позволяет поворачивать камеру по крену (вокруг оси пирамиды видимости). Для выполнения действия щелкните на кнопке и перетаскивайте курсор в окне камеры влево-вправо. Результат будет такой, как будто изображение в окне камеры раскачивается, подобно палубе корабля во время шторма.

Field of View (Поле зрения) — позволяет менять ширину поля зрения при фиксированных положениях камеры и мишени. Для изменения ширины поля зрения щелкните на кнопке и перетаскивайте курсор в окне камеры по вертикали.

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

Orbit Camera (Облет камерой) — позволяет изменять положение камеры в трехмерном пространстве относительно неподвижной мишени, сохраняя неизменным расстояние до последней. Ширина поля зрения при этом не меняется. На раскрывающейся панели данной кнопки имеется еще один инструмент — Pan Camera (Панорамирование камерой), позволяющий при неизменном положении камеры менять направление ориентации линии визирования. Расстояние от нацеленной камеры до мишени при этом не меняется. Для выполнения действий с этими инструментами следует щелкнуть в окне камеры и перетащить курсор в произвольном направлении.
Предлагаю вам самостоятельно попрактиковаться в использовании этих инструментов, создав небольшую тестовую сцену или используя готовую сцену проекта «МАХ-кафе» с ее камерами. Только в последнем случае после экспериментов выходите из программы без сохранения файла, чтобы не внести ненужных изменений в положение и настройку камер.
Осваиваем визуализацию анимаций
Процесс визуализации анимации отличается от визуализации отдельного статичного кадра сцены только количеством повторений циклов синтеза изображений отдельных кадров. Тем не менее, чтобы визуализировать анимацию, необходимо выполнить настройки некоторых параметров в окне диалога Render Scene (Визуализация сцены).
От издательства
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты
comp@piter.com
(издательство «Питер», компьютерная редакция). Мы будем рады узнать ваше мнение! Подробную информацию о наших книгах вы найдете на web-сайте издательства:
http://www.piter.com
.
Краткое содержание
Введение
Часть I. Картинки в твоем букваре
Глава 1. Что такое ЗD-графика и анимация
Глава 2. Знакомимся с 3ds max 7.5
Глава 3. Осваиваем настройку max 7.5 и работу с файлами
Глава 4. Учимся выделять, дублировать и преобразовывать объекты
Часть II. Что нам стоит дом построить
Глава 5. Создаем тела-примитивы, куски Безье и NURBS-поверхности
Глава 6. Рисуем кривые, осваиваем методы вращения и выдавливания
Глава 7. Пробуем метод лофтинга, создаем булевские объекты и системы частиц
Глава 8. Совершенствуем навыки модификации объектов
Глава 9. Осваиваем секреты моделирования
Глава 10. Продолжаем постигать секреты NURBS-моделирования
Часть III. Просто ты работаешь волшебником...
Глава 11. Расставляем и настраиваем осветители и съемочные камеры
Глава 12. Изучаем работу с модулем Hair and Fur
Глава 13. Осваиваем создание материалов и применение их к объектам
Глава 14. Учимся применять карты текстур и многокомпонентные материалы
Глава 15. Осваиваем тонкости визуализации сцены и внешней среды
Глава 16. Пробуем выполнять анимацию объектов
Глава 17. Постигаем основы динамики
Краткий словарь терминов по трехмерной графике и анимации
![]() |
Отделение объектов от группы и присоединение их к группе
От группы можно отделять некоторые объекты. Для этого выполните следующие действия:
Чтобы присоединить к группе новые объекты, выполните следующие действия:
Открытие и удаление окон диалога Track View
Для удобства настройки анимации различных объектов в одной сцене может одновременно использоваться до 13 окон диалога Track View (Просмотр треков), сохраняемых вместе со сценой в файле типа max.
Открытие окна Track View

Не думаю, что вы сразу начнете работать с тринадцатью или хотя бы двумя окнами просмотра треков. Чтобы открыть первое окно просмотра треков в модификации Редактора кривых, просто щелкните на кнопке Curve Editor (Open) (Редактор кривых (открыть)) главной панели инструментов max 7.5 или выполните команду основного меню Graph Editors > Track View — Curve Editor (Графические редакторы > Просмотр треков — Редактор кривых).
Чтобы открыть окно просмотра треков в модификации Диаграммы ключей, выполните команду основного меню Graph Editors > Track View — Dope Sheet (Графические редакторы > Просмотр треков — Диаграмма ключей).
Для открытия дополнительных окон просмотра треков служит команда меню Graph Editors > New Track View (Графические редакторы > Новое окно Просмотр треков). Первое из открытых с помощью этой команды окон Track View (Просмотр треков) приобретает имя Untitled 1 (Без имени 1), второе — Untitled 2 (Без имени 2) и т. д.
Отмена и повторение изменений режима отображения сцены в окне проекции
Если вы ошибочно изменили масштаб или повернули изображение в окне проекции, не пытайтесь выполнить отмену этих ошибочных действий с помощью кнопки Undo (Отменить) панели инструментов, она здесь не поможет. Чтобы отменить изменения режима отображения сцены в окне, щелкните на имени окна правой кнопкой мыши и выберите в меню окна, показанном выше на рис. 3.7, команду Undo (Отменить). Название отменяемого действия появляется в меню правее наименования команды. Вместо этого можно также выполнить команду основного меню Views > Undo View Change (Проекции > Отменить изменение проекции). Емкость очереди отмен по умолчанию составляет 20 команд.
Для отмены последней отмены, то есть для повторения отмененного изменения состояния активного окна проекции, выберите в меню окна команду Redo (Повторить). Можете с той же целью выполнить команду основного меню Views > Redo (Проекции > Повторить).
| СОВЕТ Для отмены изменений масштаба, положения или ориентации плоскости проекции изображения в активном окне можно просто нажать клавиши Shift+z, а для повторения отмененного изменения проекции в окне — клавиши Shift+a. |
Отмена ошибочно назначенной карты текстуры
Чтобы полностью отменить карту текстуры, назначенную той или иной оптической характеристике материала, поступайте следующим образом:
1. Перейдите с уровня редактирования параметров материала к редактированию параметров карты текстуры, щелкнув на кнопке с именем выбранной карты в свитке Maps (Карты текстур).
2. Щелкните в окне Редактора материалов на кнопке справа от раскрывающегося списка имен материалов, на которой написан тип отменяемой карты текстуры, и дважды щелкните на строке None (Отсутствует) в появившемся окне диалога Material/Map Browser (Просмотр материалов и карт текстур).
Отображение значка глобальных координат
В левом нижнем углу каждого из окон проекций max 7.5 по умолчанию демонстрируется значок системы глобальных координат в виде трех векторов: ось X красного цвета, Y — зеленого и Z — синего цвета. Обычно бывает удобно иметь его перед глазами, но если он все же мешает рассматривать насыщенную объектами сцену, его можно выключить и снова включить в любой момент. Для включения/выключения значка глобальных координат выполните следующее:
Выберите в главном меню команду Customize > Preferences (Настройка > Параметры). Появится окно диалога Preference Settings (Настройка параметров). Щелкните на корешке вкладки Viewports (Окна проекций). В разделе Viewport Parameters (Параметры окон проекций) найдите флажок Display World Axis (Показ глобальных осей), который установлен по умолчанию. Чтобы выключить показ значка глобальных координат, сбросьте этот флажок, чтобы включить — снова установите его.
Ну, теперь вы знаете достаточно о том, как управлять изображением сцены в окнах проекций. Поговорим о выборе единиц измерения и настройке шага сетки координат.
Отрабатываем метод вращения профиля
Чтобы создать трехмерное тело методом вращения профиля, необходимо сначала нарисовать двумерную форму — профиль, который должен представлять собой одну зеркальную половину поперечного сечения будущего тела вращения. Кривая формы-профиля может быть как разомкнутой, так и замкнутой. Профиль может быть создан в виде сплайна-линии или NURBS-кривой. Для преобразования формы-профиля в тело вращения к ней следует применить модификатор Lathe (Вращение), который строит трехмерное тело, выполняя полный или неполный оборот формы относительно одной из трех координатных осей. Если профиль представлен NURBS-кривой, то превратить его в тело вращения можно, кроме того, с помощью инструмента Create Lathe Surface (Создать поверхность вращением).
Панель инструментов reactor
Панель инструментов reactor (Реактор) по умолчанию располагается на экране вертикально вдоль его левого края.
Все кнопки панели дублируют соответствующие инструменты панели Create (Создать) и команды меню reactor (Реактор). Назначение отдельных кнопок будем рассматривать по мере необходимости.
Панели инструментов
Всего в max 7.5 реализовано 7 панелей инструментов. Две из них, Main Toolbar (Главная панель) и reactor (Реактор), отображаются по умолчанию в окне max 7.5.
Как можно видеть на рис. 2.1, на главной панели инструментов max 7.5 по умолчанию изображаются крупные кнопки, так что она не умещается целиком на экране.

Рис. 2.1. Окно программы 3ds max 7.5
Чтобы вместо крупных кнопок перейти к использованию кнопок нормального размера, проделайте следующее:
Выберите команду меню Customize > Preferences (Настройка > Параметры). На вкладке General (Общие) окна диалога Preference Settings (Настройка параметров) сбросьте в группе UI Display (Интерфейс пользователя) флажок Use Large Toolbar Buttons (Использовать крупные кнопки) и щелкните на кнопке ОК. Появится информационное сообщение о том, что сделанные изменения возымеют свое действие только после завершения сеанса работы с max 7.5.
Завершите работу с max 7.5 и запустите его заново, чтобы на панели инструментов появились кнопки нормального размера.
Главная панель инструментов max 7.5 выглядит вполне традиционно и содержит кнопки, обеспечивающие быстрый доступ к наиболее употребительным командам и операциям, таким как выделение и преобразование объектов, назначение и разрыв иерархических связей, вызов окон Material Editor (Редактор материалов), Schematic View (Просмотр структуры) и Track View (Просмотр треков), включение режимов визуализации сцены и т. п. Наименование кнопок главной панели инструментов max 7.5 приведено на рис. 2.2, где она разбита на две части, чтобы масштаб изображения не был слишком мелким.

Рис. 2.2. Левая (вверху) и правая (внизу) части главной панели инструментов max 7.5
Если панель инструментов используется при разрешении экрана, меньшем чем 1024x768 пикселей, то она не помещается на экране целиком, но допускает прокрутку влево и вправо. Для прокрутки панели инструментов проделайте следующее:
1. Установите курсор на любой участок панели вне кнопок, например на промежуток между кнопками или кромку. Курсор примет форму руки.
2. Нажмите кнопку мыши и, удерживая ее, перетащите панель влево или вправо.
Как и в случае со многими другими кнопками на экране max 7.5, если слегка задержать курсор на кнопке панели инструментов, появится подсказка с наименованием инструмента, как показано на рис. 2.3.

Рис. 2.3. Подсказка о назначении кнопки
Многие кнопки панели инструментов max 7.5 и панелей инструментов окон диалога, таких как Track View (Просмотр треков) или Material Editor (Редактор материалов), снабжены небольшим треугольником в правом нижнем углу. Если щелкнуть на такой кнопке и удерживать кнопку мыши, раскроется панель инструмента с дополнительным набором кнопок, как показано на рис. 2.4.

Рис. 2.4. Панель инструмента с дополнительными кнопками
После раскрытия дополнительной панели необходимо перетащить курсор до нужной кнопки и отпустить кнопку мыши. Выбранная кнопка займет место на панели инструментов.
Некоторые кнопки панели инструментов, такие как Select Object (Выделить объект) или кнопки группы Select and... (Выделить и...), после щелчка фиксируются в нажатом положении и подсвечиваются желтым цветом, что указывает на активность режима выделения или выделения и преобразования объектов. Только одна из «желтых» кнопок может быть активна (нажата), поэтому щелчок на любой из таких кнопок вызывает перевод ранее нажатой кнопки данной категории в исходное состояние. Фиксируемые и подсвечиваемые желтым цветом кнопки имеются и на командной панели, и в группе кнопок управления окнами проекций. Для них это правило также действует: щелчок на любой из таких кнопок на командной панели или в группе управления окнами проекций вызывает сброс активности соответствующей «желтой» кнопки на панели инструментов, и наоборот.
|
ЗАМЕЧАНИЕ Кнопка инструмента Select Object (Выделить объект) устанавливается в активное (нажатое) состояние автоматически при запуске или перезагрузке max 7.5. Курсор при этом имеет вид наклонной стрелки, изображенной на кнопке. |
Рассмотрим пока назначение только двух левых крайних кнопок панели инструментов Main Toolbar (Главная панель), без которых никак не обойтись, особенно на первых порах. Назначение и порядок использования остальных кнопок будет рассматриваться по мере необходимости.

Кнопки Undo (Отменить) и Redo (Повторить) служат для отмены действия последней выполненной команды или операции и для повторения отмененной команды или операции, являясь аналогами одноименных команд меню Edit (Правка). По умолчанию допускается отмена 20 последних действий пользователя. Щелчок правой кнопкой мыши на любой из этих двух кнопок ведет к появлению окна со списком операций, допускающих отмену или повторение, как показано на рис. 2.5. Для отмены или повторения группы команд щелкните на имени последней (нижней) из требующих отмены (повторения) команд в списке, а затем на кнопке Undo (Отменить) или Redo (Повторить) в нижней части окна. Все команды, расположенные в списке выше выбранной, будут отменены (повторены).

Рис. 2.5. Окно списка команд, допускающих отмену
Как можно видеть на рис. 2.1, панель инструментов reactor (Реактор) размещена вертикально вдоль левой границы окна max 7.5. Она содержит средства для работы с модулем для создания динамики reactor (Реактор). Подробнее с ним вы познакомитесь в главе 12.
Параллелепипед и параллелепипед с фаской
Инструмент Box (Параллелепипед) позволяет создавать прямоугольные параллелепипеды с любым соотношением размеров: длинные как бруски или доски, широкие и плоские как панели или пластины и т. п., а также кубы (рис. 5.9).

Рис. 5.9. Столь разные по виду объекты построены с помощью одного и того же примитива Box
Инструмент ChamferBox (Параллелепипед с фаской) служит для создания прямоугольных параллелепипедов и кубов с фаской, то есть с краями, срезанными под углом 45°.
Параметров тонированной раскраски по Блинну и Фонгу
Свиток Blinn Basic Parameters (Базовые параметры раскраски по Блинну), который можно видеть на приведенном выше рис. 13.3 (свиток параметров раскраски по Фонгу выглядит точно так же), позволяет настроить цветовые оттенки трех главных компонентов цвета материала — Ambient (Подсветка), Diffuse (Диффузный) и Specular (Зеркальный), — используя группу элементов управления в левой верхней части свитка (рис. 13.22).

Рис. 13.22. Средства настройки трех главных компонентов цвета материала в свитке Blinn Basic Parameters
Для настройки цвета следует щелкнуть на любом из полей образцов цвета, чтобы вызвать окно диалога Color Selector (Выбор цвета), и настроить цвет с помощью данного окна. Справа от названных образцов цвета, кроме Ambient (Подсветка), располагаются квадратные кнопки без надписи. Щелчок на любой из этих кнопок раскрывает окно Material/Map Browser (Просмотр материалов и карт текстур), позволяя выбрать и назначить для имитации соответствующего компонента цвета одну из карт текстуры. Если с цветовым компонентом связана карта текстуры, на кнопке появляется буква «М». Прописная буква «М» говорит о том, что карта назначена и активна, а строчная буква «m» — что карта назначена, но не активна (выключена), как показано на рис. 13.23. Подробнее об имитации свойств материала картами текстур будет рассказываться в следующей главе. Ниже поясняется назначение отдельных компонентов цвета материала:

(рисунок 13.23 в книге не соответствует описанию, ошибка издательства)
Рис. 13.23. Цветам диффузного рассеивания и зеркального отражения назначены карты текстуры, причем в канале диффузного цвета карта активна, а в канале зеркального отражения — выключена
Ambient (Подсветка) — определяет цвет материала в области тени, где он освещается только рассеянным светом. Слева от образца цвета Ambient (Подсветка) находится кнопка блокировки цвета подсветки с компонентом цвета диффузного рассеивания (Diffuse). Значок на кнопке блокировки напоминает дужку замка. Если эта кнопка нажата, как принято по умолчанию и показано на рис. 13.22, изменение компонента цвета диффузного рассеивания будет вызывать синхронное изменение цвета подсветки, и наоборот. Для разблокирования цветов следует щелкнуть на этой кнопке. Чтобы получить возможность назначить цвету подсветки карту текстуры, следует щелкнуть на кнопке со значком в виде замка справа от образца цвета. В результате между этой кнопкой и цветовым образцом появится маленькая квадратная кнопка без надписи, щелчок на которой вызывает окно Material/Map Browser (Просмотр материалов и карт текстур);
| ЗАМЕЧАНИЕ Чтобы цвет материала в области тени можно было увидеть, необходимо, чтобы сама подсветка была несколько более яркой, чем устанавливаемая по умолчанию. Иначе любой материал в области тени будет выглядеть просто черным. |
Diffuse (Диффузный) — позволяет задать цвет световых лучей, рассеиваемых материалом во всех направлениях при освещении прямыми лучами света — солнечного или от искусственного источника. Этот компонент цвета можно сблокировать с компонентом подсветки, с компонентом зеркального отражения или с ними обоими;
Specular (Зеркальный) — позволяет задать цвет зеркальных бликов на блестящем материале. Размером блика и силой блеска можно управлять с помощью счетчиков Glossiness (Глянцевитость) и Specular Level (Сила блеска), описываемых ниже.
В нижней части свитка базовых параметров раскраски по Блинну или Фонгу находится ряд элементов для настройки характеристик зеркальных бликов материала, объединенных в группу Specular Highlights (Зеркальные блики) и показанных на рис. 13.24.

Рис. 13.24. Средства настройки зеркальных бликов
Справа от счетчиков Glossiness (Глянцевитость) и Specular Level (Сила блеска) располагаются кнопки без надписи, щелчок на которых позволяет выбрать и назначить данным характеристикам материала карту текстуры. Ниже поясняется назначение отдельных параметров данной группы:
Specular Level (Сила блеска) — позволяет задать яркость пятна блика на материале (рис. 13.25). Диапазон изменения параметра — от 0 до 999;

Рис. 13.25. Верхний ряд, слева направо: Glossiness = 25, Specular Level = 5; 50; 100. Нижний ряд, слева направо: Specular Level = 100, Glossiness = 50; 75; 90
Glossiness (Глянцевитость) — позволяет задать размер пятна зеркального блика на поверхности материала. Чем выше глянцевитость, тем меньше размер блика и тем более гладким и блестящим выглядит материал, как показано на рис. 13.25. Как глянцевитость, так и сила блеска влияют на вид кривой в форме колокола, изображенной справа от счетчиков: величина Glossiness (Глянцевитость) обратно пропорциональна ширине кривой, a Specular Level (Сила блеска) влияет на высоту пика кривой.
Soften (Размыть) — позволяет слегка размыть пятно блика на поверхности материала, уменьшая размер области с максимальной яркостью. При величине параметра, равной 0, размытие отсутствует, а при величине 1,0 оно максимально, как показано на рис. 13.26. Это придает материалу менее блестящий вид и бывает полезно в тех случаях, когда блик выглядит чересчур ярким при больших значениях параметра Specular Level (Сила блеска) и малых — параметра Glossiness (Глянцевитость).

Рис. 13.26. Слева направо: вид блика при степени размытия, равной 0,1, 0,5 и 1,0 соответственно. Specular Level = 100, Glossiness = 15
В правом углу верхней части свитка находятся элементы управления самосвечением и прозрачностью материала, показанные отдельно на рис. 13.27. Если флажок Color (Цвет) в разделе Self-Illumination (Самосвечение) установлен, то оказывается возможным выбрать цвет свечения, щелкнув на образце справа от флажка. Если же флажок сброшен, то вместо образца цвета появляется счетчик, позволяющий настраивать яркость свечения диффузного компонента цвета материала.

Рис. 13.27. Можно настраивать или цвет (слева), или яркость (справа) свечения материала
Самосвечение заставляет материал выглядеть так, будто он имеет источник света внутри, за счет замены теней на поверхности материала выбранным цветом или цветом диффузного рассеивания. При значении параметра Self-Illumination (Самосвечение), равном 100, цвет диффузного рассеивания полностью заменяет собой цвет подсветки. Данный тип материала может применяться, например, для моделирования огней неоновой рекламы или матового стекла плафонов светильников. Пример самосветящегося материала приведен на рис. 13.28.

Рис. 13.28. Слева направо; вид самосветящегося материала при силе самосвечения, равной 0, 50 и 100 соответственно. Specular Level = 90, Glossiness = 50
Счетчик Opacity (Непрозрачность) позволяет указать степень непрозрачности материала в процентах. Если значение параметра равно 100, материал полностью непрозрачен; если 0 — полностью прозрачен, как показано на рис. 13.29. Для стекла, например, величина непрозрачности должна находиться в пределах от 5 до 50 %, в зависимости от того, насколько темным оно должно выглядеть.

Рис. 13.29. Слева направо: вид полупрозрачного материала при степени непрозрачности, равной 100, 75 и 25 соответственно. Specular Level = 90, Glossiness = 25
Квадратные кнопки без надписей позволяют назначить параметрам самосвечения и непрозрачности карты текстуры.
Перечень ограничителей
Все ограничители модуля reactor (Реактор) делятся на простые и объединенные. Приводимые далее описания каждого ограничителя сопровождаются изображениями значков кнопок панели инструментов reactor (Реактор), предназначенных для создания данных вспомогательных объектов.
В число простых ограничителей (simple constraints) входят:
Spring (Пружина) — позволяет связать два жестких тела между собой или одно из жестких тел с определенной точкой пространства упругой связью, имитирующей действие воображаемой пружины;
Linear Dashpot (Линейный демпфер) — позволяет связать два жестких тела между собой или одно из жестких тел с определенной точкой пространства упругой связью, похожей но действию на автомобильный амортизатор. Назначение этой связи — гасить колебания, которые могут возникать в системе связанных объектов. Связанные тела сохраняют свободу вращения относительно точек привязки;
Angular Dashpot (Угловой демпфер) — позволяет зафиксировать относительную ориентацию двух жестких тел или абсолютную ориентацию одного тела в пространстве с помощью упругой связи.
В число объединенных ограничителей (cooperative constraints) входят:
Rag Doll Constraint (Ограничитель Марионетка) — этот ограничитель позволяет объединить воедино отдельные части тела компьютерного персонажа, такие как кисть, предплечье, плечо, туловище, бедро, голень и т. п., задав допустимые углы сгиба сочленений этих частей. Полученный персонаж может играть роль куклы-марионетки или тряпичной куклы, которая, к примеру, будучи брошенной на пол, может демонстрировать правдоподобные движения рук и ног;
Hinge Constraint (Ограничитель Дверная петля) — позволяет объединить два жестких тела так, чтобы одно из них поворачивалось относительно другого как дверь относительно косяка, или ограничить ось поворота единственного жесткого тела;
Point-to-Point (Ограничитель Точка-точка) — позволяет соединить два жестких тела невидимой нитью или привязать одно жесткое тело к заданной точке трехмерного пространства. Связанные тела могут свободно вращаться одно относительно другого. За счет настройки связи можно ограничить сектор допустимых поворотов тел относительно точки привязки или сделать связь подобием жесткой сцепки, не позволяющей телам сближаться;
Prismatic Constraint (Ограничитель Скольжение) — позволяет ограничить перемещение одного жесткого тела относительно другого или перемещение единственного жесткого тела в трехмерном пространстве только одной заданной осью координат. Фактически это позволяет создать скользящее сочленение двух жестких тел;
Car-Wheel Constraint (Ограничитель Машина-колесо) — позволяет прикрепить жесткое тело, изображающее колесо, к другому жесткому телу, изображающему, например, автомобильный кузов;
Point-to-Path Constraint (Ограничитель Точка-путь) — позволяет связать два жестких тела так, что дочернее из них будет перемещаться относительно родительского по заданной линии траектории.
Если в состав сцены добавляются один или несколько объединенных ограничителей, то должен быть добавлен также вспомогательный объект Constraint Solver (Решение ограничений). В список, имеющийся у этого объекта на панели Modify (Изменить), помещаются имена всех объединенных ограничителей сцены. Кроме того, с помощью кнопки RB Collection (Коллекция жестких тел) данному решению необходимо указать имеющуюся в составе сцены коллекцию жестких тел.
Подробное ознакомление со всеми параметрами ограничителей выходит за рамки данного издания. При необходимости обращайтесь к справочной системе 3ds max.
Переименование эскиза анимации
Как уже говорилось, по умолчанию файл эскиза анимации сохраняется под именем _scene.avi в папке Previews, вложенной в папку с программным обеспечением max 7.5. Переименование позволяет избежать записи нового файла эскиза поверх предыдущего. С этой целью выберите команду меню Animation > Rename Preview (Анимация > Переименовать эскиз) и переименуйте файл эскиза в окне диалога Save Preview As (Сохранить эскиз как).
Переименование множества объектов
Для выделения объектов по именам, разумеется, важно, чтобы эти имена позволяли выбрать нужные объекты из списка. В главе 3 я уже говорил о важности замены маловыразительных имен объектов, присваиваемых им программой, на более определенные. Рассмотрим сказанное на конкретном примере.
Предположим, что для сцены кафе нам понадобилось 10 бокалов и 10 тарелок. Такие симметричные объекты обычно создаются методом вращения профиля, с которым вы подробно познакомитесь в главе 6, «Рисуем кривые, осваиваем методы вращения и выдавливания». Нарисованная нами линия профиля бокала автоматически получит имя Line01. Имя бокала, созданного на базе этой линии методом вращения, останется тем же — Line01. Девять дубликатов бокала (как их создать, вы узнаете в конце этой главы) сами собой приобретут имена от Line02 до Line10. Нарисованная затем линия профиля тарелки будет названа Line11, а девять дубликатов тарелки получат имена Linel2--Line20. Таким образом, всем объектам (рис. 4.10) программа max 7.5 автоматически присвоит имена от Line01 до Line20. Уже через пару дней вы забудете, какие из этих имен относятся к бокалам, а какие — к тарелкам, так что выделить нужные объекты по имени будет довольно сложно.

Рис. 4.10. Все эти 20 объектов пока что имеют имена Line01— Line20
Чтобы назначить бокалам имена Bokal01 - Bokal10, а тарелкам — Tarelka01 — Tarelka10, можно выделять объекты но отдельности и переименовывать их в текстовом поле Name (Имя) на командной панели, что очень утомительно. Однако в max 7.5 имеется возможность изменять группы однотипных имен по заданной маске. Команда Tools > Rename Objects (Сервис > Переименовать объекты) основного меню max 7.5 позволяет переименовывать как объекты, выделенные в данный момент в составе сцепы, так и невыделенные объекты, выбранные для переименования. Таким образом, в шах 7.5 выделение объектов не является необходимым условием их переименования.
| ЗАМЕЧАНИЕ Конечно, если сразу после создания линии профиля бокала присвоить ей имя Вокаl01, то все дубликаты бокала, созданного методом вращения, сразу получат имена Bokal02, Вокаl03 и т. п. Однако в горячке работы о своевременном переименовании не всегда вспоминаешь. Вот тут-то и приходит на выручку новая команда Rename Objects (Переименовать объекты). |
Для переименования группы объектов выполните следующие действия:
1. Выделите в любом из окон проекций объекты, требующие переименования, и выполните команду меню Tools > Rename Objects (Сервис > Переименовать объекты). Появится немодальное окно диалога Rename Objects (Переименовать объекты), показанное на рис. 4.11.

Рис. 4.11. Окно диалога Rename Objects
2. Переключатель в верхней части окна по умолчанию установлен в положение Selected (Выделенные). Это значит, что переименовываться будут объекты, заранее выделенные в составе сцены. Если объекты не были выделены заранее, установите переключатель в верхней части окна в положение Pick (Указать). Это вызовет появление окна диалога Pick Objects to Rename (Указать объекты для переименования), не отличающегося от типового окна выделения объектов по имени. Выделите в списке окна имена объектов, требующих переименования, и щелкните на кнопке Use (Использовать). Обратите внимание на то, что в результате этого выбранные объекты не будут выделены в окнах проекций, однако будут готовы к переименованию, даже если в окнах проекций имеются какие-то другие выделенные объекты.
3. Используйте для переименования следующие средства окна диалога Rename Objects (Переименовать объекты):
Base Name (Базовое имя) — позволяет ввести базовую часть имени, которая будет использоваться для переименования всех выбранных объектов при установке флажка слева от этого параметра;
Prefix (Префикс) — если установить этот флажок, то можно ввести в текстовое поле символы, которые будут добавлены в начало каждого базового имени;
Remove First ... Digits (Удалить первые ... знаков) — при установке этого флажка, который действует независимо от флажка Prefix (Префикс), будут удалены первые N символов (букв или цифр) базового имени или текущих имен объектов, если флажок ввода базового имени сброшен. Число N задается в счетчике;
Suffix (Суффикс) — если установить этот флажок, то можно ввести в текстовое поле символы, которые будут добавлены в конец каждого базового имени;
Remove Last ... Digits (Удалить последние ... знаков) — при установке этого флажка, который действует независимо от флажка Suffix (Суффикс), будут удалены последние N символов (букв или цифр) базового имени или текущих имен объектов, если флажок ввода базового имени сброшен. Число N задается в счетчике;
Numbered (Нумеровать) — установка этого флажка позволяет последовательно пронумеровать переименовываемые объекты. Номер будет добавляться в конец базового имени. Для первого из переименовываемых объектов будет использован номер, заданный в счетчике Base Number (Базовый номер). Счетчик Step (Шаг) задает шаг приращения базового номера. Перед номером из одной цифры добавляется 0. Например, в случае переименования объектов Line01— Line10 при вводе базового имени Bokal, базового номера 1 и шага 1 переименованным объектам будут присвоены имена Bokal01, Bokal02, Вока03 и т. д. до Bokal10.
4. Выполнив настройки, щелкните на кнопке Rename (Переименовать) для переименования выбранных объектов. В окнах проекций не произойдет никаких видимых изменений. Чтобы убедиться в переименовании объектов, раскройте окно диалога Select Objects (Выделение объектов), щелкнув на кнопке Select by Name (Выделить по имени) главной панели инструментов max 7.5, или щелкните на переключателе Pick (Указать) в окне диалога Rename Objects (Переименовать объекты), чтобы вызвать окно Pick Objects to Rename (Указать объекты для переименования).
Перемещение объектов с помощью мыши

Чтобы с помощью мыши переместить объект или совокупность объектов, щелкните на кнопке Select and Move (Выделить и переместить) главной панели инструментов или просто нажмите клавишу w. Кнопка подсветится желтым цветом. Перейдите в одно из окон проекций и выделите один или несколько объектов, которые необходимо переместить. Станет виден габаритный контейнер преобразования перемещения, состоящий из трех разноцветных векторов и трех уголков, отделяющих квадратные области вблизи центра тройки (рис. 4.27).

Рис. 4.27. Габаритный контейнер преобразования перемещения
| СОВЕТ Размеры векторов контейнера на рис. 4.27 для наглядности увеличены. Это можно сделать в любой момент, нажимая на клавишу «плюс» в цифровом ряду основной части клавиатуры (клавиша «серый плюс» в правой части клавиатуры для этого не годится). Для уменьшения размеров векторов нажимайте клавишу «минус». |
Стрелка оси X контейнера преобразования окрашена в красный цвет, стрелка оси У— в зеленый, а оси Z — в синий цвет. Желтым цветом изображаются основания стрелок и буквы тех осей координат, в направлении которых разрешено выполнение преобразования в данный момент. По умолчанию перемещение можно производить в направлении обеих осей координатной плоскости активного окна проекции.
| СОВЕТ Запоминать цвета осей контейнера преобразования перемещения не так уж важно, хотя для этого есть простое мнемоническое правило. Цвета осей XYZ меняются в том же порядке, как базовые цвета модели RGB: Red — красный, Green — зеленый и Blue — синий. Итак, XYZ <-> RGB, но важно помнить другое: активны всегда те оси, которые окрашены в желтый цвет. Желтый цвет — вот за чем нужно следить при выборе осей преобразования с помощью габаритного контейнера. |
Для перемещения вдоль какой-то из осей координат установите курсор на нужный вектор, который приобретет желтый цвет. Курсор примет вид значка, изображенного на инструменте Select and Move (Выделить и переместить). Щелкните кнопкой мыши и перетаскивайте всю совокупность выделенных объектов, как показано на рис. 4.28. Курсор при этом может выходить за пределы окна проекции, но останавливается у края экрана. Для завершения преобразования отпустите кнопку мыши.

Рис. 4.28. Перемещение набора объектов вдоль оси Y, окрашенной в желтый цвет
|
СОВЕТ Преобразование перемещения лучше выполнять в каком-то из окон параллельных проекций, таких как вид сверху, спереди или слева. При перемещении объектов в окне перспективной проекции трудно правильно оценить расстояние и легко допустить большие ошибки, передвинув объект совсем не туда, куда вы рассчитывали. |
|
ЗАМЕЧАНИЕ Курсор принимает вид значка режима перемещения и при установке над любым из выделенных объектов. Однако правильнее выполнять перемещение, перетаскивая не сами объекты, а именно нужную ось контейнера преобразования, приобретающую желтый цвет, или квадратный фрагмент плоскости у центра контейнера, также окрашивающийся желтым цветом. Дело в том, что после щелчка на каком-то из выделенных объектов может произойти непроизвольное переключение активной оси контейнера преобразования. В этом случае снова выбрать нужную ось или плоскость, не отпуская кнопку мыши, можно последовательными нажатиями клавиши F8. То же самое относится и к другим видам преобразований, о которых пойдет речь далее. |
Первое знакомство со средствами редактирования формы сплайнов
Не знаю, как вам, а мне практически никогда не удается сразу нарисовать кривую требуемой формы. Думаю, не ошибусь, если предположу, что и у вас, особенно на первых порах, будут трудности с рисованием кривых. Это, однако, не должно никого расстраивать: ведь в max 7.5 есть прекрасные средства для редактирования формы сплайнов. Подробнее о них вы узнаете в главе 8, «Совершенствуем навыки модификации объектов», а пока познакомимся только с возможностями правки формы сплайнов на уровне вершин.
Форма сплайна целиком определяется расположением его вершин, их типом, а также положением маркеров касательных векторов вершин типа Bezier (Безье) и Bezier Corner (Безье с изломом). Следовательно, научиться редактировать форму сплайнов на уровне вершин — это значит уметь следующее:
перемещать вершины сплайна;
изменять их тип;
манипулировать касательными векторами вершин.
Редактирование сплайнов на уровне вершин позволяет взять простой сплайн, наподобие стандартного прямоугольника, и преобразовать его практически в любую плоскую форму без создания нового сплайна.
Плоскость
Данный инструмент, относящийся к разновидности Standard Primitives (Стандартные примитивы), позволяет создавать плоскости — прямоугольные плоские фрагменты сетчатой оболочки, не имеющие толщины. Так как плоскость представляет собой набор граней, то она видна только с одной стороны, если не включен режим Force 2-Sided (Показывать обе стороны). Этот примитив стоит особняком в ряду остальных: он единственный из всех примитивов не является трехмерным. Тем не менее плоскость отлично подходит для исполнения роли опорной поверхности, на которой строится вся остальная сцена.
Подгонка изображения сцены или ее части под размер окна проекции

Вы закончили правку деталей небольшого элемента одного из объектов, изображение которого было укрупнено до размеров окна проекции, и снова хотите видеть всю сцену целиком? Нет проблем! Просто щелкните на кнопке Zoom Extents (Сцена целиком), чтобы все объекты сцены разместились в границах активного окна проекции (рис. 3.11), или на кнопке Zoom Extents All (Сцена целиком во всех окнах), чтобы видеть всю сцену целиком в каждом из окон проекций.

Рис. 3.11. Такой вид приобретает проекция, показанная на рис. 3.9, справа, после щелчка на кнопке Zoom Extents
| СОВЕТ Вместо щелчка на кнопке Zoom Extents (Сцена целиком) можно просто нажать комбинацию клавиш Alt+Ctrl+z, а вместо щелчка на кнопке Zoom Extents All (Сцена целиком во всех окнах) — комбинацию клавиш Shift+Ctrl+z. |

Довольно часто бывает нужно рассмотреть крупным планом не всю сцену, а только какой-то один объект. В этом случае лучше всего воспользоваться инструментом Zoom Extents Selected (Выделенные объекты целиком), который находится на раскрывающейся панели инструмента Zoom Extents (Сцена целиком). Это делается следующим образом:
Выделите тот объект, проекцию которого нужно подогнать под размеры окна. В простейшем случае для выделения объекта достаточно просто щелкнуть на нем кнопкой мыши (о том, как выделять объекты, мы подробнее поговорим в главе 4, «Учимся выделять, дублировать и преобразовывать объекты»).
Щелкните на кнопке Zoom Extents (Сцена целиком) и задержите кнопку мыши нажатой, пока не раскроется панель этого инструмента.
Перетащите курсор к кнопке Zoom Extents Selected (Выделенные объекты целиком) и отпустите кнопку мыши.

Чтобы изображение объекта укрупнилось до размеров окна в каждом из окон проекций, выделите этот объект и щелкните на кнопке Zoom Extents All Selected (Выделенные объекты целиком во всех окнах), которая находится на раскрывающейся панели инструмента Zoom Extents All (Сцена целиком во всех окнах).
Подсветка
Подсветка (Ambient Lighting) — это равномерное освещение поверхностей всех объектов рассеянным светом, создающее общий световой фон сцены. Чем выше уровень подсветки, тем ярче становятся цвета поверхностей объектов. Подсветка может иметь цвет, который проявляет себя в местах сцены, куда не проникают прямые лучи света, то есть в теневых областях поверхностей объектов.
Для настройки параметров подсветки выполните следующие действия:
1. Выберите команду меню Rendering > Environment (Визуализация > Внешняя среда). Появится окно диалога Environment and Effects (Внешняя среда и эффекты), раскрытое на вкладке Environment (Внешняя среда). Верхняя часть этой вкладки со свитком Common Parameters (Общие параметры) показана на рис. 11.3.

Рис. 11.3. В окне диалога Environment and Effects имеется образец цвета подсветки
2. Для настройки цвета и интенсивности подсветки щелкните на образце цвета Ambient (Подсветка), расположенном в правой части раздела Global Lighting (Общая освещенность) свитка Common Parameters (Общие параметры) этого окна диалога. Появится типовое окно диалога Color Selector: Ambient Light (Выбор цвета: окружающая подсветка). По умолчанию в max 7.5 подсветка полностью отсутствует, и объекты в области тени имеют черный цвет с RGB-компонентами (0; 0; 0).
3. Подберите нужный цвет и яркость подсветки, наблюдая за изменением общей освещенности сцены, и закройте окно диалога Environment and Effects (Внешняя среда и эффекты). Для примера на рис. 11.4 показан результат изменения цвета подсветки с исходного значения, соответствующего изображению на рис. 11.2, справа, до чисто-белого цвета с RGB-компонентами (255; 255; 255).

Рис. 11.4. Изменение яркости подсветки сказывается на общем уровне освещенности всех объектов сцены
Подведем некоторые итоги
Ну вот, мы и закончили изучение средств, составляющих в 3ds max 7.5 арсенал конструктора геометрических моделей трехмерных сцеп. Теперь вы знаете не только азы, которыми должны владеть все уважающие себя разработчики трехмерной графики, но и некоторые более продвинутые методы и приемы, входящие в инструментарий истинных мастеров.
Итак, в данной главе вы узнали о том, что:
NURBS-поверхности с их плавными изгибами формы прекрасно подходят для моделирования объектов, имеющих органическую природу, но работа с такими поверхностями требует развития определенного чутья, приходящего с опытом в процессе настойчивого экспериментирования;
названия «NURBS-кривая» и «NURBS-поверхность» достаточно условны, так как NURBS-кривые могут иметь в качестве своих подобъектов NURBS-поверхности с тем же успехом, с каким в состав NURBS-поверхностей могут входить NURBS-кривые;
стандартные NURBS-поверхности, как точечные, так и типа CV, изначально создаваемые как фрагменты плоскостей, можно превратить в практически полезные модели, выполняя редактирование формы таких поверхностей на уровне управляющих вершин или контрольных точек;
для придания требуемой формы NURBS-поверхности необходимо не только перемещать управляющие вершины, но и настраивать их веса, определяющие степень влияния этих вершин на управляемую ими поверхность;
форму NURBS-тел лофтинга можно свободно корректировать, применяя преобразования к отдельным опорным кривым как подобъектам, перемещая управляющие вершины этих кривых, вставляя новые кривые в список опорных контуров, изменяя порядок следования и согласовывая число управляющих вершин опорных кривых;
для формирования выступов или углублений на NURBS-поверхности необходимо иметь по крайней мере три группы расположенных рядом управляющих вершин, перемещение средней из которых создает собственно выступ или углубление, а две крайних группы удерживают остальную поверхность от ненужной деформации;
среди инструментов редактирования NURBS-объектов нет специальных средств для создания тел с ветвящейся топологией, однако такие ветвящиеся тела легко можно создавать с использованием приема проецирования NURBS-кривых на поверхности в направлении, перпендикулярном плоскости активного окна ортографической проекции.
Подведем некоторые итоги
Надеюсь, эта глава помогла вам усовершенствоваться в вопросе придания визуального правдоподобия мертвому виртуальному миру геометрических моделей и сетчатых оболочек. Итак, в этой главе вы узнали о том, что:
как это ни удивительно, в max 7.5 реализовано восемнадцать типов источников освещения сцены, из которых два встроены в программу и не допускают настройки, а шестнадцать других осветителей подразделяются на стандартные (всенаправленные, направленные и прожекторы, а также имитатор света неба) и фотометрические (точечные, линейные и площадные, а также имитаторы света неба и солнца) и находятся полностью в вашей власти;
общая освещенность сцены зависит, помимо источников света, еще и от подсветки, цвет и яркость которой допускают настройку;
тонированное отображение сцены в окнах проекций mах 7.5 является упрощенным, в связи с чем не проявляются или плохо проявляются такие эффекты освещения, как плавные переходы полутонов, блики или тени, которые можно наблюдать во всей полноте только после визуализации сцены;
для выполнения простейшей визуализации сцены не требуется никаких настроек: достаточно лишь активизировать нужное окно проекции и щелкнуть на кнопке Quick Render (Быстрая визуализация) панели инструментов;
всенаправленные осветители не так уж примитивны и без них трудно обойтись в любой сцене, претендующей на визуальное правдоподобие;
прожекторы и направленные осветители во многом схожи по своим параметрам; для них можно настраивать яркость и цвет света, ширину, «резкость» и форму сечения луча, наличие и тип теней и т. п.;
когда осветительное хозяйство разрастается и управляться с ним становится хлопотно, на выручку приходит центральный пульт управления всеми осветителями max 7.5 — окно диалога Light Lister (Список осветителей);
обычная визуализация сцены, включающей в свой состав источники света, не дает возможности увидеть эффекты освещения объектов непрямым светом, то есть световыми лучами, многократно отразившимися от других объектов, но в max 7.5 есть два способа воспроизвести этот эффект, называемый глобальной освещенностью;
Подведем некоторые итоги
Создание волос, шерсти и прочих подобных объектов — задача нелегкая и часто требующая терпения. Будьте готовы к тому, что при работе с модулем Hair and Fur (Волосы и шерсть) ваш компьютер будет надолго «замирать», задумываясь о том, как выполнить поставленное перед ним задание. Из-за этого работа по созданию волос может занять немало времени. Но будьте терпеливы, и вы будете вознаграждены прекрасным результатом.
Итак, в этой главе вы узнали о том, что:
для моделирования волос и шерсти в 3ds max используется модуль Hair and Fur (Волосы и шерсть). С его помощью можно создавать не только волосяной покров на головах людей и телах животных, но и другие объекты, похожие по форме на волосы;
волосы в сцене просчитываются не как отдельные объекты, а как оптический эффект, для чего используется фильтр Hair and Fur (Волосы и шерсть), который добавляется в сцену автоматически после применения к объекту модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM));
настраивать параметры прически можно как с использованием числовых значений счетчиков в настройках модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)), так и с использованием инструментов окна Style (Стиль).
Теперь самое время перейти к рассмотрению материалов, которые помогут нам раскрасить нашу сцену кафе «МАХ» так, как мы захотим.
Подведем некоторые итоги
Что ж, создание материалов — дело, может быть, и хлопотное, но, на мой взгляд, интересное и увлекательное. Надеюсь, что сумел и вас увлечь этим занятием. Ведь одно дело — уметь быстренько создать трехмерный примитив-сферу, и совсем другое — сделать ее похожей на резиновый мяч, хрустальный шар, полированный стальной шарик от подшипника или радужный мыльный пузырь. И все это только за счет использования подходящих материалов!
Итак, в этой главе вы узнали о том, что:
материал в max 7.5 — это набор оптических характеристик, таких как цвета зеркального отражения и диффузного рассеивания, глянцевитость и сила блеска, светимость, прозрачность и т. п., присваиваемых поверхности геометрической модели для придания ей визуального сходства с поверхностью реального объекта;
состав материалов, доступных в mах 7.5, зависит от выбора текущего алгоритма визуализации сцены. При использовании исходного сканирующего визуализатора в mах 7.5 доступно 15 типов материалов, из которых оригинальными, помимо стандартного, являются еще четыре: Architectural (Архитектурный), Raytraced (Трассируемый), Ink'n Paint (Обводка и заливка) и Matte/Shadow (Матовый/Затеняемый), а все остальные составляются на основе этих трех и так и называются — составные материалы;
материалы могут сохраняться в библиотеках независимо от описаний трехмерных сцен, что дает возможность обмениваться материалами на компакт-дисках и находить великолепные образцы материалов в сети Интернет;
универсальной мастерской для создания любых типов материалов является программный модуль Material Editor (Редактор материалов), описанию всех возможностей которого можно было бы посвятить отдельную книгу, что, однако, не должно помешать вам овладеть для начала основными инструментами создания и настройки материалов;
из восьми методов тонированной раскраски оболочек объектов на первых порах вполне достаточно овладеть тремя — раскрасками по Фонгу, по Блинну и металлической;
число параметров даже простейшего стандартного материала достаточно велико, но, к счастью, исходные значения большей части этих параметров можно не изменять, научившись настраивать базовые параметры материалов, которых всего лишь около десятка;
Подведем некоторые итоги
Примите поздравления! Может быть, у вас и зарябило в глазах от обилия картинок, но зато вы теперь имеете полное право претендовать на почетное звание «Шеф-повара кухни материалов» max 7.5. Если эта глава чересчур вас утомила (она и правда получилась продолжительной), то обещаю сделать следующую покороче и полегче, чтобы дать вам передышку.
Итак, из только что закончившейся главы вы узнали о том, что:
карты текстур — это по большей части изображения (цифровые фотографические или синтезируемые по математическим алгоритмам), позволяющие имитировать тот или иной специфический рисунок материала, однако ряд карт представляют собой специальные маски, предназначенные для воспроизведения эффектов отражения и преломления лучей света, модификации цветов раскраски и т. п.;
35 типов карт текстур, с помощью которых можно имитировать 12 оптических характеристик материалов, — этого более чем достаточно для того, чтобы воплотить в трехмерной сцене практически любые из реально существующих или фантастических материалов;
несмотря на обилие параметров, допускающих настройку, использование многих карт текстур может производиться без каких-либо изменений принятых по умолчанию значений параметров;
для правильного нанесения карт текстур на поверхности объектов эти объекты должны обладать системой проекционных координат, максимальную гибкость настройки которых обеспечивает модификатор UVW-map (UVW-npo-екция);
иногда применения к объекту одного модификатора проекций оказывается недостаточно для выравнивания стыков текстуры на краях объекта, и тогда приходится применять к отдельным граням объекта несколько модификаторов плоской проекции, что дает возможность независимого редактирования рисунка текстуры на каждой из совокупностей граней;
для имитации зеркального отражения окружающей обстановки на поверхностях объектов можно применять материалы, основанные на картах растровой текстуры, просто подменяющих реальные отражения готовой картинкой, или картах Reflect/Refract (Отражение/Преломление), Flat Mirror (Плоское зеркало) и Raytrace (Трассируемая), действительно проецирующих окружающую обстановку на поверхность материала;
Подведем некоторые итоги
Думаю, что вам не помешают полученные в данной главе знания о том, как можно оживить сцену за счет воспроизведения тех или иных эффектов, свойственных окружающей нас природной среде: тумана, дымки, пучков света и т. п. Помимо этого, в данной главе вы узнали о том, что:
для ускорения процесса визуализации можно воспользоваться окном активной раскраски, где изображение формируется хотя и с упрощениями, но почти без заметного на глаз ущерба для качества;
перед визуализацией сцены можно произвести настройку параметров этого процесса с целью, например, визуализации граней объектов с обеих сторон или отказа от визуализации эффектов внешней среды;
при визуализации сцены можно задавать размеры выходного кадра как произвольным образом, так и путем выбора из большого числа готовых вариантов, а также сохранять изображение в виде файла на диске или записывать его на цифровой магнитофон;
в связи с продолжительностью и трудоемкостью процесса визуализации важно уметь контролировать его прохождение, чтобы не создалось впечатления, что компьютер «завис»;
окно виртуального буфера кадров снабжено несколькими полезными инструментами, позволяющими сохранять просматриваемое изображение в виде файла на диске, а также создавать копию окна буфера кадров для сопоставления вариантов визуализации при отладке;
при помощи интегрированного в 3ds max модуля визуализации mental ray можно применять к конечному изображению интересные эффекты, такие как каустика, глубина резкости, эффект смаза при движении и разные другие;
если нужно выполнить визуализацию большого числа файлов, есть смысл использовать возможность визуализации из командной строки;
в ряде случаев визуализированное изображение выглядит гораздо привлекательнее, если выполнить его синтез не на черном фоне, установленном по умолчанию, а на более светлом или даже белом фоне;
изображение трехмерной сцены можно визуализировать на фоне растровой или любой другой текстурной карты, что обеспечивает для разработчика неограниченные возможности по созданию композиций из реальных фоновых сюжетов и моделируемых сцен;
Подведем некоторые итоги
Что ни говорите, а когда видишь созданный собственными руками компьютерный «мультик», пусть даже и простейший, невольно проникаешься сознанием собственной значимости. Так и кажется, что стоишь уже где-то недалеко от Уолта Диснея или «Уорнер Бразерс». Впрочем, овладев такой программой, как max 7.5, уже не стоит думать, что мечты не сбываются...
Однако мы отвлеклись. Из этой, предпоследней главы вы узнали о том, что:
виртуальный трехмерный мир способен не только простираться в пространстве, но и изменяться во времени, a max 7.5 обладает всеми необходимыми средствами, чтобы зафиксировать такие изменения в виде файла анимации;
когда max 7.5 переключен в режим автоматической анимации, любые изменения параметров или преобразований объектов фиксируются программой в виде ключей анимации;
перед использованием режима принудительной анимации требуется некоторая предварительная подготовка, чтобы указать, для каких параметров и каких объектов будут создаваться ключи, но зато появляется возможность полного контроля над поведением выбранных объектов;
создать базовую анимацию методом ключевых кадров, или методом ключей, совсем не трудно, если умеешь пользоваться средствами управления анимацией: ползунком таймера, строкой треков, кнопками просмотра и окном настройки временных интервалов;
метод ключей — не единственный, хотя и самый простой и распространенный метод анимации; помимо этого, поведение объектов во времени можно, например, описывать алгоритмическими выражениями, а анимацию перемещения объекта задавать путем указания траектории движения;
подготовленную анимацию можно просматривать непосредственно в окне проекции, можно создать и просмотреть ее упрощенный вариант — эскиз, а можно заставить max 7.5 выполнить итоговую, чистовую визуализацию анимации с записью результата в файл типа .avi;
окно диалога Track View (Просмотр треков), имеющее в max 7.5 две разновидности, является специализированным средством настройки анимаций и содержит полный набор необходимых для этого инструментов, хотя простейшую настройку ключей анимации можно выполнять и средствами строки треков.
Подведем некоторые итоги
Будем считать, что знакомство состоялось. Возможно, оно несколько затянулось, но мне не хотелось без подготовки отправлять вас в этот бескрайний виртуальный трехмерный мир, где так легко потеряться! Итак, в ходе изучения этой главы вы узнали о том, что:
экран max 7.5 устроен так, чтобы обеспечить возможность осматривать трехмерные объекты с разных сторон в пространстве и следить за их поведением во времени, в связи с чем он имеет окна проекций, строки треков, подсказки и состояния, ползунок таймера анимации и т. п.;
командные панели и свитки, являющиеся отличительной особенностью интерфейса всех версий 3ds max, — это хранилище неисчислимых запасов инструментов для работы над трехмерной сценой;
объекты max 7.5 разделяются на категории, разновидности и типы, различающиеся по назначению, внешнему виду и использованию (не пугайтесь этой внушительной фразы: скоро вы убедитесь, что создавать такие объекты достаточно просто).
Следующую главу начнем с того, что вы создадите в max 7.5 свою первую трехмерную сцену из нескольких объектов, затем мы научимся работать с окнами проекций, правильно выбирать единицы измерения и настраивать шаг координатной сетки, включать и активизировать привязки, а также загружать и сохранять файлы max 7.5 — это последнее, что необходимо уметь делать перед тем, как непосредственно приступить к трехмерному моделированию.
![]() | ![]() | ![]() |
Подведем некоторые итоги
Надеюсь, я не слишком утомил вас описанием многочисленных настроек mах 7.5. Скорее всего, истинную ценность этих знаний вы ощутите позже, когда всерьез займетесь работой над трехмерными сценами.
Итак, в этой главе вы узнали о том, что:
создать простейшую сцену в max 7.5 не так уж трудно;
расположение и размеры окон проекций можно в определенной мере менять, хотя и с меньшей свободой, чем других окон mах 7.5, и только в пределах одного из стандартных вариантов компоновки этих окон;
правильно подобрав типы проекций в окнах, можно рассматривать сцену со всех сторон, не покидая уютного кресла перед компьютером;
в каждом из окон можно устанавливать произвольный масштаб и один из семи допустимых уровней качества изображения объектов сцены;
отдельные объекты можно делать полупрозрачными или совсем невидимыми, и это очень удобно, так как облегчает работу над сложными по составу сценами;
выбор подходящих единиц измерения — залог того, что отдельные объекты при объединении в составе сцены будут иметь нужные размеры;
координатная сетка и средства привязок призваны помочь в создании объектов с требуемой точностью, а потому не нужно пренебрегать их настройкой;
существует несколько вариантов начала работы над новой сценой: «с нуля», то есть с полной перезагрузки mах 7.5 и восстановления исходных значений системных параметров; с удаления текущих объектов при сохранении системных настроек; с присоединения готовых объектов или внешних ссылок на объекты или сцены; с загрузки готовой сцены для ее правки;
не стоит забывать о действующей в max 7.5 возможности автосохранения файлов, которая выручает в случаях аварийного завершения работы программы или, скажем, при неожиданном выключении электричества, позволяя сократить потери результатов редактирования до последних пяти минут работы;
программа max 7.5 может открывать и сохранять только файлы формата max, а файлы других допустимых форматов данных следует импортировать и экспортировать.
Помимо этих знаний вы получили и практические навыки, научившись создавать пусть простые, но самые настоящие трехмерные сцены, а также выполнять настройку масштаба, сетки координат и привязок max 7.5.
Кроме того, вы подготовили пустую сцену с нужными настройками системных параметров для работы над нашим основным проектом под названием «МАХ-кафе». Что ж, замечательно! Еще совсем недавно вы только слышали от других про программу max 7.5 и вот уже создали своп первые трехмерные сцены. В следующей главе мы научимся выделять и преобразовывать объекты max 7.5 — без этого нельзя обойтись практически ни в одном случае работы над реальным графическим анимационным проектом.
![]() |
![]() |
![]() |
Подведем некоторые итоги
Позади глава, материал которой не отличается оригинальностью, но очень важен для дальнейшей работы. Надеюсь, не слишком переутомил вас ссылками на разные правила и приемы, ощутить истинную значимость которых можно только на практике. Если вы все-таки устали и заскучали, бессмысленно, казалось бы, двигая в трехмерном пространстве банальные чайники, отдохните как следует, потому что — не буду кривить душой — дальше легче не будет. Но коли хочешь овладеть трехмерной графикой, нужно попотеть! Зато, надеюсь, теперь вы совершенно спокойно сможете приступить к строительству трехмерной сцены, которое обязательно бывает связано с необходимостью передвинуть, повернуть или изменить размер той или иной детали.
Итак, в этой главе вы узнали о том, что:
для выделения объектов в max 7.5 существует множество инструментов и приемов (щелчком кнопки мыши, с помощью рамки, с помощью меню, по имени объекта или набора объектов, по цвету, по материалу и т. п.), из которых в каждой конкретной ситуации нужно выбирать наиболее подходящие;
удобство использования способа выделения объектов по именам с лихвой окупает усилия по назначению понятных и выразительных имен на этапе создания объектов, о чем говорилось в предыдущей главе;
max 7.5 позволяет выделять наборы объектов, именовать эти наборы, блокировать и разблокировать, группировать и разгруппировывать объекты, а также объединять их в слои;
помимо уже знакомых по другим приложениям копий объектов в max 7.5 можно создавать два других типа дубликатов — образцы и экземпляры, на которые распространяются все модификации оригинала, что очень удобно при необходимости изменить всю совокупность дубликатов одновременно;
преобразования перемещения, поворота и масштаба объектов можно делать либо с невысокой точностью, «на глазок», либо путем точного ввода параметров;
если удерживать клавишу Shift, то при выполнении преобразований с помощью мыши можно создать нужное число дубликатов объекта;
результаты преобразований существенно зависят от того, в какой системе координат они выполняются, какие выбраны ограничения на допустимые оси преобразований и какой выбран центр преобразования;
для ограничения осей преобразований в max 7. 5 достаточно уметь пользоваться контейнером преобразования;
для обеспечения точности моделирования необходимо использовать возможность автоматического выравнивания объектов относительно друг друга.
Фактически по всем позициям вы приобрели не только новые знания, но и практические навыки, которые, надеюсь, позволят вам уверенно выполнять операции выделения и преобразования объектов и подобъектов max 7.5.
Со следующей главы мы вплотную начнем учиться создавать элементарные «кирпичики» трехмерных сцен и даже заложим фундамент и выстроим стены здания задуманного проекта «МАХ-кафе».
![]() |
![]() |
![]() |
Подведем некоторые итоги
Ну, считаю, что, одолев столь насыщенную главу, вам есть чем гордиться! Остается только напомнить, что в ходе изучения этой главы вы узнали о том, что:
в руках разработчика геометрической модели трехмерной сцены имеется разнообразный «строительный материал», который следует использовать с умом, учитывая особенности внешнего вида и конструкции объектов;
инструменты для создания всех типов объектов сосредоточены на командной панели Create (Создать), которая благодаря этому может считаться инструментальным цехом max 7.5;
если вы в момент создания объекта недостаточно точно настроили какие-то из его многочисленных параметров, это можно сделать и позже в любой удобный момент, выделив объект и перейдя на командную панель Modify (Изменить);
геометрические примитивы являются одними из простейших «кирпичиков» для строительства трехмерных сцен, хотя с их помощью можно создавать далеко не примитивные объекты;
используя только один тип примитивов — Box (Параллелепипед), — можно построить здание, а добавив еще пару — скажем, ChamferBox (Параллелепипед с фаской) и Tube (Труба), — обставить это здание вполне сносной мебелью;
магическая формула создания практически всех примитивов звучит так: «Щелкнули кнопкой мыши — перетащили курсор — отпустили кнопку — переместили курсор — щелкнули кнопкой» и т. д., если у примитива имеются дополнительные параметры, кроме длины, ширины и высоты;
в max 7.5 имеются специальные объекты, используя которые можно создавать такие сложные элементы, как окна, двери, лестницы и даже растения всего лишь несколькими щелчками мыши;
сетки кусков Безье и NURBS-поверхности можно создавать как непосредственно с помощью соответствующих инструментов max 7.5, так и превращая в них любые другие объекты, например тела-примитивы.
Очень хорошо, но знания — знаниями, а опыт — опытом. Надеюсь в связи с этим, что вы выполняли упражнения, приведенные в этой главе. Если нет, то никогда не поздно вернуться и все-таки проделать их — ведь в последующих главах нам предстоит двигаться дальше, продолжая наполнять жизнью задуманный графический проект «МАХ-кафе». В очередной главе мы займемся освоением методов рисования сплайнов и NURBS-кривых, а также научимся превращать их в трехмерные тела методами вращения и выдавливания.
![]() |
![]() |
![]() |
Подведем некоторые итоги
Надеюсь, вы уже привыкли к тому, что насыщенность материала глав нарастает. Думаю, вы и сами удивитесь, попытавшись осмыслить, сколько много новых знаний и навыков приобрели в этой главе. Итак, при изучении этой главы вы узнали о том, что:
в max 7.5 существует два типа линий: сплайны и NURBS-кривые, объединяемых общим термином «формы», с помощью которых можно рисовать кривые стандартной или произвольной конфигурации как на плоскости, так и в трехмерном пространстве;
сплайны могут иметь четыре типа вершин, различным образом виляющих на кривизну сегментов сплайна, примыкающих к этим вершинам;
форма NURBS-кривых определяется положением однотипных контрольных точек или управляющих вершин, а для формирования резких перегибов таких кривых следует разместить две точки или три управляющие вершины поверх друг друга;
для редактирования формы сплайнов и NURBS-кривых необходимо переходить на уровень выделения подобъектов: вершин, точек или управляющих вершин;
объекты-формы могут использоваться в составе сцены как самостоятельно (например, форма-текст), так и в качестве заготовок, преобразуемых в трехмерные тела методами вращения, выдавливания и лофтинга;
для преобразования форм в трехмерные тела вращения служит модификатор Lathe (Вращение), а NURBS-кривые, кроме того, можно превратить в тело вращения с помощью инструмента Create Lathe Surface (Создать поверхность вращением);
для преобразования форм в трехмерные тела экструзии, или выдавливания, могут использоваться модификаторы Extrude (Выдавливание) или Bevel (Скос). Профиль в виде NURBS-кривой, кроме того, можно преобразовать в тело экструзии с помощью инструмента Create Extrude Surface (Создать поверхность выдавливанием);
простейшее редактирование формы тел вращения, созданных с помощью модификатора Extrude (Выдавливание), выполняется за счет перемещения оси вращения — подобъекта Axis (Ось), а NURBS-тел вращения, созданных инструментом Create Lathe Surface (Создать поверхность вращением), — за счет перемещения подобъекта Curve (Кривая).
Помимо прочего, вы еще научились создавать зеркальную копию сплайна-линии и объединять копию с оригиналом, образуя замкнутый симметричный сплайн, модифицировать форму стандартных сплайнов, добавляя новые вершины и синхронно настраивая положение касательных векторов, а также применять к трехмерным телам модификатор Bend (Изгиб). Более подробно с методами модификации объектов мы познакомимся в главе 8, «Совершенствуем навыки модификации объектов».
В распоряжении разработчика геометрических моделей сцен в max 7.5 имеется множество инструментов, с помощью которых можно различными способами получить сходные результаты. Так, например, тела, похожие на тела вращения или выдавливания, можно сформировать с помощью уже упоминавшегося модификатора Bevel Profile (Скос по профилю). Попробуйте разобраться в его использовании самостоятельно при помощи электронной справочной системы max 7.5.
На следующем уроке мы продолжим знакомство с методами построения геометрических моделей. В частности, мы освоим применение мощного метода лофтинга, а также научимся создавать составные булевские объекты.
Подведем некоторые итоги
Примите поздравления! Мы с вами незаметно освоили почти все методы создания трехмерных тел и прочих объектов, которые планировали рассмотреть в нашей книге. Из данной главы, в частности, вы узнали о том, что:
для объединения простейших (а также не простейших) тел в max 7.5 предусмотрены средства создания составных объектов, к которым, среди прочих, относятся тела лофтинга и булевские объекты;
метод лофтинга в чем-то подобен методу выдавливания, однако он позволяет задавать произвольную траекторию «выдавливания» и допускает использование различных сечений в пределах пути «выдавливания»;
в дополнение ко всему, готовое тело лофтинга можно подвергнуть дополнительным деформациям, простейшей из которых является деформация масштаба, позволяющая менять размер сечения вдоль пути лофтинга;
использование булевских объектов требует наличия как минимум двух частично перекрывающихся трехмерных тел и позволяет, в частности, формировать отверстия в одних телах по форме других;
системы частиц max 7.5 — достаточно сложные объекты, которые тем не менее можно создавать всего несколькими щелчками кнопки мыши и довольно просто настраивать;
в max 7.5 есть мощное средство Particle Flow (Поток частиц), которое позволяет создавать множество эффектов с частицами любой сложности.
Помимо углубления знаний о новых методах создания геометрической модели сцены и совершенствования навыков применения этих методов, вы еще научились быстро переключать типы проекций в окне, используя клавиши-аналоги команд меню, а также применять модификатор Taper (Заострение).
На этом завершается «курс молодого бойца» применительно к конструированию геометрической модели сцены. Разумеется, в арсенале max 7.5 есть и другие, не рассмотренные нами объекты (например, динамические объекты со встроенной анимацией), а также иные средства конструирования геометрических моделей. Некоторые более «продвинутые» методы создания трехмерных тел будут рассмотрены в главах 9 и 10. Однако и теми средствами конструирования геометрии, с которыми вы уже ознакомились, можно воплотить очень многие замыслы. Нужно лишь добавить к навыкам конструирования навыки модификации геометрических моделей, чем мы и займемся в следующей главе.
Подведем некоторые итоги
Что же, следует признать, что мы рассмотрели большую часть инструментов, используемых в max 7.5 для редактирования формы геометрических моделей объектов. Теперь вы должны уметь не только создавать трехмерные тела, но и выполнять их простейшую модификацию как на уровне объектов в целом, так и на уровнях отдельных подобъектов. В этой главе вы узнали о том, что:
командная панель Modify (Изменить) позволяет не только в любой момент возвращаться к настройке характеристических параметров объектов max 7.5, но также применять к ним множество различных модификаторов и осуществлять редактирование объектов на «низких» уровнях отдельных вершин, ребер, граней и т. п.;
стек — это список всех примененных к объекту модификаторов, позволяющий вносить изменения в параметры любого из них, сколько бы их ни было в стеке объекта, «включать», «выключать», менять местами и даже полностью удалять отдельные модификаторы;
при сворачивании стека вся «память о прошлом» объекта утрачивается и дальнейшее его редактирование возможно только на уровне отдельных подобъектов — вершин, ребер, граней и т. п.;
в mах 7.5 имеется более 80 модификаторов различного назначения, а стандартные модификаторы формы объектов позволяют существенно расширить возможности трехмерного моделирования в части деформаций оболочек трехмерных тел;
редактирование сплайнов, сеток и полисеток, кусков Безье, NURBS-кривых и поверхностей на уровнях различных подобъектов, хотя и требует кропотливой работы, обеспечивает возможность внесения практически любых корректировок в форму трехмерных тел;
для применения к объекту многокомпонентного материала следует заранее настроить идентификаторы нужных граней, причем для тел выдавливания, вращения или лофтинга можно настроить идентификаторы для сегментов сплайнов-профилей и заставить грани поверхности формируемого тела наследовать эти идентификаторы.
Помимо получения новых знаний вы приобрели дополнительные и укрепили ранее отработанные практические навыки деформации оболочек трехмерных тел с помощью таких стандартных модификаторов, как Bend (Изгиб), Taper (Заострение), Twist (Скрутка), Noise (Неоднородности).
Итак, мы как бы наполнили ваш инструментальный ящик различными приспособлениями, позволяющими редактировать форму геометрических объектов. Однако про основную часть этих инструментов вы пока знаете только то, как они называются и для чего нужны. Этого, конечно, явно маловато для эффективного выполнения работы по редактированию геометрии. В связи с этим следующие две главы будут посвящены описанию особенностей и, если хотите, маленьких секретов применения наиболее употребительных и важных инструментов правки геометрических моделей сцены. Освоив эти секреты, вы имеете шанс перейти из разряда новичков в славную когорту мастеров трехмерного моделирования.
Подведем некоторые итоги
Вы одолели большую и довольно сложную главу, при изучении которой приобщились к секретам использования действительно мощных методов и средств построения трехмерных тел произвольной формы. Думаю, что теперь вы вполне представляете, как можно было бы создать модель коровы не хуже, чем у компании Viewpoint.
Итак, из этой главы вы узнали о том, что:
стандартные примитивы Box (Параллелепипед) и Cylinder (Цилиндр) не столь уж примитивны, и если попадают в хорошие руки, то могут сыграть роль глыбы мрамора или, скорее, бруска пластилина, скрывающего в себе скульптуры любой сложности, — стоит только научиться мыслить категориями вершин, ребер и граней, да освоить ряд нехитрых инструментов для манипулирования ими;
чтобы трехмерные тела, сработанные за счет редактирования стандартной сетки параллелепипеда, меньше напоминали своего угловатого предка, к ним можно применять модификатор MeshSmooth (Сглаживание сетки), получая объекты типа NURMS, занимающие промежуточное положение между полигональными сетками и NURBS-поверхностями. А вот полисетки обладают встроенными аналогичными возможности сглаживания и не требуют применения модификатора MeshSmooth (Сглаживание сетки);
модификатор MeshSmooth (Сглаживание сетки) может сослужить хорошую службу при сглаживании любой сетки с малым числом полигонов, а не только той, которая получена из сетки параллелепипеда;
хотя редактирование формы сеток кусков Безье, полученных за счет преобразования объектов-примитивов, и не слишком оригинальное занятие, все же иногда оно позволяет быстро получить желаемый результат, а потому достойно быть в арсенале мастеров;
куски Безье можно «склеивать» друг с другом, формируя сетки любой конфигурации, а за счет настройки касательных векторов угловых вершин кусков Безье этим сеткам можно придавать сколь угодно сложную форму с плавной кривизной, свойственной объектам органического мира;
построение сплайновых каркасов с последующим применением модификатора Surface (Поверхность) — один из наиболее продвинутых методов создания трехмерных тел произвольной формы, часто применяемый при разработке моделей компьютерных персонажей;
чтобы после применения модификатора Surface (Поверхность) сетка кусков Безье успешно натянулась на сплайновый каркас, следует обязательно совмещать вершины сплайнов каркаса в режиме трехмерной привязки и формировать только треугольные или четырехугольные ячейки каркаса, а также следить за значением параметра Threshold (Порог).
В следующей главе мы продолжим знакомство с секретами мастерства моделирования, осваивая навыки работы с кривыми и поверхностями типа NURBS.
Подведем некоторые итоги
Подошла к концу первая глава, заставившая вас освежить в памяти некоторые сведения из порядком надоевшего в свое время школьного курса черчения. Из этой главы вы узнали о том, что:
создание изображений средствами трехмерной графики напоминает скорее фотографирование или видеосъемку макетов сцен, чем их рисование;
работа по созданию изображения трехмерной сцены распадается на ряд этапов, из которых наиболее трудоемкими являются построение геометрической модели, настройка материалов и освещения, а программа 3ds max 7.5 именно для того и существует, чтобы максимально облегчить вам жизнь при решении этих трудоемких задач;
имеется целый ряд областей, таких как, скажем, проектирование интерьеров или архитектурных сооружений, комбинированная съемка или создание рекламных видеороликов, в которых использование ЗD-графики оправдывает затраты на создание модели трехмерной сцены;
анимация, или оживление, трехмерной сцены состоит в синтезе достаточно большого числа изображений (кадров), на которых запечатлены последовательные стадии движений или иных изменений объектов этой сцены. Программа 3ds max 7.5 умеет автоматически строить все промежуточные кадры по заданным ключевым кадрам, в которых ей указаны положения «оживляемого» объекта;
нет достоинств без недостатков, и принципиальные недостатки ЗD-графики состоят в повышенной требовательности к компьютеру, в меньшей художественной свободе изображения, а также в необходимости специально «портить» картинку в целях придания ей большего правдоподобия и следить за тем, чтобы «бестелесные» объекты вели себя должным образом при столкновениях;
все трехмерные объекты состоят из оболочек, разбиваемых на треугольные грани для удобства построения алгоритмов визуализации, и заключаются в габаритные контейнеры;
отображение трехмерного мира на экране дисплея происходит с использованием параллельных или центральных проекций;
тонированная раскраска — это способ нанесения теней и бликов на оболочку объектов. Изменяя ориентацию нормали в отдельных точках граней, программа 3ds max 7.5 добивается сглаживания ребер между гранями оболочек;
вам предлагается в процессе освоения книги вдохнуть жизнь в небольшой уголок виртуального трехмерного мира под названием «МАХ-кафе», хотя, возможно, это несколько не согласуется с вашими планами сразу начать с создания монстров для игры «Doom».
Не так уж и плохо для начала! Думаю, теперь вы знаете все или почти все, что необходимо для непосредственного знакомства с 3ds max 7.5, которое ожидает вас в следующей главе.
![]() |
![]() |
![]() |
Подведем окончательные итоги
Заключительная глава книги была посвящена одной из самых замечательных возможностей программы max 7.5 — анимации объектов с учетом взаимодействий друг с другом и с учетом воздействий на них различных физических сил. Из данной главы вы узнали о том, что:
модуль reactor (Реактор) работает с твердыми телами, водой, а также деформируемыми телами разных типов — тканью, деформируемой сеткой, мягкими телами. Объекты одного типа объединяются в коллекции;
доступ к инструментам модуля reactor (Реактор) можно получить как при помощи одноименной панели инструментов, расположенной в левой части окна 3ds max, так и используя командную панель или меню reactor (Реактор);
поскольку просчет результатов взаимодействия объектов может занять достаточно много времени, в модуле reactor (Реактор) предусмотрено окно предварительного просмотра, которое помогает оценить точность выбранных параметров и не требует затрат времени на просчет;
для того чтобы заставить одно жесткое тело упасть на другое, необходимо задать для него массу, отличную от нуля. При нулевой массе тело будет оставаться неподвижным. Выбор значения массы, равно как и многих других физических параметров, осуществляется в настройках утилиты reactor (Реактор), вызов которой осуществляется при помощи командной панели Utilities (Утилиты);
при помощи модуля reactor (Реактор) можно создавать различные взаимодействия ткани с твердыми телами, например набрасывать ткань на стол или создавать занавесь, прикрепленную к кольцам карниза;
перед началом просчета анимации в модуле reactor (Реактор) нужно обязательно проверить правильность выбранных настроек, а также не забыть сохранить копию сцены с инкрементированием имени. После выполнения просчета возвратиться на предыдущий этап создания сцены будет невозможно;
несмотря на то что основное предназначение модуля Cloth (Ткань) — создание одежды для трехмерных персонажей, его можно использовать и для других сцен, в которых необходимо смоделировать поведение ткани, например для анимации флага, развевающегося на ветру;
модуль Cloth (Ткань), в отличие от reactor (Реактор), не работает с твердыми телами. Для обозначения объектов, взаимодействующих с тканью, используется специальный тип объекта — Collision Object (Объект столкновения).
Теперь, когда вы освоили создание анимаций с учетом взаимодействий между объектами разного типа, можно с уверенностью сказать, что любая задача в max 7.5 вам по плечу. Используя полученные знания и навыки, вы без труда сможете осилить и те возможности 3ds max, которым не хватило места в этой достаточно объемной книге.
Вот и подошла к концу наша книга из 17 глав. Разрешите поздравить вас с приобщением к славному сообществу ценителей и знатоков программы max 7.5!
Разумеется, очень многие возможности max 7.5 остались за пределами нашей книги. А что уж говорить о целом море совсем не затронутых нами модулей расширения, благодаря которым возможности этой программы становятся поистине безграничными... Пусть вас это не смущает: мало найдется людей, которые могли бы сказать: «Я знаю все о 3ds max». Будем считать, что цель нашей книги достигнута, если у вас после ее прочтения возникло желание самостоятельно расширить свои познания о трехмерной графике и анимации, а также определенная уверенность в том, что вы сумеете это сделать. Заранее благодарю всех читателей, которые сочтут возможным прислать свои замечания по существу описанных в книге материалов, а также обнаруженные ими ошибки или несообразности в работе программы max 7.5, по адресу marov@piter.com.
Желаю успехов!
Показ текстуры фона внешней среды в окнах проекций
Визуализация трехмерной сцены на фоне, имитируемом картой текстуры, не требует, чтобы этот фон был виден в окнах проекций. Однако безусловно удобнее отлаживать сцену, если фон наблюдается в окнах проекций, давая возможность наилучшим образом «вписать» в него сцену.
Чтобы растровая текстура, выбранная в качестве фона сцены, была видна в окнах проекций, выполните команду меню Views > Viewport Background (Проекции > Фон окна проекции) или нажмите комбинацию клавиш Alt+b, вызвав появление окна диалога Viewport Background (Фон окна проекции), показанного на рис. 15.35.

Рис. 15.35. Окно диалога Viewport Background позволяет выбрать файл для помещения в качестве фона в активное окно или во все окна проекций
С помощью этого окна диалога можно выбрать произвольный файл, который будет наблюдаться в виде фона в окнах проекций max 7.5, однако не будет виден в качестве фона на визуализированных изображениях сцены. Чтобы в окнах проекций отображалась именно та текстура, которая выбрана на роль текстурной карты внешней среды в окне диалога Environment and Effects (Внешняя среда и эффекты), установите флажок Use Environment Background (Использовать фон внешней среды) в разделе Background Source (Источник фона) в верхней части окна. В правом нижнем углу окна диалога Viewport Background (Фон окна проекции) установите флажок Display Background (Показывать фон) — это обеспечит отображение фона в окнах проекций. Будут это все окна или только активное окно, определяется установкой переключателя Apply Source and Display to (Применить и показывать выбранный фон) в положение All Views (Во всех окнах) или Active Only (Только в активном окне).
Чтобы временно выключить и повторно включить изображение фона после его размещения в окне проекции, щелкните правой кнопкой мыши на имени окна проекции, вызвав контекстное меню, и выберите команду Show Background (Показывать фон).
| ЗАМЕЧАНИЕ Чтобы лучше видеть фон, можно убрать и изображение координатной сетки, выбрав команду Show Grid (Показывать сетку) контекстного меню окна проекции или просто нажав клавишу д. |
Ползунок таймера анимации
Этот ползунок (рис. 16.4) служит для установки текущего кадра анимации и позволяет управлять анимацией вручную. Цифры на ползунке указывают номер и общее число кадров в последовательности, называемой активным временным сегментом {active time segment) анимации. По умолчанию после запуска max 7.5 в качестве текущего всегда устанавливается нулевой кадр, а общее число кадров активного сегмента задается равным 101 — с нулевого по сотый, поэтому на ползунке можно видеть надпись 0/100. Перетаскивая ползунок с помощью мыши, можно установить в качестве текущего любой кадр из активного временного сегмента.

Рис. 16.4. Строка треков в max 7.5 похожа на мерную линейку, ползунок которой указывает текущий кадр
Кнопки со стрелками на левом и правом краях ползунка служат, соответственно, для перехода к предыдущему и следующему кадрам анимации. При воспроизведении анимации ползунок таймера автоматически перемещается слева направо, отображая процесс смены кадров и течение времени.
Ползунок таймера анимации может использовать различные временные шкалы. Например, вместо того чтобы демонстрировать номера кадров, он может показывать время в формате МИН:СЕК. Установка формата отображения времени производится в диалоговом окне настройки временных интервалов, о котором вы узнаете ниже.
Понятие коллекций модуля reactor
Чтобы придать тому или иному объекту геометрической модели трехмерной сцены свойства жесткого или деформируемого тела, необходимо включить его в список тел соответствующего типа, называемый коллекцией {collection). Чтобы, в свою очередь, получить возможность сформировать коллекцию, необходимо добавить в состав сцены один из следующих вспомогательных объектов модуля reactor (Реактор): Rigid Body Collection (Коллекция жестких тел), Soft Body Collection (Коллекция мягких тел), Cloth Collection (Коллекция тканей), Rope Collection (Коллекция нитей) или Deformable Mesh Collection (Коллекция деформируемых сеток).
В коллекции Rigid Body Collection (Коллекция жестких тел) и Deformable Mesh Collection (Коллекция деформируемых сеток) могут быть помещены любые объекты геометрической модели трехмерной сцены, представляющие собой объемные тела, а также линии-сплайны (NURBS-кривые для этого не годятся).
В коллекцию Soft Body Collection (Коллекция мягких тел) могут быть помещены только объекты геометрической модели, к которым применен модификатор reactor (Реактор) Soft Body (Реактор: Мягкое тело).
В коллекцию Cloth Collection (Коллекция тканей) допускается помещать только объекты, к которым применен модификатор reactor Cloth (Реактор: Ткань).
В коллекцию Rope Collection (Коллекция нитей) допускается помещать только объекты, к которым применен модификатор reactor Rope (Реактор: Нить). В качестве нитей могут использоваться только сплайны-линии (NURBS-кривые для этого не годятся).
Понятие ограничителей модуля reactor
Ограничители модуля reactor (Реактор) служат для того, чтобы ограничить допустимые движения жестких тел, входящих в анимацию. Ограничители могут, к примеру, служить для указания допустимой оси перемещения объекта или разрешенной оси его поворота, могут обеспечивать привязку положения объекта к определенной точке трехмерного пространства или ограничивать его перемещение заданной линией траектории.
Ограничители создаются в составе трехмерной сцены в виде значков. Как и в случае с коллекциями, положение значков ограничителей в составе сцены на момент создания не имеет значения.
После того как ограничитель создан, следует переключиться на командную панель Modify (Изменить) и настроить его параметры, в частности указать объекты геометрической модели трехмерной сцены, которыми будет управлять ограничитель.
Порядок создания источников света
Для начала рассмотрим общие действия по созданию источников света любого типа, а потом познакомимся с конкретными особенностями реализации и настройки отдельных осветителей. Итак, чтобы создать новый осветитель, выполните следующие действия:
1.

Щелкните на кнопке Lights (Источники света) командной панели Create (Создать). Выберите в раскрывающемся списке разновидностей источников света нужный вариант — Standard (Стандартные) или Photometric (Фотометрические). В свитке Object Type (Тип объекта) появятся кнопки инструментов создания осветителей различных типов. Например, при выборе стандартных осветителей это будут кнопки Target Spot (Нацеленный прожектор), Free Spot (Свободный прожектор), Target Direct (Нацеленный направленный). Free Direct (Свободный направленный), Omni (Всенаправленный), Skylight (Свет неба), mr AreaOmni (Всенаправленный площадной для mr) и mr AreaSpot (Площадной прожектор для mr), как показано на рис. 11.5. При выборе разновидности фотометрических осветителей свиток Object Type (Тип объекта) будет включать восемь кнопок: Target Point (Точечный нацеленный), Free Point (Точечный свободный), Target Linear (Линейный нацеленный), Free Linear (Линейный свободный), Target Area (Площадной нацеленный) и Free Area (Площадной свободный), а также IES Sun (IES-солнце) и IES Sky (IES-небо).

Рис. 11.5. В зависимости от выбранной разновидности свиток Object Type содержит кнопки создания восьми типов стандартных (слева) или фотометрических (справа) осветителей
2. Щелкните на кнопке источника света требуемого типа. В нижней части командной панели появятся свитки параметров, состав которых зависит от выбранного типа осветителя. Например, если выбрать инструмент создания стандартного осветителя Omni (Всенаправленный) или фотометрических осветителей Target Point (Точечный нацеленный), Free Point (Точечный свободный), то в нижней части панели появятся свитки Name and Color (Имя и цвет), General Parameters (Общие параметры), Intensity/Color/Attenuation (Интенсивность/цвет/ затухание), Shadow Parameters (Параметры тени), Shadow Map Params (Параметры карты тени) и Advanced Effects (Дополнительные эффекты), как показано на рис. 11.6. При выборе инструментов создания стандартного прожектора, как свободного, так и нацеленного, дополнительно к названным появится свиток Spotlight Parameters (Параметры прожектора), а при выборе инструментов создания нацеленного и свободного стандартных направленных осветителей — свиток Directional Parameters (Параметры направленного света). При выборе инструментов создания линейных фотометрических источников света на командной панели Create (Создать) появляется дополнительный свиток Linear Light Parameters (Параметры линейного осветителя), содержащий единственный счетчик Length (Длина), который позволяет задать длину линейного источника света. Соответственно, при выборе инструментов создания площадных стандартных и фотометрических источников появляется дополнительный свиток Area Light Parameters (Параметры линейного осветителя). Осветитель IES Sun (IES-солнце) не имеет свитков General Parameters (Общие параметры) и Intensity/Color/Attenuation (Интенсивность/цвет/затухание), но зато снабжается свитком Sun Parameters (Параметры солнца). Наконец, все параметры осветителя IES Sky (IES-небо), помимо цвета и имени, помещаются в единственном свитке IES Sky Parameters (Параметры IES-неба).

Рис. 11.6. Свитки параметров стандартного Всенаправленного осветителя на командной панели Create
3. Щелкните в точке любого окна проекции, где должен располагаться источник света, и выполните действия по созданию источника. Эти действия различаются в зависимости от типа источника и будут рассмотрены ниже. Настройте параметры источника света. Это можно сделать или сразу же после его создания, или позднее, выделив источник и перейдя на командную панель Modify (Изменить). В этом случае свиток Name and Color (Имя и цвет) будет отсутствовать, а к названным свиткам параметров добавляется еще один, Atmospheres & Effects (Атмосфера и эффекты), с помощью которого можно настраивать параметры различных спецэффектов, реализуемых с помощью осветителей, наподобие лучей света в тумане или пыльной комнате. Это свиток отсутствует только у осветителя IES Sky (IES-небо).
Подходы к имитации освещения, реализуемого с использованием новейших, требующих большого времени на вычисления, алгоритмов расчета глобальной освещенности и без них, сильно различаются. Начинать изучение, на мой взгляд, следует с приемов имитации освещения без учета глобальной освещенности, так как они более просты в настройке и использовании. При этом можно ограничиться только стандартными осветителями, так как нам не требуется обеспечивать фотометрическую точность результатов моделирования.
Скажу сразу, что если не производить расчет глобальной освещенности, то практически никогда не удается обойтись в составе сцены одним осветителем, какого бы типа он ни был. Отсутствие учета переотражений световых лучей приводит к нехватке освещенности, которую приходится восполнять за счет добавления вспомогательных источников света. В 3D-графике даже введены специальные понятия: ключевой осветитель {key light) и источник подсветки (fill light).
|
СОВЕТ Как правило, в состав сцены следует включать один-два ключевых осветителя, создающих на сцене основные световые пятна и области явных теней, а также один или несколько источников подсветки, восполняющих нехватку света в углах сцены и подсвечивающих затененные участки. |
Порядок создания систем частиц
Для создания системы частиц любого типа выполните следующие действия:
1. Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на одной из шести кнопок типов частиц в свитке Object Туре (Тип объекта), показанном на рис. 7.51. Мах 7.5 поддерживает семь различных типов систем частиц:

Рис. 7.51. Свиток Object Type с кнопками инструментов создания систем частиц
PF Source (Источник потока частиц) — создает сложную систему частиц, которая может быть запрограммирована на выполнение различных действий. Настройка этого типа частиц происходит в окне Particle View (Просмотр частиц) средствами модуля Particle Flow (Поток частиц).
Spray (Брызги) — создает простой эффект падающих водяных капель, в первую очередь пригодных для имитации дождя;
Super Spray (Супербрызги) — существенно усовершенствованная по сравнению со стандартной система брызг, позволяющая смоделировать очень многие эффекты, например брызги фонтана, струю, бьющую из шланга, или искры фейерверка. Частицам можно придавать форму различных объектов;
Snow (Снег) — создает простой эффект падающего снега и имеет много параметров для настройки формы частиц, их размера и характера падения;
Blizzard (Метель) — существенно усовершенствованная версия частиц типа Snow (Снег). Частицам можно придавать форму различных объектов;
PCIoud или Particle Cloud (Облако частиц) — создает статичное облако частиц и может применяться для имитации трехмерных звездных полей, косяка рыб или стаи птиц. Частицам можно придавать форму различных объектов;
РАггау или Particle Array (Массив частиц) — подходит для моделирования частиц любого типа, а также для усовершенствованных эффектов имитации взрыва. Частицам можно придавать форму различных объектов.
2. Щелкните в нужной точке любого окна проекции и перетащите курсор, чтобы создать объект-источник частиц, представляющий собой объект-пустышку, не подлежащий визуализации в составе сцены и используемый только для определения местоположения и ориентации системы частиц. Источники частиц типа Spray (Брызги) и Snow (Снег) создаются так же, как сплайны-прямоугольники, а остальных типов частиц — как примитивы-параллелепипеды. Примеры источников различных типов частиц показаны на рис. 7.52.

Рис. 7.52. Значки источников частиц различного типа
3. Пока созданный источник частиц еще выделен, настройте параметры этих частиц в свитках, появляющихся в нижней части панели Create (Создать). После отмены выделения источника для настройки его параметров перейдите на командную панель Modify (Изменить).
Дальнейшие действия зависят от выбранного типа частиц. Мы в нашей книге рассмотрим только порядок создания и настройки одной из простейших систем частиц типа Snow (Снег). Использование остальных систем частиц во многом аналогично, но имеются и особенности, с которыми вы при желании и необходимости можете ознакомиться, используя справочную систему max 7.5.
Поворот объектов с помощью мыши

Чтобы с помощью мыши повернуть объект или совокупность объектов, щелкните на кнопке Select and Rotate (Выделить и повернуть) панели инструментов или просто нажмите клавишу е. Кнопка подсветится желтым цветом. Перейдите в одно из окон проекций и выделите один или несколько объектов, которые необходимо повернуть. Станет виден контейнер преобразования поворота (рис. 4.29), который в max 7.5 реализует концепцию «виртуального трекбола». Трекболом называют шар на специальной подставке, заменяющий в некоторых графических станциях мышь. Такой шар можно крутить рукой, управляя движением курсора.

Рис. 4.29. Габаритный контейнер преобразования поворота
Из чего состоит этот виртуальный трекбол? Он образован тройкой векторов серого цвета и пятью (пятью!) окружностями-манипуляторами, каждая из которых предназначена для выполнения поворотов определенного типа:
внешняя окружность светло-серого цвета, располагающаяся во всех окнах проекций параллельно плоскости экрана, является манипулятором поворотов объекта в плоскости экрана;
окружность темно-серого цвета, которая в окнах центральной проекции, таких как Camera (Камера) или Perspective (Перспектива), также располагается параллельно плоскости экрана, служит манипулятором вращения в произвольном направлении;
три взаимно перпендикулярные окружности красного, зеленого и синего цветов предназначены для поворотов объекта вокруг одной из трех осей системы координат — X, Y или Z. Каждая из этих окружностей располагается перпендикулярно той оси тройки векторов системы координат, для поворота вокруг которой она предназначена.
При установке курсора на любую из этих окружностей она приобретает желтый цвет, а курсор принимает вид значка, изображенного на инструменте Select and Rotate (Выделить и повернуть). Для выполнения поворота следует щелкнуть кнопкой мыши и, удерживая ее нажатой, перетаскивать курсор. Курсор при этом может выходить за пределы окна проекции, причем при достижении края экрана действует режим переноса курсора от верхнего края к нижнему, от правого края к левому и наоборот для продолжения операции.
Если выполняется поворот в экранной системе координат с использованием внешней окружности-манипулятора, то на ней в точке щелчка кнопкой мыши появляются касательные отрезки, указывающие направления предпочтительного перетаскивания курсора. Тот отрезок, в сторону которого вращается объект, окрашивается желтым цветом (рис. 4.30).

Рис. 4.30. Выполнение преобразования поворота в экранной системе координат по часовой стрелке
Для выполнения произвольного вращения установите курсор на окружности темно-серого цвета или внутри ее, но не на одной из цветных окружностей. Окружность-манипулятор произвольного вращения должна окраситься в желтый цвет. Щелкните кнопкой мыши и перетаскивайте курсор в любом направлении. Для завершения преобразования отпустите кнопку мыши.
Для поворота объекта вокруг одной из осей координат X, Y или Z установите курсор на окружность, соответственно, красного, зеленого или синего цветов. Цвет окружности должен стать желтым. Щелкните кнопкой мыши и перетаскивайте курсор. В точке щелчка также появятся касательные отрезки, указывающие направления предпочтительного перетаскивания курсора. По мере поворота в плоскости выбранной окружности будет изображаться сектор с полупрозрачной заливкой, соответствующей цвету окружности. В верхней части окна проекции по умолчанию отображается значение угла поворота в градусах, как показано на рис. 4.31. При повороте на угол, превышающий 360°, полупрозрачный сектор будет изображаться с перекрытием, причем область перекрытия выделяется большей плотностью полупрозрачной заливки.

Рис. 4.31. Поворот объектов вокруг оси Z сопровождается изображением сектора угла поворота и цифровой индикацией значения угла: 74,5°
После завершения преобразования объекты остаются выделенными, поэтому можно перейти в другое окно проекции и продолжить поворот объектов в пределах иной координатной плоскости.
По умолчанию в качестве центра поворота отдельного объекта принимается его опорная точка, а в качестве центра преобразования совокупности выделенных объектов — геометрический центр воображаемого параллелепипеда, в который вписывается совокупность объектов. Можно заставить каждый из выделенных объектов поворачиваться вокруг собственной опорной точки или сделать так, чтобы вся совокупность объектов поворачивалась относительно начала глобальной системы координат, о чем рассказывается далее в разделе «Управление точками центров преобразований».
Поворот плоскости проекции
Возможность поворачивать плоскость проекции очень удобна, так как позволяет подобрать наилучший ракурс просмотра сцены. Инструмент Arc Rotate (Повернуть) служит для перемещения плоскости проекции вокруг объекта при неизменном расстоянии до него. Пользоваться инструментом Arc Rotate (Повернуть) можно как в окнах ортографических проекций, так и в окне центральной проекции Perspective (Перспектива), при этом в окнах ортографических проекций автоматически устанавливается проекция типа User (Специальный вид).
Для поворота плоскости проекции поступайте следующим образом:

Щелкните на кнопке Arc Rotate (Повернуть), после чего она зафиксируется и подсветится желтым цветом, а в активном окне проекции появится трекбол вращения — окружность желтого цвета с центром в начале текущей системы координат и четырьмя маркерами в верхней, нижней, левой и правой крайних точках, как показано на рис. 3.12.

Рис. 3.12. Значок трекбола в окне позволяет произвольным образом поворачивать плоскость проекции
Щелкните в пределах окна проекции и перетаскивайте курсор вправо-влево для вращения проекции в горизонтальной плоскости или вверх-вниз для вращения в вертикальной плоскости. Вариант поворота будет определяться формой курсора, которая меняется при его размещении внутри трекбола, снаружи от него или на одном из четырех маркеров. Кнопка Arc Rotate (Повернуть) имеет панель, содержащую два альтернативных варианта инструмента — кнопки Arc Rotate Selected (Повернуть выделенные) со значком белого цвета и Arc Rotate Sub-Object (Повернуть под-объект) со значком желтого цвета. С помощью этих кнопок выполняется вращение изображения относительно центра выделенного набора объектов или подобъ-ектов, а не центра поля зрения.
Для выключения режима вращения щелкните в окне проекции правой кнопкой мыши.
| СОВЕТ Самый быстрый способ поворота плоскости проекции — с помощью мыши, имеющей среднюю кнопку или колесико. Установите курсор в активное окно проекции, нажмите и удерживайте клавишу Alt, щелкните средней кнопкой-колесиком мыши и, не отпуская ее, начинайте перетаскивать курсор, следя за изменением плоскости проекции. |
Познаем основы управления анимацией
Если окна проекций служат для осмотра сцены, а средства управления этими окнами позволяют рассматривать объекты в трехмерном пространстве с разных сторон, то средства управления анимацией предназначены для настройки поведения объектов сцены во времени, в чем, собственно, и состоит процесс анимации.
Практикуемся в создании материалов на основе карт текстур
Чтобы вас не одолела изжога от пресыщения сухим концентратом знаний, перейдем к практической отработке навыков применения и настройки параметров текстурных карт в составе материалов графического проекта «МАХ-кафе».
| ЗАМЕЧАНИЕ Определенную сложность при работе с растровыми текстурами может представлять поиск подходящих цифровых изображений. Все используемые в предлагаемых ниже упражнениях файлы текстур вы найдете в папке Maps компакт-диска, прилагающегося к книге. Эти изображения взяты из наборов, входивших в комплекты поставки предыдущих версий 3ds max, а также из свободно распространяемых библиотек материалов, имеющихся в сети Интернет. В комплект поставки max 7.5 также входит достаточно много разнообразных цифровых изображений, которые могут с успехом быть использованы в качестве растровых текстурных карт. Любые текстуры на свой вкус вы можете создать и с помощью уже достаточно широко распространенных цифровых фотокамер. |
Преобразование объектов в редактируемые сетки и полисетки
Для редактирования сетчатых оболочек, образованных стандартными сетками, необходимо или применить к этим оболочкам модификатор Edit Mesh (Правка сетки), или преобразовать их к типу Editable Mesh (Редактируемая сетка). Это делается следующим образом:
чтобы применить к трехмерному объекту любого типа модификатор Edit Mesh (Правка сетки), следует выделить объект, перейти на командную панель Modify (Изменить), раскрыть список Modifier List (Список модификаторов) и щелкнуть на строке модификатора Edit Mesh (Правка сетки) либо выполнить цепочку команд меню Modifiers > Mesh Editing > Edit Mesh (Модификаторы > Редактирование сетки > Правка сетки);
чтобы преобразовать трехмерные объекты-примитивы или объекты, созданные методом лофтинга, к типу Editable Mesh (Редактируемая сетка), следует выделить объект, перейти на командную панель Modify (Изменить), щелкнуть правой кнопкой мыши на наименовании типа объекта в окне стека модификаторов и выбрать в разделе Convert To: (Превратить в:) контекстного меню команду преобразования объекта-примитива в объект типа Editable Mesh (Редактируемая сетка). Команда Convert to Editable Mesh (Превратить в редактируемую сетку) имеется также в подменю Convert To: (Превратить в:) четвертного меню transform (преобразование), вызываемого по щелчку правой кнопкой мыши в активном окне проекции;
чтобы преобразовать к тину Editable Mesh (Редактируемая сетка) объекты, созданные методами вращения или выдавливания, а также другие объекты, имеющие модификаторы в стеке, необходимо выполнить сворачивание стеков модификаторов объектов, как это было описано ранее в разделе «Окно стека модификаторов».
В составе модификаторов max 7.5 есть модификатор и для правки редактируемых полисеток — Edit Poly (Правка полисетки). Преобразование объектов к типу «редактируемая полисетка» может производиться также за счет выбора команды Editable Poly (Редактируемая полисетка) в разделе Convert To: (Превратить в:) контекстного меню, появляющегося после щелчка правой кнопкой мыши на наименовании типа объекта в окне стека модификаторов командной панели Modify (Изменить). Команда Convert to Editable Poly (Превратить в редактируемую полисетку) имеется и в подменю Convert To: (Превратить в:) четвертного меню transform (преобразование), вызываемого по щелчку правой кнопкой мыши в активном окне проекции при выделенном объекте преобразования. В ряде случаев после сворачивания стека модификаторов объекта также формируется не редактируемая стандартная сетка, а редактируемая полисетка. В частности, такой результат обязательно достигается, если перед сворачиванием стека модификаторов применить к объекту модификатор Poly Select (Выделение полисетки).
Преобразование с дублированием
Все три типа преобразований mах 7.5 могут применяться не к самим объектам, а к их дубликатам, автоматически создаваемым в процессе преобразования. Для этого следует выполнять преобразование при удерживаемой клавише Shift, как описывается ниже.
1. Щелкните на кнопке нужного инструмента преобразования. Выделите объект или несколько объектов, требующих дублирования.
2. Нажав и удерживая клавишу Shift, щелкните на любом из выделенных объектов и перетаскивайте курсор, выполняя преобразование обычным способом. Отпустите кнопку мыши. Появится окно диалога Clone Options (Параметры дублирования), отличающееся от рассмотренного выше окна, появляющегося при использовании команды меню Edit > Clone (Правка > Дублировать), только наличием счетчика числа дубликатов, как показано на рис. 4.37.

Рис. 4.37. При дублировании в ходе преобразований в окне диалога Clone Options появляется счетчик числа дубликатов
3. Выберите тип создаваемых при дублировании объектов с помощью переключателя Object (Объект). Задайте количество создаваемых дубликатов в счетчике Number of Copies (Число копий) и имя для первого из них — в текстовом поле Name (Имя). Имена остальных дубликатов будут основаны на заданном имени с добавлением порядковых номеров. В завершение щелкните на кнопке ОК. Будет создано заданное число дубликатов, причем каждый очередной дубликат будет смещен, повернут или масштабирован относительно предыдущего таким же образом, как первый дубликат относительно оригинала.
Преобразования объектов
Преобразования (transforms) — это операции над объектами, в результате которых изменяется положение центра объекта в трехмерном пространстве, ориентация объекта или его масштаб. В max 7.5 имеются средства для выполнения трех типов преобразований: Move (Переместить), Rotate (Повернуть) и Scale (Масштабировать).
В тех случаях, когда не требуется высокая точность, преобразования объектов можно выполнять «на глазок» с помощью мыши. Для перемещения, поворота или масштабирования объектов с высокой точностью значения параметров преобразования задают численно. Это можно делать разными способами, рассматриваемыми ниже.
Простейшим и наиболее распространенным способом выполнения преобразований является перемещение, поворот и масштабирование объектов «вручную» с помощью мыши. В процессе освоения этих действий, с которыми модельер трехмерной сцены не расстается буквально ни на минуту, нам предстоит познакомиться с понятием габаритного контейнера преобразования (transform gizmo).
Контейнер преобразования — это вспомогательный объект, изображаемый в окнах проекций при выполнении того или иного преобразования. Основу его составляет изображение тройки координатных векторов, хотя контейнеры трех типов преобразований — перемещения, поворота и масштабирования — в mах 7.5 различаются как на вид, так и по способам их применения. Эти контейнеры помогают даже в «ручном» режиме перемещать объект или изменять его масштаб только строго в заданном направлении, а также, скажем, поворачивать объект только вокруг нужной оси координат. Хорошо усвоив правила использования таких контейнеров, вы сильно облегчите себе жизнь при построении геометрических моделей трехмерных объектов.
| СОВЕТ Включение и выключение режима отображения контейнеров преобразований в окнах проекций производится с помощью команды главного меню Views > Show Transform Gizmo (Проекции > Показывать контейнер преобразования). |
Для отработки навыков преобразований объектов перезагрузите mах 7.5 с помощью команды меню File > Reset (Файл > Перезагрузить) и создайте в окне проекции Tор (Вид сверху) новую простую сцену из трех чайников, подобную показанной на рис. 4.26. Файл такой сцены можно найти в папке Scenes\Glava_04 компакт-диска, прилагающегося к книге, под именем Ris4-25.max.

Рис. 4.26.
Учебная сцена для отработки навыков преобразований
Преобразования с использованием четвертного меню
Для выполнения преобразований необязательно обращаться к соответствующим кнопкам панели инструментов. Команды преобразований имеются в четвертном меню.
Чтобы выполнить преобразование с использованием четвертного меню, проделайте следующее:
Выделите один или несколько объектов с помощью инструмента Select Object (Выделение объекта). Укажите курсором на любой из выделенных объектов и, когда курсор примет вид крестика, щелкните правой кнопкой мыши. Появится уже привычное четвертное меню, показанное еще раз на рис. 4.36.

Рис. 4.36. Четвертное меню с командами преобразований
1. Выберите в разделе transform (преобразование) четвертного меню одну из команд преобразований — Move (Переместить), Rotate (Повернуть) или Scale (Масштабировать) В результате будет автоматически нажата кнопка соответствующего преобразования на панели инструментов, а курсор примет вид значка, соответствующего выбранному типу преобразования. При выборе команды Scale (Масштабировать) будет активизирован тот из трех инструментов масштабирования, кнопка которого в данный момент представлена на панели инструментов. Для смены инструмента придется обратиться к панели и выбрать другую кнопку или же просто нажать клавишу r.
2. Выполните преобразование таким же способом, как и при использовании панели инструментов.
Превращение объектов max 7.5 в сетку кусков или NURBS-поверхность
Как видите, создавать сетки кусков Безье и NURBS-поверхности не просто, а очень просто. Другое дело, что не так-то просто превратить такие плоские заготовки в те трехмерные тела сложной формы, особенно присущей объектам природного происхождения, для моделирования которых и были введены в mах 7.5 эти поверхности.
Один из путей, позволяющих быстро и просто создавать трехмерные тела с оболочкой в виде сетки кусков Безье или NURBS-поверхности и воспользоваться далее возможностями редактирования таких поверхностей для придания им нужной формы, состоит в преобразовании примитивов.
Чтобы преобразовать трехмерное тело-примитив в сетку кусков Безье или NURBS-поверхность, проделайте следующие действия:
1. Создайте трехмерный объект-примитив, например сферу, который будет служить заготовкой для последующей правки.
2. Щелкните на выделенном объекте правой кнопкой мыши. В появившемся четвертном меню выберите команду Convert To (Превратить в), а в раскрывшемся подменю — команду Convert to Editable Patch (Превратить в редактируемый кусок), чтобы превратить оболочку примитива в сетку кусков Безье, как показано на рис. 5.32, а, или Convert to NURBS (Превратить в NURBS-поверхность), чтобы превратить ее в поверхность типа NURBS, как показано на рис. 5.32, б.

Рис. 5.32. Исходная сфера (а) и результат ее преобразования в сетку кусков Безье (б) и NURBS-поверхность (в)
Вокруг некоторых примитивов max 7.5 (например, таких, как сфера) после преобразования в сетку кусков Безье и перехода на уровень выделения подобъектов-вершин отображается совокупность управляющих вершин решетки деформации в виде квадратиков желтого цвета. Эти управляющие вершины — рудимент, оставшийся от предыдущих версий программы 3ds max. «Облако» таких управляющих вершин, показанных на рис. 5.33, можно было видеть также па рис. 2.37, а, где изображен объект в виде грибка, составленного из двух стандартных сфер, преобразованных в сетки кусков Безье. Управляющие вершины решетки деформации не играют практически никакой роли в деле правки формы сетки кусков.

Рис. 5.33. На уровне выделения подобъекта Vertex вокруг некоторых примитивов, преобразованных в сетку кусков Безье, отображаются вершины решетки деформации
К объекту-примитиву можно применить средства редактирования кусков Безье, и не превращая его в такую сетку. Для этого следует воспользоваться модификатором Edit Patch (Правка куска), выбрав его по имени в раскрывающемся списке Modifier List (Список модификаторов) командной панели Modify (Изменить).
О том, какие существуют инструменты для редактирования формы сеток кусков и NURBS-поверхностей, вы узнаете из главы 8, «Совершенствуем навыки модификации объектов». В главах 9 и 10 вам будет предоставлена возможность отработать на практике некоторые приемы правки формы кусков Безье и NURBS-поверхностей.
В этой главе мы разберем
В этой главе мы разберем только приемы создания сплайна Rectangle (Прямоугольник), как «типового представителя» семейства стандартных сплайнов, а также сплайнов Line (Линия) и Text (Текст), поскольку они потребуются нам при реализации проекта «МАХ-кафе». Кроме того, мы познакомимся с рисованием «нетипичного» трехмерного сплайна Helix (Спираль), который также понадобится нам, когда в главе 10 дело дойдет до навешивания гирлянды на украшающую кафе «MАХ» новогоднюю елку. В особенностях создания остальных сплайнов рекомендую вам разобраться самостоятельно, тем более что ничего хитрого, поверьте, в этом нет.
Помимо названных, max 7.5 предлагает вам следующие инструменты для создания сплайнов:
Circle (Круг) — позволяет создавать сплайны в виде окружностей произвольного радиуса;
Ellips (Эллипс) — позволяет создавать эллипсы и круги;
Donut (Кольцо) — позволяет создавать формы, состоящие из двух концентрических кругов;
Arc (Дуга) — позволяет создавать сплайны в виде дуги и кругового сектора;
NGon (N-угольник) — позволяет создавать замкнутые сплайны в виде правильных N-угольников, в том числе со скругленными углами. Любой N-угольник может быть превращен в круг;
Star (Звезда) — позволяет создавать замкнутые сплайны в виде звезды с произвольным числом лучей;
Section (Сечение) — позволяет создавать сплайны, представляющие собой сечения сетчатых оболочек трехмерных объектов произвольно ориентированной в пространстве плоскостью.
Кроме обычных сплайнов, в max 7.5 есть также группа улучшенных сплайнов, которые перекочевали в 3ds max из программы Autodesk VIZ. Они все обладают схожей чертой - позволяют создавать сплайны в виде замкнутых форм. Вот они:
WRectangle (Сдвоенный прямоугольник) — дает возможность создавать сплайны из двух концентрических прямоугольников. Этот инструмент напоминает рассмотренный нами выше сплайн Donut (Кольцо), однако вместо кругов он использует прямоугольники;
Channel (Канал) — позволяет создавать сплайны в форме замкнутого наружного контура буквы С;
Angle (Угол) — позволяет создавать сплайны в форме замкнутого наружного контура латинской буквы L;
Tee (Т-образный) — дает возможность создавать сплайны в форме замкнутого наружного контура заглавной буквы Т;
Wide Flange (Широкий выступ) — позволяет создавать сплайны в форме замкнутого наружного контура латинской буквы I.
Приемы рисования NURBS-кривых
С технической точки зрения рисовать NURBS-кривые проще, чем сплайны-линии. Никаких специальных мер для определения кривизны линий принимать не требуется: знай себе щелкай кнопкой мыши да перемещай курсор по экрану. Мах 7.5 целиком берет на себя задачу построения кривой, плавно проходящей через все заданные точки или изгибающейся вблизи от них.
Однако с точки зрения достижения нужного результата использование NURBS-кривых требует определенной тренировки. Поначалу, расставляя на экране контрольные точки, довольно трудно предсказать, как поведет себя кривая. Впрочем, мы уже говорили о том, что нужной формы всегда можно добиться на этапе редактирования.
Для создания NURBS-кривых любого типа выполните следующие общие действия:
1.

Щелкните на кнопке Shapes (Формы) командной панели Create (Создать) и выберите в раскрывающемся списке разновидность объектов NURBS Curves (NURBS-кривые). В свитке Object Type (Тип объекта) появятся две кнопки с надписями, соответствующими двум типам кривых: Point Curve (Точечная кривая) и CV Curve (CV-кривая).
2. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся три свитка: Rendering (Визуализация), Keyboard Entry (Клавиатурный ввод) и Create Point Curve (Создание точечной кривой) или Create CV Curve (Создание CV-кривой) — в зависимости от того, какой инструмент выбран. Параметры последнего свитка не отличаются от аналогичных параметров свитка Interpolation (Интерполяция) форм-сплайнов за исключением флажка Draw In All Viewports (Рисовать во всех окнах проекций) и переключателя Automatic Reparamerization (Автоматическая репараметризация). Установка упомянутого флажка позволяет при рисовании NURBS-кривой свободно перемещать курсор из одного окна проекции в другое, продолжая рисование кривой на координатной плоскости нового окна. В результате получается кривая, располагающаяся не на плоскости, как сплайн-линия, а в трехмерном пространстве. Назначение переключателя состоит в выборе варианта автоматической репараметризации, то есть способа изменения числа опорных точек или управляющих вершин, обеспечивающего сохранение формы кривой.
3. Щелкните в том месте любого из окон проекций, где должна располагаться первая точка или первая управляющая вершина кривой. Первая точка (управляющая вершина) обозначается кружком зеленого цвета, как показано на рис. 6.17. Переместите курсор в то место окна, где должна располагаться следующая точка или управляющая вершина, и щелкните кнопкой мыши. Если после щелчка, обозначающего начало кривой, перетащить курсор при удерживаемой кнопке мыши более чем на 5 пикселей от начала кривой, то в момент отпускания кнопки мыши будет создана дополнительная точка (управляющая вершина). Продолжайте перемещать курсор и устанавливать точки (управляющие вершины), щелкая кнопкой мыши. Контрольные точки (управляющие вершины) обозначаются маленькими квадратиками зеленого цвета. Для кривой типа CV наряду с управляющими вершинами отображается решетка деформации в виде линий желтого цвета. Чтобы удалить неверно установленную точку или управляющую вершину, нажмите клавишу Backspace. Повторные нажатия этой клавиши будут приводить к удалению точек (управляющих вершин) в порядке, обратном порядку их создания, то есть от конца к началу.

Рис. 6.17. Процесс рисования NURBS-кривых точечного типа (слева) и типа CV (справа)
4. Как видно из рис. 6.17, справа, кривая типа CV как бы «притягивается» к управляющим точкам. «Степень притяжения» можно увеличить, настраивая параметр Weight (Вес) управляющих вершин на этапе редактирования CV-кривой. Однако это можно сделать и в процессе создания такой кривой, если разместить две управляющие вершины в одной точке. Для этого следует трижды щелкнуть кнопкой мыши (первый щелчок создает управляющую вершину, а два других — дополнительную вершину). Если при создании управляющей вершины четырежды щелкнуть кнопкой мыши, то будут созданы три концентрические вершины. Это позволяет формировать резкие изломы NURBS-кривых типа CV, как показано на рис. 6.18, справа, где вблизи от тройной вершины (третьей сверху) кривая сливается с решеткой деформации. Для точечных кривых тоже можно использовать двойные точки, создаваемые тремя щелчками кнопки мыши, чтобы формировать резкие перегибы кривой (рис. 6.18, слева).

Рис. 6.18. Примеры использования сдвоенных точек в точечных NURBS-кривых слева), а также двойных и тройных управляющих вершин в кривых типа CV (справа)
5. Для создания (NURBS-кривой любого типа в трехмерном пространстве используйте два способа: режим рисования во всех окнах проекций и перемещение вершины перпендикулярно текущей координатной плоскости при нажатой клавише Ctrl. Оба эти способа рисования трехмерных кривых будут подробнее рассмотрены ниже при выполнении практического упражнения.
6. Для завершения рисования разомкнутой NURBS-кривой щелкните правой кнопкой мыши. Для создания замкнутой кривой щелкните в месте расположения первой точки (управляющей вершины). Появится запрос Close Curve? (Замкнуть кривую?). Щелкните на кнопке Yes (Да) или No (Нет).
Применение карт текстур к характеристикам материала
Чтобы применить карту текстуры к той или иной оптической характеристике текущего материала, выполните следующие действия:
1. Разверните свиток Maps (Карты текстур) Редактора материалов и щелкните на кнопке с надписью None (Отсутствует) справа от наименования характеристики материала, с которой может быть связана текстурная карта. Чтобы разблокировать кнопку выбора карты Ambient (Подсветка), щелкните на кнопке со значком в виде замка справа от кнопки с надписью None (Отсутствует). Для применения карт текстуры к таким характеристикам, как цвет диффузного рассеивания, зеркального отражения, подсветки, а также к ряду других характеристик, можно, не разворачивая свиток Maps (Карты текстур), щелкнуть на маленькой квадратной кнопке без надписи в свитке базовых параметров выбранного метода тонированной раскраски. Такой способ ведет к тому же результату: появится окно диалога Material/Map Browser (Просмотр материалов и карт текстур) с вариантом списка просмотра, в который включаются только различные типы карт текстур, как показано на рис. 14.40.

Рис. 14.40. В списке карт текстур в окне диалога Material/Map Browser выбрана карта Perlin Marble
2. Дважды щелкните на имени карты текстуры нужного типа в списке окна просмотра. В результате произойдет возврат обратно в Редактор материалов, но при этом в нем появится новый набор свитков. Эти свитки, состав которых зависит от типа выбранной карты текстуры, позволяют настроить параметры использования карты в составе материала и будут отчасти рассмотрены ниже. Карта текстуры становится компонентом материала, демонстрируемого в активной ячейке образца Редактора материалов. Имя компонента отображается в поле раскрывающегося списка Редактора материалов (например, как Map #1). Для возврата назад к параметрам материала можно щелкнуть на имени материала в раскрывающемся списке имен (оно появится там над именем компонента) или щелкнуть на кнопке Go to Parent (Перейти к составному материалу). Можно с этой же целью воспользоваться окном путеводителя по материалам и картам текстур, как было описано в предыдущей главе. После возврата на уровень материала обратите внимание на то, что в свитке Maps (Карты текстур) на кнопке выбора карты текстуры вместо надписи None (Отсутствует) появилась надпись, указывающая порядковый номер использованной карты в данном сеансе работы с max 7.5 и в скобках — тип карты, например: Map #1 (Bitmap) — Карта №1 (Растровая).
3. Отрегулируйте долю вклада текстуры в итоговый материал с помощью счетчика группы Amount (Доля вклада). Для большей части карт значение доли вклада меняется от 0 до 100 %, но для ряда карт эта величина может быть и больше 100. Так, для карт текстур в каналах Specular Level (Яркость блеска), Bump (Рельефность) и Displacement (Смещение) максимальное допустимое значение доли вклада составляет 999. Для включения или выключения действия карты текстуры установите или сбросьте флажок в левой части соответствующей строки параметров свитка Maps (Карты текстур).
Применение модификаторов
Область использования геометрических примитивов можно существенно расширить за счет применения модификаторов {modifiers). Модификаторы позволяют различным образом изменять форму сетчатой оболочки трехмерных тел: растягивать, сжимать, изгибать, перекашивать, скручивать как канат, произвольным образом деформировать и даже разрывать на части. Например, типичный способ моделирования неровной грунтовой поверхности состоит в том, чтобы создать плоский как блин цилиндр очень большого диаметра и малой высоты и применить к основанию этого цилиндра модификатор Noise (Неоднородности), создающий случайные неровности в виде возвышений и впадин.
Модификаторы можно применять не только к геометрическим примитивам, но и к любым трехмерным объектам, таким как тела вращения, экструзии или лофтинга.
Осваивать навыки использования модификаторов мы будем по мере необходимости.
Применение нескольких модификаторов проекций к одному объекту
В ряде случаев нанесение на объект материала, основанного на карте растровой текстуры, с использованием единственного модификатора проекций не ведет к получению оптимального результата. В качестве примера на рис. 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. |
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 (Удалить) панели инструментов окна. Если перед щелчком на этой кнопке выделить имя всего набора, он будет удален целиком.
|
ЗАМЕЧАНИЕ Разумеется, удаление имени объекта из состава набора или удаление имени выделенного набора никоим образом не приводит к удалению самих объектов из состава трехмерной сцены — при этом изменяется или исчезает только их именованная совокупность. |

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 (Правка сплайна) из стека объекта. При преобразовании стандартного сплайна в редактируемый он необратимо утрачивает возможность корректировки своих параметров. |
|
ЗАМЕЧАНИЕ При выделении подобъектов с помощью любой из кнопок свитка Selection (Выделение) не требуется разворачивать дерево подобъектов в окне стека модификаторов. Строка заголовка дерева подобъектов после щелчка на любой из упомянутых кнопок окрашивается в желтый цвет, а справа от заголовка появляется значок выбранного подобъекта, такой же, как на нажатой кнопке. |

Рис. 8.25. Верхняя (слева) часть свитка Geometry в режиме правки сплайнов на уровне вершин и нижняя {справа) часть этого свитка в режиме правки на уровне сплайнов
Чтобы выполнить редактирование сплайнов на уровне объекта в целом, в окне стека модификаторов должен быть выделен заголовок дерева подобъектов, то есть строка Editable Spline (Редактируемый сплайн), Edit Spline (Правка сплайна) или Line (Линия). В свитке Geometry (Геометрия) при этом будет доступна лишь малая часть инструментов редактирования. Для перехода к редактированию на уровне того или иного подобъекта необходимо щелкнуть на квадратике со знаком «плюс» слева от заголовка дерева подобъектов и выбрать в раскрывшемся списке один из доступных подобъектов: Vertex (Вершина), Segment (Сегмент) или Spline (Сплайн).
|
ЗАМЕЧАНИЕ При выборе подобъектов Segment (Сегмент) или Spline (Сплайн) в самом низу командной панели Modify (Изменить) появляется еще один свиток — Surface Properties (Свойства поверхности), позволяющий настраивать значения идентификаторов материалов, которые можно применять к сплайнам в случае их визуализации. |
Выбрав подобъект Vertex (Вершина), вы получаете возможность перемещать, поворачивать и масштабировать отдельные вершины или группы выделенных вершин сплайна, а также изменять их тип. При выборе подобъекта Segment (Сегмент) можно перемещать, поворачивать и масштабировать отдельные сегменты сплайна, а также назначать сегментам один из двух допустимых типов: Curve (Кривая) или Line (Линия). Выбор подобъекта Spline (Сплайн) позволяет применять преобразования к отдельным сплайнам из состава сплайновой формы.
Кроме того, к этим же подобъектам могут применяться специальные инструменты редактирования, сосредоточенные в свитке Geometry (Геометрия) и частично рассматриваемые ниже.
|
ЗАМЕЧАНИЕ Не забывайте о таком удобном способе доступа к командам редактирования выделенных объектов и подобъектов, как четвертное меню, вызываемое по щелчку правой кнопкой мыши. Четвертное меню выделенного подобъекта содержит многие из тех команд, которые реализованы в виде кнопок в свитке Geometry (Геометрия). |
Редактирование стандартных сеток и полисеток
В 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 — Против часовой стрелки).
|
ЗАМЕЧАНИЕ Приемы рисования сплайна-спирали совершенно аналогичны тем, какие используются при построении трехмерного примитива-конуса с усеченным верхним основанием. |
Самоподготовка
Попробуйте самостоятельно применить средство 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 кадров.
Самоподготовка
В качестве задания на самостоятельную проработку попробуйте выполнить визуализацию анимации наезда камерой на открывающиеся двери «МАХ-кафе», усовершенствованной в ходе выполнения упражнения 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 по части анимации не ограничиваются этими простейшими ситуациями. Ключи, созданные в процессе анимации, можно удалять, перемещать по шкале времени, дублировать и редактировать — ведь они имеют целый ряд параметров, определяющих характер поведения «оживляемого» объекта.
Сфера и Геосфера
Инструмент 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. Линия горизонта камеры совмещена с линией горизонта фона, а перспективная проекция объекта согласована с фоном
Сохранение файла с инкрементированием имени
Многие знатоки в области 3D-моделирования и анимации считают за правило сохранять за время работы над проектом множество копий файла трехмерной сцены, по одной после каждого сколько-нибудь существенного изменения, внесенного в сцену. Бесспорная полезность такого подхода объясняется тем, что всегда оказывается возможным вернуться на какую-то из ранних стадий редактирования и внести нужные исправления. Разумеется, в программе mах 7.5 есть возможность вернуться на много шагов назад с помощью команды Undo (Отменить). Не следует, однако, забывать, что очередь отмен «забывается» программой после ее выключения. Так что если все время сохранять файл под одним и тем же именем, в какой-то момент может оказаться, что вы в ходе редактирования сцены зашли в тупик, откат назад невозможен, и все нужно начинать заново. Не хочу вас заранее огорчать, но я сам многократно оказывался в подобной ситуации, пока не приучил себя к сохранению копий под новыми именами.
Если взять подобный прием за правило, то удобно сохранять копии файла сцены под тем же именем, но с добавленным к нему нарастающим номером. Это всегда позволит расставить файлы по хронологии развития работы над проектом. Когда работа завершится, все ненужные больше копии можно просто удалить.
Прием сохранения копии файла под тем же именем, но с добавлением нарастающего номера (по-научному это называется инкрементированием имени) настолько распространен среди опытных пользователей 3ds max, что в программе max 7.5 для этого даже предусмотрена специальная кнопка.
Итак, для сохранения файла с инкрементированием его имени выберите в меню File (Файл) команду Save as (Сохранить как). Появится типовое окно диалога Save File As (Сохранить файл как), с которым вы уже сталкивались в начале данной главы. Оно отличается от рассмотренного выше окна диалога Open File (Открытие файла) только тем, что кнопка Open (Открыть) в нем заменена на кнопку Save (Сохранить). Щелкните на кнопке со знаком «плюс» слева от кнопки Save (Сохранить), как показано на рис. 3.34.
Рис. 3.34. Кнопка со знаком «плюс» в окне диалога Save File As служит для сохранения копии файла под тем же именем, но с добавлением номера
Файл сохранится под тем же именем, к которому будет добавлен двузначный порядковый номер, автоматически увеличивающийся на единицу при каждом новом сохранении щелчком на кнопке со знаком «плюс». Например, копия файла с именем Ded Moroz.max будет сохранена под именем Ded MorozCH .max. При сохранении с инкрементированием этой копии будет создан файл с именем Ded Moroz02.max, затем Ded Moroz03.max и т. п.
|
ЗАМЕЧАНИЕ Обратите внимание на то, что сохранение копии файла с инкрементированием имени нужно выполнять не в конце, а в начале каждого очередного сеанса работы над трехмерной сценой. И вообще, стоит взять за правило всегда начинать работу над новой сценой с сохранения файла сцены с приданием ему имени. |
Сохраняем сцену
Сохраним нашу сцену в виде файла — не столько из-за ее «исторического значения» (хотя все-таки это первая ваша сцена!), сколько из-за того, что она еще понадобится нам в этой главе в качестве «испытательного полигона» для обучения навыкам управления изображением в окнах проекций. Для хранения сцен в max 7.5 используется тип файлов с расширением имени max. В этих файлах наряду с объектами сцены, их материалами, источниками освещения и камерами сохраняются также установки системных параметров, такие как настройки шага сетки, привязок и единиц измерения, конфигурация окон проекций, масштаб изображения и т. п.
Для сохранения сцены выберите команду меню File > Save (Файл > Сохранить) или нажмите клавиши Ctrl+s. Так как сцена еще ни разу не сохранялась, то появится типовое окно диалога Save File As (Сохранить файл как). Использование этого окна в max 7.5 не отличается от других приложений Windows. Выберите нужный диск и папку в раскрывающемся списке в верхней части окна, введите имя файла, например Pervaia Scena (для романтичных натур) или EffRab7-1 (для любителей строгого учета) в текстовое поле File Name (Имя файла) и щелкните на кнопке Save (Сохранить).
Готовый файл этой простейшей сцены под именем EffRab7-1.max можно найти в папке Scenes\Glava_03 компакт-диска, прилагающегося к книге.
Состав инструментов и интерфейс модуля reactor
В состав модуля reactor (Реактор) входят двадцать вспомогательных объектов, три модификатора, одна объемная деформация и сервисная программа-утилита reactor (Реактор). Доступ к перечисленным средствам моделирования обеспечивается посредством командной панели Create (Создать), меню reactor (Реактор) и панели инструментов reactor (Реактор).
Состав инструментов редактирования сеток и полисеток
При выделении объекта, к которому применен модификатор Edit Mesh (Правка сетки), на командной панели Modify (Изменить) появляются свитки Selection (Выделение), Soft Selection (Плавное выделение) и Edit Geometry (Правка геометрии). При выделении объекта, имеющего тип Editable Mesh (Редактируемая сетка), дополнительно появляется свиток Surface Properties (Свойства поверхности). Для объектов с модификатором Edit Mesh (Правка сетки) этот свиток появляется после перехода на уровень подобъектов.
При выделении объекта, имеющего тип Editable Poly (Редактируемая полисетка), дополнительно к свиткам Selection (Выделение), Soft Selection (Плавное выделение) и Edit Geometry (Правка геометрии) появляются свитки Subdivision Surface (Разбиение поверхности), Subdivision Displacement (Разбиение для смещения) и Paint Deformation (Деформация кистью). Кроме того, при выборе того или иного типа подобъектов могут появляться еще свитки с инструментами редактирования подобъектов выбранного типа. Например, при выборе подобъектов-вершин появляются свитки Edit Vertices (Правка вершин) и Vertex Properties (Свойства вершин).
Свитки Selection (Выделение) и Soft Selection (Плавное выделение) служат для облегчения действий по выделению различных подобъектов сеток. В частности, в свитке Selection (Выделение) имеются кнопки, предназначенные для выделения всех возможных подобъектов стандартной редактируемой сетки или полисетки.
Свиток Surface Properties (Свойства поверхности) позволяет настраивать характеристики поверхности, различающиеся в зависимости от выбранного уровня подобъектов. Элементы управления свитка Subdivision Displacement (Разбиение для смещения) по назначению и использованию полностью совпадают с аналогичными элементами управления свитка Surface Properties (Свойства поверхности) в режиме редактирования стандартных сеток на уровне объектов. Свиток Subdivision Surface (Разбиение поверхности) имеет один и тот же состав инструментов при редактировании полигональной сетки как на уровне объекта в целом, так и на уровне любого из подобъектов и предназначается для сглаживания поверхности сетки, а также дополнительного разбиения всей сетки или ее выделенных полигонов. Свиток Paint Deformation (Деформация кистью), который появился в инструментарии max седьмой версии, содержит инструменты для рисования по поверхностям трехмерных объектов.
Собственно средства редактирования сеток и полисеток сосредоточены в свитках Edit Geometry (Правка геометрии), показанных на рис. 8.30. Как и в случае сплайнов, доступ к инструментам этих свитков меняется в зависимости от типа подобъектов, выбранных в раскрывающемся списке дерева подобъектов в окне стека.

Рис. 8.30. Свитки Edit Geometry с инструментами правки стандартных редактируемых сеток (слева) и редактируемых полисеток (справа)
Редактирование сеток можно проводить на уровне объектов, а также на уровнях вершин, ребер, граней, полигонов и элементов. Редактирование полисеток можно проводить на уровне объектов, а также на уровнях вершин, ребер, границ, полигонов и элементов. Подобъект типа Border (Граница) имеется только у полисеток и представляет собой замкнутую последовательность ребер, каждое из которых принадлежит только одной грани и является крайним ребром сетки. Фактически, границы — это края отверстий в полисетках.
Для редактирования сеток на уровне объектов в окне стека модификаторов должен быть выделен заголовок дерева подобъектов, то есть строка Edit Mesh (Правка сетки), Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка). Для перехода к редактированию на уровнях подобъектов выделите объект с редактируемой сетчатой оболочкой, щелкните на квадратике со знаком «плюс» слева от заголовка дерева подобъектов и выберите в раскрывшемся списке один из подобъектов: Vertex (Вершина), Edge (Ребро), Face (Грань), Border (Граница), Polygon (Полигон) или Element (Элемент).
Как и в случае сплайнов, для редактирования подобъектов их следует выделить. Выделенные Подобъекты окрашиваются в красный цвет.
К выделенным подобъектам сеток можно применять любые преобразования, то есть перемещать их, поворачивать и масштабировать. Кроме того, над подобъек-тами можно выполнять различные операции с помощью специальных инструментов, которые становятся доступными в свитке Edit Geometry (Правка геометрии) при выборе того или иного подобъекта.
Составные карты текстур
Составные карты текстур (compositor maps) разработаны исключительно для объединения нескольких различных цветов или текстур в одну новую текстуру. Чтобы увидеть полный перечень составных текстурных карт, необходимо вызвать окно диалога Material/Map Browser (Просмотр материалов и карт текстур) и установить в левом нижнем углу окна переключатель Compositors (Составные карты). К данному типу относятся следующие карты текстур:
Composite (Многослойная карта) — составляется из других карт текстур, перекрывающих друг друга послойно и использующих альфа-каналы прозрачности для того, чтобы одна карта была видна из-под другой. На рис. 14.18 показан пример размещения растровой текстуры слова «МАХ» поверх процедурной текстуры кирпичной кладки;

Рис. 14.18. Использование карты текстуры типа Composite для размещения двух растровых текстур поверх друг друга
Mask (Маска) — позволяет перекрыть (замаскировать) часть одной текстуры другой текстурой. Подстилающий материал может полностью перекрываться маской или частично просвечивать сквозь нее, в зависимости от интенсивности отсчетов маски. Такая карта часто используется в качестве текстуры диффузного отражения для создания надписей на поверхности определенного материала, как показано на рис. 14.19;

Рис. 14.19. Использование карты-маски в качестве текстуры цвета диффузного отражения столешницы
Mix (Смеситель) — позволяет смешивать два цвета или две растровые текстуры. При этом можно управлять долей каждого из цветов (текстур) в результирующей текстуре смеси. На рис. 14.20 показано, как использование данной карты в качестве текстуры цвета диффузного рассеивания стены «МАХ-кафе» позволило сделать так, что изображение древнегреческой фрески проступает на фоне кирпичной кладки;

Рис. 14.20. Использование карты Mix для смешивания двух растровых текстур
RGB Multiply (RGB-перемножение) — позволяет объединить две другие текстуры путем перемножения цветовых значений их пикселей в каналах RGB: значение интенсивности красного цвета пикселя одной текстуры умножается на значение интенсивности красного цвета пикселя другой текстуры, то же делается с интенсивностями зеленого и синего цветов. Если объединяемые текстуры имеют альфа-каналы прозрачности, то могут быть перемножены и значения отсчетов в альфа-каналах. Данная карта обычно используется в качестве текстур цвета диффузного отражения, как показано на рис. 14.21, или рельефа. Если вместо одной из текстур использовать однородный цвет, это придаст другой текстуре нужный цветовой оттенок. Данный прием часто используется для окрашивания текстур, которые имеют нужный рисунок, но не соответствуют по цвету — например, для превращения текстуры алюминиевой фольги в текстуру золотистой фольги.

Рис. 14.21. Использование карты типа RGB Multiply позволило нанести рисунок-граффити поверх текстуры кирпичной кладки
Создаем и просматриваем эскизы анимаций
Эскиз анимации — это ее упрощенный вариант, чаще всего создаваемый для контроля качества движений объектов сцены. Эскиз анимации синтезируется с помощью интерактивного визуализатора, в отличие от окончательного варианта, формируемого сканирующим визуализатором с наилучшим возможным качеством. В эскизе анимации могут наблюдаться эффекты освещения и прозрачности, а также текстуры материалов объектов, хотя и в существенно упрощенном виде. Для итогового тестирования освещения сцены, эффектов прозрачности или качества материалов следует выполнять полную визуализацию отдельных кадров анимации.
| ЗАМЕЧАНИЕ Каждый кадр эскиза анимации — это моментальный снимок выбранного окна проекции сцены. Фактически эскиз анимации представляет собой не что иное, как просто записанный в файл процесс воспроизведения анимации в окне проекции max 7.5. |
Для создания, просмотра и переименования эскизов анимаций используются три команды меню Animation (Анимация): Make Preview (Создать эскиз), View Preview (Просмотреть эскиз) и Rename Preview (Переименовать эскиз).
Создаем материалы и применяем их к объектам
Чтобы создать материал в mах 7.5, в общем случае выполните следующие действия:
1. Активизируйте ячейку образца в окне диалога Material Editor (Редактор материалов) и введите в текстовое поле раскрывающегося списка имен материалов имя для будущего материала.
2. По умолчанию при перезагрузке max 7.5 во все 24 ячейки образцов Редактора материалов помещаются стандартные материалы. Для выбора материала иного типа щелкните на кнопке Get Material (Получить материал) или на кнопке, расположенной справа от раскрывающегося списка имен, и выберите нужный тип материала в появившемся окне диалога Material/Map Browser (Просмотр материалов и карт текстур). При необходимости просмотрите имеющиеся библиотеки материалов и выберите нужный материал из библиотеки. В нижней части окна Редактора материалов появятся свитки параметров выбранного материала.
3. Для материалов типа Standard (Стандартный) и Raytrace (Трассируемый) выберите тип алгоритма тонированной раскраски, о чем будет подробнее рассказано в следующем разделе.
4. Введите в свитки параметров материала нужные значения характеристик, таких как цвет диффузного рассеивания, сила блеска, размер блика, степени светимости и прозрачности и т. п.
5. Примените карты текстуры для имитации тех или иных характеристик материала, таких как рельефность, прозрачность, зеркальное отражение, преломление и т. п.
6. Назначьте полученный материал объекту сцены и при необходимости сохраните его в текущей библиотеке материалов.
Сейчас мы вкратце разберемся с перечнем и настройкой параметров стандартных материалов, а затем перейдем к освоению практических навыков их создания.
Создаем многокомпонентные материалы
От предыдущей главы у вас должно было сохраниться понимание того, что многокомпонентные материалы — это просто списки, в которых могут перечисляться материалы четырех основных типов max 7.5: стандартные, трассируемые, матовые/затеняемые или типа «обводка и заливка». Номер материала-компонента в списке является идентификатором этого компонента. При назначении многокомпонентного материала тому или иному объекту сцены отдельные материалы-компоненты автоматически присваиваются граням объекта, имеющим соответствующие идентификаторы материалов (Material ID). Первый материал-компонент присваивается граням, у которых параметр Material ID (Идентификатор материала) = 1, второй — граням, у которых Material ID (Идентификатор материала) = 2 и т. д.
Использование многокомпонентных материалов бывает необходимо тогда, когда требуется назначить разные материалы отдельным граням одного и того же объекта. Применительно к проекту «МАХ-кафе» мы рассмотрим задачи создания многокомпонентных материалов типа «Дерево+стекло», что необходимо для придания должного вида окну здания кафе, а также «Фаянс+позолота» и «Стек-ло+позолота», чтобы сделать-таки «тарелочки с золотой каемочкой» и пустить пару золотых полосок по верхним краям бокалов. Кроме того, многокомпонентные материалы понадобятся для отделки ствола и веток новогодней елки, стеклянных елочных шаров, имеющих сверху выступ золотистого металла, а также камина, который должен быть выложен снаружи и изнутри разными типами кирпичей. На стены кафе также имеет смысл нанести многокомпонентные материалы, иначе стена фасада изнутри окажется выложенной неровными плохо обработанными камнями, а остальные стены будут оклеены обоями снаружи.
Многокомпонентные материалы помогают также решать задачу имитации зеркальных отражений окружающих предметов в плоских поверхностях объектов с применением текстурной карты типа Flat Mirror (Плоское зеркало). Дело в том, что материалы на основе этой текстурной карты не могут применяться к трехмерным объектам в целом, а должны назначаться только совокупностям отдельных граней, лежащих в одной плоскости.
Создаем объекты-примитивы
Начинать учиться созданию трехмерных геометрических моделей лучше всего с освоения примитивов — объектов категории Geometry (Геометрия), относящихся к разновидностям Standard Primitives (Стандартные примитивы) и Extended Primitives (Улучшенные примитивы), — по нескольким причинам:
строить трехмерные примитивы очень просто, хотя некоторые из них имеют далеко не примитивную пространственную конструкцию;
все примитивы, за исключением одного объекта — Plane (Плоскость), не имеющего толщины, сразу создаются как объемные тела, а объекты других разновидностей, такие как NURBS-поверхности или куски Безье, изначально не имеют объема и их нужно дополнительно преобразовывать в трехмерные;
из набора примитивов, несмотря на их простоту, можно без особого труда построить практически полезные объекты.
Создаем сетки кусков Безье и NURBS-поверхности
Сетки кусков (Patch Grids) Безье — это поверхности, сформированные из треугольных или четырехугольных кусков (patches). Каждый кусок Безье состоит из четырехугольной или треугольной рамки (framework), построенной из сплайнов Безье, и поверхности (surface), заключенной в пределы этой рамки и представляющей собой просто-напросто фрагмент полигональной сетки. Изначально такие куски создаются как плоские, но могут быть преобразованы в трехмерные за счет манипулирования вершинами (vertices), расположенными по углам куска, и исходящими из этих вершин касательными векторами (vectors) с маркерами (handles) на концах. Эти касательные векторы и их влияние на форму сплайнов, составляющих рамку куска, совершенно аналогичны касательным векторам обычных двумерных сплайнов, с которыми вам предстоит познакомиться в следующей главе. Внутренние вершины и ребра куска Безье недоступны ни для выделения, ни для редактирования. Таким образом, удобство использования кусков состоит именно в том, что с помощью всего лишь четырех угловых вершин можно полностью управлять формой фрагмента сетки, включающего по умолчанию, как вы увидите чуть ниже, 49 вершин.
В версиях программы, предшествовавших mах 4, куски Безье снабжались еще решетками деформации (lattice), представлявшими собой окружающий кусок каркас из управляющих вершин и отрезков прямых, соединяющих эти вершины. В mах 7.5 решетки деформации не отображаются, так как касательные векторы угловых вершин обеспечивают полный контроль над формой куска. Причина, по которой приходится все же помнить о наличии управляющей решетки, станет понятной далее, в разделе «Превращение объектов mах 7.5 в сетку кусков или NURBS-поверхность».
Для модификации формы куска к нему следует применить модификатор Edit Patch (Правка куска) или преобразовать его к типу Editable Patch (Редактируемый кусок). С помощью этого же модификатора отдельные куски Безье можно скреплять друг с другом для наращивания площади сетки.
NURBS-поверхности (NURBS Surfaces) — это поверхности, форма которых описывается математическими выражениями — неоднородными рациональными В-сплайнами (Non-Uniform Rational B-Splines — NURBS). Такие поверхности, являющиеся всего-навсего конструкционным материалом для создания объектов сложной формы, изначально также создаются как плоские, а затем их форма изменяется на этапе модификации. Отдельные фрагменты NURBS-поверхностей можно прикреплять друг к другу для наращивания общей площади.
Различают два типа NURBS-поверхностей:
точечная поверхность (point surface) проходит через все опорные точки, заданные в трехмерном пространстве;
CV-поверхность (CV surface) плавно огибает все опорные точки, заданные в трехмерном пространстве и называемые управляющими вершинами (Control Vertices - CV).
В этой главе мы только научимся создавать сетки кусков Безье и NURBS-no-иерхности, а с методами и приемами редактирования их формы познакомимся в главах 9, «Осваиваем секреты моделирования», и 10, «Продолжаем постигать секреты NURBS-моделирования».
Создаем вашу первую трехмерную сцену
Эту главу нам предстоит начать с создания пары простейших объектов, которые составят вашу первую трехмерную сцену. Практическая польза от этой сцены, надеюсь, будет состоять в том, что вы убедитесь, насколько легко работать с max 7.5, а наше дальнейшее изложение не будет проходить при пустых окнах проекций и, следовательно, будет более предметным.
| СОВЕТ Мах 7.5 — это «продукт, готовый к употреблению». Все его бесчисленные параметры имеют принятые по умолчанию значения, так что даже если ничего не настраивать, и то что-нибудь да получится (ну, может быть, не совсем то, что нужно, но это уже другой вопрос). Поэтому не бойтесь пробовать! Если же вы зайдете в своих экспериментах в тупик, перезагрузите max 7.5, выбрав команду меню File > Reset (Файл > Перезагрузить), об использовании которой рассказывается в конце этой главы. |
Создание базовой анимации методом ключей в автоматическом режиме
Для создания базовой анимации в общем случае необходимо выполнить следующие действия:
1. Приведите объекты сцены, включая источники света и камеры, материалы и эффекты внешней среды в состояние, которое они должны иметь на момент начала анимации. Убедитесь, что текущим является кадр № 0. Все объекты в max 7.5 имеют нулевой кадр в качестве первого ключевого кадра, определяющего их начальные состояния при анимации. Определите и задайте частоту кадров и число кадров анимации, исходя из ее требуемой продолжительности, используя окно диалога Time Configuration (Настройка временных интервалов). Например, если анимация должна длиться 3 секунды при типовой частоте 30 кадров в секунду, то общее число кадров в анимации составит 90. Принятое по умолчанию число кадров 100 соответствует анимации продолжительностью около 3,3 секунды.
2. Щелкните на кнопке Auto Key (Автоключ), чтобы активизировать режим анимации. Кнопка и строка ползунка таймера анимации подсветятся темно-красным цветом, а рамка вокруг активного окна проекции также изменится с желтой на темно-красную, что указывает на пребывание max 7.5 в режиме автоматической анимации. Перемещая ползунок таймера анимации, установите в качестве текущего кадр, в котором должно совершиться какое-то действие (это будет ключевой кадр). Измените состояние сцены, например переместите или поверните один или несколько объектов, источник света или камеру, измените размер или масштаб объекта, яркость источника света, цвет, прозрачность, иную оптическую характеристику материала или, скажем, фазу и плотность тумана. При изменении любых параметров положения, поворота, масштаба или формы геометрических моделей, модификаторов объектов, характеристик материалов, источников света или эффектов внешней среды, а также других параметров, поддающихся анимации, max 7.5 автоматически выполняет следующие действия:
назначает анимируемому параметру контроллер, принятый для данного параметра по умолчанию;
создает ключ анимации в кадре 0 для запоминания начального значения параметра;
|
ЗАМЕЧАНИЕ Обратите внимание на этот момент. При анимации в автоматическом режиме max 7.5 всегда создает ключ в кадре 0 для запоминания начального значения анимируемого параметра. При анимации в принудительном режиме забота о создании ключа в кадре 0 ложится на аниматора, то есть на вас, уважаемый читатель. |
|
ЗАМЕЧАНИЕ Объект, которому назначен ключ анимации, заключается в ключевом кадре в габаритный контейнер, аналогичный тому, в какой помещается выделенный объект при тонированном режиме отображения. |
4. Базовая анимация создана. Основываясь на установленных ключах и назначенных по умолчанию котроллерах анимации, max 7.5 рассчитает значения анимируемых параметров для всех промежуточных кадров.
|
ЗАМЕЧАНИЕ Для анимации простых видов равномерного изменения параметров, таких как перемещение, поворот объекта или уменьшение яркости освещения, бывает достаточно установить два ключевых кадра: в начале и в конце анимации. |
просмотреть анимацию непосредственно в окне проекции в режиме как тонированного, так и каркасного отображения, с использованием упрощенного интерактивного визуализатора;
создать, сохранить в виде файла и просмотреть эскиз анимации, создаваемый с использованием интерактивного визуализатора;
продолжить настройку параметров анимации с использованием окна диалога Track View (Просмотр треков) или строки треков;
визуализировать анимацию с наилучшим возможным качеством и сохранить результат в виде файла заданного формата.
Теперь попробуем применить полученные сведения для создания вашей первой анимации.
Создание булевских объектов
Для создания булевских составных объектов выполните следующие действия:
1. Создайте два трехмерных тела (см. пример на рис. 7.43) и расположите их так, чтобы оболочки объектов перекрывались, как показано на рис. 7.43, в. Выделите одни из объектов, который далее будет именоваться «операнд А».

Рис. 7.43. Цилиндр (а) и шестигранная труба (б) расположены с перекрытием (в)
2. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты) и щелкните на кнопке Boolean (Булевские) в свитке Object Type (Тип объекта). В нижней части панели появятся свитки Pick Boolean (Задать операнд), Parameters (Параметры) и Display/Update (Показать/Обновить).
3. Установите переключатель свитка Pick Boolean (Задать операнд) в одно из четырех положений:
Reference (Экземпляр), Сору (Копия), Instance (Образец) — в составной объект будет включен соответствующий тип дубликата объекта, указанного в качестве операнда В;
Move (Перемещение) — объект-операнд В будет перемещен в состав булевского объекта.
4. Щелкните на кнопке Pick Operand В (Указать операнд В) и выделите объект, который должен являться операндом В. В окнах проекций мгновенно появится булевский объект, вид которого будет зависеть от текущей установки переключателя Operation (Операция) в свитке Parameters (Параметры).
5. Выберите тип булевской операции, установив переключатель Operation (Операция) в одно из пяти положений:
Union (Объединение) — тела объектов (операндов А и В) объединяются, образуя новое тело с одной общей поверхностью и общим объемом (рис. 7.44, слева вверху);
Intersection (Пересечение) — образуется новый объект, представляющий собой область пространства, принадлежащую как операнду А, так и операнду В (область пересечения операндов), как показано на рис. 7.44, справа вверху;
Subtraction (A-B) (Исключение (А-B)), Subtraction (B-A) (Исключение (B-A)) — новый объект образуется путем исключения из одного объекта-операнда пространственной области, принадлежащей другому операнду, как показано на рис. 7.44, внизу;
Cut (Вырезка) — вырезает объем тела-операнда В из операнда А, но при этом ничего не добавляет к сетке оболочки операнда А: в оболочке просто появляются отверстия. Имеются четыре типа вырезки, знакомиться с которыми не входит в наши планы.

Рис. 7.44. Результат применения булевских операций к объектам-примитивам
С назначением оставшихся параметров булевских объектов ознакомьтесь (при желании или необходимости) по электронной справочной системе max 7.5, а пока отработаем приемы создания булевских объектов на практике, выполнив два упражнения.
Создание чайника
1. Выберите в раскрывающемся списке командной панели Create (Создать) вариант Standard Primitives (Стандартные примитивы) и щелкните на кнопке Teapot (Чайник) в свитке Object Type (Тип объекта).
2. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы построить сечение чайника от одного края к другому, растягивая его по диаметру. Чтобы построить сечение чайника от центра, растягивая радиус, установите переключатель Center (От центра).
3. Щелкните в той точке любого из окон проекций, где должна располагаться начальная точка сечения чайника, и перетащите курсор, растягивая сечение. Следите за изменением величины параметра Radius (Радиус). Отпустите кнопку мыши для фиксации радиуса сечения. Опорная точка чайника располагается в центре его основания, а сам чайник размещается на координатной плоскости активного окна проекции.
4. Установите в разделе Teapot Parts (Части чайника) свитка Parameters (Параметры) флажки включения в модель отдельных элементов чайника, таких как корпус (Body), ручка (Handle), носик (Spout) и крышка (Lid). Сбрасывая те или иные из этих флажков, можно получить целое семейство предметов посуды, примеры которых приведены на рис. 5.29.

Рис. 5.29. Семейство предметов кухонной утвари, созданных на базе примитива Teapot
Остальные параметры чайника являются стандартными для всех примитивов.
| ЗАМЕЧАНИЕ Чтобы видеть в окне проекции внутреннюю поверхность стенок чайника без крышки, установите флажок Force 2-Sided (Показывать обе стороны) на вкладке Rendering Method (Метод визуализации) в окне диалога, вызываемом по команде Configure (Конфигурировать) меню окна проекции, как описано в главе 3. Впрочем, это не поможет, если у вас используется драйвер дисплея Direct3D. |
Создание цилиндра с фаской
Выберите в раскрывающемся списке командной панели Create (Создать) вариант Extended Primitives (Улучшенные примитивы) и щелкните на кнопке Cham-ferCyl (Цилиндр с фаской) в свитке Object Type (Тип объекта).
Создайте цилиндр, как было описано в предыдущем разделе.
После щелчка кнопкой мыши, фиксирующего высоту объекта, дополнительно переместите курсор вверх, настраивая высоту фаски, «срезаемой» под углом в 45°. В результате получится цилиндр со срезанными кромками, показанный на рис. 5.24, а.

Рис. 5.24. Цилиндр с фаской: параметр Fillet Segs равен 1 (а) и 4 (б); установлен флажок Smooth (в)
Для настройки фаски цилиндра служат такие же параметры, как у объекта ChamferBox (Параллелепипед с фаской).
Создание цилиндра
1. Выберите инструмент Cylinder (Цилиндр) из разновидности Standard Primitives (Стандартные примитивы).
2. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы строить основание цилиндра от одного края к другому, растягивая его по диаметру. Чтобы построить основание от точки центра, растягивая радиус, установите переключатель Center (От центра).
3. Щелкните в той точке любого из окон проекций, где должна располагаться начальная точка основания цилиндра, и перетащите курсор, растягивая основание. Следите за изменением величины параметра Radius (Радиус) в свитке Parameters (Параметры). Отпустите кнопку мыши для фиксации радиуса основания.
4. Переместите курсор при отпущенной кнопке мыши вверх или вниз, чтобы задать высоту цилиндра. Следите за значением параметра Height (Высота) в свитке Parameters (Параметры). Щелкните кнопкой мыши для фиксации высоты.
По умолчанию опорная точка объекта Cylinder (Цилиндр) располагается в середине основания (рис. 5.23, а).
Создание многогранной призмы
Чтобы превратить цилиндр в многогранную призму, сделайте следующее:
1. Сбросьте флажок Smooth (Сглаживание).
2. Измените число боковых граней в счетчике Sides (Сторон), которое по умолчанию равно 24, чтобы получить результат, представленный на рис. 5.23, 6.

Рис. 5.23. Цилиндр (а), многогранная призма (б), цилиндрический сектор (в)
Создание цилиндрического сектора
Чтобы сформировать цилиндрический сектор, напоминающий круглый торт с вырезанным куском и показанный на рис. 5.23, о, сделайте следующее:
Постройте цилиндр требуемого диаметра и высоты.
Установите флажок Slice On (Сектор).
Задайте величины параметров Slice From (Сектор от) и Slice To (До). Оба они являются счетчиками угловых величин и указывают долю полного круга в градусах, которая будет вырезана при построении цилиндрического сектора.
Создание дубликатов
Создавать дубликаты объектов можно с помощью команды меню Edit > Clone (Правка > Дублировать) или в процессе преобразований объектов. В max 7.5 имеются также специальные средства для создания наборов дубликатов объектов, упорядоченных в пространстве или по времени анимации; эти средства мы будем рассматривать по мере необходимости. Сейчас мы поговорим о порядке дублирования объектов с использованием команды меню, а дублирование в процессе преобразований будет описано ниже. Для дублирования объектов выполните следующие действия:
1. Выделите объект или набор объектов, подлежащих дублированию.
2. Выберите команду меню Edit > Clone (Правка > Дублировать). Появится окно диалога Clone Options (Параметры дублирования), показанное на рис. 4.25.

Рис. 4.25. Окно диалога Clone Options позволяет выбрать тип дубликата и назначить ему имя
3. Выберите тип создаваемых при дублировании объектов с помощью переключателя Object (Объект), имеющего три положения: Cору (Копия), Instance (Образец) и Reference (Экземпляр).
4. Задайте при необходимости имя для дубликата в текстовом поле Name (Имя) и щелкните на кнопке ОК.
Только что созданный дубликат объекта пространственно совпадает со своим оригиналом, а потому не виден. Для преобразования или модификации объекта-оригинала или его дубликата выделите любой из них по имени.
Создание геосферы
1. Выберите инструмент GeoSphere (Геосфера) — он также относится к разновидности Standard Primitives (Стандартные примитивы).
2. Установите переключатель свитка Creation Method (Метод создания) в положение Diameter (Диаметр), чтобы строить геосферу, растягивая ее по диаметру. Чтобы построить геосферу от центра, растягивая радиус, установите переключатель Center (От центра). В остальном объект GeoSphere (Геосфера) создается теми же методами, что и объект Sphere (Сфера), и имеет аналогичные параметры.
Специфическим параметром объекта GeoSphere (Геосфера) является Geodesic Base Type (Базовый тип оболочки) — переключатель на три положения, определяющий тип базового многогранника, на основе которого строится оболочка геосферы: Tetra (Тетра) — четырехгранник-тетраэдр; Octa (Окта) — восьмигранник-октаэдр; Icosa (Икоса) — двадцатигранник-икосаэдр.
Создание групп объектов
В составе сцены может быть создано произвольное количество групп объектов. Допускается создание вложенных (nested) групп, или групп в группе, с неограниченным уровнем вложенности.
Для создания группы объектов выполните следующие действия:
1. Выделите объекты, которые необходимо объединить в группу. В число таких объектов могут входить и те, которые уже объединены в другие группы, — в этом случае будет создана составная группа с вложенными группами.
2. Выберите команду меню Group > Group (Группа > Сгруппировать). Появится окно диалога Group (Сгруппировать) с текстовым полем Group Name (Имя группы), в котором можно задать имя новой группы. По умолчанию группы именуются Group01, Group02 и т. д.
3. Щелкните на кнопке ОК.
| ЗАМЕЧАНИЕ В текстовом поле свитка Name and Color (Имя и цвет) имена групп отображаются жирным шрифтом, а в поле списка объектов окна диалога Select Objects (Выделение объектов) — в квадратных скобках. При этом имена самих объектов, включенных в группу, не отображаются в списке окна Select Objects (Выделение объектов). |
Если теперь щелкнуть на любом из объектов, входящих в группу, вся группа выделится как единое целое. В окне проекции с тонированным режимом отображения выделение группы отображается в виде углов габаритного контейнера, охватывающего все объекты группы, как показано на рис. 4.20.

Рис. 4.20. Выделена группа, состоящая из трех чайников
| ЗАМЕЧАНИЕ Выделенную группу объектов можно перемещать, поворачивать и масштабировать так, словно это единый объект. |
Создание именованного выделенного набора
Если создаваемая сцена содержит много объектов, вам придется постоянно работать с определенными выделенными наборами. Для ускорения этой работы max 7.5 позволяет давать выделенным наборам имена. В самом деле, если какую-то совокупность объектов то и дело приходится выделять, чтобы выполнить над ними ту или иную операцию, зачем делать это каждый раз заново вручную? Выделите один раз, назначьте этому набору имя, а затем всякий раз при необходимости выделяйте все объекты одновременно, обращаясь к ним по имени набора.
Именованным выделенным набором (named selection set) называется совокупность выделенных объектов, которой присвоено определенное имя. Создание и редактирование состава именованных наборов выделенных объектов настолько полезная и распространенная операция, что в max 7.5 для нее даже введена специальная кнопка Named Selection Sets (Именованные выделенные наборы) на главной панели инструментов (рис. 4.15), вызывающая окно диалога с таким же названием.

Рис. 4.15. Фрагмент главной панели инструментов max 7.5 со средствами для работы с именованными выделенными наборами объектов
Можно иметь произвольное количество именованных выделенных наборов, причем каждый объект сцены может входить в любое количество именованных выделенных наборов. Вспомните, к примеру, показанную на рис. 1.21 главы 1 сцену, изображающую интерьер кафе и включающую два стола. На каждом из столов расставлено по четыре бокала, разостлано по четыре салфетки, на которых установлено по четыре тарелки, вилки и ложки. Вокруг столов стоят по четыре кресла. В подобной сцене целесообразно создать именованные наборы для одновременного выделения, скажем, всех бокалов, тарелок, вилок или ложек. Это, в частности, требуется для назначения данным объектам соответствующего материала. С другой стороны, те же объекты удобно объединить в выделенные наборы по принадлежности к первому или второму столу. Это поможет перемещать или поворачивать столы вместе с находящимися на них приборами.
Именованные выделенные наборы можно создавать в стиле прежних версий 3ds max или с помощью появившегося в max 7.5 нового окна диалога Named Selection Sets (Именованные выделенные наборы), рассматриваемого в следующем подразделе.
Для создания именованного выделенного набора «в старом стиле» выполните следующие действия:
1. Выделите любым способом нужную совокупность объектов сцены. Например, выделите все чайники в составе учебной сцены, показанной на рис. 4.1.
|
СОВЕТ Для выделения набора объектов, имена которых начинаются с одинаковых символов, удобно использовать окно диалога Select Objects (Выделение объектов). Введите в текстовое поле в левом верхнем углу окна один или несколько первых символов имени, и все объекты, имена которых начинаются с этих символов, выделятся в списке окна. Например, для выделения всех чайников в учебной сцене, показанной на рис. 4.1, достаточно ввести букву Т. Останется только щелкнуть на кнопке Select (Выделить). |
3. Выделите другой набор объектов и снова введите для него имя. Например, выделите в составе учебной сцены все сферы и назовите набор Sferi. Повторите эти действия столько раз, сколько именованных наборов объектов нужно создать.
После того как именованный набор создан, для выделения всех входящих в его состав объектов достаточно выбрать имя набора в раскрывающемся списке Named Selection Sets (Именованные выделенные наборы) главной панели инструментов, как показано на рис. 4.16.

Рис. 4.16. Имена создаваемых выделенных наборов объектов появляются в списке Named Selection Sets
Создание изображения средствами трехмерной графики
Рассмотрим названные этапы более подробно, используя тот же пример с домиком.
Предварительная подготовка
На этом этапе продумывается состав сцены (домик, живая изгородь, пасущаяся корова и т. п.). Следует предусмотреть все объекты и их детали, которые будут видны с предполагаемых направлений наблюдения. При этом полезно бывает нарисовать один или несколько эскизов будущей сцены, подобных показанным на рис. 1.1.
Если по предусмотренному сценарию взгляд зрителя должен будет проникать и внутрь домика, то следует продумать состав предметов обстановки: мебель (хотя бы стол и стул), светильники (скажем, настольная лампа), предметы быта, посуду и т. п.
Создание геометрической модели сцены
На этом этапе с использованием различных инструментов программы 3ds max 7.5, о которых вы узнаете из глав 4-10, выполняется кропотливая работа — строятся трехмерные геометрические модели объектов сцены. О том, что собой представляют и из чего состоят такие объекты, речь в этой главе пойдет несколько ниже. Пока достаточно понимать, что трехмерными они называются потому, что имеют, как в реальном мире, три измерения — длину, ширину и высоту. После того как модели объектов созданы, их необходимо правильно расположить в трехмерном пространстве. Так, фундамент домика следует установить точно поверх плоскости, изображающей земную твердь, стены — точно на фундаменте, крышу — поверх стен и т. п. Трехмерность объектов позволяет вкладывать их друг в друга на манер матрешек. Например, стол и стул должны быть вложены внутрь домика и выровнены по высоте относительно плоскости пола.
Весь набор инструментов по созданию геометрических моделей объектов называют иногда геометрическим конструктором сцен. Так вот, 3ds max 7.5 обладает одним из самых развитых и удобных геометрических конструкторов из всех программ ЗD-графики. Это позволяет максимально облегчить работу над геометрической моделью сцены и дает возможность воплотить в виде трехмерных моделей практически любые объекты реального или воображаемого мира.
После того как трехмерная геометрическая модель сцены создана, ее можно без труда рассматривать и «фотографировать» с любого требуемого ракурса.
Возможный вид геометрических моделей объектов будущей сцены показан на рис.1.2.

Рис.1.2. Геометрические модели объектов сцены с деревенским домиком при взгляде снаружи (слева) и изнутри помещения {справа)
|
ЗАМЕЧАНИЕ Использованная в данной сцене трехмерная модель коровы разработана компанией Viewpoint Datalabs International. Эта модель в виде файла под именем Cow.max помещена в папку \Meshes компакт-диска, прилагающегося к нашему изданию. В папке этого же компакт-диска \Scenes\Glava_01 вы найдете файл Ris 1-02.max с моделью трехмерной сцены, показанной на рис.1.2. Можете поэкспериментировать с этой сценой после того, как в последующих главах научитесь загружать файлы сцен 3ds max и осматривать их с разных сторон. |
Кроме того, стоит взять на вооружение и такой прием. Если действие должно происходить как вне домика, на улице, так и внутри его, имеет смысл подготовить не одну, а две геометрические модели сцены. В модель, предназначенную для съемки уличных сцен, нет смысла помещать предметы интерьера, которые все равно не будут видны, но займут ресурсы компьютера, тормозя работу. И наоборот, в модель, предназначенную для съемки внутри помещения, нет смысла включать объекты наружной обстановки, кроме тех, которые могут быть видны через окна.
Работа над композицией: свет и камеры
На этом этапе с использованием соответствующих средств программы 3ds max 7.5 производится настройка моделей источников освещения создаваемой сцены и расстановка моделей съемочных камер. Правильный подбор источников света позволяет выполнять имитацию фотографирования сцены в любых условиях освещенности, как показано на рис. 1.3. При этом освещенность всех объектов, отбрасываемые ими тени и блики света рассчитываются программой автоматически.

Рис.1.3. С помощью 3ds max 7.5 можно имитировать любую освещенность сцены: от яркого солнечного дня (слева) до лунной ночи с пятнами электрического света (справа)
Следует отметить, что по части освещения программа 3ds max 7.5 коренным образом отличается от своих предшествующих версий. Впервые в ней обеспечена возможность расчета так называемой глобальной освещенности {global illumination), при которой учитывается подсветка объектов сцены не только прямыми лучами света от воображаемых осветителей, но и лучами света, многократно отраженными от других объектов сцены. Это позволяет, к примеру, осветить всю сцену единственным источником, имитирующим свет от затянутого облаками неба, создав атмосферу неяркого пасмурного дня (рис. 1.4).

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

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

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

Рис.1.7. Результат визуализации сцены с домиком со стороны фасада, освещенного солнцем (слева), и с тыльной теневой стороны (справа)
Съемочные камеры, размещенные внутри домика, дают возможность сформировать изображения его интерьера, подобные показанным на рис. 1.8. Цветные копии этих изображений вы можете найти на сопровождающем книгу компакт-диске в папке lmages\Glava_01.

Рис.1.8. Результат визуализации общего (слева) и укрупненного (справа) планов обстановки внутри домика
Итак, мы рассмотрели основные этапы работы над трехмерной сценой, позволяющие получить близкое по качеству к фотографическому изображение воображаемого мира, создаваемого в памяти компьютера. Такой воображаемый мир часто называют виртуальным, то есть потенциально возможным. Очевидно, что трудоемкость работ на этапах, предшествующих визуализации изображения виртуальной трехмерной сцены, вряд ли была бы оправдана, если бы речь шла о простом воспроизведении реальной действительности. Не проще ли взять фотоаппарат или видеокамеру и заснять реальный сюжет, подобный рассмотренному выше примеру? Имеются, однако, ситуации, в которых использование ЗD-графики может существенно упростить и удешевить задачу создания нужного изображения и даже оказаться едва ли не единственным средством решения такой задачи.
Создание коллекций
Чтобы создать в составе трехмерной сцены вспомогательный объект какой-то из коллекций и одновременно поместить в него нужные объекты геометрической модели трехмерной сцены, выполните следующие действия:
1. Выделите объекты геометрической модели трехмерной сцены, которые требуется включить в состав создаваемой коллекции.
2. Выберите одну из пяти команд, размещенных в верхней части подменю Create Object (Создать объект) меню reactor (Реактор), которые соответствуют названиям коллекций. С той же целью можете щелкнуть на одной из кнопок в верхней части панели инструментов reactor (Реактор): Create Rigid Body Collection (Создать коллекцию жестких тел), Create Cloth Collection (Создать коллекцию тканей), Create Soft Body Collection (Создать коллекцию мягких тел), Create Rope Collection (Создать коллекцию нитей) или Create Deformable Mesh Collection (Создать коллекцию деформируемых сеток). Будет автоматически создан значок коллекции в точке, соответствующей центру выделенного набора объектов, а в список коллекции будут автоматически включены все выделенные объекты трехмерной сцены, которые по своим свойствам подходят для выбранной коллекции.
Чтобы создать значок коллекции с пустым списком с целью последующего добавления объектов в список, перед выполнением описанных выше действий не выделяйте объекты в составе трехмерной сцены. После выбора нужной команды подменю Create Object (Создать объект) меню reactor (Реактор) или после щелчка на одной из пяти верхних кнопок панели инструментов reactor (Реактор) просто щелкните в той точке любого окна проекции, где требуется разместить значок коллекции.
Еще один способ создания коллекции состоит в том, чтобы щелкнуть на кнопке Helpers (Вспомогательные объекты) командной панели Create (Создать) и выбрать в появившемся списке строку reactor (Реактор). После этого в свитке Object Type (Тип объекта) можно щелкнуть на одной из кнопок — RBCollection (Коллекция жестких тел), SBCollection (Коллекция мягких тел), CLCollection (Коллекция тканей), RPCollection (Коллекция нитей) или DMCollection (Коллекция деформируемых сеток). В этом случае значок коллекции не создается автоматически независимо от того, есть в составе сцены выделенные объекты или их нет, и для его создания следует щелкнуть в той точке любого окна проекции, где требуется разместить значок.
Создание куба
1. Установите переключатель свитка Creation Method (Метод создания) в положение Cube (Куб).
2. Щелкните в точке любого из окон проекций, где должен располагаться центр основания, и перетаскивайте курсор от центра или к центру, одновременно настраивая все три параметра — Length (Длина), Width (Ширина) и Height (Высота), которые остаются одинаковыми. Отпустите кнопку мыши, фиксируя размеры куба.
Создание новой сцены без изменения настроек
Предположим, что в ходе работы над сценой вы настроили среду моделирования, то есть выбрали удобную конфигурацию окон проекций, типы проекций и масштаб изображения в каждом окне, задали единицы измерения, настроили привязки и т. п. Чтобы начать создание новой сцены без изменения этих настроек, выполните следующие действия:
Выберите команду основного меню File > New (Файл > Создать) или нажмите комбинацию клавиш Ctrl+n. Если текущая сцена не была сохранена, появится запрос: The scene has been modified. Do you want to save your changes? (Сцена изменена. Хотите сохранить изменения?). Щелкните на одной из кнопок:
Yes (Да) — вызывает стандартное окно диалога Save File As (Сохранить файл как);
No (Нет) — вызывает окно диалога New scene (Новая сцена), рассматриваемое ниже; Cancel (Отмена) — отменяет создание новой сцены.
Если текущая сцена была сохранена или если вы отказались от ее сохранения, появится окно диалога New scene (Новая сцена). Установите переключатель Options (Варианты) в одно из трех положений:
Keep Objects and Hierarchy (Сохранить объекты и их иерархию) — сохраняет для новой сцены все текущие объекты и их иерархические связи, но удаляет ключи анимации;
Keep Objects (Сохранить объекты) — сохраняет только объекты, удаляя иерархические связи и ключи анимации;
New All (Обновить все) - удаляет все объекты текущей сцены (принимается по умолчанию).
Щелкните на кнопке ОК.
Закончив работу над новой сценой, сохраните ее в виде файла, используя команду меню File > Save (Файл > Сохранить).
Иногда бывает нужно начать работу
Иногда бывает нужно начать работу с того, чтобы все параметры max 7.5 приняли исходные, заданные по умолчанию значения. Для этого можно завершить работу с max 7.5 и заново запустить программу, но можно воспользоваться командой перезагрузки.
|
ЗАМЕЧАНИЕ Особенно важно выполнять перезагрузку перед тем, как начать шаг за шагом пытаться воспроизвести описанные в книге примеры. Если какие-то параметры max 7.5 будут иметь значения, отличные от принятых по умолчанию, можно получить совсем не тот результат, на который рассчитан пример. |
Выберите команду File > Reset (Файл > Перезагрузить). Если текущая сцена не была сохранена, появится запрос на сохранение изменений, который мы обсудили в предыдущем разделе.
Если текущая сцена была сохранена или если вы отказались от ее сохранения, появится окно с запросом на подтверждение перезагрузки: Do you really want to reset? (Действительно хотите выполнить перезагрузку?). Имейте в виду, что действие этой команды нельзя отменить! Для перезагрузки щелкните на кнопке Yes (Да).
Создание новой сцены
В начале этой главы вы уже освоили действия по созданию новой сцены max 7.5, что называется, «с нуля» и ее сохранению. Теперь разберемся, как начать работу над повой сценой, не прерывая текущего сеанса работы с max 7.5.
Создание NURBS-поверхностей
Для создания NURBS-поверхностей выполните следующие действия:
1. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидность объектов NURBS Surfaces (NURBS-поверхности). В свитке Object Type (Тип объекта) появятся две кнопки с надписями, соответствующими двум типам поверхностей: Point Surf (Точечная поверхность) и CV Surf (CV-поверхность).
2. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся два свитка: Keyboard Entry (Клавиатурный ввод) и Parameters (Параметры).
3. Щелкните в той точке любого из окон проекций, где должен располагаться один из углов поверхности, и перетащите курсор в произвольном направлении по диагонали, растягивая поверхность. Следите за значениями параметров Length (Длина) и Width (Ширина). Отпустите кнопку мыши, чтобы зафиксировать размеры. Оба типа NURBS-поверхностей имеют одинаковый набор параметров и после создания внешне практически ничем не отличаются дуг от друга. Различия проявляются только на этапе модификации формы таких поверхностей. Примеры NURBS-поверхностей приведены на рис. 5.31.

Рис. 5.31. Точечная NURBS-поверхность (вверху) и NURBS-поверхность типа CV (внизу)
Создание NURBS-тела экструзии
Для создания тела экструзии по профилю в виде NURBS-кривой средствами модификации NURBS-объсктов выполните следующие действия:
1. Нарисуйте профиль сечения, используя инструменты Point Curve (Точечная кривая) или CV Curve (CV-кривая) командной панели Create (Создать).
2.

Выделите профиль, разверните на командной панели Modify (Изменить) свиток Create Surfaces (Создать поверхности) и щелкните на кнопке Extrude (Выдавливание) или раскройте показанную ранее на рис. 6.32 палитру инструментов для работы с NURBS-поверхпостями и выберите инструмент Create Extrude Surface (Создать поверхность выдавливанием). На командной панели появится свиток Extrude Surface (Поверхность выдавливания), параметры которого аналогичны рассмотренным выше параметрам модификатора Extrude (Выдавливание).
3. Переместите курсор, который примет вид значка на кнопке инструмента, в окно проекции Front (Вид спереди) и установите его на профиль. Профиль должен приобрести синий цвет, что указывает на готовность к созданию поверхности. Щелкните кнопкой мыши. Все, тело экструзии создано, хотя еще и не имеет высоты. Установите нужную высоту в счетчике Amount (Величина).
Создание параллелепипеда или куба с фаской
1. Выберите инструмент ChamferBox (Параллелепипед с фаской), относящийся к разновидности Extended Primitives (Улучшенные примитивы), и создайте параллелепипед или куб, как было описано в предыдущих разделах.
2. После щелчка кнопкой мыши, фиксирующего высоту объекта, дополнительно переместите курсор вверх, настраивая высоту фаски, «срезаемой» под углом в 45°. В результате получится параллелепипед со срезанными кромками, показанный на рис. 5.10, а.
Дополнительными параметрами параллелепипеда с фаской являются:
Fillet (Фаска) — задает высоту фаски;
Fillet Segs (Сегментов по фаске) — задает число сегментов в пределах фаски, как показано на рис. 5.10, б;
Smooth (Сглаживание) — включает режим сглаживания поверхности в пределах фаски, как показано на рис. 5.10, в.

Рис. 5.10. Параллелепипед с фаской: параметр Fillet Segs равен 1 (а) и 4 (б, в); установлен флажок Smooth (в)
Создание параллелепипеда с квадратным основанием
1. Нажмите и удерживайте клавишу Ctrl.
2. Щелкните в точке, где должен располагаться центр основания, и перетащите курсор по диагонали. При этом ширина и длина остаются одинаковыми. Отпустите кнопку мыши для фиксации размеров основания.
3. Задайте высоту тела, как в предыдущем случае. Удерживание клавиши Ctrl не влияет на значение высоты.
Создание параллелепипеда
1. Выберите инструмент Box (Параллелепипед), относящийся к разновидности Standard Primitives (Стандартные примитивы). Установите переключатель свитка Creation Method (Метод создания) в положение Box (Параллелепипед).
2. Щелкните в той точке любого из окон проекций, в которой должен располагаться угол основания параллелепипеда, и перетащите курсор по диагонали, растягивая основание. Следите за изменением величин параметров Length (Длина) и Width (Ширина) в свитке Parameters (Параметры). Отпустите кнопку мыши для фиксации длины и ширины основания.
3. Переместите курсор при отпущенной кнопке мыши вверх или вниз, чтобы задать высоту параллелепипеда. Следите за значением параметра Height (Высота) в свитке Parameters (Параметры). Щелкните кнопкой мыши для фиксации высоты. По умолчанию опорная точка объекта Box (Параллелепипед) располагается в середине основания.
Создание плоскости
1. Установите переключатель свитка Creation Method (Метод создания) в положение Rectangle (Прямоугольник) или Square (Квадрат), чтобы создать фрагмент плоскости соответствующей формы.
2. Щелкните в точке любого из окон проекций, в которой должен располагаться угол плоскости, и перетащите курсор по диагонали, чтобы придать ей нужные размеры. Следите за изменением величин параметров Length (Длина) и Width (Ширина) в свитке Parameters (Параметры). Отпустите кнопку мыши для фиксации длины и ширины плоскости. По умолчанию опорная точка объекта Plane (Плоскость) располагается в ее геометрическом центре, как показано на рис. 5.7.

Рис. 5.7. Стандартный примитив Plane не имеет толщины
При визуализации сцены можно изменить размеры плоскости по сравнению с теми, какие она имеет в окнах проекций. Для этого достаточно изменить значение параметра Render Scale (Масштаб при визуализации) — он определяет коэффициент масштаба фрагмента плоскости. Если этот параметр задать равным 2, то визуализированная плоскость будет иметь в два раза большие размеры по длине и ширине, чем та, которая видна в окнах проекций.
Создание примитивов с помощью мыши
Чаще всего геометрические объекты max 7.5 создаются в интерактивном режиме с помощью мыши. Такой метод является достаточно наглядным и простым. Чтобы пользоваться им, необязательно даже уметь рисовать. От вас требуется только щелкать кнопкой мыши да перетаскивать или перемещать курсор, следя за тем, как на глазах растет плоская фигура или трехмерное тело.
| ЗАМЕЧАНИЕ Стоит напомнить, что перемещение курсора производится движением мыши без нажатия на ее кнопки, а перетаскивание курсора требует удерживать левую кнопку мыши при ее движении. |
Идея применения интерактивного метода состоит в том, чтобы вначале создать объект примерно той формы и размеров, которые требуются, а затем при необходимости уточнить координаты центра и значения параметров объекта сразу же после его создания или на более поздних этапах.
Создание сетки кусков Безье
Для создания сеток кусков Безье выполните следующие действия:
1. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидность объектов Patch Grids (Сетки кусков). В свитке Object Type (Тип объекта) появятся две кнопки с надписями, соответствующими двум типам сеток: Quad Patch (Четырехугольный кусок) и Tri Patch (Треугольный кусок).
2. Щелкните на кнопке объекта нужного типа. В нижней части командной панели Create (Создать) появятся два свитка: Keyboard Entry (Клавиатурный ввод) и Parameters (Параметры).
3. Щелкните в той точке любого из окон проекций, где должен располагаться один из углов куска, и перетащите курсор в произвольном направлении по диагонали, растягивая сетку. Следите за значениями параметров Length (Длина) и Width (Ширина). Отпустите кнопку мыши, чтобы зафиксировать размеры куска. Примеры кусков Безье приведены на рис. 5.30.

Рис. 5.30. Куски Безье
4. Сетка Tri Patch (Треугольный кусок) не имеет иных параметров, кроме длины и ширины (за исключением стандартного флажка Generate Mapping Coords (Проекционные координаты)). Наименование примитива — Tri Patch (Треугольный кусок) — не совсем справедливо, так как на деле этот прямоугольный фрагмент плоскости состоит из двух треугольных кусков, разделенных общим диагональным ребром. Для сетки типа Quad Patch (Четырехугольный кусок) можно дополнительно задать число сегментов по координатам длины и ширины, используя счетчики Length Segs (Сегментов по длине) и Width Segs (Сегментов по ширине). Максимальное число сегментов составляет 100 на каждую сторону.
Создание сферического сегмента
1. Создав сферу, измените величину параметра Hemisphere (Полусфера), значение которого может меняться от 0 до 1. Когда параметр равен 0, строится полная сфера. По мере увеличения параметра сфера начинает урезаться с нижней стороны и при значении параметра, равном 1, исчезает полностью.
2. Установите переключатель Chop (Отсечка), чтобы полусфера создавалась путем обрезания нижней части сферы без изменения размеров граней в оставшейся части, число которых будет соответственно убывать, как показано на рис. 5.21, слева. Установка переключателя Squash (Сжатие) принуждает программу сохранять неизменным число граней поверхности полусферы в процессе обрезания нижней части при соответствующем уменьшении размеров граней, как показано на рис. 5.21, справа.

Рис. 5.21. Полусфера, построенная методом Chop (слева) и методом Squash (справа)
Создание сферы
1. Выберите инструмент Sphere (Сфера), относящийся к разновидности Standard Primitives (Стандартные примитивы).

Рис. 5.19. При одинаковом числе граней (в данном случае 180) оболочка геосферы (справа) выглядит более гладкой, чем стандартной сферы (слева)
2. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы строить проекцию сферы от одного края к другому, растягивая ее по диаметру. Чтобы построить проекцию от центра, растягивая радиус, установите переключатель Center (От центра).
3. Щелкните в той точке любого из окон проекций, где должна располагаться начальная точка сечения сферы, и перетащите курсор, растягивая сечение. Следите за изменением величины параметра Radius (Радиус) в свитке Parameters (Параметры). Отпустите кнопку мыши для фиксации радиуса сферы.
4. По умолчанию опорная точка объекта Sphere (Сфера) располагается в геометрическом центре сферы, как показано на рис. 5.20, а. Чтобы создать сферу, опирающуюся на координатную плоскость окна проекции своим нижним краем, как показано на рис. 5.20, б, установите флажок Base to Pivot (Точка опоры внизу).

Рис. 5.20. Сфера с опорной точкой в центре (а) и внизу (б); сброшен флажок Smooth (в)
5. Задайте число сегментов, на которые будет разбита окружность экваториального сечения сферы, в счетчике Segments (Сегментов).
6. Если нужно, чтобы сфера визуализировалась без сглаживания граней, как показано на рис. 5.20, а, сбросьте флажок Smooth (Сглаживание).
Создание сложных текстур методом комбинирования текстурных карт
Характерный рисунок многих текстур, таких как Cellular (Ячеистая), Checker (Шахматное поле), Gradient (Градиент), Noise (Неоднородности), Perlin Marble (Перламутровый мрамор), Planet (Планетарная), Speckle (Крапинки) и т. п. образуется за счет комбинирования двух или более заданных цветов. Однако подобно тому, как в стандартном материале цвета отдельных компонентов можно замещать картами текстур, так и для формирования рисунка текстур можно использовать не однородные цвета, а другие текстуры.
Например, карта текстуры Checker (Шахматное поле) по умолчанию формирует рисунок в виде черно-белых клеток, расположенных в шахматном порядке. Если заменить черный и белый цвета текстурами типа Bitmap (Растровая карта) и подобрать подходящие изображения текстур дерева, можно имитировать с помощью шахматной карты рисунок паркета «в шашечку» или вид настоящей шахматной доски, созданной методом инкрустирования из двух пород древесины. В результате образуется сложная текстура, где внутрь карты типа Checker (Шахматное поле) вложены две карты типа Bitmap (Растровая карта).
Карта текстуры типа Noise (Неоднородности) формирует картину случайных пятен также из двух заданных по умолчанию цветов — черного и белого. Если заменить белый цвет на текстурную карту типа Bitmap (Растровая карта), то результирующая картина будет выглядеть так, будто на растровом изображении появились темные пятна.
Можно создавать и более сложные вложенные текстуры. Например, карта типа Gradient (Градиент) позволяет формировать плавный переход от одной текстуры к другой, каждая из которых сама может быть комбинированной и обладать определенной вложенностью.
Глубина вложенности текстур не ограничивается, а число текстурных карт, комбинируемых в составе материала, зависит только от силы вашего воображения. Ниже в данной главе мы попробуем на практике создать несколько образцов комбинированных вложенных текстур.
Пожалуй, это все, что следует знать о текстурных картах, настройке их параметров и способах их нанесения на поверхности объектов перед тем, как начать пользоваться текстурами на практике.
Создание сплайна типа Text
Инструмент Text (Текст) позволяет создавать формы в виде строк текста. При этом каждый текстовый символ представляет собой один или несколько сплайнов (как, например, в случае буквы «О», где один сплайн представляет собой наружный контур символа, а другой — внутренний).
Для текста можно задавать размер символов, межсимвольный и межстрочный интервалы, а также режимы выравнивания строк.
Чтобы создать форму-текст, проделайте следующее:
1. Щелкните в свитке Object Type (Тип объекта) на кнопке Text (Текст).
2. Выберите гарнитуру (тип) шрифта в раскрывающемся списке в верхней части свитка Parameters (Параметры), показанного на рис. 6.8.

Рис. 6.8. Свиток Parameters сплайна Text
3. Задайте вариант начертания символов, щелкнув на кнопке I (Italic — Курсив) или U (Underlined — Подчеркнутый) под списком шрифтов. Если вам требуется шрифт полужирного начертания (Bold), выберите соответствующую разновидность шрифта в раскрывающемся списке.
4. Установите размер шрифта в счетчике Size (Размер), межсимвольный интервал — в счетчике Kerning (Кернинг) и межстрочный интервал — в счетчике Leading (Интерлиньяж).
5. Введите нужный текст в поле Text (Текст), заменив заданный по умолчанию текст MAX Text. Для перехода к новой строке нажимайте на клавишу Enter. Допускается вставка строк текста из буфера обмена нажатием стандартных комбинаций клавиш Shift+lns или Ctrl+v.
6. Если введено несколько строк текста, выберите режим выравнивания строк, щелкнув на одной из кнопок выравнивания под раскрывающимся списком гарнитур шрифтов — Align Left (По левому краю), Center (По центру), Align Right (По правому краю) или Justify (По ширине). Строки текста выравниваются в пределах габаритного контейнера текстовой формы.
7. Разместите текст на сцене, щелкнув в пределах любого окна проекции. Текстовая форма разместится в окне проекции так, чтобы ее опорная точка, находящаяся в центре основания первой строки текста, оказалась в точке щелчка. Если щелкнуть и перетаскивать курсор, то текстовая форма будет перемещаться вместе с курсором, пока не будет отпущена кнопка мыши.
8. Пока текст остается выделенным после создания, измените любые из его параметров, наблюдая отображение изменений в окнах проекций. Если объем текста слишком велик для автоматического обновления, установите флажок Manual Update (Обновлять вручную) и щелкните на кнопке Update (Обновить).
|
СОВЕТ Очень важно то, что текст после его создания можно редактировать не только как набор кривых, но именно как текст. Для этого достаточно выделить форму-текст, переключиться на командную панель Modify (Изменить) и внести исправления в поле Text (Текст) свитка Parameters (Параметры). |
Создание сплайнов типа Rectangle
Чтобы построить стандартный сплайн-прямоугольник, проделайте следующее:
1. Щелкните в свитке Object Type (Тип объекта) на кнопке Rectangle (Прямоугольник). Данный инструмент позволяет создавать прямоугольники и квадраты, а также аналогичные формы со скругленными углами, как показано на рис. 6.5.

Рис. 6.5. Прямоугольник стандартный и со скругленными углами
2. Выберите метод создания сплайна — от края или от центра.
3. Щелкните в той точке любого окна проекции, где должно располагаться начало сплайна. Перетащите курсор по диагонали, следя за значениями параметров Length (Длина) и Width (Ширина). Отпустите кнопку мыши, фиксируя значения параметров. Чтобы с помощью инструмента Rectangle (Прямоугольник) создать квадрат, стройте названный объект при удерживаемой клавише Ctrl.
4. Для закругления углов прямоугольника введите значение радиуса закругления в счетчик Corner Radius (Радиус закругления).
5. Для изменения значений размеров и других параметров сплайна после завершения его создания выделите сплайн, перейдите на командную панель Modify (Изменить) и внесите необходимые модификации.
| ЗАМЕЧАНИЕ Действия, связанные с построением других сплайнов, представляющих собой стандартные геометрические объекты (круг, эллипс, многоугольник, кольцо и т. п.), мало отличаются от рассмотренных выше применительно к сплайну Rectangle (Прямоугольник). |
Создание тел вращения с помощью модификатора Lathe
Чтобы построить тело вращения с помощью модификатора Lathe (Вращение), выполните следующие действия:
1. Создайте и выделите двумерную форму-сплайн или NURBS-кривую, которая будет играть роль одной зеркальной половины сечения тела (воспользуйтесь, к примеру, кривой, показанной на рис. 6.1). Перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Lathe (Вращение) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). С тем же успехом можно выполнить цепочку команд Modifiers > Patch/Spline Editing > Lathe (Модификаторы > Правка сплайна/куска > Вращение) основного меню. Сразу же будет создано тело вращения на основе установленных по умолчанию параметров, а в нижней части командной панели появится свиток Parameters (Параметры) модификатора выдавливания, позволяющий изменить параметры, описываемые ниже.
2. Задайте величину углового сектора вращения формы в диапазоне от 0 до 360° в счетчике Degrees (Сектор). Это позволяет создавать тела в форме цилиндрических секторов. Определите число сегментов по периметру сектора вращения формы в счетчике Segments (Сегментов). Чтобы обеспечить объединение всех вершин, совмещенных на оси тела вращения, установите флажок Weld Core (Слияние на оси). Установка флажка Flip Normals (Перевернуть нормали) позволяет изменить направление нормалей граней, так как при создании тела вращения нормали могут оказаться направленными внутрь оболочки.
3. Укажите, относительно какой из осей глобальной системы координат будет происходить вращение формы, используя кнопки X, Y и Z группы Direction (Направление). По умолчанию вращение производится относительно вертикальной оси (оси Y) оконной системы координат.
4. Определите способ выравнивания формы относительно оси вращения с помощью кнопок группы Align (Выравнивание). Выбирая положение оси вращения, по одной и той же кривой профиля можно сформировать совершенно разные тела вращения, как показано на рис. 6.24:
Min (Мин.) — совмещает ось вращения с левым краем габаритного контейнера формы;
Center (Центр) — обеспечивает вращение формы относительно оси, проходящей через центр ее габаритного контейнера;
Мах (Макс.) — совмещает ось вращения с правым краем габаритного контейнера формы.

Рис. 6.24. Тела, построенные методом вращения одной и той же формы-профиля (показана белым цветом) относительно левого края (а), центра (б) и правого края (в) габаритного контейнера формы
5. Если тело создается путем вращения замкнутой кривой, наподобие показанной белым цветом на рис. 6.25, при угле поворота, меньшем 360°, то боковые торцы образовавшегося цилиндрического сектора по умолчанию останутся открытыми, как показано на рис. 6.25, а. Чтобы «накрыть» эти торцы (рис. 6.25, б), установите в разделе Capping (Накрытие) флажки Cap Start (Накрыть в начале) и Cap End (Накрыть в конце).

Рис. 6.25. Тело, полученное при вращении замкнутой формы-профиля на угол менее 360°, может не иметь (а) или иметь (б) поверхности на боковых торцах сектора
6. Укажите тип поверхности тела вращения, установив переключатель Output (Результат) в одно из трех положений:
Patch (Кусок) — будет создана сетка кусков Безье;
Mesh (Сетка) — будет создана сетка с треугольными гранями;
NURBS — будет создана поверхность типа NURBS.
7. Чтобы иметь возможность применить к телу вращения материалы на основе карт текстуры, установите флажок Generate Mapping Coords (Проекционные координаты). Установка флажка Smooth (Сглаживание) обеспечивает сглаживание граней на поверхности тела вращения.
Создание тела экструзии с помощью модификатора Extrude
Чтобы построить трехмерное тело с помощью модификатора выдавливания, выполните следующие действия:
1. Создайте одну или несколько двумерных форм и выделите их, как показано для примера на рис. 6.37. Перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Extrude (Выдавливание) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). С той же целью можете выполнить цепочку команд Modifiers > Mesh Editing > Extrude (Модификаторы > Правка сетки > Выдавливание) главного меню. Появится свиток Parameters (Параметры) модификатора выдавливания.

Рис. 6.37. Двумерная форма-текст подготовлена для применения модификатора выдавливания
2. Задайте глубину (высоту) тела экструзии в счетчике Amount (Величина), наблюдая за тем, как вырастает тело объекта в окнах проекций (рис. 6.38), и укажите число сегментов поверхности по глубине тела экструзии в счетчике Segments (Сегментов).

Рис. 6.38. Трехмерная строка текста, созданная с помощью модификатора выдавливания
3. В разделе Capping (Накрытие) укажите, должно ли тело экструзии иметь нижнее и верхнее основания, установив флажки Cap Start (Накрыть снизу) и Сар End (Накрыть сверху). Если оба флажка сброшены, то будет сформирована только боковая поверхность.
Остальные параметры модификатора Extrude (Выдавливание) не отличаются от аналогичных параметров модификатора Lathe (Вращение).
| ЗАМЕЧАНИЕ Кривые, имеющие самопересечения, наподобие показанной на рис. 6.39, допускают выдавливание, но торцы полученного тела экструзии не будут накрыты «крышками» даже при установленных флажках Cap Start (Накрыть снизу) и Cap End (Накрыть сверху). |
Рис. 6.39. Самопересекающаяся кривая в виде положенной на бок восьмерки или знака бесконечности (слева) допускает выдавливание, но полученное тело всегда будет иметь открытые основания(справа)
Создание трубы
1. Установите переключатель свитка Creation Method (Метод создания) в положение Edge (От края), чтобы строить сечение трубы от одного края к другому, растягивая его по диаметру. Чтобы построить сечение от центра, растягивая радиус, установите переключатель Center (От центра).
2. Щелкните в той точке любого из окон проекций, где должна располагаться начальная точка основания трубы, и перетащите курсор, растягивая основание. Следите за синхронным изменением величин параметров Radius 1 (Радиус 1) и Radius 2 (Радиус 2) в свитке Parameters (Параметры). Отпустите кнопку мыши для фиксации параметра Radius 1 (Радиус 1).
3. Переместите курсор к центру или от центра основания трубы для настройки величины параметра Radius 2 (Радиус 2). В зависимости от направления перемещения этот параметр будет означать либо наружный радиус трубы, либо радиус отверстия. Щелкните кнопкой мыши для фиксации параметра Radius 2 (Радиус 2).
4. Переместите курсор вверх или вниз, чтобы задать высоту трубы. Следите за значением параметра Height (Высота) в свитке Parameters (Параметры). Щелкните кнопкой мыши для фиксации высоты.
Опорная точка трубы по умолчанию располагается в центре основания, как показано на рис. 5.27, слева.

Рис. 5.27. Труба (слева) и многогранная призма с осевым отверстием (справа)
Сброс флажка Smooth (Сглаживание) и изменение числа боковых граней в счетчике Sides (Сторон), которое по умолчанию равно 24, позволяет построить многогранную призму с осевым отверстием, как показано на рис. 5.27, справа.
Все остальные параметры трубы аналогичны параметрам цилиндра.
Список Modifier List
Список Modifier List (Список модификаторов) по умолчанию содержит полный перечень различных модификаторов, объединенных в тематические группы или разделы. Всего в max 7.5 имеется более 100 инструментов модификации. Для применения к объекту одного из модификаторов выделите объект, раскройте список Modifier List (Список модификаторов), щелкните на строке нужного модификатора, а затем настройте его параметры в появившемся в нижней части командной панели Modify (Изменить) свитке Parameters (Параметры). Состав модификаторов в списке может меняться в зависимости от типа выделенного объекта.
В верхней части командной панели Modify (Изменить), в области между списком Modifier List (Список модификаторов) и окном стека, могут размещаться кнопки быстрого выбора тех или иных часто используемых модификаторов, как показано на рис. 8.2.

Рис. 8.2. Командная панель Modify выбора часто используемых с кнопками модификаторов выглядит более удобной
Чтобы вызвать появление на командной панели кнопок выбора модификаторов, нужно щелкнуть на кнопке Configure Modifier Sets (Конфигурирование наборов модификаторов), обозначенной на рис. 8.2, и выбрать в появившемся меню, показанном на рис. 8.3, команду Show Buttons (Показывать кнопки).

Рис. 8.3. Меню, появляющееся после щелчка на кнопке Configure Modifier Sets
В верхней части панели Modify (Изменить) могут размещаться до 32 кнопок модификаторов, состав которых настраивается пользователем. С помощью команды Configure Modifier Sets (Конфигурирование наборов модификаторов), находящейся в самом верху меню, показанного на рис. 8.3, можно вызвать окно диалога, позволяющее создавать наборы из кнопок модификаторов, присваивать им имена и вызывать эти наборы по именам. Порядок настройки состава кнопок, а также создания и использования именованных наборов кнопок попробуйте изучить самостоятельно, пользуясь электронной справочной системой max 7.5.
Способы отображения трехмерного мира на плоском экране
Итак, описания объектов виртуального трехмерного мира хранятся в памяти компьютера в виде множества троек чисел, задающих координаты вершин отдельных граней в пространстве с тремя измерениями: длиной, шириной и высотой. Объемную вещь реального мира мы можем разглядеть с разных сторон, вертя ее в руках или обходя вокруг, если она велика по размерам. Разглядеть с разных сторон объект трехмерной графики помогают проекции, известные вам по школьному курсу черчения. Возможно, воспоминания об этом нудном черчении и не вызывают у вас приятных эмоций, но что поделаешь: человечество пока не придумало лучшего способа рассматривать ЗD-графику.
Средства создания и отладки анимаций
Если окна проекций служат для осмотра сцены и позволяют перемещать и поворачивать объекты в трехмерном пространстве, то средства создания и отладки анимаций предназначены для настройки поведения объектов сцены во времени, в чем, собственно, и состоит процесс анимации.
Ключевыми элементами средств создания анимаций в max 7.5 являются кнопки (рис. 2.12): Set Keys (Задать ключи), Auto Key (Автоключ), Set Key (Задать ключ), Key Filters (Фильтры ключей), а также раскрывающийся список со строкой Selected (Выделенные).

Рис. 2.12. Средства управления созданием ключей анимации
Помимо названных, в число средств управления анимацией входят еще ползунок таймера анимации, строка треков и кнопки управления воспроизведением анимаций, напоминающие кнопки управления вашим любимым плеером. Назначение и использование всех этих средств будет подробно рассмотрено в главе 16, «Пробуем выполнять анимацию объектов».
Средства создания ключей и управления анимацией
В max 7.5, в отличие от прежних версий этой программы, реализованы два режима анимации методом ключей. Один из них, являющийся полным аналогом режима анимации, знакомого пользователям более ранних версий, называется теперь режимом анимации с автоматическим созданием ключей (auto key), или просто режимом автоматической анимации. Помимо него добавлен еще один режим, называемый режимом анимации с принудительным созданием ключей (set key), или просто режимом принудительной анимации. В этом режиме пользователь имеет полный контроль над тем, какие именно ключи и в каких кадрах будут созданы. За эти расширенные возможности приходится платить необходимостью более внимательно контролировать свои действия и не забывать создавать эти самые ключи в нужные моменты времени. В соответствии с изменением подхода к анимации появились и новые средства управления этим процессом.
Средства создания ключей и управления анимацией включают ряд кнопок в нижней части экрана max 7.5, раскрывающийся список со строкой Selected (Выделенные), ползунок таймера анимации, строку треков и кнопки управления воспроизведением анимаций. Все эти элементы обозначены на рис. 2.3 и 2.16.
Рассмотрим подробнее назначение этих элементов управления.
Строим объекты из примитивов
Те из вас, кто имеет опыт работы с каким-нибудь пакетом двумерной векторной графики, наподобие CorelDraw, возможно, знакомы с эффективным методом рисования объектов произвольной формы путем перемещения и настройки свойств вершин стандартного примитива, такого как круг или эллипс. Такой подход удобен тем, что работа сразу ведется с готовым контуром, имеющим определенное начальное число вершин и сегментов, которыми можно с легкостью манипулировать, добавляя при необходимости новые вершины. При этом всего несколькими умелыми движениями можно преобразовать простейший примитив в изображения предметов или животных, в которых трудно угадать форму контура-предка.
В трехмерной графике широко применяется аналогичный подход. Одним из наиболее удобных трехмерных примитивов, предоставляющих в ваше распоряжение готовую сетку с определенным числом вершин, ребер и граней, является примитив Box (Параллелепипед). Начальное число ячеек такой сетки можно регулировать, задавая требуемое число сегментов параллелепипеда по каждому из трех его измерений — длине, ширине и высоте. Естественно, чтобы получить возможность преобразовывать сетку параллелепипеда на уровнях различных подобъектов, его необходимо преобразовать в объект типа Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка) либо применить к нему модификатор Edit Mesh (Правка сетки).
Применяя стандартные преобразования перемещения, поворота и масштабирования к отдельным вершинам и ребрам сетки или их группам, выдавливая грани, а также используя целый ряд специальных инструментов для работы с подобъекта-ми сетки, можно сравнительно быстро и просто превратить прямоугольный блок в нужный вам объект. Если создаваемый объект должен состоять в основном из прямых или наклонных плоскостей, результатов манипулирования с вершинами и гранями уже может оказаться достаточно. Если же моделируемый объект должен иметь округлую форму, то на завершающей стадии к нему следует применить модификатор MeshSmooth (Сглаживание сетки). В результате такой операции можно получить объект нового класса, с которым мы еще не знакомились: NURMS, или Non-Uniform Rational Mesh Smooth (Неоднородная рациональная сглаженная сетка). Ниже мы рассмотрим подробнее некоторые приемы работы с NURMS-объекта-ми. Если велось редактирование полисетки, то на завершающей стадии можно включить встроенные средства сглаживания, имеющиеся у объектов этого типа.
| СОВЕТ Работая с подобъектами сеток, постоянно приходится разглядывать объект с разных сторон, менять масштаб изображения, перетаскивать изображение в окне проекции, чтобы лучше видеть те или иные участки сетки. Редактировать сетку лучше в окне проекции, развернутом во весь экран. Не забывайте, что, как указывалось в главе 3, разворачивание и восстановление нормального размера окна проекции достигается простым нажатием клавиш Alt+w. Переходить от каркасного режима отображения к тонированному и обратно можно, нажимая клавишу F3, а включать и выключать показ ребер каркаса вместе с тонированной оболочкой можно клавишей F4. Быстро переключаться с одной проекции на другую лучше также с помощью клавиатуры, нажимая клавишу, соответствующую первой букве английского названия проекции: t (Top) — вид сверху, l (Left) — вид слева, f (Forward) — вид спереди, р (Perspective) — вид в перспективе и т. п. Исключение составляют только вид справа и вид сзади, для которых в исходном наборе клавиатурных комбинаций max 7.5 не предусмотрено «горячих» клавиш. В главе 3 для этих целей рекомендовалось назначить комбинации клавиш Alt+r и Alt+k и объяснялось, как произвести назначение клавиатурных комбинаций. Менять масштаб изображения и перетаскивать его в окне проекции лучше всего с помощью мыши, имеющей колесико вместо средней кнопки. Если у вас нет такой мыши, запомните простые комбинации: нажатие клавиш Alt+z включает режим изменения масштаба изображения в окне проекции, клавиши Ctrl+p включают режим прокрутки изображения. Для отмены изменений состояния окна проекции нажимают клавиши Shift+z. |
Поначалу трудно даже вообразить, какое многообразие трехмерных тел можно построить, манипулируя различными подобъектами простого параллелепипеда.
Строка подсказки
Строка подсказки, показанная на рис. 2.14, отображает справочные сообщения, а также содержит поле имен временных тегов (time tags) или, попросту говоря, текстовых меток кадров анимации.

Рис. 2.14. Строка подсказки max 7.5
Поле подсказки. При выборе любого инструмента или команды max 7.5 здесь появляется краткое сообщение, поясняющее действия, возможные с помощью данной команды или данного инструмента.
Поле имен временных тегов. Если с текущим кадром анимации связан временной тег (это просто текстовая метка), то в данном поле отображается имя этого тега. Если тег не назначен, то в поле отображается просто сообщение Add Time Tag (Добавить временной тег). Щелчок на поле вызывает меню с командами добавления и редактирования временных тегов. В нашей книге мы не будем касаться этого вопроса.
Левый край строки состояния вместе со строкой подсказки можно «сдвигать» вправо-влево как шторку, если щелкнуть на вертикальной полоске на левом краю пары этих строк и перетащить ее мышью, как показано на рис. 2.15. При этом открываются две строки для работы со сценариями - программами управления анимацией на языке MAXScript. В нашей книге работать со сценариями мы не будем.

Рис. 2.15. Строки состояния и подсказки сдвигаются вправо, открывая две строки окна для работы со сценариями
В предшествующих версиях программы 3ds max в строке подсказки располагалось еще несколько кнопок, которые теперь «переехали» на главную панель инструментов из-за того, что в строке подсказки им не оказалось места в связи с добавлением новых инструментов управления анимацией:

Window/Crossing (Оконное/Пересекающее выделение). Управляет тем, как происходит выделение объектов с помощью рамки. Если кнопка не нажата, она имеет вид Crossing Selection (Пересекающее выделение), при этом выделяются все объекты — как целиком попавшие в выделяющую рамку, так и пересеченные ею.

Если кнопка нажата, она принимает вид Window Selection (Оконное выделение). В этом режиме выделяются только объекты, целиком попавшие в рамку. Эта кнопка является аналогом команд подменю Edit > Region (Правка > Область).
Snap Toggle (Привязка вкл./выкл.), Angle Snap Toggle (Угловая привязка вкл./выкл.), Percent Snap (Процентная привязка),

Spinner Snap Toggle (Привязка приращений счетчиков вкл./выкл.). Это кнопки активизации привязок. В max 7. 5 реализовано несколько различных типов привязок, позволяющих фиксировать положение вновь создаваемых объектов относительно узлов или линий координатной сетки, краев или углов других объектов и т. п. Это помогает выполнять построение сцены с высокой точностью. Данные кнопки дают возможность включать и выключать различные режимы использования привязок (см. главу 3, «Осваиваем настройку max 7.5 и работу с файлами»).
Строка состояния
Строка состояния, как показано на рис. 2.13, содержит ноле отображения состава выделенных объектов, поля отсчета и ввода координат, поле отсчета шага сетки, а также кнопки Lock Selection Set (Блокировка выделенного набора) и Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования).

Рис. 2.13. Строка состояния max 7.5
Состав выделенных объектов. Здесь отображаются тип и количество выделенных объектов, например: 8 Objects Selected (Выделено 8 объектов) или 2 Lights Selected (Выделено 2 источника света). Если состав выделенных объектов неоднороден, то сообщение имеет вид N Entities Selected (Выделено N элементов).

Lock Selection Set (Блокировка выделенного набора). Выделив какую-то группу объектов сцены, можно применять к такой группе преобразования, как к единому целому, называемому выделенным набором (selection set). С помощью данной кнопки такой набор выделенных объектов может быть заблокирован. В результате вы не сможете ни добавить в набор, ни исключить из него какие-либо объекты. После щелчка на кнопке она окрашивается желтым цветом, указывающим на активное состояние блокировки. Для сброса блокировки следует еще раз щелкнуть на этой кнопке. Впрочем, иногда вместо щелчков на данной кнопке с той же целью включения и выключения блокировки выделенного набора объектов удобнее последовательно нажимать клавишу Пробел.
Поля отсчета координат. Если не выполняется преобразование объекта, здесь отображаются координаты X, Y и Z положения курсора в активном окне проекции в глобальной системе координат. Формат отображения координат зависит от текущего выбора единиц измерения. На рис. 2.13 они представлены в сантиметрах. Если выбран какой-либо из инструментов трех основных преобразований объектов — перемещения, поворота или масштабирования, — то эти поля позволяют не только считывать текущие значения параметров преобразований, но и производить их ввод. Смысловое значение чисел, отображаемых в данных полях, меняется в зависимости от того, нажата или нет кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования).

Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования). Если кнопка не нажата (по умолчанию), то при выполнении преобразования перемещения в полях отсчета отображаются и могут вводиться абсолютные значения координат положения объекта в глобальной координатной системе, при преобразовании поворота — абсолютные значения углов ориентации (в градусах) относительно каждой из глобальных осей, при преобразовании масштабирования — абсолютные значения коэффициентов масштаба (в процентах) по каждой из осей.Если кнопка нажата, то она приобретает вид Offset Mode Transform Type-In (Ввод относительных значений преобразования). В этом случае при преобразовании перемещения в полях отсчета могут вводиться величины сдвига относительно текущего положения по каждой из трех осей координат, при преобразовании поворота — величины углов поворота (в градусах) относительно текущей ориентации по каждой из осей, при преобразовании масштабирования — значения коэффициентов масштаба (в процентах) по каждой из осей по отношению к текущему.

Шаг сетки. Указывает расстояние между вспомогательными (более тонкими) линиями сетки координат активного окна проекции в текущих единицах измерения с учетом масштаба изображения в окне проекции. С изменением масштаба значение данного параметра скачкообразно меняется.
Строка треков
Строка треков, располагающаяся в нижней части экрана max 7.5 под строкой ползунка таймера анимации, представляет собой средство ускоренного доступа к ключам анимации выделенного объекта (или объектов) сцены, позволяя обойтись без вызова окна Track View (Просмотр треков). В max 7.5 строка треков похожа на мерную линейку благодаря нанесенным на ней делениям, обозначающим номера кадров. Номер текущего кадра указывается прозрачным голубым ползунком с вертикальной риской, как показано на рис. 16.4. На этом рисунке текущим является кадр № 14, на что указывают надпись на ползунке таймера анимации и позиция ползунка строки треков.
| СОВЕТ Иногда при загрузке сцен, созданных в прежних версиях 3ds max, строка треков исчезает с экрана. Если такое случится, проверьте, установлен ли флажок слева от команды основного меню Customize > Show Ul > Show Track Bar (Настройка > Показать Ul > Показать строку треков). Эта команда включает и выключает отображение строки треков на экране max 7.5. |
После начальной загрузки max 7.5, когда анимация еще не создана, строка треков пуста, как видно на рис. 16.4. На рис. 16.5 показана строка треков объекта, для которого созданы ключи анимации в нулевом, 50-м и 100-м кадрах. Эти ключи обозначены на строке треков квадратиками красного цвета. Цифры на ползунке таймера и положение ползунка строки треков указывают на то, что текущим в данном случае является кадр № 30.

Рис. 16.5. Строка треков с ключами анимации
| ЗАМЕЧАНИЕ В max 7.5 реализовано цветовое кодирование типов ключей. Так, ключи положения в строке треков обозначаются прямоугольниками красного цвета, ключи поворота — прямоугольниками зеленого цвета, ключи масштаба — желтого цвета, ключи характеристических параметров объекта — синего цвета и т. д. Если в одном и том же кадре создано несколько разнотипных ключей анимации выделенного объекта, значки ключей могут окрашиваться полосками нескольких разных цветов. |
Строка треков может полностью преображаться, превращаясь в подобие упрощенного редактора функциональных кривых, представляющих собой графики изменения анимированных параметров во времени. Для такого превращения служит кнопка Show Curves (Показать кривые), расположенная на левом краю строки треков и показанная на рис. 16.5.

После щелчка на кнопке Show Curves (Показать кривые) вид окна max 7.5 преображается, как показано на рис. 16.6. По сути дела строка треков превращается в упрощенную версию окна Track View — Curve Editor (Просмотр треков — Редактор кривых), представляющего собой одну из двух модификаций прежнего окна просмотра треков анимации. Эта упрощенная версия имеет строку меню, панель инструментов и остальные атрибуты — отсутствует только строка заголовка.

Рис. 16.6. Вид окна max 7.5 со строкой треков в режиме показа функциональных кривых, характеризующих изменения параметров анимации во времени
|
СОВЕТ После превращения строки треков в упрощенный вариант окна Редактора кривых исчезает привычный ползунок таймера анимации вместе с обычной линейкой времени. Однако это не исключает возможности перемещения по шкале времени, которая имеется в правой части окна строки треков. Для смены текущего кадра просто перетаскивайте показанный на рис. 16.6 ползунок в виде голубоватой вертикальной полоски в правой части окна строки треков. |

Рис. 16.7. Строка треков max 7.5 в режиме показа функциональных кривых превращена в плавающее окно
С помощью окна, возникающего на месте строки треков после щелчка на кнопке Show Curves (Показать кривые), можно не только просматривать функциональные кривые анимации, но и выполнять операции редактирования их формы, добавления и перемещения ключей анимации и т. п. Подробнее об использовании окна Track View — Curve Editor (Просмотр треков — Редактор кривых) вы можете прочитать в разделе «Знакомимся с окном диалога Track View» этой главы.
Чтобы закрыть окно просмотра кривых и вернуться к прежнему виду строки треков, следует щелкнуть на кнопке Close (Закрыть), расположенной на левом краю панели инструментов этого окна.
Структура книги
Весь материал книги разбит на три части, первая из которых состоит из четырех глав, вторая — из шести, а третья включает семь.
В первой части, озаглавленной «Картинки в твоем букваре» и включающей главы 1-4, рассказывается о том, без чего не имеет смысла приступать к моделированию трехмерной графики и анимации. Вы узнаете, что представляют собой и из чего состоят трехмерные объекты, каким образом они отображаются на экране компьютера, как сохраняются в виде файлов, какие инструменты имеются в вашем распоряжении для манипулирования такими объектами в пространстве сцены и во времени анимации и т. п. Первая часть книги, таким образом, и в самом деле представляет собой подобие букваря, однако не стоит пренебрегать ее изучением: виртуальный трехмерный мир темен и необъятен и в нем так легко заблудиться, если не знать азов навигации...
Вторая часть, названная «Что нам стоит дом построить» и состоящая из глав 5-10, целиком посвящена средствам и методам разработки геометрической модели трехмерной сцены. В программе 3ds max 7.5 сосредоточено огромное количество таких средств. Мы рассмотрим только часть из них, но с таким расчетом, чтобы переданный в ваши руки набор инструментов позволял реализовывать многие, если не все, трехмерные фантазии. Умея рисовать двумерные и трехмерные кривые, строить простейшие трехмерные тела-примитивы, преобразовывать кривые-профили в трехмерные объекты методами выдавливания, вращения или лофтинга, корректировать форму сетчатых оболочек на уровнях подобъектов, вы сможете чувствовать себя вполне уверенно, приступая к построению геометрической модели практически любой сложной сцены. Кульминацией данной части книги, безусловно, являются главы 9 и 10, знакомящие вас с секретами моделирования из копилки истинных мастеров трехмерной графики. Поистине безграничны созидательные возможности таких методов и приемов, описываемых в тексте этих глав, как моделирование объектов произвольной формы за счет редактирования сетки примитива-параллелепипеда, «лепка» объектов из кусков Безье и натягивание оболочек на трехмерные сплайновые каркасы, редактирование NURBS-поверхностей и формирование NURBS-объектов произвольной формы.
Наконец, в третьей части, представленной главами 11-17 и названной «Просто ты работаешь волшебником...», вам будет предоставлена возможность приобщиться к таинству превращения бестелесных сетчатых оболочек в подобие реальных объектов и «оживления» ваших творений. Речь пойдет о таких важных этапах работы над трехмерной сценой, как настройка освещения, подбор выигрышных ракурсов наблюдения сцены с помощью моделей съемочных камер, применение материалов и, наконец, визуализация и анимация. Вы научитесь создавать и правильно применять различные типы осветителей, управлять моделями съемочных камер, не уступающих по возможностям настоящим камерам, а по ряду параметров значительно превосходящих свои механические или электронные аналоги. Приобретете практические навыки создания материалов — как простейших стандартных, весь облик которых формируется за счет подбора цветовых оттенков, так и более сложных, которым сходство с реальными прототипами придается за счет включения в их состав различных текстурных карт. Обучаясь основам визуализации, вы освоите методы воспроизведения таких эффектов, свойственных живой природе, как туман, дымка, пламя огня, пучки света в туманной или пыльной атмосфере, а также научитесь применять оптические фильтры. Наконец, вы приобретете опыт «оживления» трехмерной сцены, ведь 3ds max 7.5 — это программа не только трехмерной графики, но и анимации. Знакомство с модулем для создания динамических сцен reactor позволит вам создавать сложные анимационные сцены, в которых объекты смогут взаимодействовать между собой.
Свиток Properties (Свойства) модификатора reactor Cloth (Реактор: Ткань)
В свитке Properties (Свойства) модификатора reactor Cloth (Реактор: Ткань) можно настроить следующие параметры тканей:
Mass (Масса) — величина массы сказывается на растяжении ткани при столкновении с жесткими телами, причем чем больше масса, тем меньше растяжение;
Friction (Трение) — коэффициент трения ткани;
Rel Density (Относительная плотность) — ткань не имеет толщины и объема, поэтому плотность называется относительной. Она имеет значение только для анимаций, в которых ткань по сценарию должна падать в воду. По умолчанию плотность ткани равна плотности воды;
Air Resistance (Сопротивление воздуха) — вызывает замедление падения ткани.
Для расчетов анимации ткани можно использовать две модели действующих на ткань сил:
Simple Force Model (Простая модель сил) — простая и быстрая для расчетов, не очень точная модель. Имеет два параметра для настройки:
Stiffness (Жесткость) — управляет гибкостью ткани;
Damping (Демпфирование) — задает скорость затухания упругих колебаний;
Complex Force Model (Сложная модель сил) — более сложная и требующая большего времени на расчеты, но более точная модель поведения ткани. Имеет четыре настраиваемых параметра:
Stretch (Растяжение) — задает степень растяжения ткани; > Bend (Изгиб) — задает степень сопротивления изгибам;
Shear (Разрыв) — задает степень сопротивления разрывам;
Damping (Демпфирование) — задает скорость затухания упругих колебаний.
Переключатель Fold Stiffness (Жесткость складок) позволяет выбрать один из трех вариантов:
None (Нет) — в этом варианте, принятом по умолчанию, ткань ведет себя подобно шелку;
Uniform Model (Равномерная модель) — в этом варианте жесткость складок ткани равномерна на всем ее протяжении;
Spatial Model (Пространственная модель) — позволяет менять жесткость складок только в определенных местах ткани.
Остальные параметры свитка являются одинаковыми для всех деформируемых тел:
Avoid Self-Intersections (Избегать самопересечений) — установка этого флажка позволяет избежать случаев пересечения отдельными частями ткани себя самой;
Constrain Deformations (Ограничить деформации) — установка этого флажка позволяет ограничить растяжение ткани при деформациях в счетчике Мах (%) (Максимум (%));
Start With Current State (Начинать с текущего состояния) — если данный флажок установлен, то модификатор запоминает состояние объекта в текущем кадре. При открытии окна предварительного просмотра ткань будет загружаться в это окно в том деформированном виде, которое запомнено модификатором. Например, откройте окно предварительного просмотра и запустите анимацию ткани. Когда ткань деформируется в окне должным образом, приостановите воспроизведение анимации, нажав клавишу Р. Выберите команду МАХ > Update МАХ (МАХ > Обновить МАХ). В итоге ткань в окнах проекций будет деформирована аналогично тому, как она выглядит в окне предварительного просмотра. Это состояние запоминается модификатором, и если снова открыть окно предварительного просмотра при установленном флажке Start With Current State (Начинать с текущего состояния), то ткань загрузится в деформированном виде. При сброшенном флажке ткань загружается в исходном виде, какой она имела до применения деформаций;
Clear Keyframes (Очистить ключи) — щелчок па этой кнопке ведет к удалению всех ключей, созданных для ткани модулем reactor (Реактор). Число таких ключей обозначается над кнопкой в строке ... keyframes stored (сохранено .... ключей);
Use Soft Selection (Использовать плавное выделение) — позволяет использовать плавное выделение при ограничении подвижности вершин сетки деформируемого объекта;
Reset Default Values (Восстановить исходные значения) — щелчок на этой кнопке восстанавливает исходные значения всех параметров модификатора.
С остальными параметрами модификатора reactor Cloth (Реактор: Ткань) познакомьтесь самостоятельно, используя справочную систему mах 7.5.
Сводим вместе элементы геометрической модели сцены
Наконец-то наступил момент, когда все составные части проекта «МАХ-кафе» готовы и мы можем свести их воедино, закончив тем самым конструирование геометрической модели сцены. Представленное в данном разделе упражнение позволит вам закрепить навыки использования целого ряда команд и инструментов max 7.5, предназначенных для работы с файлами, группирования, преобразования и дублирования объектов.
Свойства стандартных материалов, имитируемые картами текстур
Средства управления характеристиками стандартных материалов, создаваемых с использованием карт текстур, сосредоточены в свитке Maps (Карты текстур) Редактора материалов, показанном на рис. 14.1. Свиток содержит 24 однотипных группы элементов управления, в каждую из которых входит флажок активизации карты, наименование характеристики материала, имитируемой картой текстуры, счетчик доли вклада карты в результирующий вид материала (Amount) и кнопка выбора типа карты текстуры, на которой по умолчанию имеется надпись None (Отсутствует). При этом 12 групп названных элементов активны, а еще 12 находятся в резерве и недоступны для использования. Кнопки выбора карт текстуры являются аналогами маленьких квадратных кнопок без надписи, располагающихся справа от многих параметров материалов в свитках базовых параметров методов раскраски, рассмотренных выше.

Рис. 14.1. Свиток Maps
С помощью этого свитка можно выбрать и настроить параметры карт текстур для восьми базовых оптических характеристик стандартных материалов. Это те характеристики, которые снабжены в свитках базовых и дополнительных параметров раскраски маленькими квадратными кнопками, предназначенными для назначения текстурных карт. В их числе:
цвета подсветки (Ambient Color), диффузного рассеивания (Diffuse Color), зеркального отражения (Specular Color) и отфильтрованного света (Filter Color). Использование карт текстуры позволяет или полностью заместить названные цвета материала изображениями текстур, или, за счет уменьшения доли вклада карты, совместить соответствующий компонент цвета с изображением текстуры;
глянцевитость (Glossiness) и сила блеска (Specular Level). Применительно к этим характеристикам материала использование карт текстуры позволяет управлять степенью глянцевитости и интенсивностью блеска участков зеркальных бликов материала. За счет этого можно сделать область блика менее однородной и, как следствие, более естественной. Белым участкам карты соответствуют максимальные глянцевитость и интенсивность отражения в области блика, а черным — полное отсутствие глянца и минимальная интенсивность блеска;
самосвечение (Self-Illumination) и непрозрачность (Opacity). Карты текстуры помогают в данном случае управлять светимостью и прозрачностью материала. Чем ближе цвет отсчета текстурной карты к белому, тем выше яркость самосвечения и непрозрачность материала. Черным отсчетам карты соответствуют участки отсутствия светимости и полной прозрачности. Промежуточные значения обеспечивают полупрозрачность и умеренную светимость материала.
|
ЗАМЕЧАНИЕ Каждую строку свитка Maps (Карты текстур), содержащую флажок, наименование характеристики материала, счетчик доли вклада карты и кнопку выбора типа карты текстуры, часто называют каналом материала. В этом случае слова «поместить текстуру в канал диффузного цвета» как раз и означают полную или частичную замену текстурной картой цвета диффузного рассеивания материала. |
Помимо этого в свитке Maps (Карты текстур) имеются средства для замещения текстурными картами еще нескольких характеристик материала, которые нельзя заменить текстурами иначе, как с помощью элементов управления данного свитка:
Bump (Рельефность) — позволяет применить карту текстуры для придания поверхности объекта видимости трехмерных неровностей. Геометрия поверхности не меняется (скажем, плоскость остается плоской), но впечатление неровностей возникает за счет имитации бликов и теней. Кажущаяся рельефность управляется яркостью отсчетов текстурной карты: светлые отсчеты «выступают» над поверхностью, а темные «вдавливаются» в нее;
Reflection (Отражение) — позволяет применить карту текстуры для имитации отражения окружающих объектов на поверхности зеркального материала. Забегая вперед, скажу, что max 7.5 допускает использование четырех типов карт для имитации зеркального отражения: карта типа Bitmap (Растровая) позволяет просто спроецировать на поверхность объекта изображения любых предметов или пейзажа, создавая впечатление того, что объект сделан из зеркального материала; карты типа Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая) обеспечивают отображение на поверхность объекта проекций окружающих объектов в том виде, в каком они наблюдаются из центра зеркального объекта; карта типа Flat Mirror (Плоское зеркало) обеспечивает формирование зеркальной проекции окружающих объектов на плоскую поверхность;
Refraction (Преломление) — позволяет применять карту текстуры для имитации преломления световых лучей прозрачным объектом. В таком качестве могут использоваться карты типа Bitmap (Растровая), Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая). Использование двух последних карт воспроизводит реальное наблюдение окружающих предметов сквозь поверхность прозрачного материала;
Displacement (Смещение) — обеспечивает фактическое изменение геометрии поверхности пропорционально яркости отсчетов карты. Смещение применимо только к объектам, представленным сетками кусков Безье или NURBS-no-верхностями. Визуализация материала, основанного на карте текстуры смещения, требует значительного времени и большого расхода памяти.
Попробуем разобраться поподробнее в том, что такое карты текстур, какие они бывают и как используются.
Сворачивание стека
За всякие удобства приходится платить — так и за предоставляемую стеком возможность доступа ко всем параметрам объекта или его модификаторов приходится платить увеличением объема файла сцены и времени работы max 7.5. Хранить все эти параметры в стеках объектов имеет смысл лишь до тех пор, пока не завершено редактирование геометрической модели сцены. Еще одной причиной, вызывающей необходимость сохранять стек модификаторов объекта, может являться то, что параметры того или иного модификатора подвергаются анимации. Если же модификаторы объекта не участвуют в анимации, а корректировка формы этого объекта завершена, целесообразно свернуть стек модификаторов. Сворачивание стека означает устранение всех модификаторов с сохранением итогового вида объекта и преобразованием его в один из редактируемых типов: в редактируемую сетку, редактируемый сплайн или NURBS-поверхность. Объект после этого напрочь «забывает» о своем прошлом и дальнейшую его правку можно производить только на уровне подобъектов: вершин, сегментов, граней и т. п. Допускается сворачивание не всего стека, а только какой-то его нижней части.
Отработаем навыки сворачивания стека на примере объектов, подготовленных ранее для включения в проект «МАХ-кафе».
Терминология и язык
Признаться, вопрос о выборе терминологии и языка изложения оказался не таким тривиальным, как может показаться на первый взгляд. Терминология понятий, относящихся к трехмерной графике и анимации, еще не устоялась. В книгах разных издательств по данному вопросу одни и те же английские слова переводятся по-разному, что вызывает путаницу и затруднения (не буду приводить примеры — их масса). Может быть когда-нибудь нас и осчастливят «Словарем» или «Справочником по терминологии» трехмерной графики. Пока же будем в основном придерживаться тех терминов, которые уже знакомы читателям по целому ряду книг издательства «Питер», посвященных программам 3ds max разных версий.
Что же касается языка... В сети Интернет можно найти немало пособий и советов по использованию 3ds max, в которых изложение ведется примерно так: «Селектнем вертексы, экструднем сплайн, лофтанем пару шейпов, конвертнем меш, нанесем микс из двух мэпов, включим трейсинг — и все, можно рендерить!» В переводе на обычный язык это должно означать: «Выделим вершины, применим к кривой операцию выдавливания, построим оболочку по паре опорных форм-сечений, преобразуем сетку, нанесем смесь из двух текстурных карт, включим режим трассировки лучей — и все, можно визуализировать!» Конечно, последний вариант звучит менее «круто», но зато более по-русски и, на мой консервативный взгляд, все же более понятно (после объяснения, что означают такие «научные» слова, как «текстура», «трассировка» или «визуализация»). В предстоящих главах мы будем стараться говорить именно на таком языке, по возможности избегая слов-копий с английского, хотя полностью без этого пока не обойтись.
образцов распространяется на все семейство

Рис. 4.23. Применение модификаторов к объекту-оригиналу или к любому из дубликатов- образцов распространяется на все семейство объектов
Reference (Экземпляр). Экземпляр подобен образцу, но имеет одностороннюю связь с оригиналом. Если в оригинал объекта вносятся изменения, они распространяются и на все его экземпляры. Но если изменяется экземпляр, это не влияет ни на остальные экземпляры данного объекта, ни на оригинал. На рис. 4.24 в качестве примера показано, что три дубликата-экземпляра унаследовали результат применения к оригиналу модификатора Stretch (Растяжение).

Рис. 4.24. Дубликаты-экземпляры наследуют модификаторы, примененные к объекту-оригиналу, но сами допускают индивидуальную модификацию
Однако применение к одному из экземпляров модификатора Twist (Скрутка) не распространилось ни на другие дубликаты, ни на оригинал. Используйте экземпляры тогда, когда дубликаты должны иметь свойства, унаследованные от оригинала, и в то же время обладать индивидуальными отличиями, как, например, листья одного дерева или лица родственников.
Типы дубликатов — копии, образцы и экземпляры
Рассмотрим различия между тремя типами дубликатов — копиями, экземплярами и образцами объектов:
Cору (Копия). Копия объекта — это его точный независимый дубликат. Единственной разницей между копией и оригиналом является имя объекта.
Применение преобразований или модификаторов к копиям объектов никак не сказывается на других копиях или оригинале. В качестве примера на рис. 4.22 показано, что применение модификатора Stretch (Растяжение) к объекту-ори-гиналу никак не сказалось на трех копиях этого объекта. Используйте копии объектов, когда заранее известно, что задача одновременного внесения изменений во все дубликаты не возникнет.

Рис. 4.22. Применение модификатора к объекту-оригиналу не влияет на три его копии
| ЗАМЕЧАНИЕ Подробно о том. что такое модификаторы и как ими пользоваться, вы узнаете из главы 8, «Совершенствуем навыки модификации объектов». Пока же достаточно знать, что модификаторы — это специальные инструменты max 7.5, позволяющие, в частности, изменять (модифицировать) форму готовых объектов. |
Instance (Образец). Образец — это дубликат объекта, сохраняющий неразрывную связь с оригиналом и определенную зависимость от него. Применение модификаторов к объекту-оригиналу проявляется на всех образцах, а модификация любого образца равносильна модификации оригинала — результаты сказываются как на оригинале объекта, так и на всех остальных образцах. В качестве примера на рис. 4.23 показано, что три дубликата-образца унаследовали модификатор Stretch (Растяжение), примененный к объекту-оригиналу, а применение к одному из дубликатов модификатора Twist (Скрутка) распространилось и на остальные дубликаты, и на оригинал. Все образцы просто-напросто используют те же самые модификаторы, что и оригинал. Во внутреннем представлении max 7.5 образец является всего лишь местозаполнителем {placeholder), то есть ссылкой, указывающей программе, что в определенной точке сцены нужно изобразить дубликат объекта. Впрочем, каждый образец сохраняет и свои уникальные свойства, например, имеет собственные координаты в пространстве, углы поворота и коэффициенты масштаба, собственный набор свойств (имя, цвет и т. п.), может иметь собственный материал и собственные связи с источниками объемных деформаций. Образцы могут с успехом использоваться при моделировании однотипных предметов — посуды, мебели или строительных блоков.
Типы и составные части NURBS-кривых
Различают два типа NURBS-кривых:
точечная кривая {point curve) проходит через все опорные точки, заданные на • плоскости;
CV-кривая (CV curve) плавно изгибается вблизи всех опорных точек, заданных на плоскости и называемых управляющими вершинами {Control Vertices — CV).
Соответственно, подобъектами NURBS-кривых точечного типа являются точки {points) и собственно кривые, а NURBS-кривых типа CV — управляющие вершины {curve CV's) и собственно кривые.
шестнадцать различных типов осветителей сцены.
Чтобы разобраться в системе освещения max 7.5, нужно проявить терпение и упорство. Программа предоставляет в ваше распоряжение — вдумайтесь! — шестнадцать различных типов осветителей сцены. И это не считая двух встроенных осветителей, не подлежащих настройке, и двух готовых систем объектов, включающих в свой состав источники света: Sunlight (Солнечный свет) и Daylight (Дневной свет), о которых мы уже упоминали во второй главе.
Восемь из шестнадцати источников света относятся к разновидности Standard (Стандартные), а оставшиеся восемь — к разновидности Photometric (Фотометрические).
Стандартные осветители позволяют обеспечивать визуально правдоподобное освещение, не слишком заботясь при этом о соблюдении реальных физических законов распространения и отражения световых лучей. Например, по умолчанию свет от стандартных источников не затухает с расстоянием, что явно противоречит реальности, но в большинстве случаев не слишком мешает освещению сцен max 7.5.
Фотометрические осветители подобны стандартным, однако они позволяют точно воспроизводить освещенность, цвет и пространственное распределение силы света, свойственные реальным источникам, будь то обычная лампочка накаливания, люминесцентная лампа дневного света или солнце. Свет, испускаемый фотометрическими осветителями, всегда затухает обратно пропорционально квадрату расстояния до освещаемой поверхности. Характеристики света, испускаемого фотометрическими источниками, задаются в max 7.5 в действующих физических единицах, таких как канделы (cd), люмены (1т) или люксы (1х).
|
ЗАМЕЧАНИЕ В физике принято характеризовать световое излучение понятиями светового потока, силы света и освещенности. Световой поток задает энергию света, излученную за единицу времени, и измеряется в люменах. Световой поток, испускаемый в пределах заданной области пространства, называется силой света. Сила света позволяет сравнивать источники с различным пространственным распределением света и измеряется в канделах. Наконец, отношение светового потока к площади освещаемой поверхности называется освещенностью и измеряется в люксах. |
Помимо физической точности свойств моделируемого светового излучения, фотометрические осветители обладают и рядом других особенностей по сравнению со стандартными осветителями. Например, излучатели таких источников могут представлять собой не только точку, но и линию или плоскую площадку, что обеспечивает дополнительные возможности при настройке освещения. Как правило, фотометрические осветители применяют в специальных случаях, например, когда требуется точно спрогнозировать освещенность углов конкретного помещения светильником того или иного типа, подвешенным под потолком или установленным в углу комнаты. Причем если просто поместить один или два таких осветителя в сцену шах 7.5, света от них, как правило, будет явно не хватать. Реальные достоинства использования фотометрических осветителей проявляются только в случае привлечения алгоритмов расчета так называемой глобальной освещенности, с которой вы познакомитесь чуть позже в разделе «Глобальная освещенность: первое знакомство».
В число стандартных входят следующие восемь осветителей:
Всенаправленный (Omni) и все направленный площадной для mental ray (mr AreaOmni);
нацеленный и свободный направленные источники (Target Directional и Free Directional);
нацеленный и свободный прожекторы (Target Spot и Free Spot), а также площадной прожектор для mental ray (mr AreaSpot);
имитатор света неба (Skylight).
Всенаправленный осветитель — это источник света, который испускает световые лучи из одной точки равномерно во всех направлениях, подобно лампочке без абажура или солнцу по отношению к окружающим его планетам. Всенаправленный источник может отбрасывать тени и служить проектором изображений на поверхность объектов сцены, подобно обычному проектору слайдов.
Направленный источник испускает пучок параллельных лучей света, подобно Всенаправленному источнику на бесконечно большом удалении от него. Такой пучок может иметь круглое или квадратное сечение регулируемых размеров. Направленный источник света часто используется для имитации солнечного освещения при моделировании уличных сцен.
Прожектор отличается от направленного источника тем, что его лучи не параллельны, а расходятся коническим или пирамидальным пучком из единой точки, в которой располагается источник, подобно свету настоящих прожекторов, театральных софитов, автомобильных фар или карманных фонариков. Угол расхождения пучка лучей легко регулируется.
Направление лучей свободных источников света определяется ориентацией оси пучка, для изменения которой к источнику нужно применять преобразование поворота.
Нацеленные источники света отличаются от свободных наличием мишени {target) — объекта-пустышки, на который нацелена ось пучка лучей источника света. При перемещении мишени источник света автоматически меняет свою ориентацию, постоянно оставаясь нацеленным на нее. Это позволяет выполнять анимацию объектов, не выпуская их из освещенной зоны.
У площадных (Area) стандартных источников свет испускается совокупностью точечных осветителей, расположенных в пределах некоторой площадки. Такие осветители позволяют моделировать протяженные в двух измерениях светильники, наподобие матового экрана или окна.
Осветитель-имитатор света неба отличается от остальных стандартных источников света тем, что его воображаемые лучи не исходят из какой-то одной точки или совокупности небольшого числа точек. При размещении осветителя Skylight (Свет неба) в составе сцены она как бы накрывается сверху воображаемым куполом в виде бесконечно большой полусферы, все точки которой являются источниками световых лучей. Чтобы получить нужный эффект от включения в состав сцены осветителя Skylight (Свет неба), требуется применять специальный алгоритм расчета, именуемый Light Tracer (Трассировщик света).
В max 7.5 реализованы следующие три типа фотометрических осветителей, каждый из которых может быть нацеленным или свободным:
точечный нацеленный (Target Point) и свободный (Free Point);
линейный нацеленный (Target Linear) и свободный (Free Linear);
площадной нацеленный (Target Area) и свободный (Free Area).
Кроме того, имеются еще два типа фотометрических источнтков-имитатороа света солнца (IES Sun) и света неба (IES Sky).
В исходном состоянии точечный фотометрический осветитель испускает свет с одинаковой силой во всех направлениях. Внимательные читатели, вероятно, уже задумались над вопросом, зачем же такому осветителю мишень? Дело в том, что для точечного фотометрического источника света можно задавать различные варианты пространственного распределения силы излучения, превращая его в подобие прожектора. В этом случае наличие мишени становится уже вполне оправданным: она располагается на оси максимума силы излучения света и позволяет управлять направлением этой оси.
Линейный свободный и нацеленный фотометрические осветители позволяют моделировать линейно-протяженные светильники, наподобие ламп дневного света или галогенных ламп.
Площадной свободный и нацеленный фотометрические осветители позволяют моделировать светильники, протяженные в двух измерениях, подобно площадным стандартным источникам света.
Фотометрические имитаторы света неба и света солнца служат для воспроизведения физически точного по цвету, интенсивности и направленности света, испускаемого реальными солнцем и небом, как открытым, так и полностью или частично затянутым облаками. Эти источники могут использоваться как самостоятельно, так и в составе системы объектов Daylight (Дневной свет). Сокращение IES в названиях этих осветителей происходит от названия организации, разрабатывающей стандарты описания параметров светильников и создаваемого ими освещения — Illuminating Engineering Society.
Пока в состав сцены не введен хотя бы один осветитель, для ее освещения по умолчанию применяются встроенные источники света с фиксированными параметрами, не подлежащими настройке.
Освещение сцены зависит также от подсветки, не имеющей источника и проявляющейся в равномерном изменении начального уровня освещенности всех объектов. Настройка подсветки производится в окне диалога Environment (Внешняя среда).
и наиболее широко используемым типом
Основным и наиболее широко используемым типом материала является Standard (Стандартный). Визуальное сходство с объектами реального мира обеспечивается подбором характеристик стандартного материала, к которым относятся: цвета отдельных компонентов света — диффузно рассеянного, зеркально отраженного, видимого только благодаря подсветке или пропущенного материалом; сила блеска поверхности; степень светимости и прозрачности. Возможности использования стандартных материалов значительно расширяются за счет того, что многие свойства материала допускается имитировать с помощью текстурных карт (maps) — фотографий или синтезированных изображений, воспроизводящих характерный рисунок той или иной поверхности. В max 7.5 используется целых 33 типа карт текстур, поэтому для того, чтобы познакомиться с их особенностями, а главное, научиться всеми ими пользоваться, придется приложить некоторые усилия! Назначение и использование некоторых типов карт текстур будет рассмотрено нами в следующей главе.
Состав материалов, доступных в max 7.5, зависит от выбора текущего алгоритма визуализации сцены. При использовании исходного сканирующею визуализатора (default scanline renderer) в max 7.5 доступно 15 типов материалов, из которых оригинальными, помимо стандартного, являются еще четыре:
Architectural (Архитектурный) — материал, воспроизводящий с высокой точностью физические свойства поверхностей предметов реального мира. Рекомендуется к применению в архитектурных проектах, в которых для освещения используются фотометрические осветители, а для визуализации — алгоритм Radiosity (Перенос освещения);
Raytraced (Трассируемый) — материал, подобный стандартному, но обеспечивающий формирование эффектов отражения и преломления методом трассировки световых лучей. С его помощью можно прекрасно моделировать гладкие полированные поверхности, в которых отражаются окружающие предметы, или объекты из стекла с их свойствами прозрачности, преломления световых лучей и некоторой способностью к отражению;
Matte/Shadow (Матовый/Затеняемый) — материал, воспроизводящий на своей поверхности изображение фона сцены, но непрозрачный для объектов и способный воспринимать тени от них. Поставленная на переднем плане сцены «ширма» с таким материалом полностью сливается с фоном сцены, маскируя расположенные позади нее объекты. Тени, отброшенные объектами на такую «ширму», кажутся падающими прямо на фон сцены. Например, благодаря применению такого материала к основанию сцены, показанной на рис. 1.7 первой главы, создается впечатление, что тени от объектов — домика, кустарника живой изгороди, фигуры коровы — отбрасываются на траву фоновой фотографии сцены;
Ink'n Paint (Обводка и заливка) — материал, позволяющий выполнить стилизацию синтезируемого изображения объекта под картинку, нарисованную пером и раскрашенную кисточкой, как принято в традиционной мультипликации или при рисовании комиксов. Так как цель нашего проекта состоит в синтезе фотореалистичных изображений, мы не будем разбираться в особенностях применения такого материала. Те, кому это все-таки интересно, могут обратиться к справочной системе mах 7.5 или к моей книге «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году.
Остальные 10 материалов относятся к числу составных (Compound Materials), образуемых на базе вышеназванных оригинальных материалов:
Multi/Sub-Object (Многокомпонентный) — материал, состоящий из множества различных материалов, которые можно назначать отдельным граням объекта с учетом идентификаторов материала этих граней;
Blend (Смесь) — материал, представляющий собой смесь двух других типов материалов, наносимых один поверх другого. Управлять тем, в каких местах будет виден один материал, а в каких другой, можно с помощью маски;
Double Sided (Двусторонний) — материал, состоящий из двух материалов, один из которых предназначен для лицевой, а другой — для изнаночной стороны граней объекта;
Top/Bottom (Верх/Низ) — материал, состоящий из двух материалов, один из которых назначается граням объекта, нормали которых направлены вверх, а другой — граням, нормали которых направлены вниз;
Composite (Многослойный) — материал, включающий до десяти слоев других материалов с регулируемой прозрачностью, которые могут просвечивать друг сквозь друга с суммированием или вычитанием цветов;
Shellac (Шеллак) — материал, подобный многослойному, но состоящий всего из двух слоев: слоя базового материала и слоя шеллака (так называется специальная смола, применяемая в живописи) с регулируемой прозрачностью, цвет которого суммируется с цветом базового материала;
Morpher (Морфинговый) — многоканальный материал, который применяется только к морфинговым составным объектам и позволяет имитировать плавные изменения материалов на отдельных фазах преобразования морфинга;
Advanced Lighting Override (Замена свойств улучшенного освещения) — материал-модификатор, специально разработанный с целью управления свойствами других материалов max 7.5, которые принимаются в рассмотрение при решении задачи переноса излучения, рассмотренной в предыдущей главе. В частности, он позволяет изменять способность исходного материала отражать, пропускать или подкрашивать отраженные световые лучи. Этот материал применяется не к объекту, а к уже готовому базовому материалу, нанесенному на этот объект;
Shell Material (Материал-оболочка) — материал, представляющий собой просто контейнер для двух других материалов, один из которых, Baked Material («Запеченный» материал), автоматически создается в результате выполнения новой операции max 7.5 — визуализации в текстуры. В результате оказывается возможным применение к объектам «готовых к употреблению» текстур, «запеченных» вместе с тенями и зеркальными бликами света;
Lightscape Mtl (Материал для Lightscape) — материал, который не может быть использован в max 7.5 и применяется только к объектам, предназначенным для экспорта в программу Lightscape. Данная программа обеспечивает расчет глобальной освещенности трехмерной сцены методом переноса излучения.
При переключении на модуль визуализации mental ray список доступных материалов меняется. Из него исключаются материалы Advanced Lighting Override (Замена свойств улучшенного освещения), Lightscape Mtl (Материал для Lightscape) и Morpher (Морфинговый). В то же время появляются семь новых материалов:
DGS (Diffuse, Glossy, Specular) Material (Диффузный, глянцевый, зеркальный — ДГЗ-материал) — материал, способный при визуализации модулем mental ray с физической точностью воспроизводить такие свойства реальных материалов, как диффузное рассеивание света (Diffuse), глянцевитость (Glossy) и зеркальное отражение (Specular);
Glass (Стекло) — материал, с физической точностью воспроизводящий как поверхностные свойства стекла, так и его способность пропускать свет;
mental ray — материал, позволяющий выбрать из обширного набора и настроить 10 алгоритмов раскраски, или шейдеров, с помощью которых имитируются основные свойства реальных материалов;
SSS Fast Material (Быстрый материал подповерхностного рассеивания), SSS Fast Skin Material (Быстрый материал подповерхностного рассеивания для кожи), SSS Fast Skin Material+Displace (Быстрый материал подповерхностного рассеивания для кожи + смещение) и SSS Physical Material (Физический материал подповерхностного рассеивания) — четыре материала, позволяющие с физической точностью воспроизвести эффект подповерхностного рассеивания.
В последующих разделах данной главы мы на практике познакомимся с использованием материала типа Standard (Стандартный), а в следующей главе — Multi/Sub-Object (Многокомпонентный). Порядок и особенности применения материалов других типов при необходимости попробуйте изучить самостоятельно, пользуясь электронной справочной системой max 7.5 или моей уже упоминавшейся книгой «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году.
|
ЗАМЕЧАНИЕ Уверяю вас, что даже владея только этими двумя материалами, можно выполнить имитацию внешнего вида практически любых объектов окружающего мира или мира вашего воображения. Стандартный материал составляет основу всех типов составных материалов, а многокомпонентный материал может заменить собой большую часть этих составных материалов. Трассируемый материал с успехом можно заменить стандартным, в состав которого включена карта текстуры типа Raytrace (Трассируемая). |
Типы проекционных координат
Выбор проекционных координат нужного типа производится за счет установки переключателя в разделе Mapping (Проекционные координаты) свитка Parameters (Параметры) в одно из следующих положений:
Planar (Плоские) — служат для проецирования растровых текстур на ровные плоские поверхности объектов. Вид значка плоских проекционных координат показан выше на рис. 14.25. На тех гранях объекта, которые расположены перпендикулярно плоскости проекции, изображение текстуры сильно растягивается и искажается, как показано на рис. 14.27;

Рис. 14.27. Проецирование текстуры с использованием плоских координат
Cylindrical (Цилиндрические) — применяются к объектам, имеющим форму, близкую к цилиндрической, наподобие консервной банки или кегли. Изображение текстуры оборачивается вокруг вертикальной оси объекта, совпадающей с осью габаритного контейнера проекционных координат, а затем проецируется на поверхность объекта с цилиндрической поверхности габаритного контейнера, показанного на рис. 14.28. Установка флажка Сар (Торец) включает режим, при котором на торцевые поверхности объекта также будет нанесено по отдельной копии растровой текстуры, как показано на рис. 14.29;

Рис. 14.28. Значок цилиндрических проекционных координат

Рис. 14.29. Проецирование текстуры с использованием цилиндрических координат при установленном флажке Сар
Spherical (Сферические) — создают габаритный контейнер модификатора проецирования в виде сферы, окружающей объект (рис. 14.30). Использование данного типа координат предпочтительно для объектов, имеющих округлую или сферическую форму, однако сферическое проецирование применимо и к любым другим объектам, как показано на рис. 14.31;

Рис. 14.30. Значок сферических проекционных координат

Рис. 14.31. Проецирование текстуры с использованием сферических координат
Shrink Wrap (Обтягивающие) — специальная система координат, разработанная для проецирования текстур на объекты сложной формы органического типа, наподобие моделей растений, фигур людей или животных. Эта система является по сути сферической и имеет точно такой же габаритный контейнер в форме сферы, но обеспечивает усечение углов карты текстуры и соединение их в единственной точке-полюсе, что дает минимальные искажения рисунка, как показано на рис. 14.32;

Рис. 14.32. Проецирование текстуры с использованием обтягивающих координат
Box (Прямоугольные трехмерные) — обеспечивают отображение текстуры на поверхность объекта с шести граней габаритного контейнера в форме прямоугольного параллелепипеда (рис. 14.33). Применяются преимущественно для объектов прямоугольной формы. Если использовать для подобных объектов плоскую систему координат, то на каких-то гранях всегда будет наблюдаться растяжение рисунка текстуры. В случае прямоугольного трехмерного проецирования к каждой из шести сторон параллелепипеда применяется плоская проекция текстуры, так что растяжение исключается (рис. 14.34);

Рис. 14.33. Значок прямоугольных трехмерных проекционных координат

Рис. 14.34. Проецирование текстуры с использованием прямоугольных трехмерных координат
|
ЗАМЕЧАНИЕ Чтобы обеспечить одинаковый масштаб изображения текстуры на каждой из сторон объекта в виде прямоугольного блока, примените к нему модификатор UWV Map (UVW-проекция), установите проекционные координаты типа Box (Прямоугольные трехмерные) и придайте габаритному контейнеру модификатора форму куба с одинаковыми размерами по всем трем осям проекционных координат U, V и W. |

Рис. 14.35. Проецирование текстуры с использованием координат граней объекта
XYZ to UVW (XYZ в UVW) — обеспечивают растяжение рисунка трехмерных процедурных текстур вместе с оболочкой объекта, как показано на рис. 14.36. Две копии сферы с процедурной текстурой были растянуты по вертикали. Рисунок текстуры на правой сфере, нанесенный с использованием модификатора XYZ to UVW (XYZ в UVW), растянулся вместе с оболочкой, а на средней — нет.

Рис. 14.36. Пример применения модификатора проекций XYZ to UVW
о том, что составные объекты
В главе 2 уже упоминалось о том, что составные объекты (compound objects) — это трехмерные тела, составленные из двух или более простых объектов. Всего в max 7.5 реализовано десять типов составных объектов:
Morph (Морфинговые) — объекты этого типа позволяют выполнять анимацию поэтапного, растянутого во времени и содержащего ряд промежуточных стадий превращения одного тела в другое;
Scatter (Распределенные) — объекты этого типа представляют собой результат распределения дубликатов одного объекта по поверхности другого объекта или в некоторой области трехмерного пространства. Могут использоваться для имитации стеблей травы, стаи птиц или рыб, деревьев на модели ландшафта и т. п.;
Conform (Согласованные) — объекты этого типа формируются путем проецирования вершин одного трехмерного тела на поверхность другого. В результате обеспечивается возможность выполнять имитацию таких эффектов, как плавление, таяние или растекание;
Connect (Соединяющиеся) — использование объектов этого типа позволяет соединить между собой отверстия в оболочках двух исходных тел своеобразным туннелем;
BlobMesh (Капля-сетка) — объекты этого типа обладают способностью сливаться в одно целое при сближении. Такие объекты называются метасфера-ми (metaballs) и используются в основном для имитации органических объектов, таких как капли жидкости.
Shape Merge (Слитые с формой) — объекты этого типа позволяют соединить сплайновую форму с поверхностью трехмерного тела. Формы либо встраиваются в сетку поверхности тела, либо вырезаются из нее;
Boolean (Булевские) — объекты этого типа представляют собой трехмерные тела, оболочки которых формируются из оболочек двух других трехмерных тел путем их объединения, вычитания или пересечения;
Terrain (Ландшафт) — объекты этого типа позволяют формировать модели трехмерного рельефа горного ландшафта на основе совокупности нескольких замкнутых форм, представляющих собой изолинии равных высот, подобных тем, что используются на контурных картах;
Loft (Лофтинговые) — объекты этого типа представляют собой трехмерные тела, которые строятся методом лофтинга, то есть путем формирования оболочки по опорным сечениям, расставляемым вдоль заданной траектории произвольной формы;
Mesher (Сеточник) — объект-сеточник изначально создается как простейшая полигональная сетка в форме четырехугольной пирамидки, которая способна принимать вид любого другого указанного вами объекта сцены. Служит для замены процедурных объектов, таких как системы частиц, полигональными сетками, к которым можно применять обычные модификаторы формы.
|
ЗАМЕЧАНИЕ В этой главе мы будем знакомиться с приемами создания только двух типов составных объектов: Loft (Лофтинговые) и Boolean (Булевские). Остальные составные объекты при необходимости попробуйте освоить самостоятельно, используя электронную справочную систему max 7.5. |
Точный ввод параметров преобразования
Выполнение преобразований в интерактивном режиме с помощью мыши не всегда может обеспечить требуемую точность. Однако в mах 7.5 предусмотрено средство для ввода данных преобразования с любой необходимой точностью — окно диалога, вызываемое по команде главного меню Tools > Transform Type-In (Сервис > Ввод данных преобразования). Это окно диалога одновременно служит средством точного определения положения и ориентации любого объекта в трехмерной системе координат.
| СОВЕТ Для вызова окна диалога Transform Type-In (Ввод данных преобразования) достаточно щелкнуть на кнопке одного из инструментов преобразований главной панели инструментов правой кнопкой мыши. |
Для ввода точных значений параметров преобразований перемещения, поворота или масштаба выполните следующие действия:
1. Щелкните на одной из кнопок Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) или Select and Scale (Выделить и масштабировать) панели инструментов, после чего выберите команду меню Tools > Transform Type-In (Сервис > Ввод данных преобразования) или просто щелкните на кнопке выбранного преобразования правой кнопкой мыши. Появится окно диалога для ввода данных того преобразования, кнопка которого активна на панели инструментов. Наименование типа преобразования включается в заголовок окна. Так, при активной кнопке преобразования Select and Move (Выделить и переместить) окно диалога будет иметь заголовок Move Transform Type-In (Ввод данных преобразования перемещения), как показано на рис. 4.38. Если вызвать это окно диалога, не выбрав предварительно один из инструментов преобразований, то поля счетчиков координат будут пусты и недоступны для ввода. Присутствие этого окна на экране не мешает продолжению работы с объектами в окнах проекций и выполнению любых других команд mах 7.5.

Рис. 4.38. Окно диалога для считывания и изменения значений координат текущего положения, углов ориентации и коэффициентов масштаба объектов сцены
2. Выделите объект сцены, координаты или ориентацию которого вы хотите определить или изменить. Пока объект не выделен, поля счетчиков окна Transform Type-In (Ввод данных преобразования) будут пусты и недоступны для ввода. Прочитайте значения координат, углов ориентации или коэффициентов масштаба объекта по соответствующим координатным осям глобальной системы координат в счетчиках X, Y и Z группы Absolute: World (Абсолютные: Глобальные). Перемещение, поворот или масштабирование объекта с помощью мыши сопровождается отображением новых значений параметров преобразования в окне диалога Transform Type-In (Ввод данных преобразования).
3. Чтобы изменить параметры выбранного преобразования, введите их числовые значения по соответствующим координатным осям в одну из двух групп счетчиков X, Y и Z. При этом в группе Absolute: World (Абсолютные: Глобальные) задаются абсолютные значения параметров в глобальной системе координат, а в группе Offset: Screen (Приращения: Экранные) указываются приращения текущих значений параметров в экранной системе координат. Величины приращений обнуляются после каждой операции изменения параметров преобразования, то есть после каждого нажатия клавиш Enter или Tab, завершающего ввод данных в один из счетчиков. Преобразования объектов в окнах проекций будут производиться по мере ввода значений в счетчики.
Поэкспериментируйте с вводом точных значений параметров преобразований перемещения, поворота и масштабирования, используя объекты учебной сцены, и вы убедитесь в том, насколько удобен этот способ для выполнения точных преобразований объектов.

Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования), расположенная слева от полей отсчета координат. Использование этой кнопки было описано в главе 2, «Знакомимся с 3ds max 7.5».
Трехмерные карты текстур
Трехмерные карты текстур (3D maps) — это процедурные карты, генерируемые расчетным путем. Рисунок таких текстур меняется в трехмерном пространстве. Материалы на основе процедурных карт занимают очень мало памяти, так как в ней хранятся только коэффициенты математического уравнения, а не множество отсчетов растровой картинки. С другой стороны, в связи с необходимостью выполнения расчетов для генерации изображения визуализация процедурных карт требует несколько большего времени, чем визуализация карт растровой текстуры. Впрочем, при нынешнем быстродействии процессоров это замедление невозможно ощутить. Для получения полного списка трехмерных карт текстур необходимо действовать так же, как было описано в разделе «Двумерные карты текстур», однако установить переключатель в левом нижнем углу окна диалога Material/Map Browser (Просмотр материалов и карт текстур) в положение 3D maps (Трехмерные карты). К данному типу относятся следующие карты текстур:
Cellular (Ячеистая) — позволяет генерировать ячеистые текстуры, пригодные для имитации множества различных природных и искусственных объектов, таких как гранит, песок, пенопласт или морская пена. В качестве примера на рис. 14.8 карта текстуры Cellular (Ячеистая) использована для имитации рельефа фасада и цвета диффузного рассеивания фундамента «МАХ-кафе»;

Рис. 14.8. Пример использования карты текстуры типа Cellular
Dent (Вмятины) -- создает случайные пятна но фрактальному алгоритму. При использовании в качестве текстуры рельефа она обеспечивает имитацию трехмерных вмятин на поверхности объекта, как показано на рис. 14.9;

Рис. 14.9. Рельеф фасада обусловлен использованием карты текстуры типа Dent
Falloff (Спад) — служит для генерации черно-белой полутоновой карты, интенсивность отсчетов которой пропорциональна углу ориентации нормали в каждой точке поверхности объекта. По умолчанию ориентации нормали перпендикулярно плоскости текущего окна проекции соответствуют белые отсчеты карты, а параллельно плоскости окна проекции — черные. Данная карта обычно используется в качестве текстуры непрозрачности, повышая достоверность изображения стекла и других прозрачных материалов, как показано на рис. 14.10;

Рис. 14.10. Использование карты текстуры типа Falloff для уменьшения степени прозрачности на краях правого бокала
Marble (Текстура мрамора) и Perlin Marble (Перламутровый мрамор) — позволяют имитировать материалы, напоминающие природный мрамор, как показано на рис. 14.11. Обратите внимание на истинно трехмерный характер текстуры: рисунок продолжается на боковых гранях столешницы, как будто она вырезана из цельного куска мрамора;

Рис. 14.11. Процедурная карта Marble использована для имитации цвета диффузного рассеивания материала столешницы
Noise (Неоднородности) и Smoke (Задымление) — позволяют создать материалы с рисунком в виде областей случайной формы и яркости на основе двух исходных цветов или текстур (Неоднородности) или в виде аморфных областей случайного характера, призванных имитировать эффекты дыма или тумана в луче света (Задымление). Карта неоднородностей часто применяется в качестве текстуры диффузного рассеивания, чтобы сделать расцветку материала менее однородной, что придает ей более естественный вид;
Particle Age (Возраст частиц) и Particle MBlur (Смаз движущихся частиц) — применяются в составе материалов, назначаемых системам частиц. Карта типа Particle Age (Возраст частиц) обеспечивает по мере «старения» частиц плавное изменение их цвета от оттенка, соответствующего только что родившимся частицам, через оттенок «зрелого» возраста к цвету «умирающих» частиц. Карта типа Particle MBlur (Смаз движущихся частиц) обеспечивает изменение цвета на переднем и заднем (по отношению к направлению их движения) краях частиц;
Planet (Планетарная) — использует фрактальный алгоритм генерации случайной картины пятен, напоминающих по цвету материки и океаны на глобусе, как показано на рис. 14.12;

Рис. 14.12. Процедурная карта Planet использована для имитации цвета диффузного рассеивания материала столешницы
Speckle (Крапинки), Splat (Брызги краски) — служат для создания рисунков случайных крапинок, способных имитировать материалы зернистой структуры наподобие гранита или песка или напоминающих результат разбрызгивания краски на поверхность материала с помощью аэрографа, как показано на рис. 14.13.

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

Рис. 14.14. Карта текстуры Splat дает возможность имитировать полуобвалившуюся штукатурку, сквозь дыры в которой видна кирпичная кладка
Stucco (Штукатурка) -- обычно используется в качестве текстуры рельефа и позволяет имитировать неровности, напоминающие, в зависимости от настройки параметров, самые разные материалы — от шероховатой оштукатуренной поверхности, как показано на рис. 14.15, до шкурки апельсина;

Рис. 14.15. Шероховатый рельеф стены имитируется картой текстуры Stucco
Waves (Волны) — позволяет имитировать случайную картину бликов и теней на взволнованной поверхности воды. На рис. 14.16 показан результат использования карты Waves (Волны) в качестве текстур цвета диффузного рассеивания и рельефа основания сцены «МАХ-кафе», что позволило создать впечатление, будто здание стоит посреди огромной лужи;

Рис. 14.16. Использование карты текстуры Water в качестве цвета диффузного рассеивания и рельефа основания сцены «МАХ-кафе»
Wood (Древесина) — предназначена для имитации рисунка древесных слоев. Благодаря своей трехмерности эта карта текстуры позволяет имитировать поверхности как поперечного, так и продольного срезов ствола дерева, обеспечивая высокую степень правдоподобия изображений деревянных досок и брусков. В примере, показанном на рис. 14.17, использование карты текстуры Wood (Древесина) в качестве цвета диффузного рассеивания создает впечатление, что столешница выполнена из цельного куска дерева.

Рис. 14.17. Использование карты текстуры Wood в качестве цвета диффузного рассеивания столешницы
Труба
Выберите в раскрывающемся списке командной панели Create (Создать) вариант Standard Primitives (Стандартные примитивы) и щелкните на кнопке Tube (Труба) в свитке Object Type (Тип объекта). С помощью данного инструмента можно создать трубу, то есть цилиндр с продольным отверстием, а также цилиндрический сектор трубы и многогранную призму с отверстием (рис. 5.26).

Рис. 5.26. Все эти различные на вид объекты построены на базе примитива Tube
Учимся настраивать окна в трехмерный мир
Окна проекций max 7.5 — это очень удобные и гибкие по своим возможностям инструменты для наблюдения за трехмерной сценой, формируемой в памяти компьютера, однако их использование требует определенных навыков и привычки. В следующей части главы вы научитесь правильно настраивать эти окна, чтобы не чувствовать себя беспомощно в виртуальном пространстве.
Учимся настраивать параметры визуализации
Для настройки параметров визуализации служит окно диалога Render Scene (Визуализация сцены), показанное на рис. 15.12. В название окна включается наименование текущего модуля визуализации, например Render Scene: Default Scanline Renderer (Визуализировать сцену: исходный сканирующий визуализатор), которое при дальнейшем описании будет опускаться. По умолчанию это окно содержит пять вкладок — Common (Общие настройки), Renderer (Визуализатор), Render Elements (Визуализация элементов), Raytracer (Трассировщик) и Advanced Lighting (Улучшенное освещение), — позволяющих настроить как общие параметры визуализации, так и параметры, определяющие работу используемого модуля визуализации. При смене такого модуля состав вкладок и размещенных на них свитков меняется.

Рис. 15.12. Вкладка окна Common диалога Render Scene содержит набор параметров визуализации, объединенных в три свитка
Вкладка Render Elements (Визуализация элементов) позволяет выполнить раздельную визуализацию и сохранение в виде отдельных изображений так называемых элементов изображения, под которыми в данном случае понимаются, скажем, картины зеркальных бликов, областей диффузного рассеивания света, самосвечения или теней сцены. Можно получить отдельное изображение только фона сцены или полутоновое изображение Z-буфера (буфера глубины расположения объектов сцены), о котором речь пойдет в разделе «Z-буфер и G-буфер — что это такое?». Такое раздельное сохранение отдельных составных частей общей картины позволяет строить из них послойные композиции с использованием какого-либо из стандартных редакторов растровой графики наподобие программ Photoshop компании Adobe или Combustion компании Discreet, достигая дополнительных эффектов выразительности. Мы не будем рассматривать параметры этого свитка. При необходимости вы можете изучить их самостоятельно с использованием электронной справочной системы max 5.
Вкладка Advanced Lighting (Улучшенное освещение) содержит средства для выбора одного из двух алгоритмов расчета глобальной освещенности — Light Tracer (Трассировщик света) или Radiosity (Перенос излучения) — и настройки его параметров. Элементы настройки этой вкладки были подробно рассмотрены в главе 11, «Расставляем и настраиваем осветители и съемочные камеры».
По умолчанию в max 7. 5 используется визуализатор Default Scanline Renderer (Исходный сканирующий визуализатор). Его параметры настраиваются на вкладке Renderer (Визуализатор). Подробнее об этой вкладке вы прочтете в разделе «Настройка параметров сканирующего визуализатора» данной главы.
Вкладка Common (Общие настройки) окна диалога Render Scene (Визуализация сцены) содержит три свитка: Common Parameters (Общие параметры), Email Notifikations (Оповещения по e-mail) и Assign Renderer (Назначить визуализатор). Содержимое этой вкладки не зависит от выбранного модуля визуализации.
Свиток Email Notification (Оповещение по e-mail) служит для настройки системы оповещения о ходе визуализации, выполняемой семейством компьютеров, объединенных в сеть. Сетевая визуализация применяется для создания сложных анимаций, состоящих из десятков тысяч кадров. Каждый отдельный компьютер синтезирует часть кадров, процесс распараллеливается и за счет этого происходит быстрее. Оповещение по электронной почте упрощает контроль за ходом этого сложного процесса, но мы не будем в данной книге рассматривать особенности сетевой визуализации.
Свиток Assign Renderer (Назначить визуализатор) служит для раздельного выбора одного из доступных модулей визуализации, который будет использоваться в каждом из допустимых режимов — итоговом (Production), режиме активной раскраски (ActiveShade), а также при визуализации материалов в окне Редактора материалов (Material Editor). Подробнее об этом свитке вы прочтете в разделе «Выбор алгоритма визуализации» данной главы.
Мах 7.5 хранит два полных набора общих и зависящих от алгоритма визуализации параметров, один из которых носит название Production (Итоговый), а другой — ActiveShade (Активная раскраска). Выбор набора настраиваемых параметров производится переключателем уровней качества визуализации в левом нижнем углу окна диалога Render Scene (Визуализация сцены). Изменение значений параметров в одном из наборов не сказывается на другом.
Если необходимо визуализировать изображение сцены не в том окне проекции, которое было активизировано перед вызовом окна диалога Render Scene (Визуализация сцены), выберите наименование окна проекции, подлежащего визуализации, в раскрывающемся списке Viewport (Окно проекции) в нижней части окна диалога.
Для запуска процесса визуализации щелкните на кнопке Render (Визуализировать). Щелчок на кнопке Close (Закрыть) в правом верхнем углу окна диалога закрывает окно с сохранением всех настроек параметров, выполненных в свитках окна.
В рамках нашей книги нет возможности (да, впрочем, и необходимости) рассматривать назначение и настройку всех параметров, имеющихся на вкладках окна диалога Render Scene (Визуализация сцены). Рассмотрим лишь те из них, которые могут реально понадобиться вам на первых этапах освоения тонкостей визуализации.
Учимся пользоваться съемочными камерами
До сих пор мы визуализировали сцену в окне проекции Perspective (Перспектива), и это давало совсем неплохие результаты. И все-таки управлять изображением в этом окне не так-то просто. Попробуйте-ка с помощью трекбола, устанавливаемого в окне проекции по щелчку на кнопке Arc Rotate (Повернуть), повернуть изображение так, чтобы наблюдать сцену ровно с противоположной стороны. Думаю, далеко не у каждого из вас это получится гладко с первого раза. Чуть ниже вам предстоит убедиться, насколько легко выполнить такую операцию, используя модель съемочной камеры max 7.5. Кроме того, для манипулирования изображением, наблюдаемым «через объектив» съемочной камеры, имеется много дополнительных инструментов.
Помните, в первой главе мы говорили о том, что моделирование трехмерной графики напоминает имитацию процесса фотографирования или видеосъемки? Вот мы и подошли к тому моменту, когда геометрия сцены готова, осветители расставлены и настроены. Чтобы теперь найти выигрышные ракурсы и приступить к съемке, дело за съемочными камерами.
Как и в реальной жизни, съемка трехмерной сцены редко ведется одной камерой. Дело в том, что «поймав» с помощью модели камеры удачную точку съемки, лучше не трогать эту камеру. Воспроизвести заново однажды подобранные условия съемки бывает иногда очень непросто. К счастью, ничто не мешает для съемки с других точек ввести в сцену еще одну или несколько камер.
Если выполнить анимацию перемещения камеры по сцене в процессе съемки, то результат будет напоминать видеоэкскурсию по виртуальному трехмерному миру.
В max 7.5 имеется два типа камер:
нацеленная (Target) камера характеризуется точкой съемки (eye position), в которой помещается сама камера, и точкой нацеливания, или мишенью (target point), то есть точкой в трехмерном пространстве, на которую направлена линия взгляда камеры;
свободная (Free) камера отличается от нацеленной только тем, что не имеет точки нацеливания.
Вид нацеленной камеры в окне проекции (рис. 11.57) похож на вид нацеленного прожектора с прямоугольным сечением луча света, а действия, которые нужно произвести в окне проекции для создания нацеленной камеры, совершенно аналогичны действиям по созданию нацеленного прожектора. То же самое можно сказать и о свободных камерах. Однако значок камеры не спутаешь со значком прожектора. В главе 2 мы уже упоминали о том, что в max 7.5 значки виртуальных камер выглядят почти как настоящие кинокамеры с контейнерами для катушек с пленкой и раструбом бленды на конце объектива.

Рис. 11.57. Так выглядит нацеленная камера в том окне проекции, в котором она создана (слева), и на виде сбоку (справа)
|
ЗАМЕЧАНИЕ Для наглядности размер значков камер на рис. 11.57 увеличен в три раза по сравнению с принятым по умолчанию за счет изменения значения в счетчике Non-scaling object size (Размер немасштабируемых объектов) на вкладке Viewports (Окна проекций) окна диалога Preference Settings (Настройка параметров), вызываемого по команде меню Customize > Preferences (Настройка > Параметры). Если в качестве единиц измерения в программе max 7.5 используются дюймы, то изменить значение в счетчике нужно с 1 на 3, а если, скажем, метры — то с 0,025 на 0,075 м. |
|
ЗАМЕЧАНИЕ Величина поля зрения нацеленной камеры не зависит от расстояния между значком камеры и мишенью. При перемещении мишени или камеры угол при вершине пирамиды видимости остается постоянным. |
С полем зрения камеры однозначно связана другая характеристика — фокусное расстояние объектива {Lens Length). Чем больше фокусное расстояние, тем уже поле зрения, и наоборот. Вы можете произвольно задавать любую из этих двух величин, при этом вторая определяется программой автоматически.
|
ЗАМЕЧАНИЕ Для любителей математики и физики: тангенс половины угла поля зрения равен отношению диаметра выходного отверстия объектива к удвоенному фокусному расстоянию. В max 7.5 расчеты поля зрения и фокусного расстояния производятся в предположении, что диаметр выходного отверстия объектива камеры составляет 36 мм. |
Учимся применять метод лофтинга
Метод лофтинга является логическим продолжением тех методов преобразования форм-кривых в трехмерные тела, с которыми вы познакомились в предыдущей главе, так что имеет смысл начать изучение составных объектов с такого типа, как Loft (Лофтинговые). Объект, созданный методом лофтинга, или лофтишовый объект (loft object), — это трехмерное тело, поверхность которого строится как огибающая одной или нескольких опорных двумерных форм (loft shapes), размещенных вдоль некоторой кривой, называемой путем (path). Формы, на которые опирается поверхность подобного объекта, становятся его поперечными сечениями, а форма-путь определяет размещение сечений в пределах объекта. Чтобы создать объект методом лофтинга, требуются как минимум две формы — одна в качестве сечения (сечений может быть и несколько) и одна — в роли пути. Если используется только одна форма-сечение, то max 7.5 разместит ее на обоих концах пути.
Единственными ограничениями на формы-сечения являются требования, чтобы все они состояли из одинакового числа сплайнов или NURBS-кривых и чтобы сплайны в их составе имели одинаковый порядок вложенности. Последнее означает, что если одно из сечений представляет собой две замкнутые кривые, вложенные одна в другую, как, например, сплайн-кольцо, то и остальные сечения должны иметь вид двух кривых, вложенных друг в друга, а не расположенных рядом друг с другом.
| ЗАМЕЧАНИЕ Помните, в главе 6 мы говорили о том, что при выдавливании самопересекающейся линии контура полученное тело будет иметь только боковую поверхность и не будет накрыто «крышками» верхнего и нижнего оснований? Так и при операции лофтинга, которая является разновидностью выдавливания, тело не получит «крышек» на торцах (то есть в начале и в конце линии пути), если форма-сечение будет иметь самопересечения. Поэтому лучше не использовать самопересекающиеся линии в качестве форм-сечений. |
Единственным ограничением на форму-путь является требование, чтобы она состояла только из одного сплайна или NURBS-кривой. Например, кольцо не может служить путем, так как состоит из двух сплайнов.
После того как вы создали две формы, необходимо выделить одну из них, чтобы получить доступ к инструменту лофтинга. Процесс создания объектов методом лофтинга имеет множество вариантов, но базовый способ достаточно прост. Попробуйте освоить его на практическом примере.
Учимся применять метод выдавливания профиля
Опыт, приобретенный вами в процессе постижения премудростей создания тел вращения, вполне пригодится при освоении навыков формирования трехмерных тел методом выдавливания (экструзии) профиля. В данном случае также необходимо сначала нарисовать двумерную форму — профиль, который должен играть роль матрицы, предназначенной для «выдавливания» трехмерного тела — как при штамповке деталей из листового материала. Кривая формы-профиля, как и в предыдущем случае, может быть как разомкнутой, так и замкнутой и представлять собой либо сплайн-линию, либо NURBS-кривую. Форма для выдавливания может состоять и из нескольких кривых. Для преобразования формы-профиля в тело экструзии к ней следует применить модификатор Extrude (Выдавливание). Если профиль представлен NURBS-кривой, то превратить его в тело экструзии можно, кроме того, с помощью инструмента Create Extrude Surface (Создать поверхность выдавливанием).
В арсенале инструментов max 7.5 имеется еще пара инструментов, позволяющих преобразовывать двумерные профили в тела экструзии, — это модификаторы Bevel (Скос) и Bevel Profile (Скос по профилю). С использованием модификатора Bevel (Скос) мы познакомимся в ходе выполнения практического упражнения 5, а особенности применения модификатора Bevel Profile (Скос по профилю) вам предлагается изучить самостоятельно.
Это означает, что вы должны
Последнее, что нам предстоит в данной главе, — это научиться работать с файлами max 7.5. Это означает, что вы должны будете уметь выполнять по крайней мере следующие действия:
начинать работу над новой сценой с сохранением текущих настроек или с перезагрузкой max 7.5;
открывать файлы ранее сохраненных сцен для продолжения работы над ними;
присоединять к текущей сцене объекты из ранее сохраненных файлов или устанавливать перекрестные ссылки на такие объекты;
импортировать и экспортировать файлы с описаниями трехмерных сцен в форматах, отличающихся от формата max 7.5.
Учимся рисовать кривые и создавать формы
В начале этой главы мы познакомимся с приемами рисования кривых, которые в max 7.5 объединяются общим названием формы {shapes). Формы могут быть двумерными, то есть целиком лежащими в одной плоскости, и трехмерными, состоять из одной замкнутой или разомкнутой кривой или из произвольного числа кривых. Например, стандартная форма Donut (Кольцо) состоит из двух концентрических кругов, не пересекающихся и не касающихся друг друга.
Категория Shapes (Формы) представлена в max 7.5 двумя разновидностями объектов: Splines (Сплайны) и NURBS Curves (NURBS-кривые). Сплайны всех типов за исключением одного, сплайна-спирали, — это линии, целиком лежащие в одной плоскости. NURBS-кривые также могут создаваться как двумерные линии, однако при рисовании таких кривых можно свободно перемещать курсор из одного окна проекции в другое и рисовать кривую в трехмерном пространстве. Как сплайны, так и NURBS-кривые предназначены в первую очередь не для самостоятельного использования (хотя в max 7.5 формы могут быть визуализированы в составе сцены), а для того, чтобы служить заготовками при создании трехмерных объектов по сечениям методами вращения, выдавливания, лофтинга или сплайнового каркаса.
Чтобы нарисовать сплайн или NURBS-кривую, необходимо зафиксировать положение определенного числа точек-вершин. Сплайны обязаны проходить через все свои вершины, а NURBS-кривые могут или проходить через вершины, или плавно огибать их.
Удаление окна Track View
Чтобы удалить окно Track View (Просмотр треков) с экрана max 7.5, достаточно щелкнуть на кнопке Close (Закрыть) в его правом верхнем углу или при активном окне Track View (Просмотр треков) нажать стандартную комбинацию клавиш Alt+F4. Окно исчезнет с экрана, но его имя появится в подменю Saved Track Views (Сохраненные окна Просмотр треков) меню Graph Editors (Графические редакторы). Щелкнув на этом имени, можно вновь вызвать появление окна с набором ранее установленных параметров.
Для полного удаления дополнительных окон Track View (Просмотр треков) следует выбрать команду меню Graph Editors > Delete Track View (Графические редакторы > Удалить окно Просмотр треков). Появится окно диалога Delete Track View (Удаление окна Просмотр треков). Выделите имя окна Track View (Просмотр треков), которое нужно удалить, в списке окна диалога Delete Track View (Удаление окна Просмотр треков) и щелкните на кнопке ОК.
Углубляем знания о модификаторах
Модификаторы max 7.5 имеют различное назначение: управление проецированием на поверхность объектов материалов, основанных на картах текстур; выделение, редактирование, удаление или добавление отдельных подобъектов сеток — вершин, сегментов, граней; корректировка формы сплайнов и преобразование их в трехмерные тела и т. п. Однако наибольшее количество модификаторов предназначено для внесения разнообразных изменений в форму трехмерных тел.
| ЗАМЕЧАНИЕ Чтобы применение модификатора формы было удачным, сетчатая оболочка объекта должна состоять из достаточно большого числа сегментов (хотя бы 8-12). |
Для управления применением модификаторов, воздействующих на форму геометрических моделей, используется специальный объект, называемый габаритным контейнером модификатора (gizmo). Этот объект появляется после применения модификатора и имеет вид параллелепипеда коричневого цвета, окружающего геометрическую модель. Посредством вращения, перемещения и масштабирования габаритного контейнера модификатора можно управлять тем, каким образом max 7.5 применяет модификатор к геометрической модели.
Для изменения габаритного контейнера модификатора следует щелкнуть на квадратике со значком «плюс» слева от имени модификатора в окне стека и выбрать в раскрывшемся дереве подобъектов строку Gizmo (Габаритный контейнер). После этого габаритный контейнер модификатора приобретет ярко-желтую окраску и станет подобен обычному параллелепипеду. Его можно будет перемещать, поворачивать и масштабировать до тех пор, пока активна строка Gizmo (Габаритный контейнер). После завершения манипуляций с контейнером модификатора щелкните в окне стека на строке Gizmo (Габаритный контейнер) еще раз, чтобы отменить выделение контейнера.
Вы уже имеете опыт применения целого ряда модификаторов, из которых Lathe (Вращение), Extrude (Выдавливание) и Bevel (Скос) рассмотрены нами достаточно подробно. Так как общее число модификаторов max 7.5 достаточно велико (как я уже говорил, всего их более 100), ограничимся рассмотрением только некоторых из них, которые, на мой взгляд, могут на первых порах оказаться наиболее полезными в работе над геометрией сцены.
Управление изображением в окнах проекций
Мало уметь переключать окна проекций на показ проекции нужного типа, важно еще активно управлять изображением трехмерной сцены в окне проекции. Управлять изображением сцены — это значит уметь следующее:
уменьшать и увеличивать масштаб всего изображения сцены или его части (то есть как бы «отдалять» и «приближать» объекты) в одном отдельном окне или во всех окнах сразу;
подгонять размер изображения части сцены под размер активного окна или всех окон;
«распахивать» отдельное окно во весь экран и восстанавливать его исходный размер;
выполнять прокрутку, то есть сдвиг изображения в окне в произвольном направлении, чтобы увидеть скрытые за краем окна участки проекции;
изменять ориентацию плоскости проекции, то есть свободно перемещать вокруг объекта ту воображаемую видеокамеру, которая дает изображение проекции.
Управление экспозицией
При использовании алгоритмов расчета глобальной освещенности, особенно при наличии в составе сцены всего лишь одного осветителя, на изображении могут возникать слишком темные участки, куда попадает мало переотраженных лучей. Да и в целом изображение обычно оказывается недостаточно светлым, темно-серым. Чтобы исправить эту ситуацию, рекомендуется применять режим логарифмического управления экспозицией.
Те, кто занимался фотографией, знают, что под термином «экспозиция» понимается совокупность условий фотосъемки (длительность времени открытия затвора, называемая выдержкой, а также диаметр отверстия на входе объектива, характеризуемый понятием диафрагма), от которых зависит, будет снимок светлым или темным, контрастным или сереньким. В программе max 7.5 реализована возможность имитации средств управления экспозицией воображаемой съемочной камеры. С этой целью весь диапазон рассчитанных значений яркости визуализированного изображения, от самого темного до самого светлого, разбивается на интервалы, равномерные или неравномерные, которые затем отображаются на равномерные интервалы черно-белой или цветной шкалы оттенков, демонстрируемых на экране дисплея. Не вдаваясь в математические подробности, скажу только, что логарифмическое управление экспозицией не только делает изображение в целом существенно более светлым, но и обеспечивает «осветление» наиболее темных участков изображения, позволяя разглядеть детали картинки, которые иначе были бы скрыты в темноте.
В max 7.5 для имитации средств управления экспозицией воображаемой съемочной камеры служит свиток Exposure Control (Управление экспозицией) окна диалога Environment (Внешняя среда). Приобрести навыки работы с этим свитком вам предстоит чуть позже в ходе выполнения упражнений, а подробное знакомство с данным окном состоится в главе 15, «Осваиваем тонкости визуализации сцены и внешней среды».
Рассмотрим особенности алгоритмов Light Tracer (Трассировщик света) и Radiosity (Перенос излучения), а затем познакомимся с ними на практике в ходе выполнения упражнений.
Управление отображением отдельных объектов
Применительно к отдельным объектам можно устанавливать индивидуальные режимы отображения, а также по своему желанию делать объекты невидимыми или снова видимыми.
Управление положением рисунка текстуры
Для управления положением текстуры в пределах поверхности объекта включите режим правки на уровне подобъектов, щелкнув на квадратике со знаком «плюс» слева от надписи UVW Mapping (UVW-проекция) в окне стека модификаторов командной панели Modify (Изменить), и выберите в списке подобъектов уровень Gizmo (Габаритный контейнер). Перемещайте, масштабируйте и поворачивайте значок проекционных координат подобно любому объекту сцены, как показано на рис. 14.37. Закончив преобразования значка, щелкните на строке UVW Mapping (UVW-проекция) в окне стека, чтобы выключить режим работы с объектом Gizmo (Габаритный контейнер).

Рис. 14.37. Сдвиг вправо габаритного контейнера модификатора проекций привел к смещению рисунков текстуры на верхней и передней гранях объекта
Установите нужные размеры габаритного контейнера модификатора проекций с помощью счетчиков Length (Длина), Width (Ширина) и Height (Высота) в разделе Mapping (Проекционные координаты) свитка Parameters (Параметры). Если значок проекционных координат имеет меньший размер, чем объект, на который проецируется текстура, то на поверхности объекта будет размещено нужное число копий изображения текстуры, как показано на рис. 14.38.

Рис. 14.38. Габаритный контейнер модификатора проекций у левого объекта равен ему по размерам, а у правого — в три раза меньше объекта
В счетчиках U/V/W Tile (Кратность по U/ V/W) можно задавать кратность повторения образца текстуры в пределах объекта по каждой из координат U, V и W (рис. 14.39).

Рис, 14.39. У левого объекта кратность текстуры равна 1, а у правого V Tile = 2
| ЗАМЕЧАНИЕ Имейте в виду, что при стыковке копий образцов текстуры могут возникать заметные швы. Создание так называемых «бесшовных» текстур — задача не такая простая, как кажется на первый взгляд. Она может быть решена, например, с помощью программы Adobe Photoshop. |
Установка соответствующих флажков Flip (Перевернуть) позволяет зеркально отразить изображение текстуры при проецировании относительно любой из трех осей.
Управление режимом активной раскраски
Для управления режимом активной раскраски как в окне проекции, так и в отдельном окне служит четвертное меню, вызываемое щелчком правой кнопки мыши в любой точке окна и показанное на рис. 15.11.

Рис. 15.11. Четвертное меню с командами управления режимом активной раскраски в окне проекции
Это меню включает следующие команды:
Close (Закрыть) — выключает режим активной раскраски в окне проекции и восстанавливает режим отображения сцены, который использовался до включения активной раскраски, или закрывает отдельное окно ActiveShade (Активная раскраска);
Act Only on Mouse Up (Действие только после освобождения кнопки мыши) — если данный режим включен, то при изменении параметров осветителей или материалов процесс обновления изображения в окне активной раскраски начнется только после того, как будет отпущена кнопка мыши, с помощью которой производилось, например, изменение параметров в каком-то из счетчиков источника света методом перетаскивания курсора. Если режим выключен, то обновление будет происходить прямо в процессе перетаскивания курсора;
Auto Initialization (Автоинициализация), Auto Update (Автообновление) — две однотипные команды, позволяющие включать и выключать режимы автоматической инициализации и автоматического обновления изображения в окне активной раскраски. При включенном режиме автоматической инициализации любые изменения параметров текстур материалов сцены будут вести к выполнению повторной визуализации изображения в окне активной раскраски. При включенном режиме автоматического обновления повторную визуализацию вызывают изменения параметров осветителей или материалов, не имеющих в своем составе текстурных карт;
Draw Region (Рисование области) — включает/выключает возможность рисования прямоугольной области в окне активной раскраски. Если такая область нарисована, то обновление изображения будет касаться только этой области, что существенно ускоряет визуализацию;
Initialize (Инициализация), Update (Обновление) — две команды принудительного запуска режимов инициализации и обновления изображения в окне активной раскраски. Использовать команду Update (Обновление) следует, если выключен режим автообновления. Команду Initialize (Инициализация) необходимо выполнять даже при включенном режиме автоматической инициализации после внесения изменений в геометрическую модель сцены;
Select Object (Выделить объект) — включает/ выключает режим выделения объекта прямо в окне активной раскраски. Допускается выделение только одного объекта. Если такой объект выделен, то повторная визуализация производится только применительно к этому объекту;
Toggle Toolbar (Панель инструментов вкл./выкл.) — эта команда имеется в меню только в случае использования режима активной раскраски в окне проекции. Ее выполнение включает/выключает в верхней части окна проекции изображение панели инструментов активной раскраски, ничем не отличающейся от панели инструментов окна виртуального буфера кадров, рассматриваемого ниже в разделе «Заглядываем в окно визуализированного кадра».
|
СОВЕТ После того как изображение панели инструментов в окне проекции, использующем режим активной раскраски, включено с помощью команды Toggle Toolbar (Панель инструментов вкл./выкл.), для ее последующего выключения/включения можно нажимать клавишу Пробел. |
Управление точками центров преобразований
Результаты преобразований поворота и масштаба существенно зависят от выбора центра преобразования, то есть точки в трехмерном пространстве, вокруг которой будет выполняться поворот объекта, а также к которой будет происходить стягивание или от которой будет происходить растяжение объекта при изменении его масштаба.
Имеется возможность выбрать один из трех вариантов центра преобразования поворота:
поворот каждого из совокупности объектов относительно собственной опорной точки;
поворот относительно геометрического центра выделенного набора объектов;
поворот относительно точки начала текущей системы координат.
Как уже говорилось в главе 1, каждый объект max 7.5 имеет опорную точку {pivot point), положение которой определяется в момент создания объекта. Обычно опорная точка помещается в центре основания объекта или в геометрическом центре его габаритного контейнера. Чтобы сделать видимой опорную точку объекта, необходимо выделить его, перейти на командную панель Hierarchy (Иерархия) и щелкнуть на кнопке Effect Pivot Only (Только опора). В окнах проекций max 7.5 опорная точка изображается тройкой «утолщенных» векторов красного, зеленого и синего цветов. Красный вектор символизирует ось X локальной системы координат объекта, зеленый — ось У, а синий — ось Z, как показано на рис. 4.40.

Рис. 4.40. Значок опорной точки

После создания объекта можно использовать инструменты командной панели Hierarchy (Иерархия) для перемещения опорной точки независимо от объекта и ее поворота на произвольный угол. Даже если опорная точка оказывается вынесенной за пределы объекта, она продолжает определять координаты объекта в пространстве, оставаться центром преобразований объекта и исполнять все остальные функции, закрепленные за опорной точкой.
Для выбора центра преобразования служит группа из трех кнопок главной панели инструментов — Use Pivot Point Center (Использовать опорные точки объектов), Use Selection Center (Использовать центр выделения) и Use Transform Coordinate Center (Использовать начало координат). Назначение каждой из кнопок описывается в следующем перечне:

Use Pivot Point Center (Использовать опорные точки объектов) — включает режим преобразования объекта ( или набора объектов) относительно опорных точек каждого из объектов. Контейнер выбранного преобразования помещается при этом только в опорную точку объекта, выделенного первым. На рис. 4.41 демонстрируется поворот объектов примерно на 45° относительно опорных точек каждого из них. Обратите внимание на то, что только левый из объектов снабжен контейнером преобразования.

Рис. 4.41. Поворот объектов относительно собственных опорных точек

Use Selection Center (Использовать центр выделения) — в этом режиме преобразования производятся относительно центра выделенного набора объектов, в качестве которого используется геометрический центр параллелепипеда, описанного вокруг совокупности выделенных объектов. Если выделен только один объект, используется геометрический центр его габаритного контейнера. Данный режим выбирается по умолчанию при выделении нескольких объектов. На рис. 4.42 демонстрируется поворот объектов примерно на 45° относительно центра выделенного набора. Обратите внимание на то, где расположен контейнер преобразования.

Рис. 4.42. Поворот объектов относительно центра выделенного набора

Use Transform Coordinate Center (Использовать начало координат) — при включении данного режима преобразования поворота и масштаба производятся относительно начала текущей системы координат. Центр преобразования устанавливается в начало той системы координат, с которой ведется работа в данный момент. По умолчанию используется система координат типа View (Оконная), при которой центр окна проекции является началом системы координат и центром преобразования. На рис. 4.43 демонстрируется поворот объектов на угол порядка 45° относительно центра оконной системы координат.

Рис. 4.43. Поворот объектов относительно начала оконной системы координат
Анимация мячика
Рассмотрим простой пример имитации динамики жестких тел средствами модуля reactor (Реактор). В прошлой главе я предлагал вам просмотреть анимацию Kukla i miach.avi, которую можно найти в папке Animations\G!ava_16. Напомню, что в этой анимации кукла бьет по мячику рукой, в результате чего он стукается о поверхность пола и отскакивает. Представим себе, что рука куклы перестала бить по мячу. Как в таком случае должно будет выглядеть продолжение анимации? Мячик должен будет еще несколько раз по инерции отскочить от пола, причем каждый раз на все меньшую высоту, после чего покатиться по нему. Создать подобную анимацию без использования модуля reactor (Реактор) довольно сложно, ведь движения мяча будут постоянно изменяться, а не повторяться, как в анимации Kukla i miach.avi. Для модуля reactor (Реактор), напротив, такая задача, в которой жесткие тела двигаются только под действием силы тяжести, является одним из наиболее простых заданий. Для создания сцены с прыгающим на полу мячом выполните следующие действия:
1. Откройте сцену Miach.max из папки Scenes\Glava_17 на компакт-диске. Это — знакомая вам сцена Kukla i miach.max, из которой были удалены все ненужные объекты и параметры анимации. Вы также можете создать такую сцену самостоятельно. Роль пола может играть параллелепипед, а роль мячика — сфера. Разместите сферу над полом, и можно начинать работу с reactor (Реактор).
2. Выделите мячик и пол (в сцене его роль выполняет объект Вох01) и щелкните на кнопке Create Rigid Body Collection (Создать коллекцию жестких тел) панели инструментов reactor (Реактор). В составе сцены будет автоматически создана коллекция жестких тел, и оба примитива будут автоматически помещены в список Rigid Bodies (Жесткие тела) свитка RB Collection Properties (Свойства коллекции жестких тел) на панели Modify (Изменить), показанный на рис. 17.11.

Рис. 17.11. В список свитка RB Collection Properties на командной панели Modify автоматически включены объекты, которые были выделены
3. Переключитесь на командную панель Utilities (Утилиты) и щелкните на кнопке reactor (Реактор) в свитке Utilities (Утилиты), чтобы запустить утилиту имитационного моделирования. Разверните свиток Properties (Свойства). Выделите в окне проекции примитив, играющий роль пола сцены. Убедитесь в том, что в счетчике Mass (Масса) указана величина 0. Это означает, что данный примитив будет оставаться неподвижным. Выделите мячик и укажите для него массу 2 кг, а параметр эластичности — 3.
4. Разверните на командной напели Utilities (Утилиты) свиток World (Реальность) и установите значение параметра Col. Tolerance (Допуск столкновения) равным 1. Эта величина определяет расстояние, на котором поверхности взаимодействующих объектов начинают оказывать друг на друга влияние.
5. Теперь все готово для просмотра анимации. Разверните на командной панели Utilities (Утилиты) свиток Preview & Animation (Просмотр и анимация) и щелкните на кнопке Preview in Window (Просмотреть в окне), чтобы вызвать появление интерактивного окна reactor Real-Time Preview (Просмотр в реальном времени модуля Реактор). Нажмите клавишу Р, чтобы запустить просмотр анимации. Мячик под действием силы тяжести упадет на пол, подпрыгнет несколько раз, после чего покатится (рис. 17.12). Анимация простая, однако создана автоматически и воспроизводит реальное поведение тяжелого объекта в поле силы тяжести. Нажмите клавишу R, чтобы остановить воспроизведение и привести объекты в окне просмотра в исходное состояние.

Рис. 17.12. Исходный вид сцены с мячиком до начала действия в окне предварительного просмотра (а), во время отскока (б) и на конечном этапе (в)
6. Обратите внимание на то, что в окне предварительного просмотра время воспроизведения анимации не ограничено, а в окнах проекций анимация длится ровно столько, сколько отведено на активный временной сегмент анимации. По умолчанию продолжительность анимации составляет 100 кадров, то есть при частоте в 30 кадров в секунду время анимации составляет около трех секунд. Измените продолжительность анимации до 400 кадров в окне Time Configuration (Настройка временных интервалов). Установите в счетчике End Frame (Последний кадр) свитка Preview & Animation (Просмотр и анимация) утилиты reactor (Реактор) также величину 400.
7. Для завершения процесса следует создать ключи анимации объектов трехмерной сцены. Щелкните на кнопке Create Animation (Создать анимацию) свитка Preview & Animation (Просмотр и анимация) на командной панели Utilities (Утилиты). Щелкните на кнопке ОК в окне предупреждения о том, что данная операция не подлежит отмене. После некоторого времени, требующегося на расчеты, создание ключей будет закончено и анимацию можно будет воспроизвести в окнах проекций max 7.5 или выполнить ее визуализацию обычными средствами. Вы можете сравнить то, что у вас получилось, со сценой Miach01.max, которая находится на компакт-диске в папке Scenes\Glava_17.
Каустика в бокале с вином
Рассмотрим пример создания эффекта каустики в сцене с бокалом, в который налито немного вина. Для того чтобы было удобно наблюдать этот интересный эффект, нам понадобится сцена, в которой бокал будет помещен в закрытое пространство. Создадим объекты, которые будут участвовать в сцене. Бокал у нас уже есть, мы создали его в шестой главе методом вращения профиля, а вот остальные объекты придется добавить. Откройте сохраненный ранее файл Bokal.max или загрузите его из папки Scenes/Glava06 с компакт-диска.
1. Первое, что нам необходимо сделать, — переместить центр локальных координат объекта в его геометрический центр. В созданной нами сцене центр локальных координат не совпадает с реальным геометрическим центром, что может вызвать неточности при использовании операции выравнивания. Перейдите на вкладку Hierarchy (Иерархия) командной панели и щелкните на кнопке Affect Pivot Only (Влиять только на опорную точку). После этого щелкните на кнопке Center to Object (Переместить в центр объекта). Теперь центр локальных координат бокала расположится правильно. Еще раз щелкните на кнопке Affect Pivot Only (Влиять только на опорную точку), чтобы выключить режим работы с опорной точкой.
2. Теперь создадим коробку, в которую будет помещен бокал. Закрытое пространство даст возможность лучше наблюдать эффект каустики. Создайте объект Box (Параллелепипед) и в счетчиках Length (Длина), Width (Ширина) и Height (Высота) свитка Parameters (Параметры) установите параметры 100, 75 и 75 соответственно. Выровняйте коробку относительно бокала с помощью инструмента Align (Выровнять), работа с которым описывалась в главе 4. Чтобы расположить бокал внутри, нужно задать параметры выравнивания относительно осей X и Y по центру, а относительно оси Z — по минимуму. Правда, после этого бокал «попадет» в коробку, и вы его перестанете видеть. Параллелепипед по умолчанию виден только с одной стороны — наружной, которая обращена к зрителю. Если перевернуть нормали поверхностей этого объекта, можно будет наблюдать за тем, что делается у него внутри. Используйте модификатор Normal (Нормаль) для выполнения этой операции. Примените этот модификатор к параллелепипеду и установите флажок Flip Normals (Обратить нормали). Теперь бокал станет виден. Сохраните сцену под названием caustika.max.
| ЗАМЕЧАНИЕ Вы можете найти сцену, подготовленную для имитации эффекта каустики, на компакт-диске. Загрузите файл caustika.max из папки Scenes\Glava_15. |
3. Поскольку эффект каустики в 3ds max без помощи дополнительных модулей (плагинов) можно создать, только используя визуализатор mental ray, необходимо выбрать его для визуализации сцены. Сделать это можно при помощи свитка Assign Renderer (Назначить визуализатор) на вкладке Common (Общие настройки) окна Render Scene (Визуализация сцены), как было описано ранее в подразделе «Выбор алгоритма визуализации» этой главы.
4. Для того чтобы увидеть каустику, необходимо, чтобы в сцене присутствовал источник света. Поскольку мы работаем с визуализатором mental ray, лучше использовать один из его собственных источников. Добавьте в сцену источник света mrAreaSpot (Площадной прожектор для mental ray) и установите его так, как показано на рис. 15.21. Проследите, чтобы значок светильника оказался внутри коробки! Хотя нормали поверхностей параллелепипеда и перевернуты, однако если светильник окажется снаружи, внутри коробки будет полный мрак. В настройках источника света включите отображение теней, установив флажок On (Вкл.) в разделе Shadows (Тени) свитка General Parameters (Общие параметры). В списке раздела Shadows (Тени) выберите тип тени mental ray Shadow Map (Карта теней mental ray). Чтобы увеличить освещаемую площадь, в свитке Spotlight Parameters (Параметры прожектора) введите в счетчик Falloff/ Field (Край пятна/Поле) значение 80.

Рис. 15.21. Размещение источника света mrAreaSpot в сцене
5. Выполните первую пробную визуализацию сцены в окне проекции Perspective (Перспектива) (рис. 15.22). Пока никакого эффект каустики нет, но при дальнейшей настройке он будет наблюдаться в той области, куда падает тень от объекта.

Рис. 15.22. Сцена после первого просчета каустики пока нет
6. Теперь сделаем бокал прозрачным. Поскольку для mental ray существует специальный тип материала Glass (physics_phen) (Стекло (физическое_явление)), нет необходимости создавать материал для бокала вручную. Выберите этот тип материала, назначьте его модели бокала, выберите светло-серый цвет для параметра Light Persistence (Неизменность цвета), а коэффициент преломления (Index of Refraction) установите равным 1,03. Повторная визуализация покажет, что бокал теперь стал прозрачным, однако тень от него по-прежнему темная (рис. 15.23). Для того чтобы сделать тень более правдоподобной, нужно включить просчет прозрачных теней и каустики. Для этого перейдите в настройки источника света и установите флажок Enable (Включить) в разделе Transparent Shadows (Прозрачные тени) свитка mental ray Shadow Map (Карта теней mental ray).

Рис. 15.23. Сцена после второго просчета: бокал стал прозрачным
7. Откройте вкладку Indirect Illumination (Непрямое освещение) окна диалога Render Scene (Визуализация сцены) и в разделе Caustics (Каустика) установите флажок Enable (Включить). Чтобы эффект каустики проявился, в сцене должен иметься хотя бы один объект, назначенный источником каустики, и хотя бы один объект, назначенный приемником каустики. Поскольку в нашей сцене всего лишь два объекта, мы можем установить флажок All Objects Generate & Receive Gl and Caustics (Все объекты являются источниками и приемниками глобальной освещенности и каустики) в разделе Geometry Properties (Свойства геометрии).
|
СОВЕТ Если в сцене большое количество объектов, устанавливать флажок All Objects Generate & Receive Gl and Caustics (Все объекты являются источниками и приемниками глобальной освещенности и каустики) неразумно, поскольку просчет займет достаточно много времени. В этом случае нужно назначить объекты источниками или приемниками каустики вручную. Щелкните на нужном объекте правой кнопкой мыши и выберите в разделе transform (преобразование) четвертного меню команду Properties (Свойства). В появившемся окне Object Properties (Свойства объекта) переключитесь на вкладку mental ray и установите флажки Generate Caustics (Генерировать каустику), чтобы объект мог служить источником бликов, отбрасываемых на другие объекты сцены, и Receive Caustics (Воспринимать каустику), чтобы позволить объекту воспринимать такие блики. |
8. Чтобы повысить качество эффекта каустики, нужно в разделе Samples per Pixel (Отсчетов на пиксель) свитка Sampling Quality (Качество выборки) на вкладке Renderer (Визуализатор) увеличить значения параметров Minimum (Минимум) до 4 и Maximum (Максимум) до 16 (рис. 15.24).

Рис. 15.24. Свиток Sampling Quality
Раскрывающиеся списки Minimum (Минимум) и Maximum (Максимум) из раздела Samples per Pixel (Отсчетов на пиксель) позволяют выбрать количество отсчетов, рассчитываемых для формирования одной точки изображения (пикселя). Числа меньше единицы означают, что один рассчитанный отсчет будет применяться для формирования нескольких пикселей картинки. Числа больше единицы означают, что несколько отсчетов будут усредняться при формировании одного пикселя изображения. При малых значениях числа отсчетов на пиксель изображение будет выглядеть угловатым, но зато будет рассчитываться несравненно быстрее, что позволит грубо оценить эффекты освещения. В связи с этим при черновой визуализации данным параметрам можно придавать значения 1/16 и 1/4 или даже 1/64 и 1/16, а при итоговой чистовой визуализации — 1 и 4, 4 и 8 или более, как в нашем случае. Не следует устанавливать равные значения параметров Minimum (Минимум) и Maximum (Максимум). Произведите визуализацию и наблюдайте эффект каустики (рис. 15.25).

Рис. 15.25. Эффект каустики
9. Осталось налить в наш бокал немного вина, которое будет давать дополнительный эффект каустики. Вино в трехмерной графике — это совсем не обязательно жидкость, и в этом мы с вами сейчас убедимся. Для создания вина вам нужно будет вспомнить все, о чем мы говорили, когда разбирали инструменты редактирования полисетки. Преобразуйте бокал в полисетку и создайте независимую копию объекта. Временно скройте все объекты сцены, кроме полученной копии, чтобы они не мешали.
Теперь перейдите на уровень подобъектов-полигонов, выделите нижнюю и верхнюю часть бокала и удалите их (рис. 15.26).

Рис. 15.26. То, что должно остаться от копии бокала
Оставшаяся часть копии бокала и будет играть роль того самого «вина», которое мы «нальем» в исходный объект. Теперь удалите внешний ряд полигонов. Это удобно сделать, выделив их при помощи инструмента Grow (Нарастить). Выделите один из полигонов и нажимайте эту кнопку много раз до тех пор, пока не будет выделена вся наружная поверхность. Удалите выделенные полигоны. Теперь выделите все оставшиеся полигоны и нажмите кнопку Flip (Обратить). Наконец, необходимо закрыть модель сверху крышкой, поскольку «вино» никак не может быть полым. Для этого перейдите на уровень подобъекта Border (Граница) и выделите любое ребро в верхнем основании объекта. В результате выделится вся совокупность ребер, образующих край поверхности. Используйте кнопку Сар (Покрыть) для замыкания поверхности. Остается только «налить вино» в бокал, для чего просто включите отображение исходного тела вращения, которое мы скрыли в самом начале этого пункта упражнения. Если вы не перемещали и не вращали объект, который играет роль вина, он должен оказаться в нужном месте бокала (рис. 15.27).

Рис. 15.27. Бокал с вином
10. Прежде, чем производить конечную визуализацию, назначьте вину подходящий материал. Поскольку вино тоже прозрачное, для него подойдет тот же тип материала Glass (physics_phen) (Стекло (физическое_явление)), который мы использовали для бокала. В настройках материала выберите ярко-красный цвет для параметра Light Persistence (Неизменность цвета), а в счетчике Index of Refraction (Коэффициент преломления) установите значение 1,26. Прейдите к настройкам визуализации на вкладке Indirect Illumination (Непрямое освещение) окна диалога Render Scene (Визуализация сцены). В разделе Light Properties (Свойства освещения) свитка Caustics and Global Illumination (Gl) (Каустика и глобальная освещенность (Gl)) установите значение параметра Average Caustic Photons per Light (Среднее значение фотонов каустики в освещении) равным 1 000 000. В области Trace Depth (Глубина трассировки) выберите значения счетчиков Max. Depth (Максимальная глубина) и Max. Refractions (Максимальные преломления) равными 8. Затем в свитке mental ray Indirect Illumination (Непрямое освещение mental ray) настроек источника света установите значение параметра Energy (Энергия) равным примерно 0,7. Просчитайте изображение и наблюдайте эффект каустики, полученный от бокала и вина (рис. 15.28). Сохраните файл под названием caustika01.max. Вы можете сравнить полученный результат с моим, загрузив одноименный файл с компакт-диска. Он находится в папке Scenes\ Glava_15.

Рис. 15.28. Просчитанное изображение с эффектом каустики от вина и бокала
Начинаем с простейшей анимации «Летящий шар»
Попробуйте создать в автоматическом режиме простейшую анимацию перемещения объекта-примитива. При выполнении этого упражнения мы заодно отработаем вопросы просмотра готовой анимации в окне проекции.
Выполните следующие действия:
1. Перезагрузите max 7.5 и сохраните пустую сцену в файле под именем Letiasshly shar.max.
2. Создайте в окне проекции Тор (Вид сверху) объект-примитив Sphere (Сфера) радиусом порядка 60 см. Установите флажок Base To Pivot (Точка опоры внизу), чтобы вся сфера располагалась над координатной плоскостью. Переместите сферу в точку с координатами (-1000 см; 2000 см; 0 см). Активизируйте окно проекции Perspective (Перспектива), которое должно выглядеть, как на рис. 16.10.

Рис. 16.10. Первый кадр простейшей анимации «Летящий шар»
3. Убедитесь в том, что текущим является кадр № 0 (на ползунке таймера анимации должна быть видна надпись 0/100). Включите режим анимации, щелкнув на кнопке Auto Key (Автоключ). Кнопка, строка ползунка таймера и рамка окна Perspective (Перспектива) окрасятся в темно-красный цвет.
4.

Установите в качестве текущего кадр № 100, перетащив ползунок вправо до появления на нем надписи 100/100. С этой же целью можно щелкнуть на кнопке Go to End (Перейти в конец).
5. Переместите сферу в точку (100 см; -300 см; 0 см), как показано на рис. 16.11. Снова щелкните на кнопке Auto Key (Автоключ), чтобы выключить режим анимации. Как ни странно, но это все! Анимация из 100 кадров под названием «Летящий шар» готова. Обратите внимание на появление двух ключей анимации в виде красных квадратиков в начале и конце строки треков.

Рис. 16.11. Последний кадр анимации «Летящий шар» (режим анимации включен)
6.

Воспроизведите анимацию и просмотрите ее в окне проекции. Для этого сначала щелкните па кнопке Go to Start (Перейти в начало), чтобы перейти к начальному кадру анимации — кадру № 0. Затем щелкните на кнопке Play Animation (Воспроизведение анимации) и наслаждайтесь бесконечно повторяющейся картиной того, как шар летит вам навстречу из левого верхнего угла окна проекции, постепенно

увеличиваясь в размерах по законам перспективы. Чтобы остановить просмотр анимации, щелкните на кнопке Stop (Стоп), в которую превращается после запуска анимации кнопка Play Animation (Воспроизведение анимации). Можете попробовать режим покадрового воспроизведения, управляя им с помощью кнопок Next Frame (Следующий кадр) и Previous Frame (Предыдущий кадр).
|
ЗАМЕЧАНИЕ Когда max 7.5 воспроизводит анимационную последовательность, он пытается делать это с максимальной скоростью при наилучшем качестве тонирования изображения. Если из-за ограниченной производительности процессора скорость анимации спадает ниже определенного порога, для ее повышения max 7.5 переходит к менее качественному режиму тонирования объектов. Чтобы запретить ухудшение качества отображения сцены в активном окне проекции, выполните команду меню Views > Adaptive Degradation Toggle (Проекции > Адаптивная деградация вкл./выкл.). |
7. При желании примените к сфере какой-либо материал (например, материал Pozolota из библиотеки MAX-kafe.mat) и установите фон сцены в виде фотографии облачного неба, действуя так, как описывалось в предыдущей главе. Сохраните созданную сцену. Все параметры анимации запоминаются программой max 7.5 в том же файле типа .max, в котором хранятся сведения о геометрической модели сцены, освещении, камерах и материалах. При необходимости сравните полученную анимацию с той, что имеется на компакт-диске, сопровождающем книгу, в файле под таким же именем Letiasshiy shar.max.
В качестве задания на самостоятельную проработку попробуйте дополнить созданную анимацию ключами изменения других параметров — например, масштаба сферы, силы блеска или цвета ее материала. Для этого достаточно всего лишь включить режим анимации, выбрать нужный ключевой кадр, применить к сфере преобразование масштаба или внести изменения в параметры материала и выключить режим анимации.
Подробно разбираем создание первого материала на основе растровых текстурных карт
В первом упражнении этой главы мы подробно разберем процесс включения карт растровой текстуры в состав стандартного материала в качестве цвета диффузного рассеивания и рельефа. Итак, выполните следующие действия:
1. Запустите max 7.5 и откройте файл MAX-kafe12.max. При необходимости можете загрузить нужную сцену из файла MAX-kafe12.max, хранящегося в папке Scenes\Glava_13 компакт-диска, прилагающегося к книге. Сохраните файл сцены с инкрементированием имени.
2. Раскройте окно Material Editor (Редактор материалов). В предыдущей главе мы уже использовали под простейшие материалы десять ячеек образцов, поэтому переключите Редактор материалов в режим отображения большего числа ячеек, скажем, 5x3 или 6x4. «Одевать» сцену текстурами начнем с элементов наружной части здания кафе «МАХ».
3. Подготовьте материал для фасада здания, назвав его, скажем, Oblicovka. Активизируйте свободную ячейку образца материала и установите холодный темно-синий оттенок цвета Ambient (Подсветка) с RGB-компонентами, равными (6; 7; 29). Оттенок цвета Diffuse (Диффузный) сделайте ненасыщенным серовато-бежевым (150; 150; 135). Значения остальных параметров оставьте в исходных состояниях.
| СОВЕТ При использовании карты текстуры в качестве цвета диффузного рассеивания оттенок цвета Diffuse (Диффузный) следует устанавливать таким, каким был бы основной цвет материала в отсутствие карты текстуры. Это дает возможность при необходимости настраивать долю вклада карты в результирующий облик материала. |
4. Щелкните на квадратной кнопке без надписи справа от образца цвета Diffuse (Диффузный), чтобы вызвать появление окна диалога Material/Map Browser (Просмотр материалов и карт текстур) с перечнем карт текстур. Дважды щелкните на строке Bitmap (Растровая). Произойдет возврат в Редактор материалов, где появятся свитки параметров растровой текстуры.
5. Щелкните на длинной кнопке без надписи справа от поля Bitmap (Растровая карта) в верхней части свитка Bitmap Parameters (Параметры растровых текстур). В появившемся окне диалога Select Bitmap Image File (Выбор файла растрового изображения), показанном ранее на рис. 14.47, выберите подходящий графический файл с изображением облицовочного материала для фасада кафе. Установка флажка Preview (Просмотр) в нижней части окна позволяет видеть миниатюрные изображения текстур, что облегчает поиск. Можно использовать файл Rufbrik.jpg из набора текстур архитектурных материалов, которые имеются в папке Maps\Architex компакт-диска, прилагающегося к книге. Если вам не понравится такая текстура, выберите любое другое подходящее изображение, например фотографию кирпичной кладки, какая встречается очень часто. В комплект поставки max 7.5 входит целый ряд образцов подобной текстуры, например Brkwea.jpg. Дважды щелкните на имени файла, чтобы вернуться в окно Редактора материалов.

В свитке Bitmap Parameters ( Параметры растровых текстур) на кнопке справа от поля Bitmap (Растровая карта) появится полное имя выбранного файла растровой текстуры с маршрутом доступа к этому файлу. Оставьте пока все параметры растровой текстуры в исходных состояниях. Щелкните на кнопке Show Map in Viewport (Показать текстуру в окне проекции), чтобы иметь возможность видеть изображение текстуры материала в окнах проекций.
|
СОВЕТ Если изображение текстуры в окне проекции выглядит искаженным, скажем, имеет разрывы и «складки», включите режим коррекции текстуры. Для этого щелкните на имени окна проекции правой кнопкой мыши и выберите в появившемся меню команду Texture Correction (Коррекция текстуры). |
6.

Щелкните на кнопке Go to Parent (Перейти к составному материалу), чтобы вернуться с уровня настройки карты текстуры цвета диффузного рассеивания на уровень материала. Разверните свиток Maps (Карты текстур), щелкните на кнопке с надписью Map #1 (rufbrik.jpg) (Карта №1 (rufbrik.jpg)) в строке параметра Diffuse Color (Диффузное рассеивание), перетащите курсор на кнопку параметра Bump (Рельефность) и отпустите кнопку мыши. В появившемся окне Copy (Instance) Map (Копия (образец) карты) установите переключатель в положение Instance (Образец) и щелкните на кнопке ОК. Тем самым вы назначите образец той же текстуры в качестве карты рельефа материала. Установите в счетчике Amount (Доля вклада) параметра Bump (Рельефность) значение 100. Это значение не является предельным: как уже отмечалось, величина данного параметра может меняться от 0 до 999. Дважды щелкните на ячейке образца, чтобы рассмотреть полученный материал в окне увеличителя (рис. 14.53).

Рис. 14.53. Увеличенный образец материала для облицовки фасада «МАХ-кафе»
7. Назначьте полученный материал объекту Fasad. Рассматривая изображение в окне проекции Camera01 (Камера01 ), вы убедитесь в том, что блоки на стене фасада выглядят слишком крупными. Следовательно, необходимо увеличить кратность повторения образца текстуры в составе материала. Щелкните на кнопке с надписью Map #1 (rufbrik.jpg) (Карта №1 (rufbrik.jpg)) в свитке Maps (Карты текстур), чтобы перейти на уровень правки растровой текстуры. Установите в счетчиках группы Tiling (Кратность) свитка Coordinates (Координаты) значение 2 по оси U и 4 — по оси V. Выполните визуализацию изображения сцены в окне проекции Camera01 (Камера01). Теперь фасад должен выглядеть так, как нужно (рис. 14.54). Обратите, кстати, внимание на то, что свет падает на основание сцены через непрозрачное окно, у которого ранее было выключено свойство отбрасывать тень. Сохраните материал в библиотеке, открыв предварительно файл MAX-kafe.mat. Сохраните также файл сцены под измененным в начале работы именем, но не закрывайте файл, так как работа над сценой будет продолжена.

Рис. 14.54. Вид фасада «МАХ-кафе» после применения материала с растровой картой цвета диффузного рассеивания и рельефа
Не закрывайте программу, так как работа над материалами будет продолжена.
|
СОВЕТ По мере усложнения сцены и насыщения ее материалами процесс визуализации будет становиться все продолжительнее. Чтобы ускорить черновую визуализацию, временно скрывайте от просмотра все объекты, не оказывающие влияния на отрабатываемый элемент сцены. Например, отлаживая материал фасада, можно временно сделать невидимыми все объекты внутренней обстановки кафе. |
|
СОВЕТ Если при попытке визуализировать сцену появится окно диалога Missing Map Coordinates (Пропущены проекционные координаты), в списке которого будет указано имя объекта (объектов) с пропущенными проекционными координатами и канал проекции, например (UVW 1): Fasad, значит, при создании объекта Fasad вы забыли установить флажок генерации проекционных координат. Щелкните на кнопке Cancel (Отмена) для прерывания визуализации и примените к названному объекту модификатор UVW Map (UVW-проекция), а затем повторите процедуру визуализации заново. |
Превращаем детали кресла, стола, зеркала и лампы... в сетку
1. Откройте файл Kreslo.max, с которым мы уже работали в этой главе выше и который должны были после экспериментов закрыть без сохранения внесенных изменений. Этот файл при необходимости можно найти в папке Scenes\ Glava_06 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Выделите объект Spinka, перейдите на командную панель Modify (Изменить) и щелкните правой кнопкой мыши на строке модификатора Bend (Изгиб) в окне стека модификаторов. Появится меню, показанное выше на рис. 8.5. Выберите в меню команду Collapse All (Свернуть все), активизирующую операцию сворачивания всех модификаторов стека с одновременным преобразованием объекта к одному из редактируемых типов. Появится предупреждение, говорящее о том, что в результате данной операции будут удалены все элементы стека, включая характеристические параметры объекта, его модификаторы и возможную анимацию этих параметров. В ответ на завершающую фразу предупреждения: Are you sure you want to continue? (Уверены, что хотите продолжить?) щелкните на кнопке Yes (Да). Объект Spinka превратится в редактируемую сетку, о чем можно судить по появлению надписи Editable Mesh (Редактируемая сетка) в списке стека. Если щелкнуть на кнопке No (Нет) или нажать клавишу Esc, то окно предупреждения закроется, а стек не будет изменен.
3. Произвести сворачивание стека можно и иным способом. Давайте освоим его в учебных целях. Отмените произведенную в предыдущем пункте операцию, щелкнув на кнопке Undo (Отменить). Затем щелкните правой кнопкой мыши на выделенной спинке кресла в окне проекции. В появившемся четвертном меню, показанном на рис. 8.9, выберите команду Convert to Editable Mesh

Рис. 8.9. Подменю Convert То четвертного меню объекта содержит команды, позволяющие преобразовывать этот объект к одному из редактируемых типов
(Превратить в редактируемую сетку) подменю Convert To (Превратить в). Обратите внимание на то, что, как и в предыдущем случае, все модификаторы после этого исчезают из стека объекта и в окне стека остается только строка Editable Mesh (Редактируемая сетка).
| ЗАМЕЧАНИЕ Чтобы произвести сворачивание не всего стека модификаторов, а только его части, нужно выделить в стеке строку модификатора, до которого включительно нужно свернуть стек, щелкнуть на выделенной строке правой кнопкой мыши и выбрать в меню стека команду Collapse To (Свернуть до). В появившемся окне предупреждения о критичности операции сворачивания части стека следует щелкнуть на кнопке Yes (Да) для продолжения или на кнопке No (Нет) для отмены действия. |
4. Используя тот или иной способ, произведите аналогичные действия по сворачиванию стеков применительно к остальным деталям кресла, имеющим модификаторы, — боковинам и подушке. Обратите внимание на то, что свернуть стек обеих боковин можно за один прием, выделив их обе и далее действуя, как описано выше. Детали, не имеющие модификаторов, можно не преобразовывать в редактируемую сетку. В заключение выделите все детали кресла и сгруппируйте их, назвав созданную группу Kreslo01. Сохраните файл.
5. Преобразуйте в редактируемую сетку щит и плафон светильника, хранящегося в ранее созданном вами файле Lampa02.max. Если вы не сохранили этот файл, то откройте файл Lampa02.max, расположенный в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге. Чтобы превратить в редактируемую сетку кронштейн, являющийся телом лофтинга, выделите его и щелкните на строке Loft (Лофтинг) в окне стека правой кнопкой мыши. Появится меню, показанное на рис. 8.10, которое по составу команд отличается от меню модификатора, рассмотренного нами выше и показанного на рис. 8.5. Так как этот объект не имеет модификаторов, то сворачивания стека или манипулирования модификаторами не требуется и соответствующие команды в меню заменяются командами преобразования объекта к одному из редактируемых типов. Аналогичное меню появляется при щелчке правой кнопкой мыши в окне стека на наименовании типа любого объекта, не являющегося редактируемым сплайном, редактируемой сеткой или полисеткой, а также NURBS-объектом. Выберите команду Editable Mesh (Редактируемая сетка) в подменю Convert To (Превратить в) появившегося меню. После этого сгруппируйте все детали — Plafon, Sshitok, Kronshtein, Podstavka и Otrazhatel — и назовите группу Lampa01. He включайте в группу кривые — путь и сечение, — по которым методом лофтинга строился кронштейн светильника. Сохраните файл иод инкрементированным именем Lampa03.max.

Рис. 8.10. Контекстное меню стека тела лофтинга или объекта-примитива содержит команды, позволяющие преобразовывать этот объект к одному из редактируемых типов
6. Откройте ранее сохраненный файл Stol i stul02.max или загрузите файл Stol i stul02.max из папки Scenes\ Glava_08 компакт-диска, прилагающегося к книге. Выделите столешницу стола и сверните ее стек. Затем выделите объекты Nozhka stola01 — Nozhka stola04, Obviazka и Stoleshnica и сгруппируйте их, назвав группу Stol01. Сохраните файл под инкрементированным именем Stol i stul03.max.
7. В заключение откройте файл Zerkalo.max. Файл с таким именем имеется в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге. Преобразуйте объект Rama, являющийся телом лофтинга, в редактируемую сетку и сгруппируйте его с параллелепипедом, изображающим зеркальное стекло, назвав группу Zerkalo. Сохраните файл под инкрементированным именем Zerkalo01.max.
Превращаем NURBS-поверхность в скатерть
Суть упражнения состоит в том, чтобы создать стандартную NURBS-поверхность и придать ей форму наброшенной на стол скатерти со свободно свисающими краями, подобной той, какая была показана на рис. 2.23 главы 2, за счет перемещения управляющих вершин в трехмерном пространстве и настройки весов этих вершин.
| ЗАМЕЧАНИЕ В max 7.5 есть и другая возможность придать форму скатерти простому фрагменту плоскости. Эта возможность связана с использованием мощных инструментов модуля reactor (Реактор), с которыми вы познакомитесь в главе 17, «Постигаем основы динамики». |
Выполните следующие действия:
1. Проделайте ставшие уже ритуальными действия по перезагрузке программы и сохраните файл пустой сцены под именем Skatert.max.
2. Создайте в окне вида сверху NURBS-поверхность типа CV размером, скажем, 205 на 205 см. Если вы забыли, как создаются подобные объекты, обратитесь к главе 5. Указанные размеры выбраны из тех соображений, что стол, который мы создавали в главе 5, имел столешницу размером 145x145 см. Еще по 30 см с каждой стороны добавлено на загиб краев скатерти. Впрочем, на самом деле начальные размеры NURBS-поверхности не играют особой роли, так как их можно произвольным образом менять в ходе редактирования, перемещая крайние ряды управляющих вершин. Не выключая режим создания поверхности, задайте по каждой из координат 9 рядов управляющих вершин в счетчиках Length CVs (Вершин по длине) и Width CVs (Вершин по ширине). Для завершения режима создания поверхности щелкните правой кнопкой мыши. Выбрав инструмент Select and Move (Выделить и переместить), введите в поля отсчетов координат X и Y в нижней части экрана mах 7.5 значения 0, чтобы центр поверхности совпадал с началом глобальных координат.
3. Начнем редактирование поверхности с перемещения целых рядов и столбцов управляющих вершин. В исходном состоянии такие вершины скрыты от просмотра. Чтобы получить к ним доступ, переключитесь на командную панель Modify (Изменить), разверните в окне стека список подобъектов, щелкнув на квадратике со значком «плюс» слева от наименования NURBS Surface (NURBS-поверхность), и выберите в списке строку подобъекта Surface CV (Вершины поверхности). На экране появится сетка из управляющих вершин, изображаемых в окнах проекций квадратиками зеленого цвета и соединенных между собой желтыми линиями, образующими решетку деформации NURBS-поверхности.
4. Выделите рамкой и сдвиньте второй, а за ним и третий столбцы вершин к первому, идущему вдоль левого края поверхности, а седьмой и восьмой столбцы — к девятому на противоположном краю, обозначив кромки будущей скатерти. Для точного размещения третьего столбца вершин, который будет обозначать линию изгиба скатерти, выделите все вершины этого столбца и введите в поле отсчета координаты X величину -72,5 см. Для всех вершин седьмого столбца, который также будет обозначать линию изгиба, введите значение координаты X, равное 72,5 см. Второй столбец разместите посередине между первым и третьим, а восьмой — посередине между седьмым и девятым. Четвертый и шестой столбцы сдвиньте в стороны от центра так, чтобы они расположились на расстоянии примерно 50 см слева и справа от пятого, центрального столбца вершин. Затем проделайте аналогичные манипуляции с горизонтальными рядами вершин. В итоге поверхность должна принять вид, показанный на рис. 10.3. Чтобы не усложнять картину, было выключено отображение изолиний за счет установки значения 0 в счетчиках U Lines (U-изолиний) и V Lines (V-изолиний).

Рис. 10.3. Расположение рядов и столбцов управляющих вершин NURBS-поверхности после их перемещения
5. Выделите рамкой пять рядов по пять вершин, расположенных в центральной части поверхности, как бы над воображаемой столешницей, и измените их вес с 1,0 на 100,0, введя соответствующее значение в счетчик Weight (Вес) свитка CV (Управляющие вершины). Увеличение веса управляющей вершины NURBS-новерхности приводит, как и в случае с NURBS-кривыми, к тому, что поверхность как бы притягивается к такой вершине. Это нужно, во-первых, чтобы изгибы скатерти на краях столешницы были достаточно резкими, и, во-вторых, чтобы при загибании краев скатерти ее центральная часть не вздувалась пузырем.
6. Теперь загните края скатерти, оставив пока незагнутыми ее углы. Для этого поочередно выделяйте на виде сверху по три средние вершины сначала в крайних, а затем в ближайших к крайним рядах и столбцах с каждой стороны поверхности и смещайте их на виде сбоку вниз и к центру скатерти. Перемещаемые тройки вершин первого и второго столбцов расположите на виде сбоку под вершинами третьего столбца, тройки вершин девятого и восьмого столбцов — под вершинами седьмого столбца, чтобы края скатерти загибались под прямым углом к плоской части поверхности. Так же поступите и с тройками двух крайних горизонтальных рядов вершин с каждой стороны поверхности. В итоге скатерть на видах сверху и спереди должна выглядеть, как показано на рис. 10.4. На рис. 10.5 показано, как выглядит наша скатерть на данный момент в тонированном режиме отображения и при произвольном направлении взгляда. Управляющие вершины на рис. 10.5 не видны, потому что в окне стека выбран верхний уровень выделения поверхности в целом — NURBS Surface (NURBS-поверхность).

Рис. 10.4. Вид формируемой скатерти после загиба краев, но с еще не загнутыми углами

Рис. 10.5. Вид той же поверхности, что на рис. 10.4, в тонированном отображении
7. Теперь наступает самый сложный момент: мы должны обработать углы скатерти так, чтобы придать им естественный вид складок ткани. Укрупненное изображение одного из углов поверхности показано на рис. 10.6, вершины пронумерованы для удобства ссылок в тексте.

Рис. 10.6. Укрупненное изображение управляющих вершин одного из углов скатерти
Сначала выделите вершины 1—3, 6 и 8 и на виде сбоку опустите их вниз до уровня нижнего обреза загнутого края скатерти. Затем выделите вершины 4, 5 и 7 и также опустите их вниз, но до уровня второго от края ряда вершин. Теперь угол скатерти на видах сверху и сбоку в плоскости, проходящей через диагональ поверхности, должен выглядеть, как на рис. 10.7.

Рис. 10.7. Вид угла скатерти после перемещения управляющих вершин по вертикали
Несколько уменьшите общий размер угловой складки. Для этого выделите сначала вершины 4—6 и сместите их на виде сверху несколько вниз, затем так же сместите вниз тройку вершин 1—3. Вслед за этим в том же окне проекции последовательно сместите влево тройки вершин 2,5, 7 и 3, 6, 8, как показано на рис. 10.8.

Рис. 10.8. Вид угла скатерти после перемещения управляющих вершин в сторону краев столешницы с целью уменьшения угловой складки
8. Переместите вершину 3 вдоль диагонали поверхности в сторону центра скатерти, почти на место вершины 5, а вершину 5, в свою очередь, переместите вдоль диагонали в противоположном направлении, вдаль от центра стола, как бы поменяв эти вершины местами. Удаление вершины 5 в сторону от центра нужно для того, чтобы угловая складка не имела провала посередине. С этой же целью увеличьте вес вершины 3, управляющей самым уголком скатерти, до 20. Затем на виде сбоку опустите вершину 3 еще немного вниз. Угловая складка скатерти должна иметь вид конуса или клина, расширяющегося книзу. Чтобы добиться этого, снова перейдите в окно вида сверху и переместите вершины 2 и б, располагающиеся па уровне нижнего обреза бокового края скатерти, широко в стороны, а вершины 1 и 8 — к центру поверхности, примерно так, как показано на рис. 10.9. Рассмотрите изображение под разными углами в тонированном режиме, чтобы понять, как описанное перемещение вершин позволяет сформировать угловую складку скатерти.

Рис. 10.9. Вид сверху на управляющие вершины угла скатерти (слева) и вид самой угловой складки в тонированном режиме (справа)
9. В целом угловая складка уже приняла правдоподобные очертания, однако боковые края скатерти пока что выглядят неестественно ровными, как можно было видеть выше на рис. 10.9. Чтобы придать этим краям некоторую естественную волнистость, переместите вершины 9 и 11, обозначенные на рис. 10.9, к середине скатерти, а вершины 10 и 12 — наружу, от середины скатерти. Проделайте аналогичные манипуляции с соответствующими вершинами на другой стороне скатерти, прилегающей к данному углу.
10. Чтобы закончить работу, повторите действия шагов 7-10 применительно к остальным трем углам скатерти. Готовая скатерть должна выглядеть подобно изображению на рис. 10.10. Сохраните файл, которому в начале работы было назначено имя Skatert.max. Можете сравнить то, что у вас получилось, с готовой моделью NURBS-скатерти, которая имеется в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге, в файле Skatert.max.

Рис. 10.10. Готовая модель скатерти в виде NURBS-поверхности типа CV
При реализации собственных проектов на базе поверхностей типа NURBS вам придется самостоятельно определять нужную последовательность и направления перемещения управляющих вершин. Чтобы выполненное упражнение приобрело более общий характер, попробуем извлечь из него некоторые уроки.
Основные секреты придания требуемой формы стандартной NURBS-поверхно-сти, знание которых помогло нам выполнить только что завершенное упражнение, можно сформулировать следующим образом:
сегментация NURBS-поверхности не должна быть равномерной, плотность расположения управляющих вершин следует увеличивать в местах, где требуется формирование мелких деталей поверхности, и уменьшать там, где форма меняется мало;
чтобы сформировать на NURBS-поверхности выступ или углубление, нужно иметь как минимум три группы управляющих вершин, средняя из которых будет перемещаться, а две другие по обе стороны от первой — ограничивать область выступа (углубления);
для формирования резких перегибов формы NURBS-поверхности следует увеличивать вес управляющих вершин вдоль линии перегиба в 10-100 раз по сравнению с весами остальных вершин;
при редактировании формы стандартной NURBS-поверхности нужно обязательно рассматривать поверхность под разными углами в тонированном режиме отображения.
Превращаем параллелепипед в камин
Цель первого упражнения заключается в том, чтобы превратить прямоугольную «коробку» в камин для нашего кафе «МАХ». Выполните для этого следующие действия:
1. Выполните перезагрузку программы max 7.5 и сохраните пустую сцену под именем Kamin.max.
2. Создайте в окне проекции Perspective (Перспектива) примитив Box (Параллелепипед) примерно с такими размерами: длина — 160 см, ширина — 65 см и высота — 120 см, установив число сегментов по длине равным пяти, по ширине — четырем и по высоте — пяти. Ну, откуда взялись такие размеры, несложно попять: из тех соображений, чтобы будущий камин хорошо вписался в отведенное ему место у стены кафе. Но вдумчивый читатель, конечно, может заинтересоваться, как ему заранее определить, сколько именно сегментов по каждой из координат необходимо устанавливать? На этот счет есть только одно общее правило: число сегментов должно определяться формой будущего объекта. Нарисуйте эскиз, прикиньте, какие вершины будете перемещать и какие грани выдавливать. Если с первого раза не получится, удалите примитив и создайте новый, с иным числом сегментов. В данном случае мы собираемся создать конструкцию, показанную на рис. 9.1, слева. Четыре сегмента по ширине позволят сформировать наклонную часть основания дымохода, оставляя место для каминной полки. Пять сегментов по длине и по высоте позволят вдавить часть граней передней стенки и сформировать топку камина. Очевидно, что предлагаемая сегментация является избыточной. В конце упражнения мы рассмотрим, как можно избавляться от лишних сегментов.

Рис. 9.1. Форма моделируемого тела (слева) определяет сегментацию исходного параллелепипеда(справа)
| ЗАМЕЧАНИЕ Всегда нужно стремиться к созданию моделей трехмерных объектов с минимально необходимым числом граней. Когда такие модели объединяются в достаточно насыщенную объектами сцену, каждая лишняя грань ведет к усложнению процесса и увеличению времени визуализации. |
3. Превратите объект в редактируемую сетку (Editable Mesh) любым из уже известных вам способов. Включите режим показа невидимых ребер сетки. Для этого, как объяснялось в главе 3, щелкните на выделенном объекте правой кнопкой мыши, выберите в контекстном четвертном меню команду Properties (Свойства) и сбросьте в окне свойств объекта флажок Edges only (Только края). Зачем это нужно, станет понятно чуть ниже.
4. Перейдите на уровень подобъекта Vertex (Вершина) и выделите восемь вершин сетки на верхней стороне параллелепипеда, как показано на рис. 9.2.

Рис. 9.2. Восемь выделенных вершин на верхней стороне параллелепипеда для наглядности показаны стрелками
5. Переместите эти восемь вершин вверх, в направлении оси Z, чтобы сформировать наклонное основание дымохода. Казалось бы, нужный результат достигнут, но если присмотреться внимательно, то можно заметить, что на правом и левом краях наклонной части сетка изогнулась по-разному, как показано на рис. 9.3. Мы переместили выделенные вершины. При этом полигоны сетки, которым принадлежали по четыре или по две из этих вершин, переместились параллельно или расположились под наклоном, но не претерпели излома. Однако у двух крайних полигонов второго ряда приподнялось всего по одной вершине, так что они «переломились» по своим диагоналям. А так как диагонали по отношению к перемещаемым вершинам располагались у них по-разному, выступ сетки оказался несимметричным.

Рис. 9.3. Расположение ребер, вдоль которых происходит изгиб сетки (для наглядности показаны стрелками), приводит к асимметрии сформированного выступа
6. Чтобы исправить положение, нужно повернуть одно из ребер, показанных на рис. 9.3 стрелками. Предположим, мы хотим, чтобы у выступа сетки, изображающего основание дымохода, было три наклонных стороны. Тогда нужно повернуть ребро, которое обозначено на рис. 9.3 левой стрелкой. Если повернуть правое из указанных стрелками ребер, то у выступа будет пять наклонных сторон. Перейдите на уровень выделения подобъекта Edge (Ребро), щелкните на кнопке Turn (Повернуть) в свитке Edit Geometry (Правка геометрии) командной панели Modify (Изменить), а затем — на левом «проблемном» ребре. Ребро повернется так, что будет соединять две другие вершины полигона, как показано на рис. 9.4. На этот раз выступ формируется симметрично, в чем можно убедиться, разглядывая тело под разными углами.

Рис. 9.4. Ребро, повернутое с целью обеспечения симметрии выступа, для наглядности показано стрелкой
7. Теперь возникает другая проблема, которую можно обнаружить, если включить режим тонированного просмотра объекта. Линии изгиба сетки, сформировавшиеся при перемещении вершин, не видны на тонированном изображении, как показано на рис. 9.5. Если бы это соответствовало замыслу, то все было бы в порядке. Но мы хотим иметь в этой части модели камина четкие линии перегиба формы. В чем дело? А дело в том, что алгоритм тонированной визуализации делает видимыми на изображении только ребра сетки, разделяющие грани, принадлежащие к разным группам сглаживания (вспомните первую главу), и сглаживает ребра между гранями, которые относятся к одной и той же группе сглаживания. При создании примитива-параллелепипеда каждому набору граней, относящихся к одной из шести его сторон, автоматически назначается своя группа сглаживания. Хотя после перемещения вершин некоторые грани оказались лежащими в разных плоскостях, все они продолжают относиться к одной и той же группе сглаживания, имевшейся у верхней стороны параллелепипеда.

Рис. 9.5. Линии изгиба выступающей части сетки не видны на тонированном изображении, они сглажены алгоритмом визуализации
8. Инструменты управления группами сглаживания сосредоточены в разделе Smoothing Groups (Группы сглаживания) свитка Surface Properties (Свойства поверхности) и становятся доступными при переключении на уровень одного из таких подобъектов, как Face (Грань), Polygon (Полигон) или Element (Элемент). Группа сглаживания — это идентификатор, присваиваемый каждой грани и представляющий собой число из диапазона от 1 до 32. Грани с одинаковыми значениями идентификатора считаются относящимися к одной и той же группе сглаживания. Можно было бы назначить каждой стороне выступа свою собственную группу сглаживания, но мы поступим проще: отменим назначение групп сглаживания граням выступа. Результат будет тем же — на тонированном изображении появятся отчетливо видимые ребра перегиба между гранями выступа, не лежащими в одной плоскости. Перейдите на уровень подобъекта Face (Грань) и щелкните на кнопке Select By SG (Выделить по группе сглаживания). В появившемся окне Select By Smooth Groups (Выделение по группам сглаживания) вы увидите кнопки с номерами от 2 до 7 — по числу групп сглаживания исходной сетки параллелепипеда. Заранее трудно сказать, какую группу сглаживания имеют нужные нам грани, поэтому щелкните на кнопке 2, затем на кнопке ОК. Посмотрите, какие грани объекта окажутся выделенными. В нашем случае это должны оказаться грани нижней стороны параллелепипеда. Снова щелкните на кнопке Select By SG (Выделить по группе сглаживания). На этот раз щелкните на кнопке 2, чтобы перевести ее в исходное неактивное положение, а затем — на кнопке 3, чтобы выделить грани с третьей группой сглаживания. Проследите, чтобы был установлен флажок Clear Selection (Отменить выделение), в этом случае при выделении новых граней происходит сброс ранее выделенных. Теперь окажутся выделенными нужные нам грани верхней стороны параллелепипеда, включая и грани выступа. Обратите внимание на раздел Smoothing Groups (Группы сглаживания) свитка Surface Properties (Свойства поверхности): в нем должна быть нажата кнопка 3. Чтобы отменить назначение групп сглаживания выделенным граням, просто щелкните на кнопке 3, приведя ее в исходное, ненажатое состояние. Теперь линии перегиба поверхности будут четко видны на тонированном изображении, как показано на рис. 9.6.

Рис. 9.6. После отмены назначения группы сглаживания граням выступа линии изгиба выступающей части сетки стали четко видны
|
ЗАМЕЧАНИЕ Очевидно, что грани, которым следует назначить ту или иную группу сглаживания, можно выделять и традиционным способом, щелкая на них или растягивая вокруг них выделяющую рамку. Прием выделения по группам сглаживания был рассмотрен в учебных целях, хотя, как вы могли видеть, он иногда очень удобен. |
9. Чтобы сформировать трубу дымохода, применим экструзию, или выдавливание, граней. Переключитесь на уровень выделения подобъекта Polygon (Полигон) и выделите три полигона в верхней части выступа сетки. Щелкните на кнопке Extrude (Выдавить) в свитке Edit Geometry (Правка геометрии). Дальше можно действовать двумя способами. Можно переместить курсор к выделенным полигонам и, когда он примет вид, показанный на рис. 9.7, щелкнуть кнопкой мыши и перетаскивать курсор вверх или вниз по экрану, следя за выдавливанием граней. Такой прием интерактивного выдавливания был опробован нами в предыдущей главе. Но мы поступим другим способом. После щелчка на кнопке Extrude (Выдавить) укажите в счетчике справа от кнопки высоту выдавливания, скажем, 135 см. Окна проекций отобразят сформированный дымоход, показанный на рис. 9.8. Снова щелкните на кнопке Extrude (Выдавить), чтобы выключить режим выдавливания.

Рис. 9.7. Изменившийся вид курсора указывает на готовность к началу выдавливания

Рис. 9.8. Дымоход сформирован методом экструзии граней
|
СОВЕТ Чтобы выделяемые полигоны окрашивались в окнах проекций красным цветом, нужно установить флажок Shade Selected Faces (Тонировать выделенные грани) на вкладке Rendering Method (Метод визуализации) окна диалога Viewport Configuration (Метод визуализации). Вызвать это окно диалога можно, например, как было описано в главе 3, щелкнув на имени любого окна проекции правой кнопкой мыши и выбрав в меню окна команду Configure (Конфигурировать). |
10. Теперь применим метод экструзии граней для формирования углубления топки камина. Заодно познакомимся с еще одним приемом, широко используемым при моделировании на базе параллелепипедов. Предположим, что мы хотим сделать так, чтобы пространство топки внутри раздавалось вширь, превышая размеры отверстия на передней стенке камина. Чтобы добиться этого, нужно сначала выдавить внутрь сетки грани передней стенки камина, а затем дополнительно выдавить в стороны боковые грани образовавшегося углубления. Однако если выполнить выдавливание граней передней стенки за один прием, то боковые поверхности выдавленной части сетки не будут иметь сегментации в направлении выдавливания. Взгляните на сформированный выше дымоход. По координате направления выдавливания в его поверхности представлено всего по одному полигону. Если бы мы захотели, скажем, создать утолщение в верхней части дымохода, нужна была бы дополнительная сегментация в виде ряда поперечных ребер. Наличие такой сегментации позволило бы выдавить грани в верхней части дымохода в стороны, сформировав нужное утолщение. Чтобы создать нужную сегментацию по координате направления выдавливания, эту операцию проводят в несколько приемов. При использовании счетчика экструзии для этого вводят значение глубины выдавливания, на которой должен располагаться первый ряд поперечных ребер, затем нажимают клавишу Enter, вводят новое значение глубины и снова нажимают клавишу Enter. Так можно делать многократно, добиваясь требуемой сегментации боковой поверхности. При выдавливании с помощью мыши перетаскивают курсор первый раз, выдавив грани до уровня первого ряда поперечных ребер, отпускают кнопку мыши, снова устанавливают курсор на выделенные грани, нажимают кнопку мыши и продолжают выдавливание. Итак, выделите 12 полигонов в центре передней стенки камина. Если соберетесь делать это рамкой в окне вида слева, не забудьте предварительно установить флажок Ignore Backfacing (Игнорировать изнаночные). Щелкните на кнопке Extrude (Выдавить), установите курсор на выделенные полигоны, щелкните кнопкой мыши и начинайте перетаскивать курсор, вдавливая грани внутрь объема сетки в интерактивном режиме. Следите за счетчиком глубины экструзии. Сделайте остановку, отпустив кнопку мыши при глубине выдавливания примерно -15 см. Затем продолжите выдавливание и завершите операцию, выдавив грани еще примерно на -65 см, как показано на рис. 9.9.

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

Рис. 9.10. Глубина выдавливания превышает ширину исходного параллелепипеда, и на задней стороне камина появляется выступ
|
СОВЕТ Чтобы видеть на обратной стороне камина выступ, грани которого обращены к зрителю оборотными сторонами, нужно сбросить флажок Backface Cull (Отбрасывание граней) в окне диалога Object Properties (Свойства объекта). Это окно вызывается по команде Properties (Свойства) контекстного меню объекта, как было описано в главе 3. |
11. Теперь можно выполнить выдавливание боковых сторон углубления в стороны, чтобы увеличить внутреннее пространство топки. Поверните объект так, чтобы видеть верх внутренности топки, и выделите три дальних полигона, как показано на рис. 9.11. Выдавите их внутрь сетки примерно на -(15-20) см, чтобы «потолок» топки оказался выше края отверстия на передней стенке. Попробуйте самостоятельно выдавить в стороны полигоны боковых поверхностей топки, дополнительно увеличив ее внутренний объем. Таких полигонов должно быть по пять с каждой стороны — четыре было изначально, пятый образовался после вдавливания «потолка» топки. В итоге камин должен принять вид, показанный ранее на рис. 9.1, слева. Сохраните файл под заданным в начале работы именем Kamin.max, чтобы можно было вернуться к объекту в том состоянии, какое он имеет на данный момент. Затем для продолжения работы сохраните файл с инкрементированием имени.

Рис. 9.11. Три полигона верхней части топки выделены для выдавливания с целью увеличения внутреннего объема топки
12. Теперь, когда объекту придана требуемая форма, наступает возможность избавиться от излишней сегментации. Это очень важная задача, и именно в силу ее важности в max 7.5 предусмотрены различные средства для ее решения. В одних случаях оптимизация структуры сетки может быть выполнена автоматически, в других это требует ручной работы. Ознакомимся сначала с методом устранения излишней сегментации вручную. Для устранения ненужных сегментов применим перемещение и последующее слияние групп вершин. Переключитесь на уровень подобъекта Vertex (Вершина) и в окне проекции, отображающем вид камина спереди, выделите с помощью рамки вертикальный ряд вершин, показанный стрелкой на рис. 9.12. Не забудьте перед этим сбросить флажок Ignore Backfacing (Игнорировать изнаночные). Обратите внимание на сообщение в нижней части свитка Selection (Выделение): 26 Vertices Selected (Выделено 26 вершин). Переместите этот ряд вершин целиком влево строго вдоль оси X, приблизив его вплотную к ряду вершин, расположенных вдоль левого края дымохода.

Рис. 9.12. Вертикальный ряд вершин, показанный стрелкой, выделен для перемещения
|
СОВЕТ Всегда используйте рамку для выделения вершин, которые в окне проекции расположены строго одна за другой вдоль линии взгляда и видны как одна точка. Если пытаться выделить такие вершины, щелкая на них кнопкой мыши, то выделится только одна из группы вершин. |
13. Выполните слияние двух близко расположенных друг от друга рядов вершин, выделив вершины обоих рядов. Обратите внимание, что в нижней части свитка Selection (Выделение) сообщается: 58 Vertices Selected (Выделено 58 вершин). Почему 58, а не 2x26 = 52? Вспомните о шести вершинах на краю отверстия топки камина — они не имеют парных вершин в перемещенном ряду, как показано на рис. 9.13. Чуть ниже вам станет ясно, почему мы фиксируем внимание на этой мелочи. А пока в разделе Weld (Слить) свитка Edit Geometry (Правка геометрии) увеличьте значение, указанное в счетчике, расположенном справа от кнопки Selected (Выделенные), скажем, до величины 5,0 см. Эта величина задает предельное расстояние между выделенными вершинами, которые будут слиты программой в одну вершину. Щелкните на кнопке Selected (Выделенные). В свитке Selection (Выделение) вы прочтете, что теперь выделена только 31 вершина. Следовательно, слияние произошло. Внимательное рассмотрение показывает, что слились 24 пары и одна четверка вершин в нижней части топки, находящихся друг от друга на расстоянии менее 5 см. В итоге получилось 25 новых вершин плюс 6 непарных, не попавших под слияние, — вот почему их осталось 31.

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

Рис. 9.14. После слияния новые вершины располагаются посередине между сливающимися. Вершины, не имевшие пар (выделены рамкой), остаются на своих местах, вызывая изгиб сетки
15. Проделайте точно такую же операцию с вертикальным рядом вершин, располагающимся справа от указанного стрелкой на рис. 9.12. Выделите этот ряд, сместите его вправо и слейте с рядом вершин на правом краю дымохода. Топка камина тоже имеет излишнюю сегментацию. Слейте вместе второй, третий и четвертый снизу горизонтальные ряды вершин. Это можно сделать за один прием, сблизив ряды на расстояние менее 5 см. Затем сместите вершины образованного после слияния ряда вниз, к основанию камина, и слейте их с вершинами самого нижнего ряда. При этом возникнет некоторый прогиб основания по той же причине — из-за наличия непарных вершин. Выделите их и слегка сместите вверх, выправив дефект. После всех этих действий оптимизированный по числу сегментов камин должен выглядеть, как на рис. 9.15.

Рис. 9.15. Сетка камина после оптимизации числа сегментов за счет слияния лишних рядов вершин
16. На шаге 10 мы выдавили грани передней стенки камина дальше его задней стенки, но задняя-то стенка при этом осталась на месте. Ненужные грани задней стенки в пределах углубления топки следует удалить, так как они могут в дальнейшем помешать реализации эффекта горения. Проследив, чтобы был сброшен флажок Backface Cull (Отбрасывание граней) в окне свойств объекта (ведь грани задней стенки наблюдаются через углубление топки с оборотной стороны и в обычном режиме не видны), выделите большой полигон в центре топки, как показано на рис. 9.16, и удалите его, нажав клавишу Delete.

Рис. 9.16. Ненужные грани задней стенки исходного параллелепипеда в пределах углубления топки подготовлены к удалению
17. В заключение осталось только назначить граням камина нужные идентификаторы материала, которые позволят в дальнейшем применить к нашей модели многокомпонентный материал. Скажем, мы собираемся «облицевать» камин снаружи одним материалом, а топку изнутри «выложить» другим. Для начала на уровне подобъекта Polygon (Полигон) выделите все полигоны сетки камина, охватив его целиком выделяющей рамкой. Введите значение 1 в счетчик Set ID (Установить идентификатор) свитка Surface Properties (Свойства поверхности). Тем самым всем граням объекта будет назначен один и тот же идентификатор материала, равный 1. Теперь аккуратно выделите полигоны, образующие внутреннюю поверхность топки, включая и боковые стороны, и верх, и низ. Введите в счетчик Set ID (Установить идентификатор) число 2. Назовите полученный объект Kamin. Сохраните файл, которому после шага 11 было присвоено имя Kamin01.max. Вы можете сравнить то, что у вас получилось, с готовой моделью камина, загрузив ее из файла Kamin01.max, который хранится в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге.
Итак, модель камина готова. По-видимому, описать, как она делалась, было труднее, чем построить этот довольно простой объект. Подробность описания оправдывается тем, что на первых порах требовалось разъяснить отдельные нюансы новых методов и приемов моделирования. Подобные приемы — простое выдавливание и повторное выдавливание граней для создания дополнительной сегментации, перемещение и слияние групп вершин, повороты ребер, назначение граням групп сглаживания и идентификаторов материала — постоянно требуются при моделировании объектов на основе простых параллелепипедов.
Выполненное вами вручную уменьшение сегментации сетки, безусловно, помогло получить навыки сближения ребер и слияния вершин. В то же время, полагаю, вам стала очевидна и трудоемкость подобной процедуры. К сожалению, в ряде случаев, не столь простых, как рассмотренный нами пример, ручной работы не избежать. Однако иногда, если объект имеет достаточно простую форму, для уменьшения сегментации можно эффективно применять специальный модификатор — Optimize (Оптимизация). Рассмотрим пример его использования:
1. Загрузите модель камина, сохраненную в п. 11 предыдущего упражнения, как раз перед началом работы над уменьшением сегментации, в виде файла Kamin.max. Если вы по каким-то причинам не сохранили подобный файл, то создайте его заново или просто загрузите готовый файл Kamin.max из папки Scenes\Glava_09 компакт-диска, прилагающегося к книге.
2. Выделите модель камина, перейдите на панель Modify (Изменить), раскройте список модификаторов и дважды щелкните на строке Optimize (Оптимизация). Сетка объекта будет моментально оптимизирована без видимой потери качества модели (рис. 9.17).

Рис. 9.17. За счет применения модификатора Optimize сетка модели камина оптимизирована без всякой настройки параметров
3. Прокрутите вверх свиток параметров модификатора и в самом низу найдите раздел Last Optimize Status (Данные последней оптимизации). Там указываются через дробную черту значения числа вершин (Vertices) и граней (Faces) до и после (Before/After) оптимизации. Обратите внимание на то, что за счет автоматической оптимизации число вершин сетки уменьшилось с 200 до 34, а число граней — с 396 до 64. Кстати, выполненная нами ранее вручную оптимизация сетки уменьшила число вершин до 80, а граней — до 154. В этом легко убедиться, если загрузить сохраненный ранее файл Kamin01.max (подобный файл имеется в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге) и выполнить команду меню File > Summary Info (Файл > Сведения). В появившемся окне диалога Summary Info (Сведения) общее число вершин (Vertices) и граней (Faces) в сетчатых моделях объектов сцены указывается в разделе Mesh Totals (Сводка по сеткам).
|
ЗАМЕЧАНИЕ Столь поразительный на первый взгляд успех автоматической оптимизации сетки объясняется в данном случае довольно просто. Наш объект состоит в основном из прямоугольных участков плоскостей, а каждый такой участок легко представить как состоящий всего из двух треугольных граней. К сожалению, данный модификатор далеко не всегда дает столь хорошие результаты, если объект имеет сложную форму. |
4. Если оптимизация при исходных значениях параметров модификатора оказывается не вполне удовлетворительной, можете попробовать настроить следующие элементы управления:
Face Thresh (Порог граней) — задает пороговое значение угла между нормалями граней, которые будут объединяться в ходе оптимизации. Малые значения угла ведут к низкому уровню оптимизации, при котором объединяется мало граней, а большие значения — к большому числу объединенных граней;
Edge Thresh (Порог ребер) — задает пороговое значение угла между открытыми ребрами, каждое из которых принадлежит только одной грани. Низкие значения этого порога предохраняют ребра, ограничивающие отверстия в сетчатой оболочке, от исчезновения;
Bias (Смещение) — значение из диапазона от 0 до 1, снижающее вероятность появления вырожденных треугольных граней в ходе оптимизации. Такие грани при визуализации вызывают появление на изображении ложных деталей. Чем выше значение параметра Bias (Смещение), тем меньше упомянутая вероятность;
Max Edge Len (Макс. длина ребра) — если это значение отлично от нуля, оно задает максимальную длину ребер сетки, формируемых при оптимизации;
Auto Edge (Авторебра) — установка этого флажка обеспечивает автоматическое формирование открытых ребер и исключает формирование ребер между гранями, углы между нормалями которых лежат в пределах порогового угла.
5. Убедившись, что выполненная автоматическая оптимизация не испортила вид модели, что, повторюсь, бывает, к сожалению, далеко не всегда, можно свернуть стек модификаторов объекта, который снова превратится в стандартную редактируемую сетку, пригодную для дальнейшей правки. Можете при желании сохранить полученный объект в виде файла, однако, мы в дальнейшем будем работать с тем объектом, оптимизация которого выполнена вручную и который хранится в файле Kamin01.max.
Разумеется, работу над моделью можно еще продолжать и продолжать. Например, перемещая вершины, можно оформить верх отверстия топки в виде арки, с помощью экструзии украсить конструкцию дополнительными выступами вдоль вертикальных краев камина и т. п. Попробуйте проделать что-то подобное самостоятельно в качестве домашнего задания, а пока продолжим наши упражнения.
Простейший лофтинг: создаем кронштейн для лампы
В предыдущей главе вы начали создавать настенный светильник для «МАХ-кафе». Продолжите работу над светильником, создав методом лофтинга кронштейн для лампы. Выполните следующие действия:
1. Откройте сохраненный в предыдущей главе файл Lampa01.max, содержащий два объекта: плафон и опору в форме щита. Если этого файла у вас нет, то загрузите файл Lampa01.max из папки Scenes\Glava_06 прилагающегося к книге компакт-диска. Сохраните файл под именем Lampa02.max, используя прием инкрементирования имени. Временно скройте плафон и опору от просмотра, чтобы они не мешали работе. Переместите начало координат сетки в окне проекции Left (Вид слева) в левый нижний угол окна и установите масштаб, при котором вертикальный размер видимой части сетки в окне проекции составляет примерно 50 см. Разверните окно проекции на весь экран.
2. Выберите на командной панели Create (Создать) инструмент Point Curve (Точечная кривая) и нарисуйте кривую, показанную на рис. 7.1, которая будет играть роль пути для тела лофтинга. При определении размеров кривой исходите из того, что она должна вписываться в воображаемый квадрат со стороной около 40 см. Затем создайте стандартный сплайн Circle (Круг) радиусом 1,5 см, представляющий собой сечение формируемого кронштейна.

Рис. 7.1. Линия пути в виде точечной NURBS-кривой и сплайн-профиль сечения кронштейна
3. Приступайте к созданию кронштейна методом лофтинга. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты). В свитке Object Type (Тип объекта) появятся девять кнопок, соответствующих типам составных объектов, как показано на рис. 7.2. Проследите, чтобы форма-путь была выделена, так как для обеспечения доступа к кнопке Loft (Лофтинговые) в составе сцены должна иметься хотя бы одна выделенная форма. Щелкните па кнопке, и в нижней части командной панели появятся свитки параметров лофтинга: Creation Method (Метод создания), Surface Parameters (Параметры поверхности), Path Parameters (Параметры пути) и Skin Parameters (Параметры оболочки).

Рис. 7.2. Свиток Object Type командной панели Create с инструментами создания составных объектов
4. В свитке Creation Method (Метод создания) имеются две кнопки — Get Path (Взять путь) и Get Shape (Взять форму). Мах 7.5 проверяет, можно ли использовать выделенную форму в качестве пути (то есть состоит ли она из единственного сплайна). Если нет, то данная форма может служить только опорным сечением создаваемого объекта и в этом случае в свитке Creation Method (Метод создания) будет доступна только кнопка Get Path (Взять путь). Если заранее выделенная форма будет использоваться как сечение, следует щелкнуть на кнопке Get Path (Взять путь), чтобы выбрать форму-путь. В нашем случае выделенная заранее форма должна быть использована как путь, поэтому щелкните на кнопке Get Shape (Взять форму), чтобы выбрать форму-сечение. Выбранная кнопка подсвечивается желтым цветом. Не изменяйте принятую по умолчанию установку переключателя в свитке Creation Method (Метод создания), который может быть установлен в одно из трех положений:
Move (Переместить) — форма, которая будет указана после щелчка на кнопке Get Shape (Взять форму) пли Get Path (Взять путь), будет помещена в создаваемый объект и удалена со сцены;
Сору (Копировать) — в составе создаваемого объекта будет использована независимая копия исходной формы;
Instance (Образец) — будет использован образец формы (этот вариант выбирается по умолчанию).
5. При активизированной кнопке Get Shape (Взять форму) перейдите в любое окно проекции и укажите курсором па форму, которая будет служить сечением (если активизирована кнопка Get Path (Взять путь), то укажите на форму, которая будет служить путем). Курсор принимает вид, соответствующий режиму выделения формы-сечения или формы-пути, как показано па рис. 7.3. Щелкните кнопкой мыши. При выборе формы-сечения она прикрепляется к первой вершине формы-пути, а при выборе формы-пути она прикрепляется к форме-сечению.

Рис. 7.3. Сразу же после выбора формы-сечения ее образец прикрепляется к первой вершине формы-пути
6. Готово! Оболочка объекта уже построена методом лофтинга, хотя увидеть объект можно по умолчанию только в тех окнах проекций, где установлен режим тонированного отображения (рис. 7.4). Чтобы увидеть оболочку объекта в окнах с каркасным режимом отображения, необходимо развернуть свиток Skin Parameters (Параметры оболочки) и установить флажок Skin (Оболочка) в разделе Display (Отображение). Назовите полученный объект Kronshtein и назначьте ему тот же цвет, который был использован для щита опоры. Щелкните правой кнопкой мыши для выключения режима лофтинга. Оригиналы формы-профиля и формы-пути можно теперь удалить, хотя иногда бывает полезно оставить их с целью коррекции формы оболочки объекта лофтинга.

Рис. 7.4. Кронштейн светильника сформирован методом лофтинга
7. Восстановите видимость скрытых элементов светильника — щита опоры и плафона. Чтобы завершить работу над светильником, создайте два оставшихся элемента, используя стандартные примитивы Cylinder (Цилиндр) и Cone (Конус): подставку для плафона в виде цилиндра радиусом 5,5 см и высотой 3,5 см и отражатель света в виде усеченного конуса с нижним основанием радиусом 23 см, верхним основанием радиусом 10 см и высотой 7 см. Назовите эти объекты Podstavka и Otrazhatel. Разместите все детали светильника так, как показано на рис. 7.5. По завершении работы сохраните файл под заданным в начале упражнения именем. Сопоставьте результат своей работы с моделью светильника, содержащейся в файле под именем Lampa02.max в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге.

Рис. 7.5. Готовый светильник
Сажаем траву вокруг кафе «МАХ»
По нашему замыслу кафе «МАХ» распахивает свои двери зимой, поэтому вокруг него земля занесена снегом. Однако в этом упражнении в учебных целях превратим зимний пейзаж в летний и посадим вокруг здания кафе «МАХ» траву. Откройте сцену MAX-kafe07.max, с которой вы работали ранее. Если по каким-либо причинам вы не сохранили этот файл, вы можете открыть его с компакт-диска. Он находится в папке Scenes\Glava__08. Первое, что мы сделаем — уберем снежные заносы, ведь, согласитесь, трава с ними сочетается не очень хорошо. Выделите объекты Valik01, Valik02 и Valik03 и удалите их. Сохраните сцену под названием MAX-kafe_trava.max. Теперь проделайте следующее:
1. Выделите объект Osnovanie sceni и примените к нему модификатор Hair and Fur (WSM) (Волосы и шерсть (WSM)). Вы увидите, что плоскость полностью покроется кривыми красного цвета. Эти линии являются схематическим обозначением травинок. Растительность расположена хаотично и выглядит совсем не так, как нам хотелось бы. Даже на таком схематическом представлении мы можем увидеть, что трава растет не только вокруг кафе «МАХ», но и внутри здания, пробиваясь сквозь пол. Более того, высота травы такая, как будто бы ее не косили несколько столетий. Придется поработать над этими недостатками.
2. Сначала обозначим участки, на которых должна расти трава. Убедитесь, что плоскость все еще выделена, раскройте список подобъектов модификатора Hair and Fur (WSM) (Волосы и шерсть (WSM)) и переключитесь на уровень выделения подобъекта Polygon (Полигон). Выделите полигоны, образующие область, на которой должна расти трава. Пусть это будет область вокруг здания. Только не забудьте оставить протоптанную дорожку, ведущую ко входу, иначе посетителям кафе «МАХ» придется вытаптывать заботливо выращенную вами траву. Для выделения нужной области удобно использовать инструмент выделения Paint Selection (Выделение кистью), вызвать который вы можете, нажав клавишу q четыре раза подряд. Выделив нужные участки, нажмите кнопку Update Selection (Обновить выделение) в свитке Selection (Выделение). Заросли травы станут немного реже и появятся лишь на тех участках, которые вы выбрали (рис. 12.4).

Рис. 12.4. Теперь трава растет только там, где нужно
3. Теперь самое время поработать над высотой травы. Нет, газонокосилка вам для этого не понадобится, в mах 7.5 есть более удобные средства для приведения газона в порядок. Перейдите к свитку General Parameters (Общие параметры) (рис. 12.5). Задайте количество травинок посредством счетчика Hair Count (Количество волос) равным 21 000, а количество сегментов на травинке (Hair Segments) равным 8. Поскольку нам не нужна высокая точность, для экономии времени визуализации выберите значение счетчика Hair Passes (Число проходов визуализации) равным 1. Плотность размещения травинок (Density) задайте равной 100, их длину в процентном соотношении (Cut Length) равной 100, а в счетчике Rand Scale (Случайное масштабирование) укажите 30. Установите в счетчике Scale (Масштаб) значение 7 и сделайте толщину волос возле корней равной 1,6.

Рис. 12.5 Свиток General Parameters
4. Перейдите к свитку Material Parameters (Параметры материала), чтобы выбрать цвет для травы. Можете пофантазировать: если лето жаркое, то трава наверняка выгорела и теперь коричнево-золотистого цвета, если же ее регулярно поливают дожди или заботливый служащий кафе «МАХ», она должна быть ярко-зеленой. Выберите цвет для кончиков (Tip Color) и оснований травинок (Root Color).
5. Чтобы увидеть, что получилось, нажмите клавишу F9. Если вы внимательно настраивали эффект, у вас должно получиться то же, что и у меня (рис. 12.6). Сохраните файл под заданным ранее именем. Вы можете сравнить свою сцену с той, которая находится на компакт-диске в папке Scenes\Glava_12.

Рис. 12.6.
Вокруг кафе «МАХ» выросла трава
Создаем простейшие стандартные материалы для «МАХ-кафе»
В этом упражнении мы научимся создавать простейшие стандартные материалы, не требующие использования карт текстур. В частности, мы создадим простой белый материал для потолка помещения, материал, напоминающий фаянс тарелок, а также материал в виде металла золотистого цвета, который понадобится при визуализации ложек, вилок, рамы зеркала, деталей светильника, полосок на тарелке и бокале. Попробуем также создать упрощенный вариант прозрачного материала для бокалов, просто чтобы убедиться: сделать материал прозрачным — этого далеко не достаточно, чтобы он стал похож на стекло. Заодно мы освоим сохранение созданных материалов в виде библиотеки.
Итак, повторяйте за мной.
1.

Запустите или перезагрузите max 7.5, чтобы все параметры приняли свои исходные значения. Щелкните на кнопке Materia! Editor (Редактор материалов) панели инструментов или выполните команду меню Rendering > Material Editor (Визуализация > Редактор материалов), чтобы раскрыть окно Редактора материалов. С той же целью можно просто нажать клавишу т. Чтобы лучше видеть нюансы цветовых оттенков создаваемых материалов, измените цвет подсветки на темно-серый с RGB-компонентами (55; 55; 55). Если вы забыли, как это делается, обратитесь к главе 11, «Расставляем и настраиваем осветители и съемочные камеры».
2. Создайте в первой (активной по умолчанию) ячейке образца материал, который будет имитировать побелку потолка кафе. Введите в текстовую строку раскрывающегося списка имен материалов имя для нового материала — Pobelka. He изменяйте значения параметров в свитке Shader Basic Parameters (Базовые параметры раскраски), оставив в качестве метода раскраски вариант Blinn (Блинн).
3. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) разблокируйте цвета подсветки и диффузного рассеивания. Щелкните поочередно на образцах цвета подсветки, диффузного рассеивания и зеркального отражения и установите в окне Color Selector (Выбор цвета) следующие значения RGB-компонентов этих цветов: Ambient (Подсветка) — (200; 240; 250), светло-голубой, чтобы обеспечить голубоватые тени; Diffuse (Диффузный) — (230; 230; 230), светло-серый, и Specular (Зеркальный) — (245; 245; 245), почти белый. Настройте параметры зеркального блика, сделав его почти незаметным: Specular Level (Сила блеска) = 20; Glossiness (Глянцевитость) = 25. Величины всех остальных параметров материала оставьте равными их исходным значениям. В итоге материал должен принять вид, показанный на рис. 13.36.

Рис. 13.36. Так выглядит образец материала Pobelka в первой ячейке Редактора материалов
4. Создайте библиотеку для сохранения вновь создаваемых материалов. Для этого щелкните на кнопке Get Material (Получить материал) и установите в окне диалога Material/ Map Browser (Просмотр материалов и карт текстур) переключатель Browse From (Источник) в положение Mtl Library (Библиотека материалов). Будет открыта стандартная библиотека материалов 3ds max. mat. Щелкните на кнопке Clear Material Library (Очистить библиотеку материалов) окна просмотра материалов и карт текстур. В появившемся окне с запросом на подтверждение очистки библиотеки щелкните на кнопке Yes (Да). Все материалы из библиотеки 3ds max.mat будут удалены. Теперь сохраните очищенную библиотеку под новым именем, щелкнув на кнопке Save As (Сохранить как). В окне диалога Save Material Library (Сохранение библиотеки материалов) введите имя для новой библиотеки — MAX-kafe — и щелкните на кнопке Save (Сохранить). Расширение имени mat присваивается автоматически. Не закрывайте пока окно диалога Material/Map Browser (Просмотр материалов и карт текстур).
5.

Теперь сохраните только что созданный материал в новой библиотеке. Если окно Material/Map Browser (Просмотр материалов и карт текстур) еще открыто, можно просто щелкнуть на образце материала и перетащить его в окно просмотра материалов и карт текстур. Другой способ сохранения материала в библиотеке состоит в том, чтобы щелкнуть в окне Редактора материалов на кнопке Put to Library (Поместить в библиотеку). В этом случае появится окно диалога, позволяющее изменить имя, под которым данный материал будет помещен в библиотеку. Если изменять имя не требуется, то просто щелкните на кнопке ОК.
6. Активизируйте вторую ячейку Редактора материалов, чтобы создать там материал, имитирующий фаянс тарелок. Введите для материала имя Faians. Выберите в раскрывающемся списке свитка Shader Basic Parameters (Базовые параметры раскраски) вариант раскраски Phong (По Фонгу). В свитке Phong Basic Parameters (Базовые параметры раскраски по Фонгу) разблокируйте цвета подсветки и диффузного рассеивания. Настройте следующие значения основных цветов материала: Ambient (Подсветка) — (190; 190; 190), светло-серый; Diffuse (Диффузный) — (240; 240; 240), почти белый, и Specular (Зеркальный) — (255; 255; 255), чисто-белый. Зеркальный блик сделайте ярким и достаточно сосредоточенным: Specular Level (Сила блеска) = 95; Glossiness (Глянцевитость) = 80, Soften (Размыть) = 0. Величины всех остальных параметров материала оставьте равными их исходным значениям. Сохраните новый материал в библиотеке, щелкнув на кнопке Put to Library (Поместить в библиотеку). Вид материала показан на рис. 13.37.

Рис. 13.37. Образец материала Faians во второй ячейке Редактора материалов
7. Теперь активизируйте третью ячейку образца — в ней мы будем создавать материал, напоминающий золотистый металл. Назовите материал Pozolota. Выберите в раскрывающемся списке свитка Shader Basic Parameters (Базовые параметры раскраски) вариант раскраски Metal (Металл). В свитке Metal Basic Parameters (Базовые параметры металлической раскраски) настройте следующие значения основных цветов материала: Ambient (Подсветка) — (66; 59; 29), темно-бежевый; Diffuse (Диффузный) — (183; 165; 79), золотистый. Создайте яркий, хорошо выраженный зеркальный блик, имитирующий металлический блеск: Specular Level (Сила блеска) - 77; Glossiness (Глянцевитость) = 75. Величины всех остальных параметров материала оставьте равными их исходным значениям. Сохраните новый материал в библиотеке, щелкнув на кнопке Put to Library (Поместить в библиотеку). Вид материала в ячейке образца показан на рис. 13.38.

Рис. 13.38. Образец материала Pozolota в третьей ячейке Редактора материалов
8. Теперь активизируйте четвертую ячейку образца, чтобы создать в ней образец прозрачного материала, призванного заменить стекло бокалов. Измените фон ячейки на разноцветные шахматные клетки, щелкнув на кнопке Background (Фон). Назовите материал просто: Steklo.
9. Выберите в раскрывающемся списке свитка Shader Basic Parameters (Базовые параметры раскраски) вариант раскраски Metal (Металл). В свитке Metal Basic Parameters (Базовые параметры металлической раскраски) настройте следующие значения основных цветов материала: Ambient (Подсветка) — (0; 0; 0), черный; Diffuse (Диффузный) — (178; 178; 178), серый. Создайте очень яркий сосредоточенный зеркальный блик, имитирующий блеск стекла; Specular Level (Сила блеска) - 100; Glossiness (Глянцевитость) - 85. Сделайте материал почти прозрачным, установив Opacity (Непрозрачность) = = 20. Если сделать непрозрачность равной нулю, то «стекла» просто не будет видно. Полностью прозрачным материал можно сделать только в том случае, если в его составе использованы карты текстур, управляющих непрозрачностью и имитирующих отражение, но это уже предмет рассмотрения следующей главы. В свитке Extended Parameters (Дополнительные параметры) установите переключатель Falloff (Спад) раздела Advanced Transparency (Свойства прозрачности) в положение In (Внутрь), задав тем самым характер изменения прозрачности материала, свойственный пустотелым тонкостенным прозрачным объектам. Задайте степень изменения непрозрачности от середины к краям Amt (Степень) - 20. Величины всех остальных параметров материала оставьте равными их исходным значениям. Сохраните новый материал в библиотеке, щелкнув на кнопке Put to Library (Поместить в библиотеку). Вид материала в ячейке образца показан на рис. 13.39.

Рис. 13.39. Образец материала Steklo в четвертой ячейке Редактора материалов
Создаем Всенаправленный осветитель и выполняем простейшую визуализацию сцены
Свет проявляет себя только тогда, когда есть что освещать: как говорится, сначала надо создать небо и землю, а уж потом свет, чтобы увидеть, что это хорошо. Иными словами, для настройки параметров осветителей необходимо иметь определенную сцену с набором предметов, при визуализации которой можно будет видеть распределение освещения, теней, ярких бликов и т. п. Чтобы не заниматься созданием специального «испытательного полигона» для отработки навыков размещения и настройки осветителей, воспользуемся готовой геометрической моделью сцены «МАХ-кафе». Поэкспериментировав со светом, мы заодно снабдим нашу сцену нужным числом осветителей и настроим освещение требуемого качества. В окнах проекций даже при тонированном режиме показа изображение сцены формируется упрощенно, тонкие перепады света передаются грубо, а тени от объектов не показываются совсем. Поэтому для наблюдения за результатами настройки освещения нам потребуется освоить простейший вариант визуализации сцены, не требующий никаких настроек. Итак, приступаем: 1. Откройте файл MAX-kafe08.max, содержащий полную геометрическую модель сцены «МАХ-кафе». При необходимости вы можете найти нужную сцену в файле под именем MAX-kafe08.max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге. Используя инструменты свитка Hide (Скрыть) командной панели Display (Дисплей), скройте от просмотра объекты Osnovanie sceni, Fasad, Viveska, Okno, Dveri, Valik01-Valik03, а также все предметы внутреннего убранства интерьера кафе, кроме двух светильников и кресел. Сохраните сцену под инкрементированным именем.
| ЗАМЕЧАНИЕ Обратите внимание на то, что после добавления в состав сцены «МАХ-кафе» всех необходимых элементов геометрической модели файл сцены стал «весить» около 16 Мбайт, что, естественно, не могло не сказаться на времени загрузки сцены, прорисовки изображений в окнах проекций и, особенно, времени визуализации. |
2. Щелкните на кнопке Lights (Источники света) командной панели Create (Создать), а затем — на кнопке Omni (Всенаправленный) в свитке Object Type (Тип объекта). Переместите курсор в окно проекции Front (Вид спереди), где он примет вид перекрестья, и щелкните в районе точки (-45; 0; 170), чтобы создать Всенаправленный осветитель над группой кресел. Значок Всенаправленного осветителя имеет вид маленького восьмигранника. Переместите осветитель в окне проекции Тор (Вид сверху), чтобы он расположился примерно над центром ближней к зрителю группы кресел, в районе точки, где координата Y составляет -135 см, как показано на рис. 11.7. Обратите внимание, как изменился характер освещения в окне проекции Perspective (Перспектива), где по умолчанию используется тонированный режим отображения. Щелкните правой кнопкой мыши, чтобы выключить режим создания всенаправленных источников света.

Рис. 11.7. Правильное размещение Всенаправленного осветителя в окнах вида сверху и спереди
|
ЗАМЕЧАНИЕ По умолчанию значок источника света, если он не выделен, изображается в окнах проекций желтым цветом, однако его можно «перекрасить» в любой другой цвет, используя свиток Name and Color (Имя и цвет). |
3.

Вид сцены в окне проекции Perspective (Перспектива) не дает полного представления о реальном качестве введенного нами освещения. Чтобы увидеть, как на самом деле выглядит сцена с единственным всенаправленным осветителем, выполним ее визуализацию. Воспользуемся простейшим способом, не требующим настройки абсолютно никаких параметров. Итак, активизируйте окно проекции Perspective (Перспектива) и щелкните на кнопке Quick Render (Быстрая визуализация) главной панели инструментов. Появится окно диалога Rendering (Визуализация), в котором нас пока будет интересовать только один элемент — прогресс-индикатор Current Task (Текущая задача), наглядно демонстрирующий ход синтеза изображения сцены. Собственно изображение будет построчно выводиться в окне диалога, называемом окном визуализированного кадра {Rendered Frame Window) и показанном на рис. 11.8. В заголовке окна указывается имя окна проекции, для которого выполнялась визуализация, и номер текущего кадра анимации (в данном случае это кадр 0).

Рис. 11.8. Окно визуализированного кадра с изображением сцены
|
ЗАМЕЧАНИЕ Обратите внимание на то, что на визуализированном изображении не видно самого источника света. Во-первых, сам значок не визуализируется, поскольку он является всего лишь вспомогательным объектом. Во-вторых, никакой «светящейся субстанции», похожей на привычную электрическую лампочку, на месте значка тоже не появляется. Так что, если вы хотите, чтобы на визуализированном изображении был виден какой-то светящийся предмет, изображающий источник света, для этого нужно принять специальные меры. В частности, можно создать объект в форме светильника и применить к нему соответствующий материал. Иногда для усиления правдоподобия к источнику света или материалу применяют еще оптический эффект сияния, воспроизводить который вы научитесь в главе 15, «Осваиваем тонкости визуализации сцены и внешней среды». |
Внимательно рассмотрите визуализированное изображение и убедитесь в том, что Всенаправленный источник действительно испускает свет во все стороны: пятна света видны и в центре потолка, и посередине пола, и на стенах. У кресел освещены только те части, на которые падают лучи света этого источника.
Задумайтесь о том, почему имеются затемнения в углах комнаты. Дело здесь не в удаленности этих углов от осветителя: ведь я уже говорил, что свет стандартных осветителей max 7.5 по умолчанию не ослабевает с расстоянием. Причина в другом: яркость освещения поверхности зависит от угла, под которым падают на нее световые лучи. Максимум яркости достигается, когда лучи падают на поверхность перпендикулярно к ней, то есть направлены параллельно нормали этой поверхности. По мере отклонения лучей от нормали они освещают поверхность все слабее, а когда лучи оказываются перпендикулярны к нормали, они начинают скользить вдоль поверхности, совершенно не освещая ее. Именно поэтому те участки пола и потолка, которые находятся точно под или над всенаправленным источником, освещены сильнее, чем удаленные края этих объектов: просто на края свет падает под меньшими углами. То же самое относится и к стенам комнаты, а также ко всем остальным объектам сцены. Обратите также внимание на отсутствие теней от объектов — так принято по умолчанию для всех вновь создаваемых осветителей.
Не выходите из программы: в следующем упражнении мы будем продолжать начатую работу и попробуем изменить некоторые параметры Всенаправленного осветителя.
Создаем вывеску для «МАХ-кафе»
Воспользуемся только что полученными знаниями и создадим для нашего проекта «МАХ-кафе» вывеску в виде строки сплайна-текста. Итак, повторяйте:
1. Запустите или перезагрузите max 7.5 и откройте ранее сохраненную сцену MAX-kafe03.max, содержащую, как вы помните, «выстроенное» в предыдущей главе здание кафе. Если вы не сохранили или не создали эту сцену, то откройте файл MAX-kafe03.max, расположенный в папке Scenes\Glava__06 компакт-диска, прилагающегося к книге. Сразу же после загрузки сохраните файл с инкрементированием имени.
2. Щелкните на кнопке Shapes (Формы) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Splines (Сплайны). Щелкните на кнопке инструмента Text (Текст).
3. Выберите в списке шрифтов свитка Parameters (Параметры) какую-нибудь симпатичную гарнитуру, подходящую для вывески кафе. Я использовал шрифт Matura MT Script Capitals. Если на вашем компьютере не установлен такой шрифт, выберите любую другую гарнитуру на свой вкус. Щелкните на кнопке I (Курсив), чтобы установить курсивное начертание символов. Задайте размер символов порядка 70 см. Введите в поле Text (Текст) строку Cafe MAX Ваг.
4. Разверните свиток General (Общие свойства) и установите в разделе Rendering (Визуализация) флажок Renderable (Визуализируемый). Задайте видимую толщину линии сплайна в счетчике Thickness (Толщина) равной 5 см. Установите флажок Generate Mapping Coords (Проекционные координаты).
5. Переместите курсор в окно проекции Front (Вид спереди), установите его примерно посередине верхней половины фронтальной стены и щелкните кнопкой мыши. Надпись будет создана на координатной плоскости, поэтому в режиме тонированного показа ее пока не видно: она заслоняется фасадом. Чтобы увидеть надпись, включите в окне проекции режим каркасного отображения, нажав клавишу F3. Выберите для символов текста подходящий цвет, например светло-голубой, и назовите этот объект Viveska.
6. Переместите надпись на положенное ей место — чуть впереди фасада здания. Щелкните на кнопке инструмента Select and Move (Выделить и перемесить). Убедитесь, что надпись все еще выделена, а если нет, то выделите ее. Проверьте, чтобы не была нажата кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) в строке состояния, и введите в поля отсчетов координат требуемые координаты положения вывески (0; -330; -300). В результате надпись расположится на 10 см впереди фасада, как показано на рис. 6.9.

Рис. 6.9. На фасаде здания МАХ-кафе появилась вывеска, которую в дальнейшем мы заставим сиять как неоновую рекламу
7. Сохраните файл сцены.
Создаем «земную твердь» для сцены «МАХ-кафе»
Воспользуйтесь только что полученными знаниями, чтобы создать первый элемент представленной в главе 1 сцены «МАХ-кафе» — опорную поверхность для размещения остальных объектов сцены.
1. Запустите программу max 7.5, выберите команду меню File > Open (Файл > Открыть) и загрузите подготовленный в главе 3 файл пустой сцены с именем MAX-kafe.max. Как вы помните, в этом файле хранятся предварительно подготовленные нами настройки единиц измерения, сетки и привязок. Если вы не создавали файла с такими настройками, то загрузите файл MAX-kafe.max из папки \Scenes\Glava_05 компакт-диска, сопровождающего книгу, — это как раз то, что требуется. Сохраните только что загруженный файл под именем MAX-kafe01.max. С этой целью выберите команду меню File > Save As (Файл > Сохранить как) и щелкните в появившемся окне диалога на кнопке со знаком «плюс» слева от кнопки Save (Сохранить).
| ЗАМЕЧАНИЕ Напомню, что сохранение только что загруженного файла под инкрементированным именем не только является «хорошим тоном» разработчика трехмерных сцен, но и позволяет при необходимости восстановить исходный файл и начать текущий сеанс редактирования заново. |
2. Уменьшите масштаб в окнах проекций. Для этого щелкните на кнопке Zoom All (Масштаб всех окон), переместите курсор в окно Tор (Вид сверху), щелкните кнопкой мыши и перетащите курсор вниз. Уменьшить масштаб нужно примерно так, чтобы по вертикали в этом окне уместились четыре полные большие клетки, образованные главными линиями координатной сетки. При этом размер каждой мелкой ячейки сетки должен составлять 1 м (Grid = 100 см), а большой клетки — 1000 см, то есть 10 м.
3. Постройте плоскость размером 30x40 м, призванную играть роль «земной тверди» — опорной поверхности, на которой будут размещаться все остальные объекты. Для этого щелкните на кнопке Plane (Плоскость) в свитке Object Tуре (Тип объекта) командной панели Create (Создать). Переместите курсор в окно проекции Tор (Вид сверху), установите его в точку с координатами (-2000; 1500; 0), щелкните кнопкой мыши и перетащите курсор по диагонали в точку (2000; -1500; 0). Отпустите кнопку мыши, фиксируя размеры плоскости, показанной на рис. 5.8.

Рис. 5.8. Вид сверху на плоскость-основание сцены «МАХ-кафе»
4. Перейдите на командную панель Create (Создать) и установите в свитке Parameters (Параметры) флажок Generate Mapping Coords (Проекционные координаты). Измените имя объекта в свитке Name and Color (Имя и цвет), назвав его Osnovanie sceni. При необходимости можете также изменить цвет объекта на более приемлемый для «земной тверди», например на бежевый или коричневый.
5. Сохраните сцену.
Строим сферу и слегка настраиваем ее параметры
Итак, пусть вашим первым трехмерным объектом станет сфера — шар, симметричный со всех сторон. Куда уж проще! Для создания сферы выполните шаг за шагом следующие действия:
Запустите max 7.5, переместите курсор на командную панель Create (Создать) и щелкните на кнопке Sphere (Сфера) в свитке Object Type (Тип объекта). Кнопка зафиксируется и подсветится желтым цветом, как показано на рис. 3.1.

Рис. 3.1. На командной панели Create нажата кнопка Sphere
Переместите курсор в окно проекции Тор (Вид сверху), где он примет вид перекрестья, и установите перекрестье в центр окна, в точку пересечения толстых черных линий - осей сетки координат. Щелкните кнопкой мыши и, удерживая ее, перетащите курсор в сторону от центра, наблюдая за тем, как увеличивается в размерах создаваемый объект-сфера. Когда сфера почти заполнит собой окно проекции Perspective (Перспектива), отпустите кнопку мыши. В окнах проекций Тор (Вид сверху), Front (Вид спереди) и Left (Вид слева) сфера изображается в виде «проволочного каркаса», образованного ребрами между гранями, а в окне Perspective (Перспектива) — в виде тонированной оболочки, как показано на рис. 3.2. Линии каркаса имеют белый цвет. Таким цветом в окнах проекций max 7.5 изображаются каркасы выделенных (selected) объектов, а всякий вновь созданный объект непосредственно после создания оказывается выделенным, то есть подготовленным к преобразованиям или редактированию.

Рис. 3.2. Вид экрана max 7.5 с объектом-сферой в окнах проекций
Посмотрите на свиток Parameters (Параметры) в нижней части командной панели Create (Создать). В счетчике Radius (Радиус) вы увидите значение радиуса только что созданной сферы, оно должно составлять что-нибудь около 65-70 единиц. Чтобы задать точное значение радиуса, щелкните в поле счетчика Radius (Радиус), измените число на 65 и нажмите клавишу Enter или Tab. В счетчике Segments (Сегментов) указывается число частей, на которые разбивается оболочка сферы по ее экватору. По умолчанию сегментов 32, и это хорошо видно в окне Тор (Вид сверху). Такое число сегментов вполне нас устроит.
a
Чтобы выключить режим создания сфер, переместите курсор в активное окно проекции и щелкните правой кнопкой мыши или щелкните левой кнопкой мыши на кнопке инструмента Select Object (Выделить объект). Кнопка Sphere (Сфера) перейдет в исходное состояние, а курсор из перекрестья снова превратится в наклонную стрелку.
|
СОВЕТ Ошибки на первых порах неизбежны. Но не забывайте о том, что в вашем распоряжении есть инструменты Undo (Отменить) и Redo (Повторить). Совершив ошибку, щелкните на кнопке Undo (Отменить) или нажмите клавиши Ctrl+z, и ошибочное действие будет отменено. Если же вы по ошибке отменили операцию, щелкните на кнопке Redo (Повторить) или нажмите клавиши Ctrl+a, чтобы повторить ее снова. |
Создаем крестовину для новогодней елки
В этом упражнении мы попробуем слегка отредактировать форму примитива-параллелепипеда, преобразовав его предварительно в редактируемую сетку, с целью формирования довольно простого объекта — крестовины для новогодней елки. В следующей главе вы сможете подробнее узнать о том, что моделирование объектов путем редактирования сетки параллелепипеда является довольно эффективным способом создания трехмерных тел произвольной формы.
Выполните следующие действия:
1. Перезагрузите программу max 7.5 и сохраните пустую сцену под именем Krestovina.max.
2. Постройте стандартный примитив Box (Параллелепипед) с размерами 25-30 см в длину, 65-70 см в ширину и 9-10 см в высоту. Установите для него число сегментов по ширине равным 4 и превратите в объект типа Editable Mesh (Редактируемая сетка). Этот параллелепипед будет играть роль деревянного бруска, который нам предстоит обработать, чтобы выстроить крестовину.
3. Переключитесь на уровень выделения подобъекта Edge (Ребро) и аккуратно выделите только два верхних ребра по краям бруска. В свитке Edit Geometry (Правка геометрии) щелкните на кнопке Chamfer (Срез). Действие данного инструмента состоит в том, что он как бы расщепляет выделенное ребро на два, которые раздвигаются в стороны друг от друга. Если ребро находится на краю сетки, то край притупляется. Результат напоминает тот, какой получается, когда пройдешься рубанком, держа его под наклоном, по краю бруска — край срезается и появляется фаска. Переместите курсор в окно проекции и установите на любое из выделенных ребер. Когда указатель мыши примет вид значка режима среза, показанного на рис. 8.36, щелкните кнопкой мыши и начинайте перетаскивать курсор, увеличивая срез в интерактивном режиме. Обратите внимание на то, что срез обоих ребер на противоположных торцах бруска происходит совершенно симметрично. Получив нужную фаску, отпустите кнопку мыши, а для завершения операции щелкните правой кнопкой мыши.

Рис. 8.36. Создание симметричных фасок на месте двух торцевых ребер параллелепипеда с помощью инструмента Chamfer
4. Теперь постройте фаски на месте продольных ребер верхнего края бруска. Выделите эти ребра. Из-за увеличенной продольной сегментации их будет не два, а восемь — по четыре с каждой стороны. Примените к ним тот же инструмент Chamfer (Срез), и «облагораживание» нашего бруска будет завершено, как показано на рис. 8.37.

Рис. 8.37. В дополнение к торцевым срезаны еще и боковые ребра бруска
5. Чтобы реальная крестовина стояла более устойчиво и не раскачивалась, на концах составляющих ее брусков обычно делают выступы снизу. Сформируем и мы такие выступы, применив для этого инструмент выдавливания граней. Переключитесь на уровень выделения подобъекта Polygon (Полигон). Слегка наклоните плоскость проекции окна вида спереди, чтобы стали видимыми полигоны нижней поверхности бруска. Выделите два крайних полигона и, действуя, как было описано в предыдущем упражнении, выдавите их с помощью инструмента Extrude (Выдавить) примерно на 1,5 см. Полученный результат хорошо виден на рис. 8.38.

Рис. 8.38. С помощью выдавливания полигонов на нижней поверхности бруска сформированы два выступа
6. Теперь нужно создать дубликат бруска, повернуть его на 90° и объединить с первым бруском, построив собственно крестовину. Выделите брусок в окне проекции Тор (Вид сверху) и выберите команду меню Edit > Clone (Правка > Дублировать), создав дубликат-копию. Затем щелкните на кнопке инструмента Select and Rotate (Выделить и повернуть) и введите число 90 в поле отсчета координаты Z в строке состояния. У вас должна получиться конструкция, подобная показанной на рис. 8.39.

Рис. 8.39. Из бруска и его копии построена крестовина
7. Выделите один из брусков и объедините его со вторым, создав составной объект типа Boolean (Булевский) и применив операцию Union (Объединение). Остается только проделать в центре крестовины отверстие для елки. Это отверстие тоже создайте методом булевского исключения, подготовив предварительно подходящий примитив-цилиндр радиусом порядка 12 см. Назовите полученный объект Krestovina и превратите его в сетку. В заключение сохраните объект в файле под именем Krestovina.max. На рис. 8.40 показан итоговый вид выстроенной крестовины. Можете сравнить то, что у вас получилось, с моделью крестовины, хранящейся в папке Scenes\Glava_08 прилагающегося к книге компакт-диска в файле с таким же именем.

Рис. 8.40. Отверстие в центре крестовины — завершающий штрих модели
Надеюсь, вы получили начальное представление о редактировании стандартных сеток на уровнях различных подобъектов. Теперь немного потренируемся в работе с редактируемыми полисетками, создав для нашего кафе «МАХ» окно и дверь.
Создаем салют над зданием кафе «МАХ»
Тихо падают снежинки на землю, горит неоновая вывеска кафе «МАХ», и в это время раздается громкий хлопок — над крышей здания разлетаются в разные стороны искры новогоднего фейерверка. Взлетая в небо, залп салюта взрывается сотнями светящихся огней. Ну как, впечатляет? Тогда попробуем создать такой салют.
Для его моделирования будем использовать источник частиц PF Source (Источник потока частиц).
1. Загрузите файл MAX-kafe05a.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Он содержит здание кафе с проемами для окна и двери, а также дополнительный объект — направленную камеру, через которую можно наблюдать сцену. Активизируйте окно проекции Perspective (Перспектива). По умолчанию в max 7.5 длина анимации составляет 100 кадров, что равняется примерно трем секундам. Поскольку ни один салют не длится три секунды, необходимо увеличить продолжительность анимации. Для этого нажмите кнопку Time Configuration (Настройка временных интервалов) и установите параметр Length (Продолжительность) равным тремстам кадрам. Подробнее о настройках окна Time Configuration (Настройка временных интервалов) вы узнаете в главе 15.
2. Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке PF Source (Источник потока частиц) в свитке Object Type (Тип объекта). После нажатия кнопки PF Source (Источник потока частиц) вы увидите на командной панели Create (Создать) параметры потока частиц. Перейдите ко второму свитку — Emission (Испускание) и выберите форму значка источника частиц. Для этого раскройте список Icon Type (Тип значка) и выберите вариант Circle (Круг). Щелкните в окне проекции и разместите источник частиц в окне проекции таким образом, чтобы он располагался позади здания кафе «МАХ» (рис. 7.65). Обратите внимание на то, что источник частиц сразу же будет создан в форме круга, так как мы выбрали сто форму заранее. Если же создать объект PF Source (Источник потока частиц) с настройками по умолчанию, он будет создан в виде прямоугольника (Rectangle). Чтобы изменить его форму после создания в окне проекции, перейдите на командную панель Modify (Изменить) и установите вариант Circle (Круг) в списке Icon Type (Тип значка). После выбора круглой формы источника частиц его настройки, расположенные в свитке Emission (Испускание), изменятся. Если при использовании формы Rectangle (Прямоугольник) можно задать длину объекта, то при выборе варианта Circle (Круг) нужно будет указать диаметр. Установите курсор в поле Diameter (Диаметр) и введите значение 152.

Рис. 7.65. Размещение системы частиц типа PF Source в составе сцены «МАХ-кафе»
3. Поскольку при салюте частицы испускаются вверх, а не вниз, нужно перевернуть источник частиц, направив его вверх. Если теперь щелкнуть на кнопке Play Animation (Воспроизвести анимацию), можно увидеть, что движение частиц мало напоминает россыпи настоящего салюта. Поэтому нужно определить события, настроив тем самым желаемый эффект. Для выполнения настройки событий, управляющих поведением настройки частиц, перейдите к свитку Setup (Настройка) и нажмите кнопку Particle View (Просмотр частиц). Вы увидите окно диалога с таким же названием. Для его вызова можно также нажать клавишу 6. В окне Particle View (Просмотр частиц) уже присутствуют два первых события с названиями PF Source 01 (Источник потока частиц 01) и Event 01 (Событие 01). В состав первого события, которое является глобальным, входит оператор Render (Визуализация), благодаря которому все частицы могут быть визуализированы. В состав первого локального события Event 01 (Событие 01) входят операторы Birth (Рождение), Position Icon (Положение значка), Speed (Скорость), Rotation (Вращение), Shape (Форма) и Display (Отображение).
4. Прежде чем создавать праздничный фейерверк, необходимо представить себе, какой должна быть траектория движения частиц. Составление диаграммы событий — задача не из легких. Для того чтобы построить событийную модель и правильно выбрать параметры каждого из событий, необходимо хорошо себе представлять, какие действия должны происходить с частицами. В нашем случае частицы рождаются и летят вверх. Каждый залп праздничного салюта оставляет позади себя немного растянутый хвост. По достижении определенной высоты хвост должен исчезнуть, и в этом месте должен произойти разлет частиц во все стороны. Таким образом, мы будем создавать несколько событий: событие, которое породит частицы (1), событие, которое позволит создать хвост летящего залпа (2), событие, определяющее высоту, на которой произойдет взрыв пиротехнического заряда (3), и, наконец, событие, определяющее поведение частиц при взрыве фейерверка (4). Как видите, сцена довольно сложная, но попробуем шаг за шагом ее воссоздать.
5. Начнем с первого события. Первое, что необходимо сделать, — увеличить время, в течение которого источником испускаются частицы. Выделите в прямоугольнике Event 01 (Событие 01) оператор Birth (Рождение) и измените значение Emit Stop (Окончание времени испускания частиц) с 30 на 150.
|
ПРИМЕЧАНИЕ Обратите внимание, что после того, как будут изменены параметры оператора Birth (Рождение) в списке окна Event 01 (Событие 01), он будет отображаться несколько по-иному — теперь пояснительная надпись рядом с оператором будет содержать новую информацию о продолжительности испускания частиц. Такие пояснительные надписи содержатся рядом со многими другими операторами, использующимися при описании событийной модели. Они помогают быстрее разобраться в общей схеме событий, а также представить себе, как будет происходить движение потока частиц. |
6. Настройки оператора Position Icon (Положение значка), определяющего форму эмитирующей поверхности, оставляем без изменений. Третий по счету, оператор Speed (Скорость) содержит настройки скорости движения частиц. Выделите его в списке окна события Event 01 (Событие 01) и измените значение параметра Speed (Скорость), задав его равным 462. Как видно по вспомогательной надписи Along Icon Arrow (Вдоль указателя стрелки) возле названия данного оператора, направление распространения частиц происходит вдоль схематической стрелки-указателя на значке объекта PFSource (Источник потока частиц). Поскольку направление частиц совпадает с направлением предполагаемого салюта, изменять параметр Direction (Направление) не нужно. Следующий оператор, который нужно настроить, — Rotation (Вращение). Выделите его и выберите на панели параметров в выпадающем списке Orientation Matrix (Ориентация матрицы частиц) строчку Speed Space (Скорость объема). Это позволит сориентировать частицы вдоль вектора скорости потока. Оператор Shape (Форма) по умолчанию содержит тип отображаемой поверхности Tetra (Тетраэдр), который устанавливается в выпадающем списке Shape (Форма). Измените размеры тетраэдра, уменьшив значение параметра Size (Размер) до 0,02. Последний оператор в этом списке, который отвечает за схематическое отображение частиц в окнах проекций, — Display (Отображение). Его настройки оставьте без изменений.
7. Выберите в библиотеке элементов тест Age Test (Возрастной тест) и, захватив его значок мышкой, перетащите в окно события. Расположите его таким образом, чтобы он располагался сразу после оператора Display (Отображение). На этом этапе мы разделим общий поток частиц, отсортировав те частицы, возраст которых превысил семьдесят пять кадров. Для этого выделите строчку Age Test (Возрастной тест) и на панели параметров задайте значение параметра Test Value (Значение теста) равным 75, а значение Variation (Вариации) — 0. При этом следует проследить, чтобы переключатель Test True If Particle Value (Выполнить тест для частиц) в свитке настроек теста Age Test был установлен в положение Is Greater Than Test Value (Если превышено значение теста). Частицы, для которых не выполняется условие теста Age Test (Возрастной тест), должны перейти к следующему событию.
8. Добавьте в первое событие еще один тест — Spawn (Порождение). Этот тест вызовет рождение новых частиц, исходящих из первоначальных. Именно благодаря частицам, порожденным в результате использования теста Spawn (Порождение), можно будет наблюдать хвост каждого залпа. Этот тест также позволит направить частицы к следующему событию, описывающему характер поведения новых частиц. Перетащите на свободную область панели событий оператор Speed (Скорость). При этом автоматически будет создано второе событие (рис. 7.66). Соедините тест Spawn (Порождение) со вторым событием. Для этого подведите курсор к синей точке, имеющейся на выходе теста и расположенной слева от значка в форме ромба. Курсор примет вид четырехконечной стрелки. Перетащите курсор ко входу второго события и установите его на кружок над входом.

Рис. 7.66. Создание второго события
9. Теперь давайте определимся, как должны вести себя частицы, образующие хвост залпа. Они должны возникать по пути следования первоначальных частиц и исчезать через некоторое время. При этом они не должны разлетаться, иначе хвост «развеется». Выделите оператор Speed (Скорость) и установите значение одноименного параметра равным нулю. Благодаря этому частицы будут стоять на месте. Теперь добавьте к событию оператор Delete (Удалить). С его помощью можно ограничить длину хвоста. Выделите его на панели событий и установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). После этого станут активными параметры Life Span (Время жизни) и Variation (Вариации). Установите значение первого параметра равным 12. Это означает, что частицы будут существовать в течение 12-ти кадров после рождения, после чего будут исчезать. По ходу движения первоначальных частиц постоянно будут появляться новые частицы, порожденные ранее, будут исчезать, а на анимации это будет выглядеть как движущийся хвост. Значение параметра Variation (Вариации) установите равным нулю. Добавьте во второе событие еще один оператор — Shape Facing (Вид частиц). Он служит для того, чтобы частицы, имитирующие салют, все время были обращены к камере плоской стороной. Также с его помощью можно управлять размером этих частиц. Перейдите к параметрам этого оператора и нажмите кнопку Look At Camera/ Object (Связать с камерой/Объектом) и укажите в сцене камеру, через которую будет производиться наблюдение за событиями. В группе настроек Size/Width (Размер/Ширина) проверьте, чтобы переключатель был установлен в положении In World Space (В глобальном пространстве) и в поле Units (Единицы) введите число 3. Для того чтобы наблюдать салют в окне проекции, оператор Shape Facing (Вид частиц) вам не нужен, он понадобится при визуализации эффекта.
10. Перейдем к третьему событию, которое, как вы, наверное, помните, должно определять высоту, на которой произойдет взрыв пиротехнического заряда салюта. Для его создания выберите тест Spawn (Порождение) из библиотеки и перетащите на пустое место в окно событий. В настройках теста установите переключатель Spawn Rate And Amount (Количество и частота порождений) в положение By Travel Distance (По пути следования). Выберите значение параметров Step Size (Размер шага) равным 1,7, Spawnable % % (Процент порождающих частиц) — 100, Offspring # # (Количество новых частиц) — 100, Variation % (Вариации) — 25. В группе настроек Speed (Скорость) установите переключатель в положение Inherited % (Унаследовать) и установите значение 0. Для параметра Variation % (Вариации) в этой группе также выберите значение 0. Параметр Divergence (Дивергенция) установите равным 16. Под влияние третьего события должны попадать только те частицы, возраст которых превышает 75 кадров. Ранее мы создали тест Age Test (Возрастной тест) в первом событии. Именно его нужно связать с третьим событием.
11. Добавьте к третьему событию уже знакомый вам оператор Speed (Скорость), отвечающий за скорость частиц. Значение параметра Speed (Скорость) установите равным 50, Variation (Вариации) равным нулю, а в раскрывающемся списке Direction (Направление) выберите пункт Along Icon Arrow (Вдоль указателя стрелки). Теперь добавим в событие еще один знакомый нам оператор Delete (Удалить), который будет удалять частицы, достигшие высоты, на которой будет происходить взрыв салюта. В настройках оператора установите переключатель Remove (Убирать) в положение By Particle Age (По возрасту частиц). Значение параметра Life Span (Время жизни) установите равным 80, a Variation (Вариации) равным нулю.
12. Для того чтобы траектория движения частиц была более реалистичной, на них должна действовать сила земного притяжения. Для имитации эффекта гравитации в сцену необходимо добавить объемную деформацию Gravity (Гравитация). Сверните окно Particle View (Просмотр частиц), после чего щелкните на кнопке категории SpaceWarps (Объемные деформации) командной панели Create (Создать) и выберите вариант Forces (Силы) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке Gravity (Гравитация) и создайте объемную деформацию в произвольном месте сцены. В свитке Parameters (Параметры) установите переключатель в положение Planar (Плоский фронт) и укажите значение параметра Strength (Сила) равным 0,2. Благодаря этому воздействие гравитации будет происходить только в направлении значка. Для того чтобы на частицы воздействовала сила гравитации, добавьте оператор Force (Сила) в третье событие. В настройках оператора с помощью кнопки Add (Добавить) добавьте в список Force Spacewarps (Действующие объемные деформации) созданную объемную деформацию Gravity (Гравитация), а значение параметра Influence % (Процент влияния) установите равным 70. Завершая настройку события, добавьте в него оператор Shape Facing (Вид частиц). Поскольку его параметры практически полностью будут совпадать с настройками одноименного оператора, использующегося во втором событии, проще просто скопировать его. Для этого щелкните по оператору правой кнопкой мыши и в контекстном меню выберите пункт Сору (Копировать) (рис. 7.67). Затем щелкните правой кнопкой в области третьего события и выберите пункт Paste (Вставить). Установите значение параметра Units (Единицы) равным 1.

Рис. 7.67. Копирование оператора Shape Facing
13. Наконец, перейдем к настройке последнего события, которое будет определять поведение частиц при взрыве фейерверка. Для того чтобы частицы разлетелись в разные стороны, необходимо в настройках оператора Speed (Скорость) указать случайное направление вектора скорости каждой частицы. Добавьте этот оператор на панель событий, тем самым создав четвертое событие. В списке Direction (Направление) выберите пункт Random 3D (Случайное 3D). Скопируйте оператор Force (Сила) из третьего события и установите значение параметра Influence % (Процент влияния) равным 500. На некотором расстоянии от эпицентра взрыва фейерверка искры должны потухнуть. Это означает, что частицы, имитирующие их, должны быть удалены. Поэтому снова обратимся к оператору Delete (Удалить). Вы можете создать новый оператор пли же скопировать его из второго или из третьего события. В настройках оператора установите значение параметра Life Span (Время жизни) равным 13. Завершим настройку события, добавив в него оператор Shape Facing (Вид частиц). Установите значение параметра Units (Единицы) равным 7. Используя тест Spawn (Порождение), свяжите третье событие с четвертым. Конечная диаграмма событий будет выглядеть, как на рис. 7.68.

Рис. 7.68. Конечная диаграмма событий
14. Закройте окно Particle View (Просмотр частиц) и нажмите кнопку Play Animation (Воспроизвести анимацию). Вы увидите, что над зданием кафе «МАХ» происходит праздничный салют (рис. 7.69). Сохраните сцену под названием MAX-kafe_salut.max. В папке Animation\Glava07 вы можете посмотреть, как выглядит этот эффект, запустив файл salut.avi.

Рис. 7.69. Праздничный салют над зданием кафе «МАХ»
Всенаправленный осветитель в роли проектора
Теперь попробуем с пользой применить полученные сведения о проекторах для нашего основного проекта «МАХ-кафе». Настроим ранее выключенный Всенаправленный осветитель, призванный имитировать свет от огня горящих поленьев, чтобы он отбрасывал на стены кафе случайные пятна света, подобно настоящему пламени.
Выполните следующие действия:
1. Включите осветитель, который будет изображать огонь камина, установив флажок On (Вкл.) в верхней части свитка General Parameters (Общие параметры). Настройте параметры осветителя следующим образом. Включите режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) этого же свитка, и убедитесь в том, что тени имеют тип Shadow Maps (Карты теней). Задайте значение параметра Multiplier (Усилитель) в свитке Intensity/ Color/Attenuation (Интенсивность/цвет/затухание) равным 2,0. Придайте цвету освещения красновато-оранжевый оттенок. С этой целью щелкните на образце цвета освещения и установите следующие значения компонентов цвета осветителя: R - 255, G - 143, В = 87.
2. Установите в свитке Advanced Effects (Дополнительные эффекты) флажок Map (Карта) и щелкните на расположенной справа от него кнопке с' надписью None (Отсутствует). Появится окно диалога Material/Map Browser (Просмотр материалов/карт текстур). Дважды щелкните в списке окна на строке с именем карты текстуры Noise (Случайные пятна). Основное предназначение этой текстурной карты — «портить» чересчур однородную картину материала или светового пятна, делая ее пятнистой, а значит — более реалистичной. В данном случае эта карта позволит нам смоделировать случайные пятна световых бликов, отбрасываемых огнем камина на стены комнаты.
| ЗАМЕЧАНИЕ Опять мы вынуждены забегать вперед и говорить о картах текстур, с которыми нам предстоит познакомиться только в главе 14, «Учимся применять карты текстур и многокомпонентные материалы». Что поделать, в реальной жизни редко удается действовать по строгому плану. |
3. Назначенная карта уже действует, используя установленные по умолчанию значения параметров случайных пятен. Убедитесь в этом, выключив все осветители, кроме настраиваемого Всенаправленного источника, и выполнив пробную визуализацию сцены. Вы должны получить картину, подобную показанной на рис. 11.32. Не будем пока настраивать параметры карты случайных пятен, этим мы займемся в главе 13. Сохраните файл сцены под заданным ранее именем MAX-kafe10.max, но не выходите из программы.

Рис. 11.32. Всенаправленный осветитель с примененной к нему картой текстуры случайных пятен
Заставляем дрова в камине гореть ярким пламенем
Если новогодняя елка «загоралась» иносказательно, то в этом упражнении нам предстоит создать анимацию пламени горящих в камине дров, да так, чтобы этот огонь выглядел «как настоящий». В ходе выполнения упражнения мы, помимо пламени, произведем анимацию материала поленьев и карты неоднородностей, проецируемой источником света, а также узнаем, как заставить тени слегка приплясывать.
Для анимации огня камина выполните следующие действия:
1. Откройте имеющийся у вас файл MAX-kafe22.max или загрузите файл МАХ-kafe22.max, находящийся в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге. Этот файл содержит настроенный в предыдущей главе эффект горения поленьев. Сохраните файл под именем MAX-kafe (gorenie).max.
2. Сначала выполним анимацию собственно пламени. Раскройте окно диалога Environment (Внешняя среда), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Щелкните на строке Fog (Туман) и сбросьте флажок Active (Активен), чтобы упростить процесс визуализации. Затем щелкните на строке Fire Effect (Горение) в списке Effects (Эффекты) окна и прокрутите область свитков вверх, чтобы стали видны параметры пламени.
3. Параметры, управляющие анимацией пламени, находятся в разделе Motion (Движение). Их всего два: Phase (Фаза) — задает частоту мерцания вспышек пламени; Drift (Дрейф) — задает скорость разрастания пламени. Для открытого огня, вроде пламени горящих дров или свечи, параметр Phase (Фаза) рекомендуется устанавливать не слишком большим, скажем, 50-70 на 100 кадров, иначе мелькание языков огня будет слишком частым. Величину дрейфа, напротив, рекомендуется делать побольше, порядка нескольких сотен, чтобы пламя рвалось вверх. Для выполнения анимации горения щелкните на кнопке Auto Key (Автоключ). В кадре № 0 установите нулевые или близкие к нулю значения обоих параметров, фазы и дрейфа. Затем перейдите к кадру № 100 и установите в счетчике Phase (Фаза) значение 60, а в счетчике Drift (Дрейф) — скажем, 200. Выключите режим анимации. Точных рецептов нет: нужно выполнить пробную визуализацию и, если вид пламени вас не устроит, поменять значения параметров и визуализировать изображение снова.
4. Опыт показывает, что использованное нами в предыдущей главе значение параметра Density (Плотность) пламени, равное 60, подходит для визуализации отдельного статичного кадра, но оказывается чрезмерным при визуализации анимации языков огня. Уменьшим это значение, скажем, до 30. Чтобы эффект горения был более выразителен, уменьшите общий уровень освещенности в помещении кафе. Например, выключите все осветители, кроме трех: одного Всенаправленного, изображающего лампу на стене, противоположной камину (Omni01), и двух (Omni02 и Отп03) — в роли ламп на стене, к которой прилегает камин. Свет этих двух ламп не будет попадать в топку камина и не ослабит эффект пламени. Разумеется, необходимо также оставить включенным осветитель, расположенный внутри топки и призванный имитировать свет от пламени. Кстати, его яркость (параметр Multiplier) имеет смысл увеличить, скажем, до 6, учитывая не слишком светлый оранжевый оттенок цвета.
5. Выполните пробную визуализацию анимации. К сожалению, по отдельным кадрам, подобным изображению на рис. 16.54, никак нельзя составить впечатления о качестве горения. Оценить его, можно только просматривая анимацию в динамике. В итоге отладка этого эффекта при недостатке опыта может оказаться довольно мучительным процессом.

Рис. 16.54. Свет в помещении притушен, чтобы лучше были видны горящие дрова в камине
6. Впрочем, нам нужно двигаться дальше. Перейдем к анимации материала поленьев. Анимируемым параметром здесь также явится фаза, только это будет фаза неоднородности цветов градиента и фаза карты случайных неоднородностей, включенной в состав ячеистой карты, которая, в свою очередь, входит в состав карты градиента... (вспомните главу 13). Откройте окно Редактора материалов и активизируйте ячейку с образцом материала под названием Goriachie ugli. Щелкните на кнопке с буквой М справа от образца цвета Diffuse (Диффузный). Появятся свитки параметров карты градиента. В разделе Noise (Неоднородности) свитка Gradient Parameters (Параметры градиента) имеется счетчик Phase (Фаза). По умолчанию в нем установлено значение 0. Включите режим автоматической анимации, перейдите к кадру № 100 и установите в этом счетчике значение 60. Выключите режим анимации.
|
ЗАМЕЧАНИЕ Только не перепутайте раздел Noise (Неоднородности) свитка Gradient Parameters (Параметры градиента) и свиток Noise (Неоднородности), который также имеется у карты текстуры градиента. Настройки раздела Noise (Неоднородности) делают неоднородными цвета, создающие градиент, а настройки свитка Noise (Неоднородности) ведут к искажению всей картины градиента в целом. |
7. Щелкните в свитке Gradient Parameters (Параметры градиента) на кнопке с надписью Map # 1 (Cellular) (Карта № 1 (Ячеистая)). В появившемся свитке параметров ячеистой карты щелкните на кнопке Map # 2 (Noise) (Карта № 2 (Неоднородности)). В очередном свитке Noise Parameters (Параметры неоднородностей) снова найдите счетчик Phase (Фаза). Включите режим анимации, перейдите к кадру № 100 и установите в этом счетчике значение 40, чтобы обеспечить мерцание ячеек текстуры. Выключите режим анимации. Можете протестировать качество мерцания материала, медленно перетаскивая ползунок таймера и наблюдая за образцом в ячейке Редактора материалов.
8. Теперь следует настроить анимацию карты неоднородностей, которая назначена осветителю, играющему роль света пламени. Эти пятна будут проецироваться в процессе анимации на стенки топки, пол и стены кафе, создавая впечатление мерцания открытого огня. Выделите источник света Omni05. На командной панели Modify (Изменить) в свитке Projector Parameters (Параметры проектора) этого осветителя на единственной кнопке должна читаться надпись Map #... (Noise) (Карта №... (Неоднородности)). Подобную карту мы применили к этому осветителю в главе 11. Для настройки ее анимации просто перетащите имя карты с кнопки панели Modify (Изменить) в свободную ячейку Редактора материалов, если это еще не сделано до сих пор. Выберите вариант Instance (Образец) в качестве типа дубликата карты, чтобы все изменения, сделанные в Редакторе материалов, автоматически сказывались на карте источника света. Активизируйте ячейку образца карты. В свитке Noise Parameters (Параметры неоднородностей) найдите все тот же счетчик Phase (Фаза). Включите режим анимации, перейдите к кадру № 100 и установите в счетчике значение 40. Частота мерцания пятен должна быть примерно согласована с частотой мерцания материала поленьев и языков пламени. В качестве размера пятен укажите в счетчике Size (Размер) также число 40.
9. Остается только заставить подергиваться источник света, чтобы отбрасываемые им тени немного плясали, как это бывает вблизи реального огня. Чтобы этого добиться, нужно применить к осветителю модификатор Noise (Неоднородности). Вы уже имели опыт работы с этим модификатором, но, возможно, не подозревали, что его можно применять к источникам света. Итак, выделите осветитель Omni05, раскройте список модификаторов на командной панели Modify (Изменить) и щелкните на строке Noise (Неоднородности). Настройте параметры модификатора в появившемся свитке. Установите Scale (Масштаб) = 10, а в разделе Strength (Амплитуда) задайте значение 15 в каждом из трех счетчиков X, Y и Z. Учитывая размеры топки камина, этого будет достаточно. Теперь настал черед анимации этого модификатора. В разделе Animation (Анимация) свитка параметров модификатора неоднородностей установите флажок Animate Noise (Анимация неоднородностей). Включите режим анимации, перейдите к кадру № 100 и введите значение 60 в магический счетчик Phase (Фаза). Переключите окно проекции в режим каркасного отображения и перетащите влево-вправо ползунок таймера анимации. Вы увидите, как источник света в топке камина покачивается и слегка подпрыгивает.
10. Теперь, когда вся подготовительная работа проделана, произведите визуализацию анимации горения. У вас должно получиться нечто, напоминающее анимацию MAX-kafe (gorenie).avi, которая имеется в папке Animations\Glava_16 компакт-диска, прилагающегося к книге. При необходимости можете загрузить файл описания сцены, по которой выполнена визуализация этой анимации. Такой файл с именем MAX-kafe (gorenie).max находится в папке Scenes\Glava_16 того же компакт-диска.
Каждый раз, когда создается ключ анимации, подвергаемому анимации параметру объекта автоматически назначается тот или иной тип контроллера. Инструменты строки треков позволяют настраивать параметры контроллера анимации в окне справки о ключах, но не дают возможности изменять тип контроллера. Эту возможность, а также полный набор средств настройки анимации предоставляет окно диалога Track View (Просмотр треков).
Создаем окно и дверь для кафе «МАХ» в виде полисеток
В ходе этого упражнения мы освоим некоторые уникальные для редактируемых полисеток инструменты.
1. Выполните перезагрузку max 7.5 и сохраните пустую сцену под именем Okno.max. Установите в окне вида спереди такой масштаб, чтобы размер координатной сетки по вертикали составлял около двух метров.
2. Создайте в окне вида спереди стандартный примитив Box (Параллелепипед) размером 180 см в длину (Length), 250 см в ширину (Width) и 22 см в высоту (Height). He изменяйте принятую по умолчанию сегментацию (по одному сегменту на каждое измерение). Превратите параллелепипед в редактируемую полисетку — объект типа Editable Poly — любым из ранее описанных способов.
3. Разверните дерево подобъектов редактируемой полисетки в окне стека модификаторов и выберите строку Polygon (Полигон). Нажмите клавишу q, чтобы выбрать инструмент Select Object (Выделить объект). Не устанавливая флажка Ignore Backfacing (Игнорировать изнаночные) в свитке Selection (Выделение), выделите рамкой переднюю сторону параллелепипеда в окне Front (Вид спереди). Рамку нужно построить так, чтобы она не пересекала краев параллелепипеда. В этом случае будут одновременно выделены передняя сторона параллелепипеда, обращенная к нам «лицом», и его задняя сторона, обращенная к нам изнанкой, а боковые стороны останутся не выделенными.
4. Приступим к формированию рамы окна. Для этого сначала воспользуемся новым инструментом Inset (Врезка), чтобы создать дополнительный набор ребер на некотором расстоянии от наружных краев переднего и заднего полигонов параллелепипеда. Это можно сделать и вручную, стоит лишь щелкнуть на кнопке Inset (Врезка) в свитке Edit Polygons (Правка полигонов), а затем установить курсор на выделенный полигон. Курсор примет вид режима врезки, как показано на рис. 8.41. После этого нужно щелкнуть кнопкой мыши и перетаскивать курсор вверх или вниз по экрану, наблюдая за появлением дубликатов ребер, ограничивающих полигон.

Рис. 8.41. Инструмент Inset позволяет создать внутри выделенного полигона уменьшенный дубликат набора ребер, ограничивающих полигон
5. Однако окно — элемент архитектуры, а это наука точная. Так что давайте освоим точный режим врезки. Для этого следует щелкнуть не на кнопке Inset (Врезка), а на расположенной справа от нее небольшой квадратной кнопке со значком, символизирующим окно системы Windows (взгляните на свиток Edit Polygons (Правка полигонов), показанный ранее на рис. 8.31). Появится окно диалога Inset Polygons (Врезка полигонов), показанное на рис. 8.42. Введите в счетчик Inset Amount (Величина врезки) значение 5 см, наблюдая, как в окнах проекций появляются новые ребра, смещенные относительно краев полигона точно на 5 см. Щелкните на кнопке ОК, чтобы закрыть окно, сохранив сделанную врезку. Кнопка Apply (Применить) позволяет при каждом щелчке на ней создавать новые наборы ребер, смещенных относительно предыдущих к центру полигона на то же самое расстояние, указанное в счетчике Inset Amount (Величина врезки). Если щелкнуть на кнопке Cancel (Отмена), то окно закроется без сохранения врезки.

Рис. 8.42.
Окно диалога Inset Polygons служит для точной настройки инструмента врезки
6. В результате операции врезки в пределах исходных полигонов передней и задней сторон параллелепипеда сформировалось по новому полигону, уменьшенному с каждой стороны на 5 см, причем оба они остались выделенными.
Выполним выдавливание этих полигонов внутрь параллелепипеда, чтобы на краях окна образовалась выступающая рамка. Выдавливание произведем с использованием окна диалога точной настройки параметров, вызываемого щелчком на маленькой квадратной кнопке со значком окна справа от кнопки Extrude (Выдавить) свитка Edit Polygons (Правка полигонов). Появится окно диалога Extrude Polygons (Выдавливание полигонов), подобное показанному на рис. 8.42 окну Inset Polygons (Врезка полигонов). Введите в счетчик Extrusion Height (Высота выдавливания) значение -1 см, следя за тем, как полигоны на передней и задней сторонах параллелепипеда слегка вдавливаются навстречу друг другу внутрь объекта, и щелкните на кнопке ОК.
7. Вдавленные полигоны по- прежнему остаются выделенными, так что работу с ними можно продолжать. Произведите еще одну врезку, на этот раз на 3 см, чтобы создать дополнительный уступ рамы окна. Затем, пользуясь тем, что полигоны все еще выделены, выполните выдавливание на -9 см. Тем самым мы сформируем заготовку для стеклянной части будущего окна, которая в итоге должна оказаться толщиной 2 см. На рис. 8.43 показано, как должен выглядеть в данный момент профиль сечения окна на виде сверху.

Рис. 8.43. Рама с двумя выступами и будущее стеклянное полотно окна сформированы за счет двукратного повторения последовательных операций врезки и экструзии
8. Наконец, применим еще один новый инструмент — Outline (Контур), чтобы сделать внутренние стороны рамы слегка наклонными. Так как два полигона, с которыми мы постоянно работаем и которые теперь представляют собой переднюю и заднюю стороны стеклянной части окна, все еще остаются выделенными, щелкните в свитке Edit Polygons (Правка полигонов) на маленькой квадратной кнопке справа от кнопки Outline (Контур). В появившемся окне диалога Outline Polygons (Оконтуривание полигонов) введите значение -1,5 см в счетчик Outline Amount (Величина оконтуривания) и щелкните на кнопке ОК. Профиль окна на виде сверху должен теперь выглядеть, как на рис. 8.44.

Рис. 8.44. Внутренние края рамы приобрели наклон за счет действия инструмента Outline, уменьшившего размер полигонов, которые изображают стекло окна
9. Назовите полученный объект Okno и сохраните его в файле под заданным в начале работы именем Okno.max. Вид перспективной проекции окна в целом приведен на рис. 8.45.

Рис. 8.45. Готовое окно для кафе «МАХ»
10. Займемся дверью, сделав ее двустворчатой, чтобы гостям легче было заходить в наше кафе. Теперь, когда вы получили опыт работы с полисетками, изготовление двери не должно вызвать затруднений. Выполните перезагрузку max 7.5 и сохраните пустую сцену под именем Dveri.max.
11. Создайте в окне вида спереди стандартный примитив Box (Параллелепипед) размером 200 см в длину (Length), 65 см в ширину (Width) и 5 см в высоту (Height). Вы, конечно, уже достаточно опытны и знаете, что понятия «длина», «ширина» и «высота» геометрических примитивов условны и меняются в зависимости от окна проекции, в котором создается объект. В данном случае «длина» соответствует высоте полотна будущей двери, а «высота» — его толщине. Оставьте по одному сегменту на высоту и ширину, как это и принято по умолчанию, а в счетчике Length Segs (Сегментов по длине) установите значение 2 (рис. 8.46). Превратите примитив в редактируемую полисетку.

Рис. 8.46. Заготовка для двери с двумя сегментами по высоте будущего полотна
12. Давайте сформируем для начала рамку полотна двери, создав на нем две филенки (то есть вставки, которые могут быть и стеклянными) сверху и снизу. Перейдя на уровень работы с подобъектом Polygon (Полигон), выделите рамкой оба передних и оба задних полигона параллелепипеда. Полигоны, ограничивающие полотно двери по бокам, не должны быть выделены. Используя точный вариант операции Inset (Врезка), постройте внутри каждого из четырех выделенных полигонов по новому полигону, который должен быть меньше исходного на 10 см с каждой стороны. Для этого, очевидно, нужно ввести величину 10 в счетчик Inset Amount (Величина врезки) окна диалога Inset Polygons (Врезка полигонов). Однако есть одна тонкость. До сих пор при выполнении операции врезки мы оставляли переключатель Inset Type (Тип врезки) в положении Group (Группой), как видно на приведенном ранее рис. 8.42. Теперь же нам нужно, чтобы между верхним и нижним полигонами створки двери тоже появилась рамка, так что установите данный переключатель в положение By Polygon (По полигонам). В завершение щелкните на кнопке ОК. Получившийся вид дверной створки показан на рис. 8.47.

Рис. 8.47. Выполнена операция врезки полигонов на передней и задней сторонах параллелепипеда
13. Пользуясь тем, что полигоны еще выделены, выполните их точное выдавливание на величину -2 см внутрь объекта. Затем примените к этим же полигонам инструмент Outline (Контур), чтобы сделать внутренние стороны рамы слегка наклонными. Скос на -1,5 см будет вполне достаточным. Вид сверху на профиль двери в данный момент показан на рис. 8.48.

Рис. 8.48. Профиль сечения створки двери а окне вида сверху после операций врезки, выдавливания и оконтуривания переднего и заднего полигонов
14. Назовите полученный объект Lev-Stvorka. Создайте дубликат данного объекта, назовите его PravStvorka и сместите вправо от оригинала ровно на ширину половинки двери, то есть на 65 см. Общий вид обеих створок двери в окне перспективной проекции показан на рис. 8.49.

Рис. 8.49. Готовые створки двери
15. Створки готовы, и настало время построить дверную коробку. Начнем с косяка. Создайте в окне вида сверху где-нибудь вблизи от левой створки двери примитив-параллелепипед размером 25x5x201 см. Превратите объект в редактируемую полисетку. Перед тем как продолжить редактирование косяка, выполним его выравнивание относительно левой створки.
16.

Для выравнивания косяка выделите его и щелкните на кнопке Align (Выровнять) главной панели инструментов max 7.5. Переместите курсор в окно проекции вида сверху, где он примет вид значка на кнопке инструмента. Укажите курсором на левую створку и, когда рядом с ним появится крестик (рис. 8.50), щелкните кнопкой мыши. Тем самым вы выберете левую створку двери в качестве опорного объекта для выравнивания косяка.

Рис. 8.50. Появление крестика рядом с курсором выравнивания указывает на то, что можно выбрать опорный объект
17. На экране появится окно диалога Align Selection (Выравнивание выделения), показанное на рис. 8.51. В название окна включается имя выбранного опорного объекта, в данном случае — LevStvorka. Обычно выравнивание по разным осям координат выполняют поочередно. Сначала заставим правый край косяка вплотную прижаться к левому краю створки двери Текущей системой координат является оконная (View). Горизонтальная ось координат окна проекции — это ось X. Чтобы выполнить выравнивание объектов вдоль этой осп, установим флажок X Position (Положение по X) в разделе Align Position (Screen) (Выравнивание положения (По экрану)). Теперь для выравнивания нужно задать какие-то характерные точки выделенного и опорного объектов. Ось X направлена по окну проекции слева направо. Нам нужно, чтобы к двери прижался правый край косяка, который обладает максимальным значением координаты X по сравнению со всеми остальными точками этого объекта. В связи с этим установим переключатель Current Object (Текущий объект) в положение Maximum (Максимум). Косяк должен прижаться к левому краю створки двери, обладающему минимальной координатой по оси X. Поэтому переключатель Target Object (Опорный объект) установим в положение Minimum (Минимум). Щелкнем на кнопке Apply (Применить), и выравнивание по оси X будет выполнено, а окно диалога останется на экране. При этом флажок X Position (Положение по X) будет автоматически сброшен.

Рис. 8.51. Окно диалога Align Selection с набором средств для выравнивания выделенного объекта относительно выбранного опорного объекта
18. Для выравнивания переднего края косяка с передним краем створки двери его нужно подвинуть в направлении оси Y. С этой целью установим флажок Y Position (Положение по Y). Оба переключателя Current Object (Текущий объект) и Target Object (Опорный объект) установим в положение Minimum (Минимум) и щелкнем на кнопке Apply (Применить). В заключение остается только выровнять нижний край косяка и нижний край створки. Это достигается установкой флажка Z Position (Положение по Z). Переключатели выбора характерных точек исходного и опорного объектов уже находятся в нужных положениях — Minimum (Минимум). На этот раз щелкните на кнопке ОК, чтобы после выравнивания окно диалога закрылось. Теперь левый косяк точно выровнен по положению относительно левой створки (рис. 8.52).

Рис. 8.52. Левый косяк двери точно выровнен относительно выбранного опорного объекта — левой створки двери
19. Чтобы посетители кафе не страдали от порывов ветра, задувающих в щели между дверью и косяком, сформируем на косяке выступ. Чтобы выдавить его, нам потребуется создать новое вертикальное ребро, освоив инструмент разрезания полисетки. Активизируйте окно вида справа и разверните его на весь экран. Выберите на дереве подобъектов редактируемой полисетки, играющей роль левого косяка, подобъект Edge (Ребро). Щелкните в свитке Edit Geometry (Правка геометрии) на кнопке Cut (Разрезать). Установите курсор на нижнее ребро косяка вблизи от заднего края створки двери и, когда курсор примет вид крестика со значком канцелярского ножа, щелкните кнопкой мыши и переместите курсор к верхнему ребру косяка. За курсором потянется новое ребро красного цвета, а перед курсором будут тянуться два «резиновых» ребра белого цвета, исходящих из верхних угловых вершин косяка, как показано на рис. 8.53. Если щелкнуть кнопкой мыши где-нибудь на полпути к верхнему ребру, создав новую вершину, то «резиновые» ребра зафиксируются и обеспечат новую сегментацию полигона. Когда вы подведете курсор к верхнему ребру косяка, эти два белых ребра исчезнут. Стараясь сделать новое ребро точно вертикальным, щелкните на верхнем ребре косяка. Затем щелкните правой кнопкой мыши один раз, чтобы закончить текущую операцию разрезки, и еще один раз, чтобы выключить режим разрезания. Если новое ребро получилось у вас не строго вертикальным, перейдите на уровень работы с вершинами полисетки и подвиньте крайние вершины нового ребра так, чтобы они располагались точно друг над другом.

Рис. 8.53. На внутренней стороне левого косяка в окне вида справа строим новое вертикальное ребро
20. Остается переключиться на уровень работы с полигонами, выделить в окне вида справа полигон, ограниченный новым ребром, и выдавить на косяке небольшой выступ высотой сантиметра три в сторону середины двери, как показано на рис. 8.54. Если окажется, что зазор между краем выступа и дверной створкой слишком велик, нужно на уровне подобъектов-вершин в окне вида сверху выделить рамкой пару вершин, показанных стрелкой на рис. 8.54 (на самом деле рамкой выделятся четыре вершины — две вверху и две внизу косяка), и сместить их по стрелке к створке.

Рис. 8.54. Если между выступом на внутренней стороне левого косяка и створкой двери остался зазор, подвиньте пару вершин по стрелке
21. Осталось совсем немного. Создайте зеркальную копию левого косяка с помощью инструмента Mirror Selected Objects (Отразить выделенные объекты), кнопка которого имеется на главной панели инструментов. Проследите, чтобы в окне диалога параметров зеркального отражения переключатель Clone Selection (Тип дубликата) был установлен в положение Сору (Копия). Разместите зеркальный дубликат косяка у правого края правой створки двери. Затем постройте в окне вида сверху еще один примитив-параллелепипед, который будет играть роль притолоки. Его размеры, очевидно, должны быть 25x140x5 см. Выровняйте притолоку, поместив ее сверху над косяками. Теперь освоим еще один инструмент, предназначенный для объединения разрозненных и даже разнотипных объектов в единую полисетку. Выделите один из косяков и щелкните на кнопке Attach (Присоединить). Переместите курсор в любое окно проекции и щелкните на примитиве, играющем роль притолоки. Он будет автоматически преобразован к типу Editable Poly (Редактируемая полисетка) и включен в состав сетки косяка в качестве элемента. Для такой операции совершенно не обязательно, чтобы сетка присоединяемого объекта пространственно пересекалась с сеткой того объекта, к которому он присоединяется. Затем щелкните на другом косяке, и он также будет присоединен к полисетке дверной коробки. Теперь при щелчке на любом из косяков или на притолоке будут выделяться все три объекта, ранее бывших самостоятельными, а теперь представляющих собой единую сетку. Назовите полученный объект Korobka. Сгруппируйте коробку с дверными створками, назвав группу Dveri, и сохраните полученный объект в файле под заданным в начале работы именем Dveri.max. Окончательный вид выстроенных двустворчатых дверей с коробкой и парой декоративных вставок на каждой створке показан на рис. 8.55.

Рис. 8.55. Готовая двустворчатая дверь для кафе «МАХ»
Как видите, работа над окном и дверью была не столько сложной, сколько кропотливой, потому что архитектурные элементы должны быть четко выверены по размерам и тщательно выровнены относительно друг друга. В то же время вы могли убедиться в созидательных возможностях набора инструментов для редактирования полисеток.
Створки наших дверей пока что еще не могут правильным образом открываться, но этот недостаток мы устраним впоследствии, когда понадобится распахнуть двери.
А теперь выполним еще одно упражнение, направленное на освоение инструментов из свитка Surface Properties (Свойства поверхности).
Создание и настройка свободных прожекторов для сцены «МАХ-кафе»
Как не может практически ни одна сцена обойтись без всенаправленных осветителей, так не может она обойтись и без прожекторов. Добавим в состав сцены два свободных прожектора и настроим их параметры, выполнив следующие действия в продолжение предыдущего упражнения:
1. Продолжая работу над той же сценой, восстановите видимость всех кресел, воспользовавшись кнопкой Unhide by Name (Сделать видимыми по имени) командной панели Display (Дисплей).
| СОВЕТ Команда Unhide by Name (Сделать видимыми по имени) имеется теперь в четвертном меню, вызываемом по щелчку правой кнопкой мыши в активном окне проекции max 7.5. |
2. Щелкните в свитке Object Type (Тип объекта) командной панели Create (Создать) на кнопке Free Spot (Свободный прожектор). Переместите курсор в окно проекции Тор (Вид сверху) и щелкните в районе точки с координатами (0; -165; 0), создав один свободный прожектор с принятыми по умолчанию параметрами, а затем — в точке (0; 135; 0), создав второй прожектор, как показано на рис. 11.35. Щелкните правой кнопкой мыши, чтобы выключить режим создания прожекторов.

Рис. 11.35. Размещение свободных прожекторов в окне проекции Тор
3. Перейдите в окно проекции Front (Вид спереди) или Left (Вид слева), выделите значки обоих прожекторов и переместите их вверх, под самый потолок помещения, где координата Z принимает значение примерно 325 см. Только не поднимите значки прожекторов выше потолка, а то будете потом удивляться, почему в помещении нет света...
4. Настройте параметры прожекторов. Задайте для них следующие размеры конуса света: Hotspot/Beam (Яркое пятно/Луч) = 88,5°, Falloff/Field (Край пятна/Поле) = 92,5°. Включите для обоих прожекторов режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) свитка Genera! Parameters (Общие параметры). Выберите тип теней Ray Traced Shadows (Трассированные тени). Яркость света пусть пока имеет принятое по умолчанию значение: Multiplier (Усилитель) = 1,0. Выполните визуализацию изображения в окне проекции Perspective (Перспектива), и у вас должно получиться что-то похожее на рис. 11.36. Обратите внимание на увеличенную яркость цвета пола в области, где произошло наложение двух пятен света, а также на разную плотность цвета теней в этой области и вне ее. Все как в реальности! Ну, или почти как в реальности... Ведь стены-то вокруг остались темными, а в жизни они наверняка слегка осветились бы лучами, частично отраженными от пола и кресел. Это и есть отсутствие учета глобальной освещенности, с которой нам еще предстоит познакомиться подробнее.

Рис. 11.36. Перекрывающиеся пятна света от двух свободных прожекторов
|
СОВЕТ Чтобы иметь возможность видеть границы световых конусов прожекторов даже тогда, когда их значки не выделены, установите для каждого из них флажок Show Cone (Показывать конус) в свитке Spotlight Parameters (Параметры прожектора). |
5. Включите четыре всенаправленных осветителя, размещенных внутри помещения кафе. После этого станет очевидной необходимость уменьшить яркость прожекторов до значения Multiplier (Усилитель) = 0,5. Восстановите видимость всех объектов, кроме основания сцены, стены фасада, окна, двери, снежных валиков, двух систем снежинок и вывески. В итоге левая часть сцены интерьера должна приобрести приблизительно такой вид, какой показан на рис. 11.37. Будем считать, что настройка освещения завершена. Кажется, сцена уже начинает отдаленно напоминать то итоговое изображение, которое было показано в первой главе, хотя и выглядит пока довольно «кукольной». Но то ли еще будет, когда мы добавим материалы! Сохраните файл сцены под заданным ранее именем МАХ-каф10. max.

Рис. 11.37. Полностью готовое освещение интерьера левой части сцены «МАХ-кафе»
|
ЗАМЕЧАНИЕ Вы можете сравнить получившуюся у вас настройку освещения с готовым вариантом, имеющимся в файле MAX-kafe10 в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге. |
Свободные и нацеленные направленные осветители по своим параметрам и методам создания практически не отличаются от прожекторов, за исключением того, что лучи света у направленных осветителей параллельны, то есть пучок лучей имеет не коническую, а цилиндрическую форму. Направленные осветители чаще всего применяются для имитации солнечных лучей, которые можно считать практически параллельными между собой. Поэкспериментируйте с этими осветителями самостоятельно, имея в виду только одну особенность: значения параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/Поле) задаются в данном случае не в градусах, а в текущих единицах длины.
Готовим тарелку, бокал, шарик и окно к применению многокомпонентных материалов
В этом упражнении мы должны научиться готовить трехмерные объекты для последующего применения к ним многокомпонентных материалов. Многокомпонентный материал состоит просто из набора разных материалов, пронумерованных по порядку. Порядковый номер каждого компонента называется его идентификатором. Каждой грани объекта при создании по умолчанию также присваивается определенный идентификатор материала. Например, у стандартного параллелепипеда все грани какой-либо одной стороны имеют одинаковые идентификаторы материала. Идентификатор грани определяет, какой компонент многокомпонентного материала будет к ней применен. К граням с идентификатором 1 будет применен первый компонент материала, с идентификатором 2 — второй компонент и т. п. Наша задача — научиться изменять идентификаторы избранных граней для применения к ним иного материала, чем ко всему остальному объекту.
В роли «подопытных кроликов» в нашем упражнении выступят ранее созданные объекты — Tarelka, Bokal, Sharik и Okno. В одном из предыдущих упражнений мы создали два набора дополнительных граней на верхнем краю бокала с целью превратить их в дальнейшем, на этапе применения материала, в золотистые полоски на стекле. Сейчас мы должны будем настроить идентификаторы граней этих полосок. Руководствуясь принципом «от простого к сложному», начнем, однако, с шарика, выступу на верхнем полюсе которого планируется в дальнейшем придать золотистый металлический оттенок. Затем перейдем к окну и тарелке, по краю которой также предполагается пустить золотистую каемочку. На ней довольно просто выделить нужные грани, а вот с бокалом пришлось бы повозиться. Однако учитывая, что бокал — это тело, полученное методом вращения профиля, для настройки его граней мы применим новый прием, основанный на разметке сегментов линии профиля.
Выполняйте вместе со мной следующие действия:
1. Откройте ранее сохраненный в этой главе файл Sharik.max. Если вы по каким-то причинам не создали или не сохранили этот файл, загрузите его из папки Scenes\Glava_08 компакт-диска, прилагающегося к книге. Сохраните сцену с инкрементированием имени.
2. Переключитесь на уровень выделения подобъекта Face (Грань). Выделите рамкой грани всего шарика, который в каркасном режиме отображения должен стать целиком красным. Прокрутите вверх область свитков командной панели, чтобы стал виден свиток Surface Properties (Свойства поверхности), показанный на рис. 8.56. Введите в счетчик Set ID (Установить идентификатор) раздела Material (Материал) число 1. Затем выделите только грани выступа и введите в тот же счетчик значение 2. Готово! Теперь можно будет назначить поверхности всего шарика, кроме выступа, один материал (например, имитирующий зеркальное цветное стекло), а выступу — другой материал (например, в виде золотистого металла). Сохраните файл под заданным в начале работы именем.

Рис. 8.56. В свитке Surface Properties на уровне подобъектов Face и Polygon можно настроить идентификаторы материала граней и полигонов
3. Откройте файл Okno.max и выделите объект Окnо. Если вы не создали или не сохранили этот файл, загрузите его из папки Scenes\ Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
4. Окно создано нами из стандартного параллелепипеда, а полигонам этих примитивов max 7.5 в момент создания присваивает идентификаторы материала от 1 до 6. После преобразования в редактируемую полисетку эта разметка сохраняется, так что первое, что нам требуется сделать, — это перейти на уровень работы с подобъектами Polygon (Полигон), выделить рамкой все полигоны окна и присвоить им идентификатор материала № 1. У редактируемых полисеток раздел Material (Материал) со счет-чиком Set ID (Установить идентификатор) располагается в свитке Polygon Properties (Свойства полигонов), по составу элементов управления аналогичном свитку Surface Properties (Свойства поверхности) стандартной редактируемой сетки.
5. Теперь выделите только два центральных полигона окна, которые изображают его будущую стеклянную часть. Такое выделение удобно сделать рамкой в окне вида спереди. Присвойте этим полигонам идентификатор материала № 2. Теперь раме окна можно будет назначить один материал, например изображающий дерево или пластик, а средней части — другой материал, имитирующий стекло. В заключение сохраните файл под именем, измененным в пункте 3.
6. Теперь откройте файл Tarelka.max и выделите объект Tarelka01, являющийся телом вращения. Если вы не создали или не сохранили этот файл, загрузите его из панки Scenes\Glava_06 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
7. Перейдите на командную панель Modify (Изменить) и щелкните на имени модификатора Lathe (Вращение) в окне стека модификаторов правой кнопкой мыши. Выполните сворачивание стека модификаторов тарелки, выбрав в появившемся контекстном меню команду Collapse All (Свернуть все). Щелкните на кнопке Yes (Да) в ответ на предупреждение о критичности операции. Тарелка превратится в объект типа Editable Mesh (Редактируемая сетка).
8. Для начала измените идентификатор материала всех граней тарелки. Дело в том, что mах 7.5 — программа «умная» и граням тел вращения и экструзии назначает три идентификатора: для граней боковых поверхностей — 3, а для «оснований» — 1 и 2. У нашей тарелки есть только боковая поверхность, все грани которой имеют идентификатор 3. Чтобы убедиться в этом, щелкните на кнопке Polygon (Полигон) в свитке Selection (Выделение). Так как мы собираемся выделить полоску из граней, отдельные грани нам выделять не обязательно, и с полигонами будет легче работать. Выделите все грани тарелки с помощью рамки или выбрав команду меню Edit > Select All (Правка > Выделить все). Прокрутите вверх область свитков командной панели, чтобы стал виден свиток Surface Properties (Свойства поверхности). В счетчике Set ID (Установить идентификатор) раздела Material (Материал) вы увидите число 3. Введите в этот счетчик число 1.
9. Теперь настроим идентификаторы граней, образующих будущую каемку. Сбросьте выделение всех граней. Укрупните изображение тарелки в окне проекции Тор (Вид сверху), чтобы отчетливо видеть отдельные грани у края тарелки, а затем разверните окно проекции на весь экран. Удерживая клавишу Ctrl, аккуратно выделите в каждом секторе тарелки шестой от края полигон, образовав полоску выделенных полигонов по всему периметру тарелки, как показано на рис. 8.57. Введите в счетчик Set ID (Установить идентификатор) свитка Surface Properties (Свойства поверхности) число 2. Выключите режим выделения подобъектов, щелкнув в окне стека на строке Editable Mesh (Редактируемая сетка), и сохраните файл.

Рис. 8.57. Группа выделенных полигонов, окрашенных в красный цвет, образует полоску по всему периметру тарелки
10. Откройте файл Bokal01.max и выделите объект Bokal01. При необходимости можете загрузить нужный файл под именем Bokal01.max из папки Scenes\ Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
11. Далее можно действовать уже известным вам способом. Сверните стек модификаторов этого объекта, являющегося телом вращения, превратив его тем самым в редактируемую сетку. Измените идентификатор материала всех граней бокала. Для этого щелкните на кнопке Polygon (Полигон) в свитке Selection (Выделение). Выделите все грани бокала с помощью рамки или команды меню Edit > Select All (Правка > Выделить все). Измените идентификатор материала всех выделенных граней в свитке Surface Properties (Свойства поверхности) с 3 на 1.
12. Теперь установите нужный идентификатор для тех граней, которые будут образовывать золотистые полоски по краю бокала. Увеличьте изображение верхней части бокала в окне проекции Front (Вид спереди), чтобы хорошо были видны отдельные грани. Убедитесь, что включен пересекающий режим выделения. С помощью рамки аккуратно выделите все грани верхнего края бокала, захватив и верхнюю полоску, как показано на рис. 8.58. Выделится и окрасится в красный цвет гораздо больше граней, чем нам нужно, но это не беда: в следующем пункте мы все приведем в норму.

Рис. 8.58. Выделяющая рамка должна охватить весь верхний край бокала, включая грани верхней полоски
13. Нажав и удерживая клавишу Alt, выделите верхний край бокала, не захватывая на этот раз грани полоски. Охваченные рамкой грани будут исключены из выделенного набора и выделенными останутся только грани верхней полоски, как показано на рис. 8.59. Работа эта довольно кропотливая, так что если с первого раза у вас не получится, отмените выделение и повторите операцию заново. Установите для выделенных граней полоски идентификатор материала, равный 2.

Рис. 8.59. Выделена верхняя полоска граней
|
СОВЕТ Запомните этот прием выделения: сначала выделяются нужные Подобъекты, скажем, вершины или грани вместе с некоторыми лишними, а затем выделение лишних подобъектов отменяется при удерживаемой клавише Alt. Этот прием приходится довольно часто использовать при выделении подобъектов сетки, которые, как правило, перекрываются или расположены слишком близко друг от друга, что затрудняет данную процедуру. |
14. Теперь, также за два приема, выделите грани нижней полоски. Сначала с помощью рамки охватите грани нижней части бокала, включая и грани нижней полоски, как показано на рис. 8.60. Затем, удерживая клавишу Alt, выделите только грани нижней части бокала, не затрагивая грани полоски. Охваченные рамкой грани будут исключены из выделенного набора и выделенными останутся только грани нижней полоски. Установите для них идентификатор материала, равный 2. Выключите режим выделения подобъектов, щелкнув в окне стека на строке Editable Mesh (Редактируемая сетка). Сохраните файл под заданным в начале работы именем Bokal02.max.

Рис. 8.60. Выделяющая рамка должна охватить нижнюю часть бокала, включая грани нижней полоски
15. Как видите, назначение идентификаторов материала иногда может быть непростой задачей. Именно поэтому в шах 7.5 имеются дополнительные средства, облегчающие ее решение. Давайте освоим их, так как в практической работе они требуются довольно часто. Вместо разметки идентификаторов граней тел, построенных на основе сплайновых профилей методами выдавливания, вращения или лофтинга, можно применять разметку идентификаторов материала сегментов сплайнов-профилей. В итоге все грани оболочки тела, полученные за счет выдавливания, вращения или лофтинга соответствующих сегментов профиля, приобретают идентификаторы материала, назначенные сегментам сплайна. Это очень удобно. Снова загрузите файл Bokal01.max. Разверните в стеке модификаторов дерево подобъектов объекта Line (Линия), имя которого расположено под именем модификатора Lathe (Вращение), и выделите строку Segment (Сегмент). Бокал исчезнет, и в окнах проекций останется только линия профиля.
16. Выделите рамкой все сегменты профиля, то есть отрезки кривых между соседними вершинами. Прокрутите область свитков вверх и найдите в самом низу командной панели свиток Surface Properties (Свойства поверхности). Для сплайнов этот свиток включает только один раздел Material (Материал) со счетчиком Set ID (Установить идентификатор) и кнопкой Select By ID (Выделить по идентификатору). Введите в счетчик ID (Идентификатор) число 1.
17. Укрупните в окне вида спереди изображение верхнего края профиля, где установлены дополнительные вершины для образования полосок на бокале. Удерживая клавишу Ctrl, щелкните на втором и четвертом сверху сегментах наружной стороны профиля — тех самых, при вращении которых и будут формироваться грани полосок (рис. 8.61). Введите в счетчик ID (Идентификатор) число 2. Выключите режим работы с подобъектами линии, щелкнув в стеке модификаторов на строке Line (Линия).

Рис. 8.61. Выделены сегменты профиля, которые при вращении будут создавать грани верхней и нижней полосок на краю бокала
18. Теперь выделите в стеке модификаторов имя модификатора Lathe (Вращение). Установите в самом низу свитка Parameters (Параметры) модификатора вращения флажок Use Shape IDs (Использовать идентификаторы формы). Чтобы он был доступен, обязательно должен быть также установлен флажок Generate Material IDs (Генерировать идентификаторы материала). Установка этих флажков обеспечит наследование гранями тела вращения идентификаторов материала, назначенных сегментам формы профиля. Превратите объект в редактируемую сетку, свернув стек его модификаторов. Сохраните файл под именем Bokal02.max.
При желании можете самостоятельно произвести разметку полигонов створок дверей, чтобы иметь возможность применить к рамке и вставкам створок разные материалы, например, с целью имитировать использование разных пород дерева или сделать вставки стеклянными.
В главе 9 вам представится возможность на практике познакомиться с некоторыми другими инструментами правки полигональных сеток на уровне подобъектов, в частности с появившимися в 3ds max 7 инструментами Bridge (Мост) и свитком Paint Deformation (Деформация кистью). Пока же перейдем к рассмотрению инструментов редактирования сеток, состоящих из кусков Безье.
Применяем алгоритм Light Tracer к осветителю Skylight
Цель данного упражнения состоит не только в том, чтобы познакомить вас с первым из двух алгоритмов расчета глобальной освещенности, но и в том, чтобы научиться включать режим логарифмического управления экспозицией визуализированного изображения, а также освоить применение нового стандартного осветителя Skylight (Свет неба). Этот осветитель замечательно подходит для имитации освещения, создаваемого небосводом, когда свет исходит как бы из каждой точки неба. В силу своей особенности осветитель Skylight (Свет неба) не может формировать зеркальных бликов на поверхностях объектов, однако способен имитировать мягкие полутени. Для этого перед визуализацией должно быть активизировано еще одно новшество max 7.5 — режим расчета глобальной освещенности Light Tracer (Трассировщик света).
Если наружное освещение сцены создается единственным осветителем Skylight (Свет неба), возникает атмосфера пасмурного дня. Если дополнить наружное освещение направленным источником, имитирующим солнце, будет создаваться достоверная атмосфера ясного солнечного дня.
Итак, выполняйте следующие действия:
1. Для экспериментов с глобальной освещенностью можно загрузить сцену МАХ-kafe10.max, сохраненную в конце предыдущего упражнения. Эта сцена содержит все объекты геометрической модели и систему освещения, полностью настроенную нами на традиционный случай отсутствия расчета глобальной освещенности. Для тестирования наружного освещения из всего набора объектов нам понадобятся только основание сцены и элементы конструкции здания кафе, за исключением окна, а для выполнения проб глобального освещения внутри здания — только столы, кресла и два свободных прожектора, размещенных под потолком кафе. Так что скройте лишние объекты и выключите пока все осветители. При необходимости можете загрузить «облегченный» файл сцены, который содержит только нужные для этого упражнения объекты и хранится под именем MAX-kafe+Gl.max в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге. Так как в этой сцене прожекторы пока выключены, то, чтобы изображение в окнах проекций с тонированным режимом просмотра не тонуло во мраке, включено встроенное освещение max 7.5. Как это сделать, подробно объяснялось в главе 3.
2. Создайте осветитель- имитатор света неба. Кнопка для создания этого осветителя появляется в правом нижнем углу свитка Object Type (Тип объекта), показанного ранее на рис. 11.5, если на командной панели Create (Создать) нажать кнопку Lights (Источники света) и в раскрывающемся списке разновидностей источников света выбрать вариант Standard (Стандартные). Щелкните на кнопке Skylight (Свет неба), а затем щелкните в окне вида сверху перед входом в здание кафе, где-нибудь в районе точки с координатами (100; -500; 0). На командной панели появится свиток параметров осветителя, назначение и порядок настройки которых мы рассмотрим позднее. Значок осветителя Skylight (Свет неба) имеет вид маленькой каркасной полусферы желтого цвета, как показано на рис. 11.40. Вообще говоря, местоположение в сцене, ориентация и размеры значка этого источника освещения не имеют никакого значения. Значок осветителя Skylight (Свет неба) — всего лишь вспомогательный объект, показывающий, что данный осветитель включен в состав сцены. Как уже говорилось в начале главы, при размещении осветителя Skylight (Свет неба) в составе сцены она как бы накрывается сверху (со стороны положительной полуоси Z глобальных координат) воображаемым куполом в виде бесконечно большой полусферы, все точки которой являются источниками световых лучей.

Рис. 11.40. В состав сцены включен осветитель Skylight
Итак, в составе сцены теперь есть осветитель, но он пока не действует. Если активизировать окно перспективной проекции, подобной показанной на рис. 11.40, и выполнить пробную визуализацию, то все объекты сцены будут совершенно черными. Чтобы программа могла рассчитать освещение от источника Skylight (Свет неба), необходимо включить действие алгоритма трассировки света, одного из двух алгоритмов расчета глобальной освещенности. Раскройте меню Rendering (Визуализация) и выберите команду Advanced Lighting (Улучшенное освещение) > Light Tracer (Трассировщик света). Появится окно диалога Render Scene (Визуализация сцены) с открытой вкладкой Advanced Lighting (Улучшенное освещение). Параметры этой вкладки являются основным средством настройки алгоритмов расчета глобальной освещенности. Это окно, показанное на рис. 11.41, содержит два свитка: Select Advanced Lighting (Выберите алгоритм улучшенного освещения) и Parameters (Параметры). В раскрывающемся списке первого свитка уже выбрана строка Light Tracer (Трассировщик света). Флажок активизации действия трассировщика Active (Активен) справа от списка тоже устанавливается автоматически.

Рис. 11.41. Вкладка Advanced Lighting окна диалога Render Scene
4. Не выполняя никаких настроек в появляющемся свитке Parameters (Параметры) трассировщика, произведите визуализацию сцены в окне перспективной проекции, демонстрирующем общий вид здания кафе. Теперь в сцене появится освещение, и даже возникнут тени с мягкими размытыми краями под буквами вывески, снежными валиками и за створками дверей. Однако изображение в целом будет выглядеть слишком темным, а внутреннее пространство кафе окажется совершенно утонувшим во мраке (рис. 11.42).

Рис. 11.42. Использование осветителя Skylight в режиме расчета глобальной освещенности методом трассировщика света создает явно недостаточное освещение сцены
5. Включите режим логарифмического управления экспозицией. Для этого выберите команду меню Rendering > Environment (Визуализация > Внешняя среда), чтобы вызвать появление окна диалога Environment and Effects (Внешняя среда и эффекты). Это окно автоматически раскрывается на вкладке Environment (Внешняя среда). В раскрывающемся списке свитка Exposure Control (Управление экспозицией) выберите вариант Logarithmic Exposure Control (Логарифмическое управление экспозицией), как показано на рис. 11.43. Проследите, чтобы был установлен флажок Active (Активно). Не изменяйте принятые по умолчанию значения всех остальных параметров управления экспозицией, которые имеются в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией). К их настройке мы вернемся несколько позже. Обратите внимание на то, что после щелчка на кнопке Render Preview (Просмотр визуализации) в свитке Exposure Control (Управление экспозицией) в поле над кнопкой через какое-то время появится миниатюрное визуализированное изображение сцены, как можно видеть на рис. 11.43. Эта миниатюра позволяет составить общее впечатление о действии выбранного варианта экспозиции. Ход расчета миниатюры отображается с помощью прогресс-индикатора, появляющегося на месте кнопки, чтобы у вас не сложилось впечатление, будто компьютер завис.

Рис. 11.43. Свитки окна диалога Environment and Effects, содержащие средства управления экспозицией, и миниатюрное изображение сцены
6. Повторите визуализацию. Теперь освещение станет выглядеть вполне корректно для пасмурного дня: объекты освещены достаточно равномерно, сформированы мягкие полутени, а области, в которые попадает мало света, такие как внутреннее пространство кафе, являются достаточно освещенными для того, чтобы были видны детали внутреннего убранства (рис. 11.44).

Рис. 11.44. Расчет глобальной освещенности объектов источником Skylight при логарифмическом управлении экспозицией создает корректное освещение сцены
7. Перейдите на командную панель Modify (Изменить) и рассмотрите параметры„осветителя Skylight (Свет неба) в свитке Skylight Parameters (Параметры света неба), показанном на рис. 11.45. Обратите внимание на то, что этот осветитель не может быть преобразован ни в один из других стандартных осветителей и в корне отличается от них по составу параметров. Флажок On (Вкл.) служит для включения осветителя. Если его сбросить, то при отсутствии иных осветителей все объекты сцены, будучи визуализированными, окажутся абсолютно черными. Счетчик Multiplier (Усилитель) задает коэффициент усиления яркости осветителя. Как правило, лучше оставлять значение этого параметра неизменным, чтобы не получить искажения цветов сцены. Для настройки цвета освещения можете использовать следующие элементы управления группы Sky Color (Цвет неба):

Рис. 11.45. Свиток Skylight Parameters содержит набор элементов управления осветителем
Use Scene Environment (Использовать фон сцены) — при установке этого переключателя для окрашивания цвета осветителя будут использованы настройки цвета фона, сделанные в окне диалога Environment (Внешняя среда), вызываемом из меню Rendering (Визуализация). О том, как менять цвет фона с принятого по умолчанию черного цвета на любой иной, вы узнаете в главе 15;
Sky Color (Цвет неба) — при установке этого переключателя в качестве цвета неба используется оттенок, указанный в образце справа от переключателя. Чтобы выбрать иной оттенок цвета неба, просто щелкните на образце цвета для вызова типового окна диалога Color Selector (Выбор цвета);
Map (Карта текстуры) — установка этого флажка позволяет заменить цвет осветителя изображением текстурной карты, выбор которой производится щелчком на кнопке с надписью None (Отсутствует). Если установить в счетчике справа от флажка величину доли вклада карты меньше 100 %, цвет ее рисунка будет смешиваться с цветом неба, заданным в образце.
Не закрывайте программу, мы продолжим работу над этой сценой.
Простейшая настройка алгоритма Light Tracer
Теперь, когда вы умеете включать режим расчета глобальной освещенности от источника Skylight (Свет неба) по методу трассировщика света, попробуем выполнить настройку некоторых параметров алгоритма Light Tracer (Трассировщик света). Для этого рассмотрим освещение, создаваемое тем же источником-имитатором света неба во внутреннем пространстве кафе, куда свет проникает через дверь и оконный проем. Это упражнение, помимо прочего, поможет выявить некоторые принципиальные сложности, возникающие при использовании алгоритма трассировки света, а также даст возможность познакомиться с особыми требованиями со стороны методов расчета глобальной освещенности к геометрическим моделям сцены.
Выполняйте вместе со мной следующие действия:
1. Продолжите работу над сценой, которая использовалась в предыдущем упражнении. Укрупните масштаб изображения в окне перспективной проекции таким образом, чтобы через дверной проем видеть часть внутреннего помещения кафе со столами и креслами.
2. Не изменяя принятых по умолчанию настроек параметров трассировщика света, выполните пробную визуализацию сцены. Вы должны получить изображение, подобное показанному на рис. 11.46. Оно имеет ряд явно выраженных недостатков. Во-первых, хотя во внутреннее помещение кафе и проникает свет небосвода, его явно недостаточно. Во-вторых, даже на этом темном изображении отчетливо видны пятна. Причина их появления состоит в случайной ориентации лучей, испускаемых из центра каждого видимого участка сцены при обратной трассировке. В итоге, в какую-то точку одной и той же стены попадает больше света, в какую-то меньше. Наконец, на стыке двух элементов геометрической модели кафе, изображающих левую и заднюю стены, видна вертикальная щель, через которую просачивается свет. Эта щель возникает несмотря на то, что стены пригнаны нами друг к другу достаточно плотно. Все эти недостатки характерны для результатов расчета глобальной освещенности и с ними нужно уметь бороться.

Рис. 11.46. Расчет глобальной освещенности объектов внутри кафе источником Skylight демонстрирует, что помимо достоинств, этот метод имеет и недостатки
3. Чтобы несколько повысить общий уровень освещенности внутри кафе, сделать более светлыми совершенно затененные области, а также выявить эффект цветового подкрашивания одних объектов сцены лучами света, отраженными от расположенных рядом других объектов, нужно разрешить программе рассчитывать многократные отражения световых лучей. Это делается за счет настройки параметра Bounces (Отражений) в свитке Parameters (Параметры) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены), показанном ранее на рис. 11.41. По умолчанию в счетчике Bounces (Отражений) установлено значение 0. При этом в расчетах не будет учитываться ни одного дополнительного отражения световых лучей, однократно отраженных от объектов сцены. При значении параметра Bounces (Отражений), равном 1, будут рассчитываться возможные двукратные отражения лучей, при значении 2 — трехкратные и т. д., что обеспечивает дополнительную подсветку теневых областей и цветовое окрашивание объектов отраженным светом. Измените число отражений лучей, задаваемое в счетчике Bounces (Отражений), с принятого по умолчанию значения 0 на 2 и выполните тестовую визуализацию сцены. Результат должен быть подобен показанному на рис. 11.47. Сцена выглядит лучше, но пятнистость осталась и, более того, стала видна еще отчетливее.

Рис. 11.47. Учет двукратных дополнительных отражений световых лучей обеспечивает дополнительную подсветку теневых областей и цветовое окрашивание объектов отраженным светом
|
ЗАМЕЧАНИЕ Очевидно, увеличение числа отражений существенно увеличивает время визуализации сцены. Что делать, — за всякое усовершенствование нужно платить! |
4. Для борьбы с пятнистостью изображения в алгоритме трассировщика света предусмотрено два пути: увеличение числа воображаемых лучей, испускаемых из центра каждого участка проекции сцены, и фильтрация результирующего изображения. Первый способ реализуется за счет увеличения в свитке Parameters (Параметры) значения Rays/Sample (Лучей на отсчет), второй — за счет увеличения параметра Filter Size (Размер фильтра), задающего размер окна сглаживающего фильтра в пикселях. Ясно, что и то и другое ведет к росту времени визуализации сцены. Так что, выполняя первую черновую визуализацию, не увеличивайте размер окна фильтра, а число лучей на отсчет старайтесь задать поменьше. По умолчанию оно равно 250. На рис. 11.48 показан результат сглаживания пятнистости изображения при увеличении размера фильтра с принятого по умолчанию значения 0,5 до 10. Как можно видеть, мелкие пятна сгладились, однако крупные еще имеют место. Попробуйте побороться с ними самостоятельно. Следует, однако, учитывать, что всякая фильтрация в конечном счете ухудшает резкость изображения, так что не следует беспредельно увеличивать размер окна фильтра.

Рис. 11.48. Результат сглаживания пятен на изображении, вызванных случайной природой алгоритма трассировщика света, за счет увеличения размера окна фильтра с 0,5 до 10
5. Для устранения вертикальной щели между стенами, через которую проникает свет, недостаточно оказывается даже слегка задвинуть один параллелепипед, скажем, изображающий левую стену, внутрь другого, изображающего заднюю стену. Особенности алгоритма трассировки света таковы, что даже в этом случае программа усматривает возможность проникновения световых лучей от небосвода между стенами. Выход в том, чтобы объединить объекты, изображающие стены, в один. Это можно сделать, преобразовав их в сетки или полисет-ки, присоединив одну сетку к другой и выполнив слияние вершин на краях параллелепипедов. Другой способ — создать на основе двух параллелепипедов один составной булевский объект, используя для этого операцию Union (Объединение). На рис. 11.49 показан результат визуализации той же цены, что на рис. 11.48, после булевского объединения двух параллелепипедов-стен кафе в единый объект. Как можно видеть, щель в углу кафе больше не светится.

Рис. 11.49. После булевского объединения параллелепипедов, изображающих стены, свет перестает проникать сквозь вертикальную щель в углу кафе
|
ЗАМЕЧАНИЕ Как можно видеть, алгоритм расчета глобальной освещенности Light Tracer (Трассировщик света) предъявляет некоторые дополнительные требования к конструкции геометрической модели сцены. Эти требования нужно учитывать при подготовке геометрической модели к визуализации. Кстати, с точки зрения особых требований к геометрии алгоритм Radiosity (Перенос излучения), с которым вам еще предстоит познакомиться, оказывается даже еще более капризным. |
6. Последние настройки из тех, что имеются в свитке Parameters (Параметры) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены), с которыми нам предстоит познакомиться, позволяют влиять на освещенность сцены в целом. Это можно делать, изменяя значение в счетчике Global Multiplier (Общий усилитель), который задает общий уровень освещенности изображения сцены. Если в составе сцены есть осветитель-имитатор света неба, как в нашем случае, то можно регулировать значение коэффициента усиления света небосвода, используя счетчик Sky Lights (Осветители неба). На рис. 11.50 показано изображение той же сцены, что на рис. 11.49, сформированное при увеличении параметра Sky Lights (Осветители неба) с принятого по умолчанию значения 1 до 2. Картинка стала светлее в целом, причем это особенно заметно на переднем плане, куда попадает больше света от небосвода через проемы окна и двери.

Рис. 11.50. В результате увеличения параметра Sky Lights внутри кафе стало в целом светлее
7. Чтобы у вас не создалось впечатления, что глобальную освещенность сцены может создавать только свет небосвода, проделаем еще один опыт. Удалите осветитель Skylight (Свет неба) и включите два имеющихся в сцене осветителя-прожектора. Для их включения, как уже объяснялось ранее, удобно использовать окно диалога Light Lister (Список осветителей). Выключите режим расчета глобальной освещенности методом трассировщика света, сбросив флажок Active (Активен) справа от списка выбора алгоритмов расчета в свитке Select Advanced Lighting (Выберите алгоритм улучшенного освещения) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены). Выполните пробную визуализацию (рис. 11.51). Прожекторы создают яркие пятна света на полу, освещают прямыми лучами фрагменты мебели, однако стены тонут во мраке, а тени под столами и стульями выглядят беспросветно глухими. Привычная картина для ситуации, когда расчет глобальной освещенности не производится. Нечто похожее мы уже видели ранее на рис. 11.36 с той разницей, что при формировании рис. 11.51 действовал еще режим логарифмического управления экспозицией, вызвавший некоторое снижение яркости наиболее освещенных участков.

Рис. 11.51. Результат освещения сцены интерьера кафе двумя прожекторами без учета глобальной освещенности, но при действующем режиме логарифмического управления экспозицией
8. Теперь снова включите действие трассировщика света, установив флажок Active (Активен) в свитке Select Advanced Lighting (Выберите алгоритм улучшенного освещения) вкладки Advanced Lighting (Улучшенное освещение) окна диалога Render Scene (Визуализация сцены). Проследите, чтобы параметр Bounces (Отражений) равнялся 2, a Filter Size (Размер фильтра) был равен 10. Повторите визуализацию. Сопоставьте изображение, показанное на рис. 11.52, с картинкой на рис. 11.51 и, как говорится, почувствуйте разницу. Стены кафе теперь освещены лучами света, отразившимися от пола и мебели. Тени под столами и креслами стали прозрачными, так как тоже подсвечены отраженными лучами. На обвязке столов появились красноватые блики, вызванные отражениями света от красных сидений кресел. Желтоватые блики появились на полу как отражения света от стола и боковин кресел... Чтобы увидеть эти блики, которые, разумеется, не видны на черно-белой иллюстрации, взгляните на цветную версию рисунка, имеющуюся в папке lmages\Glava_11 компакт-диска, прилагающегося к книге. А пока не сохраняйте файл и не закрывайте программу, мы еще продолжим работу с этой сценой.

Рис. 11.52. Результат освещения сцены интерьера кафе двумя прожекторами с учетом глобальной освещенности, рассчитываемой методом трассировщика света
Алгоритм Light Tracer (Трассировщик света) имеет еще много параметров, с которыми вы при необходимости можете познакомиться, обратившись к электронной справочной системе max 7.5 или прочтя мою книгу «3ds max. Материалы, освещение, визуализация», выпущенную издательством «Питер» в 2005 году.
Продолжим практическое знакомство с методами расчета глобальной освещенности, перейдя к рассмотрению алгоритма Radiosity (Перенос излучения).
Применение алгоритма Radiosity к свету прожекторов
Целью данного упражнения будет научиться включать и настраивать алгоритм Radiosity (Перенос излучения) расчета глобальной освещенности, а также освоить некоторые элементы настройки режима логарифмического управления экспозицией формируемого изображения.
1. Продолжите работу над сценой, которая использовалась в предыдущем упражнении. При желании можете выполнить повторную загрузку сцены из файла MAX-kafe+Gl.max, имеющегося в папке Scenes\Glava_11 компакт-диска, прилагающегося к книге. В этом случае включите два имеющихся в сцене осветителя-прожектора.
2. Активизируйте режим логарифмического управления экспозицией, как это было описано в упражнении 12 предыдущего раздела применительно к алгоритму трассировщика света. Обычно перед выполнением расчетов глобальной освещенности методом переноса излучения рекомендуется производить пробную визуализацию, чтобы убедиться в правильном расположении источников прямых световых лучей. Мы это уже проделывали в предыдущем упражнении, так что просто еще раз взгляните на рис. 11.51.
| ЗАМЕЧАНИЕ Освещение, создаваемое переотраженными лучами света, как вы понимаете, является довольно слабым. Поэтому включение режима логарифмического управления экспозицией является обязательным условием получения не просто качественных, а вообще каких-либо результатов при расчете глобальной освещенности методом переноса излучения. Если вы забудете включить этот режим, то рискуете получить что-то, напоминающее результаты традиционной визуализации, наподобие картинки, показанной ранее на рис. 11.51. |
3. Выполните команду меню Rendering > Advanced Lighting > Radiosity... (Визуализация > Улучшенное освещение > Перенос излучения), чтобы вызвать появление уже знакомого вам окна диалога Render Scene (Визуализация сцены) с открытой вкладкой Advanced Lighting (Улучшенное освещение). На этот раз в списке свитка Select Advanced Lighting (Выберите алгоритм улучшенного освещения) будет автоматически выбрана строка Radiosity (Перенос излучения). Флажок активизации действия трассировщика Active (Активен) справа от списка опять-таки устанавливается автоматически. В нижней части окна вы увидите свитки Radiosity Processing Parameters (Параметры обработки переноса излучения), Radiosity Meshing Parameters (Параметры разбиения сеток для переноса излучения), Light Painting (Раскраска светом), Rendering Parameters (Параметры визуализации) и Statistics (Статистика), показанные на рис. 11.53.

Рис. 11.53. Вид окна диалога Advanced Lighting после выбора алгоритма расчета глобальной освещенности Radiosity
4. Раскройте свиток Radiosity Meshing Parameters (Параметры разбиения сеток для переноса излучения) и установите флажок Enabled (Разрешено), чтобы разрешить алгоритму переноса излучения произвести дополнительное разбиение всех граней сеток объектов на треугольные элементы, размер которых задается в счетчике Initial Meshing size (Исходный размер элемента). Установите размер элемента равным 30 см. Не сбрасывайте флажок Display Radiosity in Viewport (Показывать перенос излучения в окнах проекций), это обеспечит возможность видеть примерное качество результатов расчета глобальной освещенности в окнах проекций с тонированным режимом отображения. Щелкните на кнопке Start (Начать) в свитке Radiosity Processing Parameters (Параметры обработки переноса излучения), чтобы запустить расчет глобальной освещенности методом переноса излучения при исходных значениях всех остальных параметров. Ход расчета отображается прогресс-индикатором. Расчет продолжается шаг за шагом до тех пор, пока не будет достигнуто качество результата, заданное в счетчике Initial Quality (Качество решения) свитка Radiosity Processing Parameters (Параметры обработки переноса излучения). Текущий уровень качества, достигнутый после очередного этапа работы алгоритма, отображается над прогресс-индикатором правее надписи Initial Quality (Качество решения). Этот параметр задает уровень точности расчета распределения световой энергии, но не визуальное качество итогового изображения, которое может оказаться зашумленным. Обычно для начала устанавливают значения порядка 80-85 %. Для итоговой визуализации можно устанавливать величину качества порядка 95-99 %. Спустя какое-то время, которое может оказаться и достаточно продолжительным, расчет завершится, и его результаты будут видны в окнах проекций (рис. 11.54). Теперь можно щелкнуть на кнопке Quick Render (Быстрая визуализация) главной панели инструментов max 7.5. Синтез изображения пойдет быстро, ведь расчеты-то уже выполнены. Однако полученный в нашем конкретном случае результат будет отличаться от изображения, сформированного без учета глобальной освещенности и показанного ранее на рис. 11.51, настолько незначительно, что я даже не стал помещать его в книгу: все равно, к сожалению, после печати эти тонкие отличия не будут видны.

Рис. 11.54. В окнах проекций виден результат разбиения сеток на треугольные элементы, произведенного алгоритмом расчета глобальной освещенности Radiosity
5. Кажется, яркости прожекторов явно недостаточно для освещения стен и мебели кафе отраженным светом. Кстати, вспомните, что в предыдущем упражнении те же два прожектора прекрасно освещали интерьер при использовании алгоритма трассировщика света. Но трассировщик света просто придает картинке похожесть на реальное фотоизображение, а алгоритм переноса излучения пытается воспроизвести физически точную картину освещенности. Что же делать? Можно изменить яркость прожекторов, но иногда это нецелесообразно, скажем, если бы вместо стандартных прожекторов были использованы фотометрические осветители с заданной мощностью, для которых нам требовалось бы оценить освещенность помещения. Впрочем, опытный фотограф наверняка скажет нам, что дело не в том, что мало света, а в том, что наш «снимок» загублен из-за неправильно выбранной экспозиции. Попробуем настроить параметры логарифмического управления экспозицией. Эти настройки производятся в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией) окна диалога Environment (Внешняя среда), показанном ранее на рис. 11.43. Вызвать это окно можно прямо из свитка Radiosity Processing Parameters (Параметры обработки переноса излучения) окна диалога Advanced Lighting (Улучшенное освещение). Для этого достаточно щелкнуть на кнопке Setup (Настройка) в разделе Interactive Tools (Интерактивные средства). Для начала изменим значение в счетчике Physical Scale (Физическая шкала) с принятой по умолчанию величины 1500 на 4500. На эту величину умножается интенсивность света, задаваемая счетчиком Multiplyer (Усилитель) любого стандартного осветителя в составе сцены. Если представить себе, что синтезированная программой картинка фиксируется на воображаемую пленку, то увеличение данного параметра эквивалентно увеличению чувствительности этой пленки. После повторной визуализации, перед которой программа повторит расчет глобальной освещенности, получим изображение, показанное на рис. 11.55. Стены выглянули из темноты, и тени перестали быть глухими. На цветном изображении можно видеть цветовые блики на деталях стола от красных сидений кресел. Но все же изображение в целом выглядит недостаточно светлым и излишне контрастным, поэтому продолжим настройку.

Рис. 11.55. Вид той же сцены, что на рис. 11.51, после расчета глобальной освещенности методом переноса излучения и настройки параметра Physical Scale
|
ЗАМЕЧАНИЕ Обратите внимание на то, что в окне перспективной проекции с тонированным режимом отображения тоже виден результат расчета глобальной освещенности, хотя и несколько упрощенно. |
6. Изменение параметров яркости и контраста изображения в свитке Logarithmic Exposure Control Parameters (Параметры логарифмического управления экспозицией) не вызывает необходимости повторного расчета глобальной освещенности, так что с этими величинами можно экспериментировать, быстро получая тестовые результаты. Чтобы несколько повысить яркость изображения, увеличьте значение параметра Brightness (Яркость) с 65 до 70. Диапазон допустимых значений этого параметра — от 0 до 200, причем результат очень чувствителен даже к небольшим изменениям яркости. Для снижения контрастности картинки уменьшите значение параметра Contrast (Контраст), которое может изменяться от 0 до 100, с 50 до 40. Повторите визуализацию, результатом которой должно быть изображение, подобное показанному на рис. 11.56. Полученная картинка пока что далека от идеала. Она даже проигрывает с точки зрения передачи полутонов изображению, сформированному методом трассировщика света, хоть он считается упрощенным. Экспериментирование с настройками логарифмического режима управления экспозицией можно и нужно продолжить. Надеюсь, вы уже уловили общий подход.

Рис. 11.56. Вид той же сцены, что на рис. 11.51, после расчета глобальной освещенности методом переноса излучения и настройки яркости и контраста логарифмической экспозиции
|
ЗАМЕЧАНИЕ Полученные нами результаты расчетов освещенности не совсем корректны, поскольку на них должны влиять свойства материалов, назначенных объектам. Пока же в сцене совсем нет никаких материалов. |
У алгоритма переноса излучения есть еще масса не рассмотренных нами параметров. Однако нам следует двигаться дальше, так что при желании или необходимости попробуйте познакомиться с ними самостоятельно, используя для этого электронную справочную систему шах 7.5. Справочное описание отдельных параметров этого алгоритма можно также найти в моей книге «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году.
Закончив упражнения с расчетом глобальной освещенности, можете сохранить результаты в учебных целях. Однако в дальнейшей работе над нашим проектом «МАХ-кафе» мы ограничимся традиционным набором стандартных осветителей, которые расставили и настроили в упражнениях 6 и 11. Это позволит нам избежать дополнительных сложностей с настройкой освещения в процессе предстоящего изучения таких важных разделов, как создание материалов и анимация сцены.
Создаем модели камер
На мой взгляд, нацеленными камерами управлять легче и удобнее, поэтому предлагаю использовать именно их. Создадим в сцене нашего основного проекта «МАХ-кафе» четыре нацеленные камеры: одну — «на улице», для получения обзорного изображения фасада кафе, вторую — в дверях, она будет давать общий план левой части интерьера, третью — вблизи от окна, нацелив ее в правую часть помещения, и четвертую — над столом, чтобы получить вид сервировки с точки зрения посетителя, сидящего в кресле. Однако для начала освоим общий порядок создания и настройки параметров камер.
Выполните следующие действия:
1.

Произведите перезагрузку max 7.5, чтобы все параметры приняли свои исходные значения. Щелкните на кнопке Cameras (Камеры) командной панели Create (Создать). Раскрывающийся список разновидностей камер содержит всего один вариант — Standard (Стандартные). В свитке Object Type (Тип объекта) появятся кнопки инструментов создания двух типов камер — Target (Нацеленная) и Free (Свободная). Щелкните на кнопке Target (Нацеленная), и в нижней части командной панели появится свиток Parameters (Параметры) с параметрами камер, показанный на рис. 11.58, а также свиток Depth of Field Parameters (Параметры глубины резкости). С помощью последнего свитка можно производить настройку эффекта глубины резкости изображения, рассмотрение которого мы произведем несколько ниже.

Рис. 11.58. Свиток Parameters включает все инструменты для настройки камер
2. Создайте нацеленную камеру, используя полученные ранее навыки создания нацеленных прожекторов. Для этого переместите курсор в окно проекции Тор (Вид сверху), щелкните, обозначив точку расположения значка камеры, и перетащите курсор, обозначая положение мишени. Отпустите кнопку мыши, чтобы зафиксировать положение мишени. Как и нацеленный прожектор, нацеленная камера и ее мишень создаются на координатной плоскости текущего окна проекции, при этом вы видите пирамиду видимости в ее продольном сечении.
3. Для настройки параметров камеры поступайте одним из двух способов. Можно не выключать режим создания камер (а выключается он щелчком правой кнопкой мыши в активном окне проекции) и выполнять настройку прямо на панели Create (Создать). Можно выключить режим создания камер, тогда для доступа к свиткам параметров камеры придется перейти на командную панель Modify (Изменить).
4.

Задайте фокусное расстояние объектива камеры в миллиметрах в счетчике Lens (Объектив) или установите размер поля зрения камеры в счетчике FOV (Поле зрения). Можно задавать размеры поля зрения по горизонтали, по вертикали или по диагонали. Выбор нужного варианта производится щелчком на кнопке слева от счетчика FOV (Поле зрения), которая снабжена раскрывающейся панелью с двумя дополнительными кнопками. Вместо настройки параметров Lens (Линза) и FOV (Поле зрения) можно выбрать один из готовых объективов с заданным фокусным расстоянием и соответствующим полем зрения с помощью группы кнопок Stock Lenses (Сменные линзы), надписи на которых соответствуют фокусному расстоянию. Щелчок на любой из кнопок меняет значения в нолях обоих счетчиков — Lens (Линза) и FOV (Поле зрения). На рис. 11.59 приведены примеры камер с типовыми значениями названных параметров. Мишени камер разнесены на рисунке только для наглядности — как мы уже говорили, расстояние от камеры до мишени никак не влияет на величину поля зрения.

Рис. 11.59. Набор камер с типовыми значениями фокусных расстояний
5. Приступим к работе со сценой «МАХ-кафе». Перезапустите или перезагрузите max 7.5 и откройте файл МАХ-кафе10.mах, содержащий теперь полную геометрическую модель сцены и все осветители. На компакт-диске, прилагающемся к книге, нужную сцену можно найти в папке Scenes\Glava_11 под тем же именем МАХ-кафе10.mах. Сохраните сцену с инкрементированием имени файла.
6. Восстановите видимость всех элементов геометрической модели, оставив скрытыми окно и две системы снежинок. Уменьшите изображение в окне проекции Тор (Вид сверху), чтобы вертикальный размер видимой части сетки составлял примерно 15 м. Прокрутите изображение, переместив проекцию здания кафе в верхнюю часть окна.
7. Переместите курсор в окно проекции Тор (Вид сверху), щелкните в районе точки с координатами (145; -790; 0) и перетащите курсор в точку (-160; -130; 0), где будет располагаться мишень камеры, как показано на рис. 11.60. Настройте величину поля зрения камеры, щелкнув на кнопке 28 mm в разделе Stock Lenses (Сменные линзы) свитка Parameters (Параметры).

Рис. 11.60. Расположение нацеленной камеры в окне проекции Тор
8. Перейдите в окно проекции Front (Вид спереди) и переместите значок камеры вверх по экрану до отметки Z - 165 см. Хочется расположить камеру на высоте среднего человеческого роста, чтобы взгляд на сцену был естественным и привычным для глаз зрителей. Мишень камеры приподнимите до отметки Z = 140 см. Теперь, чтобы увидеть изображение, формируемое этой камерой, следует переключить тип проекции в любом из окон на проекцию Camera01 (Камера01). Проделав это, выполните визуализацию изображения в окне камеры. У вас должно получиться нечто похожее на рис. 11.61.

Рис. 11.61. Визуализированное изображение в окне проекции Camera01
|
СОВЕТ Чтобы переключить активное окно проекции на показ сцены через окно камеры, просто нажмите клавишу с. Если вы забыли, какие еще есть способы переключать проекции, обратитесь к главе 3. |
9. Создайте вторую камеру в дверях кафе «МАХ». Щелкните в районе точки (ПО; -310; 0) и перетащите курсор в точку (-110; -30; 0), где будет располагаться мишень камеры, как показано на рис. 11.62. Перейдите в окно проекции Front (Вид сверху) или Left (Вид слева) и приподнимите значок камеры до отметки Z - 175 см, а значок мишени — до отметки Z = 40 см. Настройте поле зрения камеры, щелкнув на кнопке 24 mm в разделе Stock Lenses (Сменные линзы) свитка Parameters (Параметры).

Рис. 11.62. Вторая нацеленная камера помещена в дверях кафе «МАХ»
10. Переключите любое из окон проекций на проекцию Camera02 (Камера02) и выполните пробную визуализацию. Должно получиться изображение, похожее на рис. 11.63. Обратите внимание на искажения в виде наклонных вертикальных линий рамы зеркала и крайнего левого кресла. Это неизбежно при использовании такого широкоугольного объектива на малых расстояниях от предметов съемки.

Рис. 11.63. Визуализированное изображение в окне проекции Camera02
11. Усвоив приемы создания камер, включите в состав сцены еще одну, третью, камеру, расположив ее в районе точки (-205; -295; 260), а ее мишень — в районе точки (164; 12; 178). Оставьте для этой камеры исходное значение поля зрения объектива, равное 45°. Переключите любое из окон проекций на проекцию Сатега03 (Камера03) и визуализируйте изображение. Примерный результат показан на рис. 11.64.

Рис. 11.64. Визуализированное изображение в окне проекции Сатега03
12. Наконец, создайте последнюю из запланированных, четвертую камеру. Расположите ее в районе точки (-15; -255; 150), а мишень — в районе точки (-60; -140; 95). Установите для этой камеры фокусное расстояние объектива равным 35 мм, щелкнув на соответствующей кнопке из группы Stock Lenses (Сменные линзы). Так как в данном случае будет визуализироваться крупный план сцены, то лучшие результаты будут получены в случае, если для всенаправленных осветителей у левой стены кафе применить режим трассированных теней. Переключите любое из окон проекций на проекцию Camera04 (Камера04) и визуализируйте изображение. Примерный результат показан на рис. 11.65. Итак, все нужные камеры созданы. В заключение сохраните файл проекта под заданным в пункте 5 именем МАХ-кафе11.max.

Рис. 11.65. Визуализированное изображение в окне проекции Camera04
Регулируем глубину резкости снимка интерьера «МАХ-кафе»
Попробуем применить эффект конечной глубины резкости к изображению сцены нашего основного проекта, с которой мы работали в предыдущем упражнении. Для освоения эффекта выполните следующие действия:
1. Работайте с той же сценой МАХ-кафе11 .max, какая использовалась в предыдущем упражнении. Для простоты и наглядности скройте от просмотра все объекты внутреннего убранства кафе, кроме кресел, зеркала и настенных ламп.
2. Выделите нужную камеру. Пусть для определенности это будет камера Camera02. Для этого проще и надежнее всего активизировать окно проекции, демонстрирующее изображение сцены через объектив выбранной камеры, щелкнуть на имени окна правой кнопкой мыши и выбрать в меню команду Select Camera (Выделить камеру).
3. Перейдите на командную панель Modify (Изменить) и установите флажок Enable (Включить) в разделе Multipass Effect (Эффект многолучевости). В раскрывающемся списке этого раздела по умолчанию как раз выбран вариант эффекта Depth of Field (Глубина резкости). Прокрутите область свитков вверх, чтобы стал виден свиток Depth of Field Parameters (Параметры глубины резкости), показанный на рис. 11.66.

Рис. 11.66. Свиток Depth of Field Parameters содержит все необходимые элементы управления эффектом конечной глубины резкости
4. Установите в разделе Focal Depth (Расстояние фокусировки) флажок Use Target Distance (Использовать расстояние до мишени). В качестве альтернативы можно не устанавливать этот флажок, а указать нужное расстояние в счетчике Focal Depth (Расстояние фокусировки).
5. Степень расфокусировки изображения определяется величиной, указанной в счетчике Sample Radius (Радиус выборки) раздела Sampling (Выборка). Эта величина задает расстояние, на которое смещается камера относительно исходного положения в ходе многократного построения изображения. Установим в качестве этой величины значение 2. В счетчике Total Passes (Всего лучей) по умолчанию указывается число 12 — именно столько раз программа будет производить сдвиг камеры в разные стороны от исходной точки, формируя многолучевой эффект расфокусировки. Чем больше лучей, тем более сглаженным выглядит эффект, но тем большее время требуется для его реализации. Оставьте в качестве этого, а также всех остальных параметров их исходные, принятые по умолчанию значения.
6. Чтобы увидеть результат в окне камеры, щелкните на кнопке Preview (Просмотр). Мах 7.5 двенадцать раз построит изображение сцены в окне проекции Camera02 (Камера02), каждый раз с небольшим смещением, заданным нами и счетчике Sample Radius (Радиус выборки), а затем отобразит итоговую картину, показанную на рис. 11.67, слева. Если щелкнуть на кнопке Quick Render (Быстрая визуализация) главной панели инструментов, то max 7.5 произведет визуализацию итогового изображения сцены, также повторив ее 12 раз и сформировав картину, показанную на рис. 11.67, справа. Не сохраняйте сцену, завершая работу с ней.

Рис. 11.67. Эффект конечной глубины резкости виден как в окне камеры (слева), так и на итоговом визуализированном изображении сцены (справа)
|
ЗАМЕЧАНИЕ Если в качестве драйвера дисплея используется Direct3D, то вы можете не увидеть результат смаза изображения в окне проекции. |
Надеюсь, после этих объяснений вам не составит труда применить эффект конечной глубины резкости в случаях, когда по замыслу вашего проекта имеет смысл сосредоточить внимание зрителя на определенном элементе сцены.
Набрасываем скатерть на стол
В главе 10 мы уже создавали скатерть, используя технику NURBS-моделирова-ния. Главный недостаток скатерти, созданной таким методом — ее очень трудно анимировать. При взаимодействии ткани с каким-либо объектом ее поверхность деформируется по всей площади. Использовать привычные способы создания анимации в данном случае очень сложно. Нам пришлось бы устанавливать ключи анимации для огромного количества точек объекта, что заняло бы много времени и сил. С помощью модуля reactor (Реактор) эта задача решается очень просто. Программа автоматически высчитывает воздействие, производимое на ткань внешними силами, и соответственно задает деформацию объекта. Более того, за поведением ткани можно наблюдать в режиме реального времени с помощью специальной функции предварительного просмотра. Анимация ткани, просчитанная с помощью модуля reactor (Реактор), выглядит очень реалистично, а сам процесс просчета занимает немного времени, особенно при правильно выбранных настройках.
Итак, для создания скатерти, падающей на стол, выполните следующие действия: 1. Откройте сцену с любым из созданных нами в рамках нашего проекта столов. Вы можете использовать сцену Stol.max, находящуюся в папке Scenes\Glava_05, я работал именно с ней. Сохраните ее под именем Stoljeactor.max. Перейдите в окно проекции Тор (Вид сверху). Создайте примитив Plane (Плоскость), расположив его таким образом, чтобы созданная вами плоскость была по площади немного больше стола. Подобрав необходимые настройки модуля reactor (Реактор), мы добьемся того, что эта плоскость будет обладать свойствами ткани. Переключитесь в окно проекции Perspective (Перспектива) и передвиньте объект Plane (Плоскость) вдоль оси Z вверх, чтобы она располагалась над столом, как показано на рис. 17.13. Если бы в реальной жизни мы могли каким-то образом зафиксировать ткань в таком положении и отпустить, то, поскольку на нее воздействует только сила гравитации, она начала бы падать вниз. После столкновения с поверхностью стола ткань начнет деформироваться, обхватывая краями объект столкновения. Поскольку наша плоскость должна изменять форму аналогичным образом, необходимо позаботиться о том, чтобы модель ткани, содержала достаточное количество сегментов по длине и ширине. Если объект, имитирующий ткань будет содержать малое количество полигонов, участки на изгибах выдадут трехмерную подделку, а просчитанная анимация будет выглядеть нереалистично. Увеличьте сегментацию плоскости, установив 24 сегмента по каждой из координат.

Рис. 17.13. Исходный вид трехмерной сцены с тканью, подготовленной для анимации модулем reactor
2. Создайте коллекцию жестких тел и включите в нее все объекты, составляющие стол — Stoleshnica, Nozhka stola01, Nozhka stola02, Nozhka stola03 и Nozhka stola04. Затем создайте коллекцию тканей. Для этого можно щелкнуть на кнопке Create Cloth Collection (Создать коллекцию тканей) панели инструментов reactor (Реактор), а затем щелкнуть в нужной точке окна проекции.
3. Выделите плоскость и примените к ней модификатор reactor Cloth (Реактор: Ткань), щелкнув, к примеру, на кнопке Apply Cloth Modifier (Применить модификатор Ткань) панели инструментов reactor (Реактор). На панели Modify (Изменить) появятся свитки параметров модификатора Properties (Свойства) (рис. 17.14) и Constraints (Ограничители). Оставьте в исходном состоянии настройки всех параметров модификатора reactor Cloth (Реактор: Ткань). Убедитесь в том, чтобы был установлен флажок Avoid Self-Intersections (Избегать самопересечений).

Рис. 17.14. Свиток Properties модификатора reactor Cloth
4. Добавьте плоскость в коллекцию тканей. Для этого щелкните на значке коллекции CLCollection (Коллекция тканей), после чего щелкните на кнопке Pick (Указать) под списком Cloth Entities (Образцы тканей) в свитке Properties (Свойства) на панели Modify (Изменить) и в заключение щелкните на плоскости в любом из окон проекций. Имя объекта Plane01 (Плоскость01) появится в списке.
5. Переключитесь на панель Utilities (Утилиты). Просмотрите анимацию в окне предварительного просмотра. Вы увидите, как плоскость подобно скатерти накроет стол, и ее края еще будут продолжать движение, создавая иллюзию настоящей ткани (рис. 17.15).

Рис. 17.15. Вид сцены с тканью в окне предварительного просмотра соответственно: перед началом анимации, на промежуточной стадии и перед завершением действия
6. Создайте ключи анимации ткани, щелкнув на кнопке Create Animation (Создать анимацию) в свитке Preview & Animation (Просмотр и анимация) утилиты reactor (Реактор), и просмотрите анимацию в окнах проекций. После того как программа завершит просчет сцены, анимированным объектам будут присвоены ключи анимации для каждого кадра анимации. Иногда такое обилие ключей анимации затрудняет работу над сценой. Кроме этого, некоторые ключи анимации и вовсе лишние. Так, например, если в сцене трехмерный объект совершает прямолинейное движение с постоянной скоростью, для описания его движения достаточно двух ключей анимации — в начале движения и в конце. Если требуется уменьшить количество ключей анимации, просчитанных в reactor (Реактор), вы можете произвести отбор главных ключей, удалив ненужные с помощью инструмента Reduce Keys (Уменьшить число ключей).
|
ВНИМАНИЕ Прежде чем начинать просчет трехмерной анимации в модуле reactor (Реактор), следует проверить правильность выбранных настроек, а еще лучше сохранить копию сцены и с инкрементированием имени. После завершения вычислений возврат на этап, предшествующий просчету динамики, будет невозможен. Если полученная анимация вас не удовлетворила, вы можете сравнить свою сцену с моей. Она находится в папке Scenes\Glava_17 под названием Stol_reactor.max. Это — сцена с настроенными параметрами, но не доведенная до конечного просчета модулем reactor (Реактор). Там же вы найдете файл Stol_reactor01.max с уже просчитанной анимацией reactor (Реактор). |
Назначаем материалы из библиотеки объектам «МАХ-кафе»
Теперь попробуем назначить созданные материалы объектам сцены «МАХ-кафе» и оценить вид этих объектов после визуализации. Выполните следующие действия:
1. Откройте файл МАХ-кафе 1 l.max. При необходимости можете загрузить файл МАХ-кафе11 .max из папки Scenes\Glava_11 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Раскройте окно Редактора материалов и щелкните на кнопке Get Material (Получить материал). В окне диалога Material/Map Browser (Просмотр материалов и карт текстур) установите переключатель Browse From (Источник) в положение Mtl Library (Библиотека материалов) и щелкните на кнопке Open (Открыть). В появившемся окне Open Material Library (Открытие библиотеки материалов) выделите имя нужной библиотеки — MAX-kafe — и щелкните на кнопке Open (Открыть).
3. Выделите в списке окна просмотра имя материала Pobeika и перетащите его в первую ячейку Редактора материалов. Затем перетащите материалы Faians, Pozolota и Steklo во вторую, третью и четвертую ячейки Редактора.
4.

Выделите в сцене объект Potolok. Активизируйте первую ячейку образца с материалом Pobeika и щелкните на кнопке Assign Material to Selection (Назначить материал выделенным объектам). В данном случае такой прием оказывается удобнее, чем методика «перетащить и положить», так как сцена насыщена перекрывающимися объектами и указать курсором именно на объект Potolok довольно трудно.
5. Теперь назначьте материал Faians всем тарелкам. Выделите объекты Tarelka01-Tarelka08. Удобнее всего это сделать по именам с помощью инструмента Select by Name (Выделить по имени) главной панели инструментов. Затем активизируйте ячейку с образцом материала Faians и снова щелкните на кнопке Assign Material to Selection (Назначить материал выделенным объектам), применив материал сразу ко всем тарелкам сцены.
6. Действуя аналогичным образом, назначьте материал Pozolota объектам Rama, Lozhka01-Lozhka08, Vilka01-Vilka08, а также всем деталям обоих светильников, кроме плафонов. Для этого придется временно открыть объекты-группы Zerkalo, Lampa01 и Lampa02, а затем снова закрыть их. Кроме того, примените золотистый материал к елочному украшению — объекту Mesiac. Назначьте всем восьми бокалам материал Steklo из четвертой ячейки Редактора материалов.
7. Сохраните файл сцены под измененным в начале упражнения именем МАХ-кафе12.max, но не выходите из программы, так как работа над материалами будет продолжена.
На представленных ниже рис. 13.40 и 13.41 демонстрируются результаты визуализации фрагмента сцены, изображающего стол с посудой до и после назначения объектам простейших материалов. Обратите внимание на появление световых бликов на раме зеркала, тарелках и ложках. Отметьте также и то, что бокалы, хотя и стали прозрачными, пока мало похожи на предметы из стекла. Да, на их стенках видны яркие блики, но совершенно отсутствуют отражения окружающей обстановки. Для того чтобы реализовать на поверхности объекта эффект отражения окружающих объектов сцены, требуется применить к материалу объекта одну из карт текстуры, имитирующих зеркальное отражение, что мы и сделаем в следующей главе.

Рис. 13.40. Фрагмент сцены без материалов

Рис. 13.41. Тот же фрагмент, что на рис. 12.40, после применения материалов к раме, тарелкам, бокалам, ложкам и вилкам
На рис. 13.42 и 13.43 показан фрагмент сцены со светильником до и после назначения материалов. Хорошо заметно, что «позолоченные» объекты выглядят более темными, чем эти же объекты без материалов. Это результат низкого уровня диффузного рассеивания от гладких металлических поверхностей, что имеет место и в реальном мире. Обратите внимание также на то, что в блестящей поверхности щита, играющего роль опоры светильника, не отражаются ни кронштейн, ни другие элементы конструкции светильника. Как и в случае с бокалами, устранение этого недостатка требует использования текстурных карт, о которых речь пойдет в следующей главе «Учимся применять карты текстур и многокомпонентные материалы».

Рис. 13.42. Фрагмент сцены без материалов

Рис. 13.43. Тот же фрагмент, что на рис. 12.42, после применения материалов к раме и деталям светильника (кроме плафона)
|
ЗАМЕЧАНИЕ Для формирования показанных выше изображений было выполнено перенацеливание камеры Camera04 из состава сцены MAX-kafe, а после визуализации исходные координаты камеры и ее мишени были восстановлены. |
Одним движением руки создаем... чайник
Сцена из одного объекта — это чересчур примитивно, поэтому создайте нашему шару компаньона в лице маленького уютного чайника.
В свитке Object Type (Тип объекта) щелкните на кнопке Teapot (Чайник), переместите курсор в окно проекции Тор (Вид сверху) и поместите перекрестье слева от сферы в точке с координатами примерно (-100; 0; 0).
Чайник создается точно так же, как и сфера. Щелкните кнопкой мыши и, удерживая ее, перетаскивайте курсор в сторону, наблюдая за ростом чайника с носиком, ручкой и крышкой. Следите за значением параметра Radius (Радиус) в свитке Parameters (Параметры) командной панели Create (Создать) и отпустите кнопку мыши, когда радиус достигнет величины 10-15 единиц.
Выключите режим создания чайников, щелкнув правой кнопкой мыши в активном окне проекции или щелкнув левой кнопкой мыши на кнопке инструмента Select Object (Выделить объект).
Готово! Примерный вид нашей сцены в окнах проекций max 7.5 показан на рис. 3.4. Такой маленький по сравнению со сферой чайник нам нужен для того, чтобы использовать только что созданную сцепу для наглядной демонстрации возможностей управления изображением в окнах проекций, о чем речь пойдет в следующей части главы.

Рис. 3.4. Вид простейшей сцены в окнах проекций
в учебных целях выполним визуализацию
По замыслу сцена «МАХ-кафе» должна визуализироваться на фоне серо-голубого зимнего неба. Однако в учебных целях выполним визуализацию на фоне фотографического изображения реального заката солнца. В предыдущей главе, работая над материалом для окна кафе «МАХ», мы говорили о необходимости использовать в подобном случае растровый файл с изображением заката в качестве текстуры зеркального отражения оконного стекла. Тот же файл следует применить и в качестве текстуры фона.
Итак, чтобы визуализировать сцену «МАХ-кафе» на фоне заходящего солнца, выполните следующие действия:
1. Загрузите сцену из ранее сохраненного вами файла MAX-kafe17.max. При необходимости нужную сцену со всеми материалами можно найти в папке Scenes\ Glava_15 компакт-диска, прилагающегося к книге, где она хранится под именем МАХ-кафе 17.max. Сохраните сцену с инкрементированием имени файла.
2. Раскройте окна диалога Environment and Effects (Внешняя среда и эффекты) и Material Editor (Редактора материалов). Щелкните на кнопке Environment Map (Карта текстуры фона) в разделе Background (Природный фон) на вкладке Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты). В появившемся окне Materila/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на строке карты типа Bitmap (Растровая карта). Наименование типа карты появится на кнопке Environment Map (Карта текстуры фона) и одновременно появится окно диалога Select Bitmap Image File (Выбор файла растровой текстуры), позволяющее выбрать файл растровой текстуры. Выберите тот файл с фотографией заката, который использовали для имитации отражений в оконном стекле. Я использовал для этих целей файл Sunset.tga, который можно найти в панке Maps\Backgrnd компакт-диска, прилагающегося к книге. Щелкните на кнопке Environment Map (Карта текстуры фона), перетащите курсор в свободную ячейку Редактора материалов и отпустите кнопку мыши, создав дубликат-образец текстуры. Назовите текстуру Bagroviy zakat. На рис. 15.38 показан вид выбранной фотографии заката в окне увеличителя.

Рис. 15.38. Изображение драматического багрового неба на закате солнца выбрано в качестве фона сцены «МАХ-кафе»
3. Сделайте выбранный фон видимым в окне проекции max 7.5. Для этого выполните команду главного меню Views > Viewport Background (Проекции > Фон окна проекции). В появившемся окне диалога Viewport Background (Фон окна проекции) установите флажки Use Environment Background (Использовать фон внешней среды) и Display Background (Показывать фон). Выделите объект Camera01 (Камера01) и установите для этой камеры флажок Show Horizon (Показать горизонт) в свитке параметров камеры на командной панели. Вид сцены в окне проекции Camera01 (Камера01) на данный момент показан на рис. 15.39. Как видно, линии горизонта сцены и фонового изображения явно не совпадают. У фотографии горизонт проходит вдоль нижнего обреза изображения, а у сцены в данном окне проекции — почти посередине окна.

Рис. 15.39. Вид сцены в окне проекции Camera01 показывает несовпадение линий горизонта фона и сцены
4. Настройте параметры растровой текстуры для согласования перспективы фона и сцены. Так как в окне проекции Camera01 (Камера01) видна только небольшая часть фотографии неба (примерно одна четвертая), можно выполнить такое согласование простым смещением растровой карты. В свитке Coordinates (Координаты) текстуры Bagroviy zakat начните постепенно увеличивать значение в счетчике группы Offset (Смещение), относящемся к оси V. Наблюдайте за смещением линии горизонта фона вверх, при этом «выталкиваемая» за пределы верха окна часть растровой карты будет отображаться в его нижней части (рис. 15.40). На мой взгляд, величины смещения около 0,42 будет вполне достаточно.

Рис. 15.40. Изображение фона в окне проекции Camera01 смещено вверх на 0,42 по оси V
5. Теперь можно дополнительно сместить изображение по горизонтали, чтобы в левой верхней части окна проекции, где фон не будет заслонен объектами сцены, наблюдалась наиболее выразительная, богатая деталями часть фотографии. Для этого увеличивайте значение в счетчике группы Offset (Смещение), относящемся к оси U, наблюдая за обновляемой картиной фона в окне проекции. Мне показалось, что неплохо подойдет значение смещения в районе 0,53-0,55 (рис. 15.41).

Рис. 15.41. Изображение фона в окне проекции Camera01 смещено по горизонтали (по оси U) на 0,53
6. Скройте из вида снежные валики па фундаменте и ступеньке кафе. Примените к основанию сцены материал, имитирующий текстуру асфальта. При необходимости вы можете найти подходящий материал с именем Asfalt в библиотеке MAX-kafe.mat. Выполните визуализацию изображения в окне проекции Camera01 (Камера01). Теперь это изображение, показанное на рис. 15.42, отличает от картины, приведенной на рис. 1.19 первой главы, только отсутствие тумана и сияющего ореола вокруг букв вывески, но этим мы займемся чуть позже. В заключение сохраните сцену под измененным в начале работы именем.

Рис. 15.42. Сцена «МАХ-кафе» визуализирована на фоне фотографии заката
Продолжаем добавлять растровые текстуры в состав материалов «МАХ-кафе»
Продолжим создание материалов с растровыми текстурными картами для «МАХ-кафе». Такие материалы понадобятся нам для фундамента, ступеньки и двери кафе; для столов, деревянных деталей кресел и их обивки, настольных салфеток; для обоев, украшающих стены; для камина, крестовины елки и т. д. Учитывая полученный вами определенный опыт, разберем последовательность необходимых действий менее подробно, чем в предыдущем упражнении:
1. Учитывая, что сцена MAX-kafe13.max уже загружена, создайте материал для фундамента и ступеньки здания кафе. Активизируйте свободную ячейку образца материала и установите цвет Ambient (Подсветка) с RGB-компонентами, равными (56; 30; 16) — темно-коричневый. Оттенок цвета Diffuse (Диффузный) сделайте ненасыщенным серовато-зеленым (143; 157; 98). Введите в счетчик Specular Level (Сила блеска) величину 20, чтобы сделать материал слегка блестящим. Исходные значения остальных параметров оставьте без изменений.
2. Щелкните на квадратной кнопке без надписи справа от образца цвета Diffuse (Диффузный) и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) карту типа Bitmap (Растровая). Щелкните на длинной кнопке без надписи в свитке Bitmap Parameters (Параметры растровых текстур) и выберите подходящий файл растровой текстуры. Я использовал файл Smlaggr.jpg, изображающий мелкую цветную гальку, показанную на рис. 14.55, назвав материал Galka v cemente. Этот файл можно найти в папке Maps\Architex компакт-диска, прилагающегося к книге. Можно применить и иное подходящее изображение, например, из файлов Sandshor.jpg или Concgray.jpg, входящих в комплект поставки карт текстур max 7.5 и изображающих текстуры песка и цементной отливки. Установите в счетчиках группы Tiling (Кратность) свитка Coordinates (Координаты) кратность повторения образцов текстуры равной 2 по осям U и V. Сохраните созданный материал в библиотеке MAX-kafe.mat.

Рис. 14.55. Образец материала для фундамента и ступеньки «МАХ-кафе» с растровой картой цвета диффузного рассеивания
| ЗАМЕЧАНИЕ Если просто назначить материал объектам Fundament и Stupenka, то результат не будет таким, на который мы хотели бы рассчитывать, max 7.5 будет воспроизводить текстуру с заданной кратностью, равной 2, на каждой из сторон параллелепипедов, изображающих фундамент и ступеньку. Однако размеры и пропорции сторон различаются, а это значит, что на узких боковых гранях данных объектов текстура будет сжата по вертикали и растянута по горизонтали. Кроме того, размеры блоков фундамента и ступеньки существенно различаются, так что разным будет и масштаб рисунков одной и той же текстуры. Все эти недостатки хорошо видны на рис. 14.56, при формировании которого все объекты сцены, кроме показанных на рисунке, были временно скрыты от просмотра. Но ведь размеры камешков гальки не должны зависеть от того, замурованы они в фундамент или в ступеньку! Чтобы избежать зависимости масштаба текстуры от размеров граней объекта, к нему следует применить модификатор UVW Map (UVW-проекция), выбрав проекцию типа Box (Прямоугольные трехмерные) и задав равные размеры габаритного контейнера по всем осям U, V и W, то есть придав габаритному контейнеру кубическую форму. |

Рис. 14.56. Пробная визуализация материала фундамента и ступеньки «МАХ-кафе» выявляет неравномасштабность изображений текстуры на разных гранях объектов
3. Примените модификатор UVW Map (UVW-проекция) к объекту Fundament. Установите переключатель типа проекции в положение Box (Прямоугольные трехмерные). Горизонтальные размеры этого объекта равны 680x680 см, поэтому установите размеры габаритного контейнера равными 680 см по всем трем осям проекционных координат. Затем примените модификатор проецирования к объекту Stupenka, выбрав тот же тип проекционных координат и назначив габаритному контейнеру модификатора те же размеры, 680x680x680 см, что и у объекта Fundament. Теперь рисунок текстуры будет выглядеть одинаково на всех гранях обоих объектов, как показано на рис. 14.57.

Рис. 14.57. Повторная пробная визуализация материала фундамента и ступеньки «МАХ-кафе» показывает требуемое качество текстуры
4. Теперь пора заняться входной дверью. Для нее требуется материал с текстурой какой-нибудь благородной древесины, например ясеня, дуба или бука. Активизируйте новую ячейку Редактора материалов. Задайте коричневый цвет Ambient (Подсветка) с RGB-компонентами (100; 44; 22), цвет Diffuse (Диффузный) сделайте светло-коричневым (196; 119; 58), а цвет Specular (Зеркальный) — бледно-желтым, почти белым (248; 239; 213). Настройте хорошо выраженный, хотя и не слишком яркий блик: Specular Level (Сила блеска) = 36; Glossiness (Глянцевитость) = 46 с размытыми краями, Soften (Размыть) - 0,8. Подберите рисунок текстуры для цвета диффузного рассеивания. Я использовал файл с текстурой ясеня Ashen_2.gif, который можно найти в папке Maps компакт-диска, прилагающегося к книге. Этот файл входит в комплект поставки текстур mах 7.5. Получающийся при этом материал показан на рис. 14.58, но можно применить, скажем, файл Tutash.jpg из комплекта поставки max 7.5. Кратность повторения текстуры по обеим осям установите равной 2. Назовите материал, предположим, lasene-vaia doska (Ясеневая доска) и сохраните в текущей библиотеке. Впоследствии мы используем этот же материал и в качестве рамы окна кафе (материал окна должен быть многокомпонентным, включая в себя материалы рамы и стекла).

Рис. 14.58. Образец материала для входной двери «МАХ-кафе» с растровой картой цвета диффузного рассеивания, изображающей древесину ясеня
5. Чтобы материал, имитирующий текстуру ясеневой доски, хорошо лег на створки и коробку дверей, разгруппируйте объект Dveri и назначьте модификаторы проекций отдельно каждой из створок и коробке двери. Выберите вариант проецирования типа Box (Прямоугольные трехмерные). Чтобы рисунок древесины не искажался на торце двери, измените в свитке Parameters (Параметры) модификатора проекций ширину и высоту габаритного контейнера, сделав их одинакового размера — по 65 см (рис. 14.59). Проделайте ту же операцию применительно к левой створке двери.

Рис. 14.59. Вид сверху габаритного контейнера модификатора проекций правой створки двери
6. Визуализируйте изображение в окне проекции Camera01 (Камера01). Теперь, когда материалы на основе текстурных карт применены ко всем объектам снаружи от здания кафе, кроме окна и фона, сцена должна выглядеть подобно изображению на рис. 14.60.

Рис. 14.60. Вид сцены в окне проекции Camera01 после применения материалов
7. Перейдем к «раскрашиванию» текстурами внутреннего убранства кафе «МАХ». Если вы следовали совету и на время работы с наружной частью сцены скрывали от просмотра объекты интерьера кафе, то восстановите их видимость. Начните с создания материала с текстурой полированной древесины для стола и «деревянных» деталей кресел. Активизируйте очередную свободную ячейку Редактора материалов и настройте параметры материала в свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) следующим образом: Ambient (Подсветка) = (100; 44; 22), коричневый; Diffuse (Диффузный) = (178; 79; 40), красновато-коричневый; Specular (Зеркальный) - (241; 222; 171), светло-бежевый. Чтобы древесина выглядела хорошо полированной, задайте яркий, четкий блик: Specular Level (Сила блеска) = 88; Glossiness (Глянцевитость) = 53 с несколько размытыми краями, Soften (Размыть) = 0,6. Примените в качестве карты текстуры диффузного рассеивания фотографию полированного дубового капа из файла Burloak.jpg, входящего в комплект поставки max 7.5 (файл с таким же именем можно найти и в папке Maps компакт-диска, прилагающегося к книге). Назовите новый материал Du-boviy кар (Дубовый кап) и сохраните его в текущей библиотеке. Вид получившегося материала в окне увеличителя показан на рис. 14.61. Выделите по именам оба стола (объекты Stol01 и Stol02), а также деревянные детали всех восьми кресел (для этого придется временно открыть объекты-группы) и примените к ним только что созданный материал с текстурой дубового капа.

Рис. 14.61. Образец материала для деревянных деталей мебели «МАХ-кафе» с растровой картой цвета диффузного рассеивания, изображающей полированный наплыв дуба
|
СОВЕТ Если для нанесения материала на деревянные детали кресел вам потребуется применить к ним модификатор UVW Map (UVW-проекция), то применяйте модификатор отдельно к каждой из боковин и каждой спинке, используя проекционные координаты типа Box (Прямоугольные трехмерные). |
|
ЗАМЕЧАНИЕ Столешницы из полированного дерева будут выглядеть неестественно, если в них не будут хотя бы чуть-чуть отражаться стоящие на столе предметы, как было показано выше на рис. 14.22. Способ имитации этого эффекта с помощью карты текстуры Flat Mirror (Плоское зеркало) мы рассмотрим ниже, в разделе «Создаем многокомпонентные материалы». |
8. Чтобы выполнить имитацию материала ткани для «обивки» сидений и подушек кресел кафе «МАХ», воспользуйтесь растровой текстурой в качестве карты рельефа. В свободной ячейке Редактора материалов настройте параметры материала в свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) следующим образом: Ambient (Подсветка) - (72; 16; 20), темно-бордовый; Diffuse (Диффузный) = (148; 9; 9), насыщенно-красный; Specular (Зеркальный) = (229; 229; 229), светло-серый, почти белый. Полностью устраните блик, установив параметры Specular Level (Сила блеска) и Glossiness (Глянцевитость) равными 0. Разверните свиток Maps (Карты текстур), щелкните на кнопке с надписью None (Отсутствует) справа от параметра Bump (Рельефность) и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) карту типа Bitmap (Растровая). Щелкните на длинной кнопке без надписи в свитке Bitmap Parameters (Параметры растровых текстур) и выберите файл растровой текстуры, изображающей рисунок ткани. Я использовал файл с черно-белым изображением грубой ткани Curptgry.jpg, который входит в набор растровых текстур max 7.5. В качестве всех параметров растровой текстуры оставьте их исходные значения. Вернитесь с уровня работы с картой на уровень материала и установите в счетчике Amount (Доля вклада) свитка Maps (Карты текстур) для параметра Bump (Рельефность) величину 200, чтобы рельеф ткани хорошо проявился на изображении (рис. 14.62). Назовите материал Obivka, сохраните его в текущей библиотеке и примените к сиденьям и подушкам всех восьми кресел. На рис. 14.63 показан результат пробной визуализации одного из кресел (все остальные объекты были скрыты от просмотра), произведенной для контроля качества материалов.

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

Рис. 14.63. Пробная визуализация одного из кресел позволяет убедиться в правильности нанесения материалов
9. Подготовьте материал для салфеток, постеленных на столах кафе. Можно было бы и не применять для них текстуру, но ведь внимание к деталям как раз и отличает работу мастера от поделки ремесленника. Активизируйте очередную свободную ячейку Редактора материалов и настройте параметры материала в свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) следующим образом: Ambient (Подсветка) - (207; 191; 164), бежевый; Diffuse (Диффузный) = (211; 205; 195), светло-бежевый; Specular (Зеркальный) - (255; 255; 255), чисто-белый. Как и в случае с материалом обивки кресел, полностью устраните блик, установив параметры Specular Level (Сила блеска) и Glossiness (Глянцевитость) равными 0. Примените одну и ту же растровую карту в качестве текстур цвета диффузного рассеивания и рельефа. Я использовал изображение волокнистой рисовой бумаги из файла Paper.jpg, который имеется в папке Maps компакт-диска, прилагающегося к книге. Можно применить и другую картинку, например из файлов Plgry.jpg или Pltan.jpg, входящих в комплект поставки текстурных карт max 7.5. В качестве всех параметров растровой текстуры оставьте их исходные значения. Вернитесь с уровня работы с картой на уровень материала и установите в счетчиках Amount (Доля вклада) свитка Maps (Карты текстур) для параметров Diffuse Color (Диффузное рассеивание) и Bump (Рельефность) значения 65 и 90. Назовите материал Salfetka, примените его ко всем восьми салфеткам на столах кафе «МАХ» и сохраните в текущей библиотеке. Вид получившегося материала в окне увеличителя показан на рис. 14.64.

Рис. 14.64. Образец материала для салфеток с растровой картой текстур диффузного рассеивания и рельефа
10. Теперь подготовьте материал для «оклейки стен» кафе. Активизируйте свободную ячейку Редактора материалов (по моим подсчетам это будет уже 17-я из задействованных нами ячеек). Используйте принятую по умолчанию раскраску по Блинну и настройте параметры нового материала следующим образом: Ambient (Подсветка) = (50; 51; 42), темно-серый с зеленоватым отливом; Diffuse (Диффузный) = (172; 171; 152), слабо насыщенный хаки; Specular (Зеркальный) = (229; 229; 229), почти белый. Блик уберите совсем: Specular Level (Сила блеска), Glossiness (Глянцевитость) = 0. Чтобы материал напоминал обои, создайте рисунок в виде повторяющегося узора. Для этого подойдут образцы текстур, имена файлов которых начинаются с символов «pat» (от слова pattern — узор): они специально предназначены для формирования бесшовных узоров. Я использовал файл Pat0169.jpg, который имеется в папке Maps\Backgrnd компакт-диска, прилагающегося к книге. В комплект поставки max 7.5 также входят подобные файлы, например Pat0106.tga или Pat0153.tga. Примените выбранную растровую карту в качестве текстуры цвета диффузного рассеивания материала. Подберите такие значения коэффициентов в счетчиках группы Tiling (Кратность) свитка Coordinates (Координаты), чтобы образец текстуры не выглядел в узоре ни слишком мелким, ни чересчур крупным. К примеру, можете попробовать такие значения: 14 по оси U и 12 - по оси Y (рис. 14.65). Не изменяйте исходные значения всех остальных параметров материала, назовите его Oboi и сохраните в текущей библиотеке. Примените материал к объектам LevStena, PravStena и Zadniaia stena здания кафе.

Рис. 14.65. Образец материала для «оклейки стен» с картой текстуры диффузного рассеивания, образующей бесшовный узор
|
ЗАМЕЧАНИЕ Очевидно, что при таком способе нанесения материала на стены обои будут видны и с улицы. Чтобы избежать этого, требуется применение многокомпонентного материала, состоящего из двух материалов, один из которых будет изображать обои, а другой — вид стены снаружи, Для нанесения такого материала стены также должны быть специальным образом подготовлены. Читайте об этом далее в разделе «Создаем многокомпонентные материалы». |
11. Попробуем украсить текстурой елочное украшение — золотую рыбку, заодно разобравшись с возможностью изменения цветового оттенка текстуры. Активизируйте очередную свободную ячейку Редактора материалов и, не меняя исходных цветовых оттенков материала, установите достаточно интенсивный блик: Specular Level (Сила блеска) = 84, Glossiness (Глянцевитость) = 23. Щелкните на маленькой квадратной кнопке справа от образца цвета диффузного рассеивания и выберите в списке текстурных карт строку Bitmap (Растровая карта). Загрузите в качестве растровой текстуры файл Crumple4.jpg, имеющийся в папке Maps\Organics стандартного набора текстур mах 7.5 и представляющий собой фотографию мятой бумаги. Раскройте свиток Maps (Карты текстур) и перетащите имя текстурной карты с кнопки канала Diffuse Color (Диффузное рассеивание) на кнопку канала Bump (Рельефность), выбрав вариант дублирования Instance (Образец). Установите значение доли вклада текстуры в канале Bump (Рельефность) равным 100. Пока что образец материала, который можно видеть в активной ячейке, не вызывает в воображении образ золотой рыбки.
12. Перейдите на уровень редактирования карты растровой текстуры, щелкнув в свитке Maps (Карты текстур) на кнопке канала Diffuse Color (Диффузное рассеивание), и раскройте свиток Output (Результат). Установите флажок Enable Color Map (Разрешить карту цвета), чтобы получить доступ к инструментам раздела Color Map (Карта цвета) в нижней части свитка. Эти инструменты позволяют вручную настроить передаточную кривую, характеризующую связь входных и выходных значений отсчетов цвета. Наша цель — придать материалу золотистый оттенок. Установите переключатель RGB, обеспечив тем самым возможность раздельной настройки передаточных кривых по каждому из каналов цветовых компонентов. Щелкните на кнопках R (Red — Красный) и G (Green — Зеленый), чтобы выключить режимы настройки передаточных кривых красного и зеленого каналов цвета. Щелкните на квадратном черном маркере на конце передаточной кривой оставшегося активным синего канала и перетащите этот маркер вниз, к нулевой отметке. Тем самым вы полностью выключите синий компонент цвета материала, а красный и зеленый создадут в сумме искомый желто-золотистый оттенок. В таком виде материал уже мало напоминает мятую бумагу. Назовите материал Zolotaia folga, сохраните его в текущей библиотеке и назначьте объекту Zolotaia ribka. На рис. 14.66 показан вид полученного материала в окне увеличителя, а на рис. 14.67 — непосредственно на елочной игрушке.

Рис. 14.66. Образец материала в виде золотистой фольги

Рис. 14.67. Елочное украшение «Золотая рыбка» после применения материала
13. Чтобы закончить это упражнение, выполните пару самостоятельных заданий. Примените материал с текстурой ясеневой доски к крестовине, в которую установлена елка, предварительно назначив объекту Krestovina подходящий модификатор проекций. Материал для мешка Деда Мороза создайте аналогично материалу обивки кресла, применив в качестве текстур цвета диффузного рассеивания и рельефа изображение мешковины из файла Carpttan.jpg, имеющегося в папке Maps\Fabric стандартного набора текстур max 7.5. Для кочерги создайте материал с текстурой старого поржавевшего металла. Можно применить с этой целью текстуру из файла Plateox2.jpg, имеющегося в составе текстур max 7.5. Итак, свои материалы обрели почти все объекты внутреннего убранства кафе за исключением стекла зеркала, камина, поленьев и покрытия пола. Правда, пока еще не до конца отработаны материалы стекла бокалов, столешниц и тарелок. Их доводкой мы займемся в следующих упражнениях главы. А пока выполните пробную визуализацию изображения в окне Camera02 (Камера02), чтобы оценить качество подготовленных материалов в условиях реального освещения, установленного в сцене. Результат должен быть похож на рис. 14.68. Сохраните файл сцены под прежним именем MAX-kafe13.max.

Рис. 14.68. Результат визуализации сцены в окне Camera02
По возможности не закрывайте max 7.5, так как работа над материалами будет продолжена.
Рисуем NURBS-кривую в форме финских саней
Для практической отработки навыков рисования NURBS-кривых в трехмерном пространстве попробуйте нарисовать кривую типа CV, напоминающую по форме финские сани (рис. 6.19), на которых, вероятно, каждый из вас хоть раз, да катался зимой. На рис. 6.19 управляющие вершины пронумерованы для удобства ссылок в тексте упражнения.

Рис. 6.19. Пример NURBS-кривой, расположенной в трехмерном пространстве
Итак, выполните следующие действия:
1. Перезагрузите программу и сохраните новый пустой файл под именем Finskie sani.max.
2. Выберите в раскрывающемся списке командной панели Create (Создать) разновидность объектов NURBS Curves (NURBS-кривые) и щелкните на кнопке CV Curve (CV-кривая).
| ЗАМЕЧАНИЕ При построении рассматриваемой далее кривой учтен тот факт, что в каком бы из окон проекций ни строилась кривая, ее управляющие вершины всегда помещаются на координатной плоскости этого окна. Процесс построения был заранее продуман и спланирован так, чтобы при переходе из окна в окно кривая принимала требуемую форму. В связи с этим важно использовать именно те окна проекций, которые упоминаются в упражнении, а также располагать вершины именно в указанных точках. Когда вы усвоите на практике принцип построения подобных трехмерных кривых, вы сможете попробовать выполнить аналогичные построения с использованием иных окон. |
3. Установите в свитке Create CV Curve (Создание CV-кривой) флажок Draw In All Viewports (Рисовать во всех окнах проекций). Начните рисовать кривую обычным порядком в окне проекции Front (Вид спереди), построив вершины 1-5. Кривая будет создаваться на координатной плоскости окна (рис. 6.20). Обратите внимание на то, что вершина 3 намеренно размещена точно на горизонтальной, а вершины 4 и 5 — на вертикальной оси координат. Ведь эта вертикальная ось — проекция координатной плоскости, присутствующей в окне вида слева, в котором будет продолжено рисование на следующем шаге. Горизонтальная ось координат окна Front (Вид спереди) — это проекция координатной плоскости окна Тор (Вид сверху), в котором будет строиться вершина 8.

Рис. 6.20. Первые пять вершин NURBS-кривой создаются в окне проекции Front
4. Вершину 6 требуется разместить в плоскости, перпендикулярной текущей. Переместите курсор в окно проекции Left (Вид слева) и продолжите рисование на плоскости этого окна (рис. 6.21), построив вершины б и 7. И в этом случае кривая строится на текущей координатной плоскости. Так как точки 4 и 5 на предыдущем шаге были размещены в окне Front (Вид спереди) на вертикальной оси координат, все четыре вершины — 4, 5, 6 и 7 — оказываются лежащими в одной плоскости, так что кривая не перекашивается.

Рис. 6.21. Рисование продолжается в окне проекции Left
5. Чтобы построить вершину 8, переместите курсор в окно проекции Тор (Вид сверху). Вершины 3 и 8 должны лежать в одной плоскости. Это достигается тем, что вершина 3 в окне вида спереди была в п. 2 размещена точно на горизонтальной оси координат.
6. Для создания вершины 9 снова переместите курсор в окно Front (Вид спереди). На этот раз, однако, для построения вершины придется применить новый прием. Так как кривая в окне Front (Вид спереди) будет создаваться на текущей координатной плоскости, то вершина 9 грозит слиться с вершиной 2, как показано на рис. 6.22. Чтобы этого не случилось, необходимо поднять вершину 9 над плоскостью окна Front (Вид спереди).

Рис. 6.22. Вершину 9 необходимо поднять над плоскостью окна проекции Front
7. Нажмите и удерживайте клавишу Ctrl. Щелкните кнопкой мыши, отпустите клавишу Ctrl и перемещайте курсор в окне проекции Front (Вид спереди) вверх по экрану. Вновь созданная вершина будет приподниматься над плоскостью окна Front (Вид спереди), что можно видеть в других окнах проекций. От текущей координатной плоскости к новой вершине будет тянуться пунктирная линия красного цвета, как видно на рис. 6.23. Когда вершина сместится перпендикулярно координатной плоскости на требуемое расстояние, снова щелкните кнопкой мыши, фиксируя ее положение.

Рис. 6.23. Смещение вершины 9 перпендикулярно плоскости текущего окна проекции в других окнах изображается красной пунктирной линией
8. Для перемещения вершины перпендикулярно координатной плоскости текущего окна проекции можно использовать и другой прием. Нажмите и удерживайте клавишу Ctrl, щелкните кнопкой мыши и перетаскивайте курсор вверх или вниз по экрану (клавишу Ctrl при этом можно отпустить). Для фиксации положения вершины отпустите кнопку мыши. Испытайте этот прием при построении последней, десятой вершины нашей кривой в окне проекции Front (Вид спереди). Решите сами, какой из приемов вам кажется более удобным. Так как десятая вершина создается напротив первой, то после ее создания появится окно с запросом Close Curve? (Замкнуть кривую?). Щелкните в ответ на кнопке No (Нет). Чтобы закончить рисование кривой, щелкните правой кнопкой мыши. Еще раз щелкните правой кнопкой мыши для выключения режима рисования NURBS-кривых. В итоге кривая должна принять вид, показанный ранее на рис. 6.19.
9. Сохраните файл. Можете сопоставить получившийся результат с объектом из файла, хранящегося под таким же именем Finskie sani.max в папке Scenes\ Glava_06 прилагающегося к книге компакт-диска.
Подобные трехмерные NURBS-кривые можно с успехом применять в качестве траекторий, вдоль которых расставляются поперечные сечения объектов, создаваемых методом лофтинга. Этот метод нам предстоит рассматривать в следующей главе. Сохраните созданную кривую в файле под заданным в начале упражнения именем, она еще пригодится нам в главе 7 при освоении инструментов деформации тел лофтинга.
Совершенствуем навыки применения модификатора Bend
Модификатор Bend (Изгиб) изгибает выделенный объект относительно заданной координатной оси. Вам уже приходилось применять этот модификатор для изгиба спинки и подушки кресла, а также опорных сечений при создании ложки. Сейчас мы более подробно рассмотрим параметры этого модификатора.
Чтобы попрактиковаться в применении модификатора изгиба, выполните следующие действия:
1. Перезагрузите max 7.5 и постройте в окне проекции Тор (Вид сверху) стандартный примитив Tube (Труба) с внутренним радиусом 7, наружным радиусом 10 и высотой 100 текущих единиц. Обязательно проследите за тем, чтобы объект имел достаточное число сегментов по высоте (Height Segments) — по крайней мере 10. Создайте два дубликата-копии этого объекта и расположите их примерно так, как показано на рис. 8.11. При желании можете загрузить готовую сцену с тремя трубами, открыв файл Tri trubi(Bend).max в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.

Рис. 8.11. Объекты, подготовленные для применения модификатора Bend (Изгиб)
2. Выделите левый объект и щелкните на строке Bend (Изгиб) в раскрывающемся списке Modifier List (Список модификаторов). Объект будет заключен в габаритный контейнер модификатора в виде параллелепипеда коричневого цвета. В нижней части командной панели Modify (Изменить) появится свиток Parameters (Параметры) модификатора изгиба.
3. Настройте величину угла изгиба в разделе Bend (Изгиб) свитка, используя следующие параметры:
Angle (Угол) — задает угол изгиба в градусах относительно оси, выбранной в разделе Bend Axis (Ось изгиба). По умолчанию это ось Z, направленная вертикально вверх. Объект плавно изгибается по всей длине, как показано на рис. 8.12, а;
Direction (Направление) — задает направление изгиба в плоскости, перпендикулярной выбранной оси изгиба.

Рис. 8.12. С помощью модификатора Bend объект изогнут на 90° относительно оси Z (а), область изгиба ограничена (б) и передвинута к середине объекта (в)
4. Выберите координатную ось, относительно которой будет производиться изгиб объекта, с помощью переключателя раздела Bend Axis (Ось изгиба).
5. При необходимости можно ограничить применение модификатора скрутки только теми вершинами объекта, которые лежат вдоль выбранной оси между отсчетами координат, заданными в счетчиках Upper Limit (Верхний предел) и Lower Limit (Нижний предел) раздела Limits (Пределы). Действие ограничений включается установкой флажка Limit Effect (Ограничить эффект). Пределы задаются относительно центра габаритного контейнера модификатора, по умолчанию располагающегося в опорной точке объекта. Верхний предел задается положительным числом, нижний — отрицательным. На рис. 8.12, б показан результат изгиба объекта на те же 90°, но при ограничении Upper Limit (Верхний предел) - 25.
6. Если щелкнуть в окне стека на квадратике со знаком «плюс» слева от имени модификатора Bend (Изгиб) и выбрать в дереве подобъектов строку Center (Центр), то можно будет переместить центр модификатора, изображаемый в виде перекрестья, тем самым передвинув и область изгиба. На рис. 8.12, в показан результат перемещения центра изгиба в середину объекта при ограничении области преобразования (Upper Limit (Верхний предел) = 25, Lower Limit (Нижний предел) = -25).
|
ЗАМЕЧАНИЕ В папке Animations\Glava_08 компакт-диска, прилагающегося к книге, имеется файл lzgib.avi, позволяющий в учебных целях просмотреть анимацию процесса изгиба. Файл сцены с анимацией изгиба под именем Izgib.max можно найти в папке Scenes\Glava_08 этого диска. |
Создаем багетную раму
Интерьер нашего «МАХ-кафе» должно украсить настенное зеркало в массивной багетной раме. Создайте раму методом лофтинга, выполнив для этого следующие действия:
1. Запустите или перезагрузите max 7.5 и сохраните пустой файл под именем Zerkalo.max. Выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Переместите начало координат сетки в окне проекции Front (Вид спереди) в левый нижний угол окна и установите масштаб, при котором вертикальный размер видимой части сетки в окне проекции составляет примерно 20 см. Разверните окно проекции на весь экран.
2. Нарисуйте замкнутый сплайн типа Line (Линия), показанный на рис. 7.6, который будет играть роль поперечного сечения рамы. Чтобы воспроизвести образец, разместите вершину 1 в точке (0; 14,3; 0), вершину 2 — в начале координат, вершину 3 — в точке (23,9; 0; 0). Не забывайте о возможности точного размещения вершин с помощью полей ввода координат в нижней части экрана max 7.5 или окна диалога Move Transform Type-In (Ввод данных преобразования перемещения). Остальные вершины разместите примерно так, как показано на рисунке, и откорректируйте форму кривой. Назовите полученную форму Profil.

Рис. 7.6. Сплайн-профиль сечения рамы
3. Теперь постройте путь, вдоль которого будут размещаться сечения, в виде обыкновенного прямоугольника. Увеличьте масштаб в окне проекции Front (Вид спереди), чтобы вертикальный размер видимой части сетки в окне составлял примерно 220 см, и постройте стандартный сплайн Rectangle (Прямоугольник) с центром в начале координат и размерами Length (Длина) = 176 см и Width (Ширина) = 266 см. Назовите его Karkas.
4. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты). Проследите, чтобы форма-путь была выделена. Щелкните на кнопке Loft (Лофтинговые), а затем — на кнопке Get Shape (Взять форму), чтобы выбрать форму-сечение. Не изменяйте принятую по умолчанию установку переключателя в свитке Creation Method (Метод создания). Перейдите в любое окно проекции и укажите курсором на форму, которая будет служить сечением. Щелкните кнопкой мыши. Рама в виде тела лофтинга моментально создается программой и становится видна в окнах проекций с тонированным режимом отображения (рис. 7.7). Назовите полученный объект Rama и назначьте ему подходящий золотистый цвет.

Рис. 7.7. Готовая рама для зеркала, сформированная методом лофтинга
5. В заключение создайте в окне проекции Front (Вид спереди) объект, призванный изображать зеркальное стекло, — стандартный примитив Box (Параллелепипед) с размерами 252x162x1 см и центром в начале координат. Назовите объект Zerkalnoe steklo и переместите его на 7 см в глубину сцены (по оси Y глобальных координат). Сохраните файл под заданным в начале упражнения именем Zerkalo.max. При желании можете сравнить то зеркало, которое получилось у вас, с объектом из файла с таким же именем, хранящегося в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге.
Итак, если отбросить все излишние подробности, то для создания трехмерного объекта методом лофтинга по готовым формам в простейшем случае требуется всего пара щелчков кнопкой мыши.
На самом деле возможности метода лофтинга несравненно шире, что позволяет создавать тела довольно сложной формы. В частности, метод лофтинга позволяет:
применять в одном объекте сечения различной формы, расставляя их в заданных точках кривой пути;
корректировать форму оболочки за счет редактирования или замены форм-сечений и формы-пути;
применять к готовой оболочке различные деформации, позволяющие изменить первоначальный вид тела лофтинга до неузнаваемости.
О деформациях вы узнаете несколько ниже, а пока познакомимся с возможностью использования при лофтинге различных сечений, создав кочергу для камина, согревающего наше «МАХ-кафе».
Создаем голову персонажа из стандартной сферы
Голова нашего персонажа — это преобразованная в NURBS-объект стандартная сфера. Формирование таких деталей лица, как глазные впадины, нос, губы, уши, требует перемещения управляющих вершин. При этом другие вершины вблизи перемещаемых должны оставаться неподвижными, ограничивая деформируемую область поверхности. Для получения нужной детальности в местах формирования элементов лица необходимо вставлять дополнительные ряды управляющих вершин. Например, чтобы создать выпуклость (вроде уха), нужно иметь как минимум три ряда компактно расположенных вершин, о чем уже говорилось выше. Группу вершин среднего из трех рядов можно будет вытянуть в сторону, а вершины двух рядов по бокам не дадут всей остальной поверхности потянуться за перемещаемыми вершинами.
Существует множество подходов к моделированию голов трехмерных персонажей. Естественно, что создаваемая нами модель головы будет иметь упро-щенный, несколько гротескный вид. Для моделирования голов реалистичных персонажей используются иные методы, рассмотрение которых выходит за рамки данной книги.
Для формирования модели головы на базе стандартной сферы, преобразованной в NURBS-объект, выполните следующие действия:
1. Перезагрузите max 7.5 и сохраните пустую сцену под именем Ded Moroz-Golova.max.
2. Создайте в окне вида сверху стандартный примитив Sphere (Сфера) радиусом порядка 10-11 см с центром в начале координат. Превратите этот примитив в NURBS-поверхность способом, описанным в заключительном разделе главы 5. По умолчанию сфера превращается в поверхность типа CV. Разверните на командной панели Modify (Изменить) список подобъектов объекта типа NURBS Surface (NURBS-поверхность) и выберите в списке строку под-объекта Surface CV (Вершины поверхности). Вокруг сферы изобразится решетка деформации из управляющих вершин. Как можно видеть на рис. 10.12, создаваемая по умолчанию сегментация решетки неравномерна по поверхности сферы. Выделите рамкой все управляющие вершины верхней (по окну) половины сферы, которая будет играть роль затылка, как показано на рис. 10.12, и щелкните на кнопке Hide (Скрыть) в свитке CV (Управляющие вершины) командной панели Modify (Изменить). Когда мы на следующем шаге начнем работать с управляющими вершинами лицевой поверхности сферы на виде спереди, такое действие, во-первых, уменьшит число вершин, попадающих в поле зрения, и, во-вторых, застрахует вас от возможности случайного преобразования вершин задней половины сферы.

Рис. 10.12. На виде сверху выделены управляющие вершины задней половины стандартной сферы, преобразованной в NURBS-поверхность типа CV
3. Активизируйте окно вида спереди. Очевидно, что плотность решетки управляющих вершин на лицевой поверхности сферы явно недостаточна для формирования деталей лица и должна быть увеличена, но не равномерно, а в нужных участках. Начнем с работы над областью носа. Нос у Деда Мороза известно какой — картошкой, и может быть сформирован просто как выступ на поверхности сферы. Но чтобы и такой гротескный нос смотрелся достаточно компактно и не занимал пол-лица, необходимо повысить детальность решетки управляющих вершин в районе его расположения. С этой целью сначала вставим в решетку управляющих вершин на лицевой стороне сферы два дополнительных вертикальных ряда по обе стороны от уже имеющегося центрального меридиана, а затем — два дополнительных горизонтальных ряда сверху и снизу от «экватора». Разверните окно проекции во весь экран, нажав клавиши Alt+w. Щелкните на кнопке Row (Строка) в разделе Insert (Вставить) свитка CV (Управляющие вершины), перенесите курсор в окно вида спереди и установите его вблизи от центрального вертикального ряда управляющих вершин сферы. Курсор примет вид значка режима вставки вершин, как показано на рис. 10.13, сами управляющие вершины приобретут синюю окраску, а в точке расположения курсора появится новый ряд вершин. Если перемещать курсор, то вставляемый ряд вершин будет перемещаться по решетке. Поместив новый ряд вершин несколько правее центрального, щелкните кнопкой мыши. Вершины вновь приобретут зеленую окраску, а новый ряд вершин займет свое место в решетке деформации. Не выключая режима вставки, слегка подвиньте курсор, и он снова примет вид значка режима вставки вершин. Поместите еще один вертикальный ряд вершин слева от центрального ряда и щелкните кнопкой мыши. Затем щелкните правой кнопкой мыши для выключения режима вставки вертикальных рядов вершин.

Рис. 10.13. Справа от центрального вертикального ряда вершин решетки деформации NURBS-сферы вставляется новый ряд
|
ЗАМЕЧАНИЕ В разделе Refine (Уточнить) свитка CV (Управляющие вершины) имеется еще один набор инструментов вставки управляющих вершин. С помощью этих инструментов вставка новых управляющих вершин в имеющуюся решетку деформации автоматически производится программой таким образом, чтобы не вызвать искажения формы NURBS-поверхности. Решетка в момент вставки автоматически видоизменяется так, чтобы компенсировать влияние вставки нового ряда вершин на форму поверхности. |
4. Для вставки дополнительных горизонтальных рядов управляющих вершин действуйте аналогичным образом, но используйте инструмент Col. (Столбец), кнопка которого также находится в разделе Insert (Вставить) свитка CV (Управляющие вершины) командной панели Modify (Изменить) справа от кнопки Row (Строка). В итоге центральная часть решетки деформации сферы должна принять вид, показанный на рис. 10.14.

Рис. 10.14. Сегментация центральной части решетки деформации сферы увеличена с целью формирования выступа носа, ряды вершин пронумерованы для удобства ссылок в тексте
|
СОВЕТ При вставке управляющих вершин автоматически восстанавливается видимость вершин, скрытых от просмотра. Так что если вершины задней половины сферы вам мешают, снова выделите их на виде сверху, слева или справа и скройте с помощью кнопки Hide (Скрыть). |
5. Продолжите работу над выборочным повышением детальности решетки управляющих вершин, добавив дополнительные вертикальные и горизонтальные ряды управляющих вершин в районе глазных впадин и губ персонажа. Для формирования глазных впадин добавьте по два вертикальных ряда с обеих сторон от имеющихся рядов, обозначенных цифрами 1 и 2 на рис. 10.14, и два горизонтальных ряда ниже ряда 3. Подсчитаем, сколько горизонтальных рядов потребуется нам для формирования губ. Один ряд вершин должен будет удерживать поверхность сферы над верхней губой, второй — обеспечивать выступ верхней губы. Третий ряд потребуется для оформления впадины рта, четвертый — для создания выступа нижней губы и пятый — для удержания поверхности под нижней губой. Если добавить еще один горизонтальный ряд вершин для удержания поверхности под нижним краем носа, то получится, что помимо имеющегося ряда, обозначенного на рис. 10.14 цифрой 4, необходимо вставить еще пять горизонтальных рядов. Один из них поместите выше ряда 4, и еще четыре ряда — ниже этого ряда. В итоге сегментированная должным образом NURBS-поверхность сферы должна выглядеть, как на рис. 10.15.

Рис. 10.15. Лицевая часть решетки деформации сферы подготовлена для формирования деталей лица персонажа
6. Еще раз скройте от просмотра управляющие вершины задней половины сферы, чтобы случайно не переместить их в ходе редактирования деталей лица. Чтобы сформировать выступ носа, мы собираемся выдвинуть вперед девять центральных вершин лицевой части решетки деформации. Но чтобы остальная часть поверхности лица не потянулась за этими вершинами, нужно подготовить вершины-ограничители. Выделите на виде спереди сразу три вершины слева от центральных девяти вершин, которые будут формировать выступ носа, и переместите их вправо, вплотную к этим девяти вершинам. Затем поступите аналогичным образом с тройками вершин справа, сверху и снизу от девяти центральных вершин, также передвинув их вплотную к этим вершинам, как показано на рис. 10.16.

Рис. 10.16. Четыре тройки вершин сдвинуты в направлении стрелок вплотную к девяти центральным вершинам
7. Теперь можно сформировать заготовку носа. Аккуратно выделите девять центральных вершин в окне вида спереди, затем активизируйте окно вида слева или справа и сместите выделенные вершины в сторону от сферы. После этого, не отменяя выделения вершин, примените к ним преобразование равномерного масштабирования, заставив эти вершины раздвинуться. Это позволит превратить заостренный, как у Буратино, носик в ту самую «картошку», приличествующую облику Деда Мороза и показанную на рис: 10.17. Ранее недаром было сказано, что создается заготовка носа. Пока что этот четырехугольный обрубок очень отдаленно напоминает нос, пусть даже и самый гротескный. Поработайте над его формой, несколько сузив сверху и расширив снизу с помощью инструмента неравномерного масштабирования. Сместите на виде слева верхнюю и нижнюю тройки вершин несколько назад, к поверхности сферы, чтобы сильнее закруглить край носа. Попробуйте немного увеличить вес трех нижних вершин из тех девяти, которые выдвинуты вперед. В общем, проявите творческий подход и сформируйте такой нос, какой, на ваш взгляд, должен иметь персонаж.

Рис. 10.17. Девять центральных вершин на виде слева смещены в сторону от поверхности сферы, а затем раздвинуты за счет равномерного масштабирования
8. Пора заняться глазными впадинами. Выделите на виде спереди две вершины, показанные стрелками на рис. 10.18, и в окне вида слева или справа сильно сместите эти вершины в глубину сферы.

Рис. 10.18. Две вершины, которые следует сместить в глубь сферы на виде слева или справа для формирования глазных впадин
9. Используя инструмент неравномерного масштабирования и ограничив преобразование только горизонтальной осью X, раздвиньте в стороны висков две вершины, обозначающие наружные уголки глаз. Затем аналогичным образом сдвиньте к носу две вершины, обозначающие внутренние уголки глаз. В итоге глазные впадины должны обрести вид, как на рис. 10.19.

Рис. 10.19. Сформированы глазницы
10. Пока что наша модель похожа больше на голову Синьора Помидора, чем Деда Мороза. Но не спешите с выводами, цыплят по осени считают. А пока давайте сформируем шею. Щелкните на кнопке Unhide All (Сделать видимыми все) в свитке CV (Управляющие вершины), чтобы стали видны управляющие вершины на задней половине сферы. На виде спереди выделите рамкой два нижних горизонтальных ряда управляющих вершин и сместите их вниз. Затем выделите только самый нижний ряд и с помощью инструмента равномерного масштабирования раздвиньте вершины этого ряда в стороны, чтобы шея не заострялась книзу клином (рис. 10.20).

Рис. 10.20. Чтобы шея не заострялась книзу, сильно увеличьте масштаб самого нижнего ряда управляющих вершин
11. Теперь сформируем губы. Используйте рис. 10.21 в качестве образца. Не трогая пока вершины ряда, обозначенного на рис. 10.21, слева, цифрой 1, на виде спереди выделите три показанные стрелками вершины в середине ряда 2 и на виде слева или справа сильно сместите их вперед и вверх, обозначив выступ верхней губы. Тройку вершин ряда 3 сместите на виде сбоку назад, внутрь сферы, формируя впадину рта. Затем тройку вершин ряда 4 снова сместите вперед и вверх, обозначая выступ нижней губы. Аналогичную тройку вершин ряда 5 просто приподнимите немного вверх. В заключение сместите вверх и в стороны группы вершин в углах губ, показанные на рис. 10.21, слева, наклонными стрелками, чтобы придать губам выражение сдержанной улыбки.

Рис. 10.21. Примерно так должны выглядеть губы на виде соответственно спереди и слева
12. Чтобы оформить подбородок, поработайте с вершинами самого нижнего и второго снизу ряда. На виде слева переместите группы вершин нижнего ряда внутрь, а второго снизу — наружу, примерно так, как показано стрелками на рис. 10.22.

Рис. 10.22. Перемещением двух групп вершин в противоположных направлениях формируем подбородок
13. Чтобы вчерне закончить работу над моделью головы, осталось создать только уши. Однако перед тем как приступить к их формированию, давайте придадим голове более реальную, то есть менее сферическую форму. Восстановите видимость управляющих вершин на задней половине головы, щелкнув на кнопке Unhide All (Сделать видимыми все) в свитке CV (Управляющие вершины). На виде спереди поочередно выделяйте симметричные группы вершин на правом и левом крайних вертикальных рядах решетки и, ограничивая преобразование горизонтальной осью X, с помощью инструмента неравномерного масштабирования сближайте эти вершины к средней линии головы, как показано стрелками на рис. 10.23. В итоге голова должна принять примерно такой вид, какой показан на этом рисунке.

Рис. 10.23. Голова несколько сплющена на виде спереди за счет неравномерного масштабирования симметричных групп вершин, показанных стрелками на краях решетки
14. Чтобы создать уши, необходимо на виде справа, а затем на виде слева добавить в состав решетки рядом с уже имеющимися еще по три вертикальных ряда управляющих вершин с каждой стороны головы (рис. 10.24). Из получившихся четырех рядов вершин левый по рисунку, обозначенный стрелкой 1, и третий слева (3), будут играть роль ограничителей, а ряд 2, расположенный между ними, позволит создать выступ уха. Ряд 4 послужит в качестве ограничителя отверстия ушной раковины.

Рис. 10.24. С обеих сторон головы вблизи от имевшегося ряда, показанного стрелкой 7, добавлено по три новых ряда управляющих вершин, показанных стрелками 2-4
15. На виде сверху выделите и скройте от просмотра большую часть управляющих вершин (скажем, с правой стороны головы). Затем на виде слева выделите три вершины в вертикальном ряду управляющих вершин, обозначенном стрелкой 2 на рис. 10.24. Верхняя из этих трех вершин должна располагаться в горизонтальном ряду, проходящем через наружный угол глаза. На виде спереди переместите эти три вершины в сторону от головы. Затем переместите верхнюю из трех вершин вверх, а нижнюю — вниз, растянув оболочку уха, как показано на рис. 10.25. На виде сверху дополнительно сместите все три вершины назад, к затылку, чтобы ухо не слишком торчало в сторону. Для имитации отверстия ушной раковины выделите две вершины на уровне середины уха в вертикальном ряду, обозначенном на рис. 10.24 стрелкой 3, и на виде спереди сильно сместите их внутрь сферы. Затем выделите две вершины на том же уровне в вертикальном ряду, обозначенном на рис. 10.24 стрелкой 4, и на виде слева сместите их к затылку, частично прикрыв впадину ушной раковины, как показано на рис. 10.25.

Рис. 10.25. Ухо и отверстие ушной раковины сформированы
16. Выполните аналогичные действия с другой стороны головы, чтобы сформировать второе ухо, симметричное первому. В итоге голова нашего персонажа с маленькими глазками, сделанными из двух стандартных сфер, должна принять вид, подобный изображению на рис. 10.26. Сгруппируйте глаза с моделью головы, назовите группу Golova и сохраните объект под заданным в начале работы именем Ded Moroz-Golova.max.

Рис. 10.26. Готовая модель головы, пока без шапки, усов и бороды
|
ЗАМЕЧАНИЕ При необходимости вы можете найти готовую модель головы в файле Ded Moroz-Golova.max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге. Загрузите ее и, вращая, рассмотрите с разных сторон, чтобы лучше понять, какими действиями ей была придана искомая форма. |
Уверен, что большинство читателей посчитает данное творение далеким от совершенства. Укажет на низкий лоб, отсутствие век и бровей и т. п. Разумеется, созданную модель головы можно еще править и править. Впрочем, примите во внимание тот факт, что значительная часть головы будет скрыта шапкой, натянутой по самые глаза, а также замаскирована усами и бородой.
Цель упражнения состояла в том, чтобы освоить ряд новых инструментов редактирования NURBS-поверхностей и показать, что даже из обычной сферы после ее преобразования в NURBS-объект при желании можно создать нечто интересное. Надеюсь, эта цель достигнута.
Создаем из параллелепипеда фигуру шахматного коня
Сформированная модель камина в целом все же сохранила черты, присущие ее «предку» — стандартному параллелепипеду. Это выражается в том, что ее основными элементами остались фрагменты плоскостей, располагающиеся под прямым углом друг к другу.
Следующее упражнение познакомит вас с рядом новых приемов моделирования на основе параллелепипеда, позволяющих создать объект, уже в гораздо меньшей степени напоминающий своего «прямоугольного предка». Будем осваивать эти приемы, работая над моделью фигуры шахматного коня (рис. 9.18). Разумеется, речь идет только о верхней части фигуры, нижняя часть которой — это просто тело вращения.

Рис. 9.18. Фигура шахматного коня, верхняя часть которой построена на основе стандартного примитива-параллелепипеда
Выполните следующие действия:
1. Перезагрузите программу и сохраните пустую сцену под именем ShahmKon.max.
2. Первая хитрость, с которой вам предстоит познакомиться, состоит в том, что достаточно сложные объекты, обладающие зеркальной симметрией, не стоит делать сразу целиком. Трудно обеспечить симметрию деталей, создавая их порознь. Лучше построить одну половину объекта, затем создать ее зеркальную копию и объединить обе половины в единую сетку. Фигура шахматного коня имеет вертикальную плоскость зеркальной симметрии, поэтому сначала будем формировать одну половину фигуры. Создайте в окне проекции вида сверху примитив Box (Параллелепипед) примерно следующих размеров: длина — 1,3 см, ширина — 7 см и высота — 7,5 см, установив число сегментов по длине равным двум, по ширине — четырем и по высоте — пяти, как показано на рис. 9.19. Превратите объект в редактируемую сетку. Как и в предыдущем случае, трудно заранее точно определить нужное число сегментов. При необходимости мы сможем увеличить сегментацию методом последовательной экструзии граней, а также еще одним методом — за счет разрезания ребер. Мы хотим выполнить имитацию фигурки, вырезанной из куска дерева. В связи с этим лучше отменить действие групп сглаживания элементов сетки параллелепипеда. Для этого переключитесь на уровень выделения подобъектов Face (Грань) или Polygon (Полигон) и выделите все полигоны сетки с помощью рамки. Обратите внимание на раздел Smoothing Groups (Группы сглаживания) свитка Surface Properties (Свойства поверхности). Так как выделены полигоны, имеющие шесть различных групп сглаживания, на кнопках со второй по седьмую вы не увидите цифр, обозначающих номер группы сглаживания. Поочередно дважды щелкните на каждой из этих кнопок. После первого щелчка всем граням объекта будет назначена одна и та же группа сглаживания, а после второго это назначение будет отменено. По завершении этих действий на кнопках со второй по седьмую должны появиться номера групп сглаживания, но ни одна из кнопок не должна быть нажата. Сетка параллелепипеда больше не будет иметь групп сглаживания.

Рис. 9.19. В заготовку в виде параллелепипеда для наглядности вписана зеркальная половина фигуры коня
3. Сформируем ухо. Переключитесь на уровень выделения подобъектов Vertex (Вершина) и установите флажок Ignore Backfacing (Игнорировать изнаночные). Слегка наклонив плоскость проекции окна Front (Вид спереди), выделите две вершины на верхней стороне параллелепипеда, как показано на рис. 9.20.

Рис. 9.20. Две вершины, охваченные рамкой, выделены для формирования уха
4. Снова переключитесь на вид спереди, отменив изменения плоскости проекции с помощью нажатия клавиш Shift+z. Переместите выделенные вершины вверх чуть больше, чем на расстояние между горизонтальными рядами вершин сетки параллелепипеда, и немного влево, к средней линии. Выделите три вершины на правом верхнем углу параллелепипеда и перетащите их влево, обозначив правый край основания уха. Не забывайте, что за каждой вершиной сетки в окне вида спереди располагаются еще две, которые не видны, так как проецируются в одну точку. Чтобы выделить все три вершины сразу, сбросьте флажок Ignore Backfacing (Игнорировать изнаночные) и используйте рамку. Три вершины у левого края основания уха слегка сместите влево, как показано на рис. 9.21.

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

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

Рис. 9.23. Третий, четвертый и пятый сверху ряды вершин «подтянуты вверх» для создания требуемой сегментации
|
СОВЕТ Сетка оболочки объекта не обязана быть равномерной. Там, где необходимо «вылепить» мелкие детали формы объекта, сегментация сетки должна быть повышенной, то есть линии рядов вершин должны проходить ближе друг к другу. В областях плавного изменения формы можно обойтись крупными сегментами, когда линии сетки находятся далеко друг от друга. Уплотнение сегментации за счет перемещения целых рядов вершин — еще одна хитрость, к которой постоянно приходится прибегать при моделировании на базе параллелепипедов. |
7. Придадим нужную форму гриве и морде, перемещая группы из трех вершин все в том же окне проекции Front (Вид спереди) примерно так, как показано на рис. 9.24. Обратите внимание на отверстие рта, которое оформлено смещением вправо группы вершин, указанных стрелкой.

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

Рис. 9.25. Два ряда ребер в нижней части сетки добавлены двумя последовательными операциями выдавливания граней нижнего торца фигуры
9. Продолжите формирование шеи и гривы коня, все так же перемещая сразу по три вершины, выделяемые рамкой. Чтобы добиться сужения шеи на уровне нижнего края фигуры, воспользуйтесь новым приемом. Выделите рамкой весь нижний ряд вершин, выберите инструмент Select and Uniform Scale (Выделить и равномерно масштабировать) или Select and Non-Uniform Scale (Выделить и неравномерно масштабировать) и уменьшите масштаб всего ряда вершин только вдоль горизонтальной оси X. В итоге должно получиться нечто, напоминающее рис. 9.26. Сохраните файл под заданным в начале работы именем ShahmKon.max.

Рис. 9.26. Контуры фигуры коня в первом приближении сформированы
10. До сих пор мы манипулировали почти исключительно тройками вершин, кроме верхнего кончика уха, сформированного перемещением двух вершин. В итоге фигура коня к данному моменту напоминает силуэт, выпиленный лобзиком из толстой фанеры или куска пенопласта, как показано на рис. 9.27. Такого результата можно было добиться и посредством выдавливания сплайнового контура силуэта. Однако наличие сегментации боковой поверхности фигуры, пока являющейся плоской, позволяет продолжить работу над формой, сделав ее более выразительной. Перед продолжением упражнения выполните сохранение файла с инкрементированием имени.

Рис. 9.27. Фигура коня пока что напоминает результат выдавливания силуэтного контура
|
ЗАМЕЧАНИЕ Модель одной зеркальной половины шахматного коня, отредактированную до уровня шага 9 текущего упражнения, можно найти в файле ShahmKon.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. Загрузите этот файл и хорошенько рассмотрите его под разными углами, а также сравните с тем, что получилось у вас. |
11. Поработаем над ухом и гривой коня. Повернув плоскость проекции окна Front (Вид спереди) примерно так, как показано на рис. 9.28, выделите наружную вершину на кончике уха, показанную стрелкой, и немного переместите по оси Y, то есть по координате толщины фигуры, в сторону плоскости зеркальной симметрии. По толщине фигуры сетку ограничивают ряды ребер, в каждом из которых имеются по три вершины. Чтобы закруглить гриву, сначала выделите ближнюю из трех вершин в каждом ряду обвода гривы (нужные вершины показаны стрелками на рис. 9.28), последовательно щелкая на них кнопкой мыши при удерживаемой клавише Ctrl. Выделение вершин лучше выполнять в окне с повернутой плоскостью проекции, а для перемещения вершин вернуться к проекции Front (Вид спереди). Слегка переместите выделенные вершины влево, к середине фигуры, то есть в отрицательном направлении оси X. Чтобы сделать гриву несколько тоньше, не отменяя выделения вершин, переключитесь на проекцию Тор (Вид сверху) и дополнительно переместите вершины по координате толщины фигуры в направлении оси Y. Затем нужно подобным образом переместить, но на меньшее расстояние, средние из каждых трех вершин обвода гривы.

Рис. 9.28. Вершины, которые следует переместить в ходе редактирования формы уха и гривы
12. Теперь слегка закруглим передний край шеи. Поверните плоскость проекции, примерно как показано на рис. 9.29, выделите указанные стрелками вершины и переместите их по координате толщины фигуры в направлении оси Y. Переместив крайние вершины, немного сместите в том же направлении и средние вершины тех же рядов.

Рис. 9.29. Вершины, которые следует переместить для закругления переднего края шеи
13. Попытаемся доработать форму морды коня. Слегка повернув плоскость проекции, выделите вершину у основания уха, указанную стрелками на рис. 9.30 сразу в двух проекциях, и сместите ее слегка вниз и вправо. Затем выделите вершину ближе к краю морды и сместите ее вниз и вправо, а затем вглубь, по координате толщины модели.

Рис. 9.30. Вершины, которые следует переместить при редактировании формы морды коня
14. Чтобы улучшить форму морды, увеличим сегментацию, добавив пару новых ребер на «переносице» инструментом разрезания. Вы уже работали с подобным инструментом при редактировании полисетки в предыдущей главе, однако у стандартных сеток инструмент разрезания действует несколько по-иному. Переключитесь на уровень выделения подобъектов Edge (Ребро). Щелкните на кнопке Cut (Разрезать) в свитке Edit Geometry (Правка геометрии). Поместите курсор на ребро сетки, изображающее «переносицу» морды коня, в точке, показанной одной из стрелок на рис, 9.31. Когда курсор примет форму крестика, щелкните кнопкой мыши. При этом ребро будет разрезано, а в точке разреза возникнет новая вершина сетки. Перетаскивайте крестик к соседнему ребру. За курсором потянется пунктирная линия. Дотяните пунктир до нужной точки соседнего ребра и снова щелкните кнопкой мыши. Это ребро также будет разрезано с созданием новой вершины, а между двумя новыми вершинами на соседних ребрах появится новое ребро. Чтобы завершить создание ребра, щелкните правой кнопкой мыши. Повторите аналогичные действия, создав еще одно новое ребро рядом с первым, как показано на рис. 9.31. Для выключения режима разрезания ребер еще раз щелкните правой кнопкой мыши.

Рис. 9.31. Одно новое ребро только что создано, а другое создается (показаны стрелками)
|
ЗАМЕЧАНИЕ Как видите, при разрезании стандартной сетки перед курсором не появляется «резиновых» ребер, как это было при разрезании полисетки, опробованном нами в предыдущей главе. Дело в том, что у стандартных редактируемых сеток при разрезании нельзя завершить создание нового ребра посреди грани или полигона, что допустимо для полисеток. Нужно обязательно закончить новое ребро на одном из уже существующих ребер сетки. |
15. Переключитесь на уровень выделения подобъектов Vertex (Вершина). В окне проекции Front (Вид спереди) выделите рамкой обе вершины одного из вновь добавленных ребер и переместите их вниз и вправо, примерно так, как показано на рис. 9.32. Затем выделите обе вершины второго добавленного ребра и тоже переместите их, сформировав выступ лба.

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

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

Рис. 9.34. Вершины новых ребер, показанные стрелкой, смещены вниз и влево в окне вида спереди
18. Для некоторого закругления углов морды применим новый инструмент. Помните, при создании елочной крестовины мы пользовались средством для срезания фаски на месте ребер? Теперь освоим срез вершин. Щелкните на кнопке Chamfer (Срез) в свитке Edit Geometry (Правка геометрии), а затем щелкните на вершине, соответствующей углу носа. Перетащите курсор, принимающий вид значка режима среза. Вместо одной исходной вершины на прилегающих к ней ребрах появятся три новые. Эти вершины будут раздвигаться по мере перетаскивания курсора, создавая срез, как показано на рис. 9.35. Создайте аналогичный срез на углах верхней и нижней «губ», но только с наружной стороны, а не с той, вдоль которой пойдет стык двух половинок фигуры друг с другом.

Рис. 9.35. Вместо одной вершины на углу носа появляется три новых и возникает срез угла
19. Теперь не хватает только глаза. Перейдите в окно проекции Front (Вид спереди) и переключитесь на уровень подобъекта Edge (Ребро). С помощью инструмента Cut (Разрезать) создайте несколько новых ребер в области глаза, как показано на рис. 9.36. Эти ребра обеспечивают сегментацию сетки, необходимую для формирования такой мелкой детали рельефа модели, как впадина глазницы.

Рис. 9.36. В районе глазницы методом разрезания создано несколько новых ребер, обозначенных рамкой
|
СОВЕТ Чтобы сформировать на ровной поверхности отдельной грани сетки выступ или углубление, нужно сегментировать эту грань, разбив ее как минимум на три новых. Для этого можно использовать операцию разрезания ребер, как это сделано выше. Другая возможность состоит в том, чтобы выделить грань и щелкнуть на кнопке инструмента Tessellate (Разбить), которая становится доступной в свитке Edit Geometry (Правка геометрии) на уровне выделения подобъекта Face (Грань). Если при этом заранее установить переключатель под кнопкой в положение Face-Center (От центра), то max 7.5 поместит новую вершину в центр грани и соединит ее ребрами с существующими тремя вершинами, разбивая грань на три новых. |
20. Теперь снова вернитесь на уровень выделения подобъектов-вершин. Выделите центральную вершину треугольной глазницы и, немного повернув плоскость проекции, сместите ее в глубь модели, по координате Y. Затем немного опустите вниз вершину, расположенную посередине ребра, обозначающего нижнюю границу глазницы. Короче, творчески поработайте над формой глаза, чтобы он хорошо выделялся на тонированном изображении.
21. Перед зеркальным копированием половины фигуры необходимо удалить все полигоны на той стороне, вдоль которой пойдет стык двух половин. Проще всего выполнить такое выделение не в окне проекции вида сзади, где пришлось бы последовательно «общелкивать» каждый полигон при удерживаемой клавише Ctrl, а в окне вида слева, где половинка фигуры коня видна со стороны морды. Переключитесь на уровень выделения подобъектов Polygon (Полигон). На виде слева все полигоны той стороны модели, вдоль которой пойдет стык, проецируются в одну линию вдоль левого края. Воспользуемся уже знакомым по предыдущей главе приемом. Сначала охватите рамкой левую часть фигуры. При этом выделятся все подлежащие удалению полигоны, но заодно с ними выделятся и лишние, расположенные на боковом торце модели. Чтобы сбросить выделение лишних полигонов, нажав и удерживая клавишу Alt, охватите объект рамкой с правой стороны, не затрагивая левого края, как показано на рис. 9.37. Как только вы отпустите кнопку мыши, выделенными останутся только полигоны, подлежащие удалению. Для их удаления нажмите клавишу Delete и щелкните на кнопке Yes (Да) в ответ на запрос Delete Isolated Vertices? (Удалить изолированные вершины?). Разглядывая модель с разных сторон в режиме тонированного отображения, убедитесь в том, что не удалили лишних вершин. Если такое случилось, отмените операцию удаления и повторите все заново. Сохраните файл под заданным ранее именем ShahmKon01 .max. Затем сохраните файл еще раз, но с инкрементированием имени.

Рис. 9.37. Использование выделяющей рамки при нажатой клавише Alt позволяет отменить выделение лишних полигонов сетки
22. Создайте зеркальную копию сетки с помощью уже знакомой вам кнопки Mirror Selected Objects (Отразить выделенные объекты) главной панели инструментов. При этом неважно, на уровне какого из подобъектов вы находитесь. Все равно после щелчка на кнопке Mirror Selected Objects (Отразить выделенные объекты) произойдет переключение на верхний уровень выделения объекта типа Editable Mesh (Редактируемая сетка) в целом. Проследите, чтобы в окне диалога параметров зеркального отражения переключатель Clone Selection (Тип отражения) был установлен в положение Сору (Копия). Переместите новую половину на положенное ей место и присоедините к исходной половине, щелкнув сначала на кнопке Attach (Присоединить) в свитке Edit Geometry (Правка геометрии), а затем — на половинке-оригинале. Перейдя на уровень выделения подобъектов-вершин, выделите рамкой все вершины вдоль линии стыка половинок модели. Произведите слияние вершин вдоль линии стыка с помощью кнопки Selected (Выделенные) из раздела Weld (Слить). Обратите внимание на сообщение о числе выделенных вершин до и после слияния. У меня до слияния их было 50, а после стало 25. Сохраните файл, который на данный момент должен иметь имя ShahmKon02.max.
|
ПРИМЕЧАНИЕ Готовую модель одной зеркальной половины фигуры коня можно найти в файле ShahmKonOI max, а коня целиком — в файле ShahmKon02.max. Оба файла хранятся в папке Scenes\Glava_09 прилагающегося к книге компакт-диска. |
Чтобы превратить созданный объект в то, что действительно напоминает шахматную фигурку, остается только приделать к ней основание. Создайте его методом вращения профиля и сгруппируйте с верхней частью фигурки. Еще лучше преобразовать созданное методом вращения основание в редактируемую сетку и присоединить ее к сетке фигурки коня в качестве элемента с помощью инструмента Attach (Присоединить). Разумеется, построенную в ходе этого упражнения модель, показанную на рис. 9.38, можно дорабатывать и дорабатывать. Надеюсь, вы сможете при желании сделать это самостоятельно, так как общая идея и приемы редактирования формы вам теперь должны быть понятны.

Рис. 9.38. Готовая модель фигуры шахматного коня
Строим здание кафе «МАХ»
Продолжим работу над сценой «МАХ-кафе». Используя примитивы-параллелепипеды, построим здание кафе. С этой целью выполните шаг за шагом следующие действия:
1. Если сцена MAX-kafe01 уже загружена в max 7.5 после выполнения упражнения 1, то переходите сразу к п. 2. Если же работа с max 7.5 была завершена, то запустите программу и загрузите сцену, пока что содержащую единственный объект, созданный при выполнении упражнения 1, -- основание сцены (при необходимости файл нужной сцены под именем MAX-kafe01.max можно найти в папке \Scenes\Glava_05 компакт-диска, прилагающегося к книге). Сохраните только что загруженный файл под именем MAX-kafe02.max, используя при- ' ем инкрементирования имени.
2. Постройте параллелепипед, который будет играть роль фундамента. Щелкните на кнопке Box (Параллелепипед) в свитке Object Type (Тип объекта) командной панели Create (Создать). Переместите курсор в окно проекции Тор (Вид сверху). Нажав и удерживая клавишу Ctrl, поместите курсор в точку (0; 0; 0), над которой должен появиться значок привязки, щелкните кнопкой мыши и перетаскивайте курсор по диагонали, пока размеры основания параллелепипеда в счетчиках Length (Длина) и Width (Ширина) свитка Parameters (Параметры) не станут равны 600 см (действует привязка к узлам сетки!). Отпустите кнопку мыши и только после этого отпустите клавишу Ctrl. Переместите курсор вверх, придавая блоку фундамента высоту. Так как включен режим привязки, высота будет меняться скачками с шагом 100 см — таков шаг сетки в окне проекции Тор (Вид сверху), если вы ничего не изменяли. Щелкните кнопкой мыши, фиксируя высоту в 100 см.
3. Переместите курсор на командную панель Create (Создать) и установите значения размеров в счетчиках Length (Длина) и Width (Ширина) свитка Parameters (Параметры) равными 680 см. а в счетчике Height (Высота) — 30 см. Установите флажок Generate Mapping Coords (Проекционные координаты). Введите имя объекта Fundament в свитке Name and Color (Имя и цвет). Пока объект еще выделен, щелкните на кнопке Zoom Extents All Selected (Выделенные объекты целиком во всех окнах), которая находится на раскрывающейся панели инструмента Zoom Extents All (Сцена целиком во всех окнах) в группе кнопок управления окнами проекций, чтобы увеличить масштаб изображения блока фундамента в каждом из окон проекций до размеров окна.
4. Уточните координаты расположения опорной точки фундамента. Щелкните на кнопке инструмента Select and Move (Выделить и переместить), а затем щелкните на этой же кнопке правой кнопкой мыши. В появившемся окне диалога Move Transform Type-In (Ввод данных преобразования перемещения) введите во все три счетчика группы Absolute: World (Абсолютные: Глобальные) значения 0. Как вы помните, в max 7.5 можно и просто ввести эти значения в поля отсчета координат в строке состояния, проследив только за тем, чтобы не была нажата кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) слева от этих полей.
|
ЗАМЕЧАНИЕ Можно выполнять все построения «на глазок», но мы будем уточнять координаты как в целях обучения, так и для получения более качественной сцены. |
5. Теперь создайте еще один параллелепипед в качестве пола помещения кафе. Снова щелкните на кнопке Box (Параллелепипед), переместите курсор в окно проекции Тор (Вид сверху) и опять установите его над точкой (0; 0; 0). Действуя точно так же, как описано в п. 2, постройте параллелепипед размером 600x600x5 см. Назовите этот объект Pol.
|
ЗАМЕЧАНИЕ Если вы обнаружите, что вводимые в счетчики размеров значения не оказывают влияния на вид выделенного объекта в окнах проекций, значит, вы случайно завершили процесс его создания. Теперь для внесения изменений в параметры объекта необходимо перейти на командную панель Modify (Изменить) и действовать, как описано выше в разделе «Модификация параметров объектов в любое время после их создания». |
6. Выберите инструмент Select and Move (Выделить и переместить) и активизируйте окно проекции Front (Вид спереди), щелкнув па нем правой кнопкой мыши. Установите курсор на ось Y контейнера преобразования, чтобы она окрасилась в желтый цвет, и переместите объект Pol вверх на 30 см, поместив его точно поверх фундамента. Вид сцены на данный момент в окне перспективной проекции показан на рис. 5.11. Масштаб изображения в окне немного увеличен, а плоскость проекции слегка повернута. Уточните координаты X, Y и Z объекта, как описано в п. 4, — они должны быть равны (0; 0; 30).

Рис. 5.11. На основании сцены расположены фундамент и пол здания кафе «МАХ»
7. Создайте потолок помещения в виде дубликата объекта Pol. Для этого выключите режим привязки, щелкнув на кнопке 2D Snap (Двумерная привязка), и немного переместите изображение проекции вниз, используя инструмент Pan (Прокрутка) из группы кнопок управления окнами проекций. Нажав и удерживая клавишу Shift, щелкните на объекте Pol в окне проекции Front (Вид спереди) и переместите объект вверх примерно на 290 см, следя за величиной смещения в поле отсчета координаты Y строки состояния. Отпустите кнопку мыши, а затем — клавишу Shift. В появившемся окне диалога измените имя копии объекта на Potolok и щелкните на кнопке ОК.
8. Теперь, пока объект Potolok еще выделен, задайте точную высоту его размещения. Для этого убедитесь, что кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) в строке состояния не нажата, и введите в поле Z отсчета координат величину 325. Это будет означать, что потолок расположится относительно пола на высоте 295 см. Нажмите клавишу Enter, наблюдая за смещением объекта Potolok.
9. Создайте левую и правую стены помещения кафе. Прокрутите изображение в окнах проекций Front (Вид спереди) и Left (Вид слева) вниз, используя инструмент Pan (Прокрутка), так чтобы центр окна располагался примерно посередине между объектами Pol и Potolok. Щелкните на кнопке Box (Параллелепипед) в свитке Object Type (Тип объекта) командной панели Create (Создать). Переместите курсор в окно проекции Тор (Вид сверху) и установите его в районе точки с координатами (300; 300; 0). Щелкните кнопкой мыши и перетащите курсор по диагонали примерно до точки (320; -300; 0). Отпустите кнопку мыши и переместите курсор вверх, чтобы значение параметра Height (Высота) в свитке Parameters (Параметры) стало равным примерно 300 см. Щелкните кнопкой мыши, фиксируя высоту. Перейдите на командную панель Create (Создать) и исправьте значения в счетчиках Length (Длина), Width (Ширина) и Height (Высота) соответственно на 600, 20 и 300 см. Установите флажок Generate Mapping Coords (Проекционные координаты). Назовите объект PravStena.
10. Переместите правую стену на ее законное место. Для этого щелкните па кнопке инструмента Select and Move (Выделить и переместить), а затем убедитесь, что кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) в строке состояния не нажата, и введите в поля отсчетов координат X, Y и Z значения 310, 0 и 30 соответственно.
11. Создайте левую стену в виде дубликата правой. Для этого можно действовать так же, как описано в пп. 6, 7, но мы применим в учебных целях другой вариант создания дубликата и его точного размещения в сцене. Убедитесь, что объект PravStena все еще выделен. Выберите команду меню Edit > Clone (Правка > Дублировать). В появившемся окне диалога Clone Options (Параметры дублирования) оставьте переключатель Object (Объект) в положении Cору (Копия) и задайте имя копии LevStena. Щелкните на кнопке ОК. Будет создана копия, пространственно совмещенная с оригиналом — объектом PravStena. Измените в поле отсчета координаты X в строке состояния значение 310 на -310. Вид сцены на данный момент показан на рис. 5.12.

Рис. 5.12. Здание кафе «МАХ» приобрело боковые стены и потолок
12. Теперь построим фасад и заднюю стенку. Щелкните на кнопке Box (Параллелепипед) в свитке Object Type (Тип объекта) командной панели Create (Создать). Переместите курсор в окно проекции Тор (Вид сверху) и щелкните кнопкой мыши в районе точки с координатами (-320; -300; 0). Перетащите курсор в район точки (320; -320; 0) и отпустите кнопку мыши. Переместите курсор вверх, придав стене высоту около 400 см, и щелкните кнопкой мыши для ее фиксации. Перейдите на командную панель Create (Создать) и измените значения в счетчиках Length (Длина), Width (Ширина) и Height (Высота), сделав их равными соответственно 20, 640 и 400 см. Установите флажок Generate Mapping Coords (Проекционные координаты) и назовите объект Fasad.
13. Уточните положение фасада, введя в поля отсчетов координат X, Y и Z в строке состояния значения 0, -310 и 30 соответственно.
14. Пока фасад еще выделен, создайте его копию любым из известных вам методов (либо с помощью команды меню Edit > Clone (Правка > Дублировать), либо переместив объект Fasad при нажатой клавише Shift). Назовите копию Zadniaia stena, перейдите на командную панель Modify (Изменить) и задайте высоту стены в свитке Parameters (Параметры) равной 300 см, а длину — 5 см. Убедившись, что кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) и строке состояния не нажата, задайте в полях X, Y и Z строки состояния следующие точные координаты задней стены: 0; 302,5; 30.
15. В заключение создайте плиту, которая будет играть роль ступеньки перед будущей дверью. Прокрутите немного вверх изображение в окне проекции Тор (Вид сверху), используя инструмент Pan (Прокрутка). Щелкните на кнопке Box (Параллелепипед) и поместите курсор в точку с примерными координатами (-25; -340; 0). Щелкните кнопкой мыши и перетащите курсор в район точки (175; -400; 0). Отпустите кнопку мыши и переместите курсор вверх, придав блоку высоту около 15 см. Щелкните кнопкой мыши, фиксируя высоту, перейдите на командную панель Create (Создать) и задайте точные значения размеров блока: Length (Длина) - 60, Width (Ширина) = 200 и Height (Высота) = 15. Назовите объект Stupenka, установите флажок Generate Mapping Coords (Проекционные координаты). Щелкните на кнопке инструмента Select and Move (Выделить и переместить), убедитесь, что кнопка Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) в строке состояния не нажата, и введите в поля отсчетов координат X, Y и Z значения 75, -370 и 0 соответственно. Окончательный вид здания кафе, которое пока не имеет ни дверей, ни окон, показан на рис. 5.13 (плоскость проекции была повернута).

Рис. 5.13. Здание кафе «МАХ»: пока «без окон, без дверей»
16. Сохраните сцену.
Включаем и выключаем осветители, настраиваем яркость и цвет света
Рассматриваемые в этом упражнении параметры и приемы их настройки являются общими для семи типов стандартных осветителей, за исключением источника света неба — Skylight. Продолжите работу над предыдущим упражнением.
1. Проследите за тем, чтобы значок источника света был выделен, и переключитесь на командную панель Modify (Изменить). В свитке General Parameters (Общие параметры), показанном ранее на рис. 11.6, вы увидите установленный по умолчанию флажок On (Вкл.). Этот флажок играет роль обычного выключателя, какие висят на стене каждой комнаты: с его помощью можно включать и выключать выделенные осветители любого типа. Сбросьте флажок, и в окне проекции Perspective (Перспектива) наступит полный мрак: при выключении имеющегося в сцене осветителя встроенное освещение не активизируется. Вот так, друзья, выглядит виртуальная вселенная, пока вы в роли Создателя не сотворите Свет! Установите флажок, и освещение сцены мгновенно восстановится.
| ЗАМЕЧАНИЕ Значки выключенных источников света окрашены не в желтый цвет или в те цвета, которые были присвоены значкам осветителей после их создания, а в черный. |
2. При необходимости настройки цвета освещения разверните свиток Intensity/Color/Attenuation (Интенсивность/ цвет/затухание), показанный на рис. 11.9, и щелкните па образце цвета справа от счетчика Multiplier (Усилитель). По умолчанию применяется цвет с RGB-компонентами (255; 255; 255), то есть чисто-белый. Щелкните на образце, чтобы вызвать окно диалога Color Selector: Light Color (Выбор цвета: цвет освещения). Настройте цвет источника, наблюдая в процессе настройки за изменениями освещения в окнах проекций с тонированным режимом, и щелкните на кнопке ОК. Эта возможность позволяет имитировать ситуации, когда сцена должна освещаться цветными фонарями, например красными аварийными лампами. Закончив эксперименты с цветом, восстановите чисто белый-цвет осветителя.

Рис. 11.9. Свиток Intensity/Color/ Attenuation содержит одни и те же параметры для всех стандартных осветителей, исключая Skylight
3. Теперь попробуем изменить уровень интенсивности света. Это делается с помощью счетчика Multiplier (Усилитель). Чем выше значение в поле счетчика, тем ярче становятся все освещаемые поверхности. На рис. 11.10 показано, как будет выглядеть та же сцена, что и на рис. 11.8, если увеличить значение параметра Multiplier (Усилитель) с принятого по умолчанию значения 1,0 до 1,5.

Рис. 11.10. Результат увеличения яркости света с 1,0 до 1,5
Не закрывайте max 7.5, работа будет продолжаться в следующем упражнении.
Выполняем анимацию дверей «МАХ-кафе»
Попробуйте теперь выполнить анимацию нашего основного проекта — «МАХ-кафе». Целью данного упражнения будет показать, что «оживить» сложную сцену, содержащую массу объектов и материалов, столь же просто, как и сцену, состоящую из единственного объекта. Применим анимацию к входным дверям кафе, заставив их гостеприимно распахиваться перед зрителем. Заодно попробуем «оживить» и системы частиц, имитирующих падающий снег.
Выполните следующие действия:
1. Откройте файл MAX-kafe22.max. Если вы не сохранили такой файл на жестком диске своего компьютера, можете загрузить нужный файл под именем MAX-kafe22.max из папки Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните файл сцены под именем MAX-kafe (dveri otkrivaiutsia).max.
2. Восстановите при необходимости видимость систем частиц Snow01 (Снег01) и Snow02 (Снег02). Чтобы падающий снег при визуализации выглядел более выразительно, примените к системам частиц материал, имитирующий рыхлую полупрозрачную фактуру снежинок. Соответствующий материал под именем Snezhinki можно найти в библиотеке MAX-kafe.mat. Разберитесь в устройстве этого материала самостоятельно. Чтобы назначить нужный материал каждой снежинке, достаточно загрузить его в одну из ячеек Редактора материалов, выделить обе системы частиц (это удобно сделать по именам с помощью инструмента Select by Name (Выделить по имени)), а затем щелкнуть в окне Редактора материалов на кнопке Assign Material to Selection (Назначить материал выделенным объектам). Для анимации систем частиц не требуется никакой настройки, кроме той, какая уже была выполнена на момент их создания в главе 7.
3. Убедитесь, что текущим является нулевой кадр анимации. Выделите объект LevStvorka и приведите его в исходное положение, когда створка двери кафе должна полностью закрыться. Для этого в окне вида сверху поверните створку примерно на 140° вокруг оси 2. Вы уже проделывали подобную операцию, когда в главе 10 устанавливали двери в кафе «МАХ». Для поворота створки проще всего выбрать инструмент Select and Rotate (Выделить и повернуть), затем щелкнуть на кнопке Absolute Mode Transform Type-In (Ввод абсолютных значений преобразования) в строке состояния max 7.5, включив тем самым режим ввода приращений параметров преобразований, и ввести число 140 в поле отсчета координаты Z. Поверните таким же образом правую створку двери, изображаемую объектом PravStvorka, только угол поворота для нее составит -140°. Теперь двери кафе должны быть плотно закрыты, как показано на рис. 16.12. Включите режим автоматической анимации, щелкнув на кнопке Auto Key (Автоключ).

Рис. 16.12. В нулевом кадре анимации двери кафе плотно закрыты
4. Сделайте текущим последний кадр временного сегмента анимации — кадр № 100. Поочередно поверните объекты LevStvorka и PravStvorka вокруг оси Z на угол, при котором двери будут широко раскрыты. В визуализированных ранее сценах «МАХ-кафе» был выбран угол открытия дверей в 140°, как показано на рис. 16.13. Снова щелкните на кнопке Auto Key (Автоключ), чтобы выключить режим анимации. Обратите внимание на то, что при выделении любой из створок дверей в строке треков появляются зеленые квадратики ключей анимации. Таким цветом в max 7.5 окрашиваются значки ключей преобразования поворота.

Рис. 16.13. В последнем кадре анимации (кадре № 100) двери распахнуты настежь
5. Просмотрите выполненную анимацию в окне камеры Camera01. Возможно, для плавного воспроизведения вам придется переключиться в каркасный режим отображения сцены, а может быть, потребуется скрыть часть объектов внутренней обстановки. В заключение сохраните файл под заданным в начале упражнения именем.
Имитируем паркет «МАХ-кафе» с помощью шахматной карты и растровых текстур
В продолжение экспериментов по созданию простых стандартных материалов, основанных на картах текстур, попробуем подготовить материал несколько более сложной структуры. В его составе в качестве цвета диффузного рассеивания будет использоваться шахматная карта, которая, в свою очередь, будет включать в себя две растровые карты, имитирующие текстуры двух пород дерева. Вид трехуровневой иерархической структуры такого материала в окне диалога Material/Map Navigator (Путеводитель по материалам/картам текстур), вызываемом щелчком на одноименной кнопке Редактора материалов, показан на рис. 14.69.

Рис. 14.69. Структура стандартного материала на основе шахматной карты
Чтобы создать подобный материал, выполните следующие действия:
1. Если вы по каким-то причинам не сохранили файл с материалами, настроенными в предыдущем упражнении, загрузите сцену с нужными материалами из папки Scenes\Glava_14 компакт-диска, прилагающегося к книге, где она хранится в файле под именем MAX-kafe13.max. Сохраните файл с инкрементированием имени.
2. Активизируйте очередную свободную ячейку Редактора материалов и назовите новый материал Parket. В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) настройте параметры материала следующим образом: Ambient (Подсветка) = (100; 44; 22), коричневый; Diffuse (Диффузный) = (196; 119; 58), светло-коричневый; Specular (Зеркальный) = (248; 239; 213), светло-желтый. Придайте материалу некоторый блеск, хотя и не слишком яркий: Specular Level (Сила блеска) - 36, Glossiness (Глянцевитость) = 46. Сделайте края блика достаточно размытыми: Soften (Размыть) = 0,8. Щелкните на маленькой квадратной кнопке справа от цветового поля параметра Diffuse (Диффузный) и выберите в появившемся окне просмотра материалов и карт текстур карту типа Checker (Шахматная карта).
3. Настройте параметры шахматной карты. В свитке Checker Parameters (Параметры шахматной карты) щелкните на образце цвета Color # 1 (Цвет № 1) и выберите для него насыщенный коричневый оттенок с RGB-компонентами (161, 53, 0). Для параметра Color # 2 (Цвет № 2) подберите полунасыщенный желтый цвет (223; 194; 106).
4. Подберите текстуры для каждого из двух компонентов цвета шахматной карты. Щелкните на кнопке группы Maps (Карты текстур), относящейся к параметру Color # 1 (Цвет № 1), и выберите в окне просмотра материалов и карт текстур карту типа Bitmap (Растровая карта). В свитке Bitmap Parameters (Параметры растровых текстур) щелкните на длинной кнопке без надписи и выберите файл растровой текстуры, изображающей рисунок древесины. Из соображений гармонии мебели и паркета выберите тот же файл Burloak.jpg с текстурой распила дубового капа, который использован в материале столов и кресел. Оставьте все параметры растровой карты в исходном состоянии и вернитесь на уровень шахматной карты, щелкнув на кнопке Go to Parent (Перейти к составному материалу). Теперь аналогичным образом назначьте растровую карту текстуры второму компоненту шахматной карты и подберите для нее подходящий файл с изображением древесины. Например, можно использовать фотографию дубовой доски из файла Oakqrtr.tga, входящего в комплект поставки max 7.5 (этот файл имеется в папке Maps компакт-диска, прилагающегося к книге). Все параметры этой растровой карты также оставьте в исходном состоянии и снова вернитесь на уровень шахматной карты. У вас должен получиться материал, подобный показанному на рис. 14.70.

Рис. 14.70. Стандартный материал на основе шахматной карты в качестве текстуры цвета диффузного рассеивания
5. Чтобы клетки паркета были соразмерны с элементами интерьера кафе, в свитке Coordinates (Координаты) установите кратность повторения текстуры по обеим осям U и V равной 12 (рис. 14.71). Перейдите с уровня шахматной карты на уровень материала и сохраните его в библиотеке MAX-kafe.mat. Назначьте новый материал объекту Pol, который должен при этом приобрести вид, показанный в начале главы на рис. 14.5. Сохраните сцену под измененным в начале упражнения именем — MAX-kafe14.max.

Рис. 14.71. Материал Parket с кратностью повторения узора шахматной карты, равной 12 по обеим осям U и V
Исключаем объекты из освещения
Очень интересной является возможность выборочно освещать отдельные объекты сцены светом текущего настраиваемого источника. Она позволяет ярко высветить отдельный объект, оставив все остальные в тени, чего в реальности добиться не так-то просто. Продолжите предыдущее упражнение, чтобы освоить эту возможность.
1. Щелкните на кнопке Exclude (Исключение), расположенной в самом низу свитка General Parameters (Общие параметры). Появится окно диалога Exclude/Include (Включение/Исключение), показанное на рис. 11.11.

Рис. 11.11. Окно диалога Exclude/Include содержит средства исключения объектов из числа освещаемых тем или иным осветителем сцены
2. С помощью переключателей в правой верхней части окна установите тип операции — Exclude (Исключить) или Include (Включить), а также укажите, должно ли исключение источника света влиять на освещение выбранных объектов (Illumination), на отбрасывание ими теней (Shadow Casting) или на то и другое одновременно (Both).
3. Выделите имена нужных объектов сцены в списке Scene Objects (Объекты сцены) в левой части окна. В список, расположенный справа, помещаются объекты, для которых исключено (или включено, в зависимости от выбранной операции) влияние источника света. Пусть, к примеру, это будут объекты-группы Lampa01 и Lampa02, которые пока ярко освещены. Для переноса имен объектов в правый список выделите их в левом списке и щелкните на кнопке со сдвоенной стрелкой, указывающей вправо. Щелкните на кнопке ОК и визуализируйте сцену в окне проекции Perspective (Перспектива). Вы увидите, что теперь эти две лампы выглядят совершенно черными, как показано на рис. 11.12, так как не освещаются единственным имеющимся в сцене осветителем.

Рис. 11.12. Два висящих на левой стене светильника исключены из освещения единственным осветителем сцены и выглядят совершенно черными
| ЗАМЕЧАНИЕ Обратите внимание на то, что в списке окна диалога Exclude/Include (Включение/Исключение) демонстрируются имена всех объектов, даже тех, которые в данный момент скрыты от просмотра в окнах проекций. Дело в том, что видимость объектов в окнах проекций и их видимость на визуализированном изображении сцены — не одно и то же. В главе 15, «Осваиваем тонкости визуализации сцены и внешней среды», вы узнаете, как можно обеспечить визуализацию объектов, скрытых от просмотра в окнах проекций. Следовательно, мы должны иметь возможность управлять освещенностью таких временно невидимых объектов, в частности, иметь возможность исключать их из числа освещаемых. Кстати, обратите внимание также на то, что эффект исключения объектов из освещения совершенно не проявляется в окнах проекций — там все объекты выглядят освещенными, как и прежде. |
4. Для восстановления условий освещения объектов снова щелкните на кнопке Exclude (Исключить) и очистите правый список в окне диалога Exclude/Include (Включение/Исключение), щелкнув на кнопке Clear (Очистить). Не выходите из программы: следующее упражнение будет продолжением данного.
Освоение тонкостей лофтинга: создаем кочергу
Конечно, помешивать угли можно и просто палкой или куском толстой проволоки с загнутым концом. Однако мы методом лофтинга создадим для камина нашего кафе более совершенную кочергу, как бы выкованную из металлического прутка квадратного сечения с ребристой ручкой, чтобы удобно было держать в руках (рис. 7.8).

Рис. 7.8. Кочерга, сформированная методом лофтинга, для наглядности показана с обоих концов
Для создания тела лофтинга с использованием нескольких форм-сечений выполните следующие действия:
1. Перезагрузите программу max 7.5 и сохраните пустой файл новой сцены под именем Kocherga.max.
2. Создайте в окне проекции Тор (Вид сверху) четыре формы-сечения (прямоугольник, квадрат, круг и 8-лучевую звезду с закругленными лучами), как показано на рис. 7.9. Пусть квадрат, который будет определять сечение стойки кочерги, имеет размер стороны около 4 см. Прямоугольник будет служить сечением загнутого конца кочерги, придайте ему подходящие размеры, скажем, 2x8 см. Круг сделайте такого размера, чтобы квадрат вписывался в него, то есть радиусом около 3 см. Проще всего построить круг прямо от центра квадрата, растянув его до касания с углами. Наружный радиус звезды, определяющий толщину ручки, пусть будет около 4 см, а внутренний — примерно 3-3,5 см. Затем постройте форму-путь в виде линии длиной порядка 80 см с загнутым концом длиной еще около 25 см. Чтобы носок будущей кочерги загибался более естественно, в месте изгиба линии пути создайте пару вершин, формирующих срезанный наискось угол (см. рис. 7.9). Выделите форму-путь.

Рис. 7.9. Формы-сечения будущего тела лофтинга (слева) и форма-линия, которая будет использована в качестве пути (справа)
3. Щелкните на кнопке Loft (Лофтинговые) d свитке Object Type (Тип объекта) командной панели Create (Создать), а затем — на кнопке Get Shape (Взять форму). Дальнейший порядок действий зависит от того, на каком конце формы-пути разметается у вас первая вершина линии. В моем случае первая вершина размешается на длинном конце будущей кочерги, так что начинать построение следует с рукоятки. Рукоятка будет сформирована из двух сечений: круга и звезды. Перейдите в любое окно проекции и щелкните на форме-круге, которая будет служить первым сечением создаваемого тела. Сразу же будет сформировано тело лофтинга с постоянным сечением в форме круга по всей длине пути, как показано на рис. 7.10. Чтобы иметь возможность видеть оболочку тела в окнах с каркасным режимом отображения, можно развернуть свиток Skin Parameters (Параметры оболочки) и установить флажок Skin (Оболочка) в разделе Display (Отображение). Мы пока не будем этого делать, чтобы сетка оболочки не мешала нам видеть линию пути.

Рис. 7.10. Сформировано исходное тело лофтинга с сечением в форме круга
4. Обратите внимание на свиток Path Parameters (Параметры пути). Он позволяет расставить различные формы-сечения в разных точках пути, обеспечивая возможность формировать оболочку тела с переменным сечением. Задавать требуемое положение точки на линии пути, в которой будет размещено сечение, следует с помощью счетчика Path (Путь). Установленный по умолчанию переключатель Percentage (Процент) указывает на то, что положение сечений должно будет задаваться в процентах от длины пути. Установите в счетчике Path (Путь) значение 1. Выбранное положение для размещения сечения помечается на линии пути маркером в виде крестика желтого цвета. Переместите курсор в окно проекции и снова щелкните на форме-звезде (кнопка Get Shape (Взять форму) должна все еще быть в активном состоянии). Сечение в форме звезды будет немедленно установлено на расстоянии 1 % от начала линии пути (рис. 7.11).

Рис. 7.11. На заданном расстоянии от начала линии пути установлено новое сечение
5. Продолжите установку новых сечений в составе рукоятки, разместив еще одно сечение в форме звезды па расстоянии 19 % от начала пути, а дополнительное сечение в форме круга — на расстоянии 20 % от начала пути, как показано на рис. 7.12. Если вы случайно щелкнете правой кнопкой мыши, так что свитки с параметрами тела лофтинга исчезнут с командной панели Create (Создать), просто перейдите на панель Modify (Изменить) и продолжите построение тела, снова щелкнув на кнопке Get Shape (Взять форму).

Рис. 7.12. При правильном размещении форм-сечений (слева) должна сформироваться рукоятка кочерги (справа)
6. Чтобы завершить формирование тела лофтинга, установите сечение в форме квадрата на расстояниях в 23 % и 75 % от начала пути, а сечение в форме прямоугольника — на расстояниях в 79 % и 100 % от начала пути (рис. 7.13). В итоге у вас должен получиться объект, показанный ранее на рис. 7.8. Сохраните его в файле под именем, заданным в начале упражнения. Готовый файл с таким же именем Kocherga.max можно найти в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге.

Рис. 7.13. Все сечения тела лофтинга размещены в нужных точках линии пути
laquo;Подпускаем» немного тумана в сцену «МАХ-кафе»
Чем хороша ЗD-графика, так это тем, что вы чувствуете себя полным хозяином в созданном вами виртуальном мире. Не составляет почти никакого труда по собственному желанию устанавливать в этом мирке день или ночь, переходить от зимы к лету или к осени. Так и с туманом. Если убрать снег и добавить туман в сцену, визуализируемую на фоне багрового заката, этот эффект поможет создать атмосферу осеннего вечера. Если же применить туман в сцене, изображающей зиму, он будет производить впечатление поземки, способствуя возникновению ощущения снежной метели. Попробуем оба варианта.
Приступим к практическому освоению приемов настройки и визуализации атмосферного эффекта типа Fog (Туман). Чтобы «подпустить» туман в сцену «МАХ-кафе», выполните следующие действия:
1. Откройте файл MAX-kafe18.max или продолжите работу над сценой, если она уже загружена в программу mах 7.5. Нужную сцену со всеми объектами и материалами вы можете при необходимости найти в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге, под именем MAX-kafe18.max. Сохраните сцену с инкрементированием имени файла.
2. Раскройте окно диалога Environment and Effects (Внешняя среда и эффекты), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты) и выберите строку Fog (Туман) в окне диалога Add Atmospheric Effect (Добавление атмосферного эффекта). Имя эффекта будет добавлено в список Effects (Эффекты), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появится свиток Fog Parameters (Параметры тумана), показанный на рис. 15.44.

Рис. 15.44. Свиток Fog Parameters содержит все необходимые элементы для настройки параметров этого атмосферного эффекта
3. Не сбрасывайте установленный по умолчанию флажок Fog Background (Дымка фона), чтобы эффект туманной дымки действовал и на установленный в сцене фон, а не только на объекты. Переключатель Туре (Тип), позволяющий выбрать тип тумана, по умолчанию установлен в положение Standard (Стандартный), обеспечивая имитацию тумана в виде дымки. Установите этот переключатель в положение Layered (Слоистый). Слоистый туман отличается от стандартного тем, что его плотность меняется в зависимости от высоты над горизонтальной плоскостью. После этого станут доступными средства управления слоистым туманом из раздела Layered (Слоистый) свитка Fog Parameters (Параметры тумана).
4. Установите переключатель Falloff (Спад) в положение Тор (Вверху). При этом плотность тумана будет спадать до нуля в районе верхней границы слоя. При выбранной по умолчанию позиции переключателя None (Нет) плотность тумана в пределах слоя остается равномерной, а при выборе варианта Bottom (Внизу) — спадает до нуля в районе нижней границы.
5. Задайте высоту верхней границы слоя тумана в глобальной системе координат в счетчике Тор (Верх) равной 50 см. Высоту нижней границы в счетчике Bottom (Низ) оставьте равной 0. В счетчике Density (Плотность) установите общую плотность тумана равной 20,0.
6. Установите флажок Horizon Noise (Зашумление горизонта) — это позволит внести возмущения в линию горизонта слоя тумана для повышения реализма сцены. После установки флажка станут доступными элементы управления возмущением. Задайте характерный размер областей возмущений слоя тумана вблизи линии горизонта в счетчике Size (Размер) равным 10,0. Все остальные параметры оставьте равными их исходным значениям.
7. Выполните визуализацию изображения в окне проекции Camera01 (Камера01). Результат должен быть похож на изображение, представленное на рис. 15.45. Обратите внимание на то, как плотность тумана возрастает по мере удаления от зрителя.

Рис. 15.45. Результат визуализации сцены с эффектом слоистого тумана, создающим атмосферу холодного осеннего вечера
8. Теперь перейдем от осени к зиме. В свитке Common Parameters (Общие параметры) окна диалога Environment and Effects (Внешняя среда и эффекты) сбросьте флажок Use Environment Background (Использовать фон внешней среды). Щелкните на образце цвета фона внешней среды и задайте для него серо-голубой оттенок с RGB-компонентами (15; 78; 163). Выключите режим отображения фона в окне проекции. Снова примените к основанию сцены материал Sneg, имитирующий снежный покров. Для полноты картины восстановите видимость снежных валиков и обеих систем частиц Snow01 и Snow02.
9. Повторно выполните визуализацию изображения в окне проекции Camera01 (Камера01). Должно получиться изображение, подобное представленному на рис. 15.46. Тот же самый туман воспринимается теперь совсем по-другому. Поэкспериментируйте самостоятельно с параметрами тумана, чтобы выбрать их наилучшее, на ваш взгляд, сочетание. В заключение сохраните сцену под измененным в начале упражнения именем MAX-kafe19.max.

Рис. 15.46. Результат визуализации сцены с эффектом слоистого тумана, имитирующим снежную поземку
|
ЗАМЕЧАНИЕ Наибольшее время при визуализации сцены обычно тратится на построение карт текстур отражения/преломления и плоского зеркала. Выполняя визуализацию сцены в окне проекции Camera01 (Камера01), сбросьте предварительно флажки активизации этих карт в материалах стекла бокалов и дерева столешниц — ведь тонкие эффекты отражения на поверхностях этих объектов все равно не видны через раскрытую дверь кафе. Это позволит вам существенно сократить время визуализации. |
Применяем эффект самосвечения в материалах сцены «МАХ-кафе»
Попробуем создать чуть более усовершенствованные материалы, имитирующие эффект самосвечения. Такие материалы понадобятся нам для неоновой вывески, плафонов ламп настенных светильников «МАХ-кафе», лампочек елочной гирлянды, а также для снежных сугробов вокруг здания. Выполните следующие действия:
1. Продолжите работу над сценой «МАХ-кафе» или заново откройте файл с описанием этой сцены. На прилагающемся к книге компакт-диске нужная сцена хранится под именем МАХ-кафе12.тах в папке Scenes\Glava_13. Раскройте окно Редактора материалов и активизируйте очередную свободную ячейку образца.
2. Назовите вновь создаваемый материал Neon. Задайте следующие параметры базовых компонентов этого материала: Ambient (Подсветка) — (40; 50; 80), темно-синий (на самом деле цвет подсветки для самосветящихся материалов при максимальном уровне свечения не имеет особого значения); Diffuse (Диффузный) — (110; 225; 250), ярко-голубой; Specular (Зеркальный) — (230; 230; 230), светло-серый. Создайте яркий, но размытый зеркальный блик: Specular Level (Сила блеска) = 75; Glossiness (Глянцевитость) = 25. Сбросьте флажок Color (Цвет) в разделе Self-Illumination (Самосвечение) и задайте уровень самосвечения равным 100. Как уже говорилось, при таком уровне самосвечения цвет Ambient (Подсветка) перестает действовать, так как полностью вытесняется цветом Diffuse (Диффузный).
3. Назначьте новый материал объекту Viveska. Вызовите окно диалога Material/ Map Browser (Просмотр материалов и карт текстур), откройте библиотеку материалов MAX-kafe.mat и сохраните в ней этот материал.
| ЗАМЕЧАНИЕ Интереснейшая особенность материалов со свойством самосвечения состоит в том, что они видимы даже в полной темноте, когда выключены все осветители max 7.5. Более того, подобные материалы могут стать источником освещения окружающих предметов, если выполнить расчет глобальной освещенности по методу переноса излучения. |
4. Теперь создайте новый «светящийся» материал, активизировав шестую ячейку образца и назвав материал Steklo lampi. Задайте следующие параметры базовых компонентов этого материала: Diffuse (Диффузный) — (255; 255; 160), ярко-желтый; Ambient (Подсветка) и Specular (Зеркальный) — такие же. Полностью устраните зеркальный блик: Specular Level (Сила блеска) = 0; Glossiness (Глянцевитость) = 0. Сбросьте флажок Color (Цвет) в разделе Self-Illumination (Самосвечение) и задайте уровень самосвечения равным 100. Слегка уменьшите непрозрачность материала, задав Opacity (Непрозрачность) - 90. В свитке Extended Parameters (Дополнительные параметры) установите переключатель Туре (Тип) из раздела Advanced Transparency (Свойства прозрачности) в положение Filter (Фильтрующая) и задайте ярко-желтый цвет светофильтра с RGB-компонентами (250; 230; 64). Назначьте материал объектам Plafon и Plafon01, выполняющим роль плафонов настенных светильников, и сохраните его в текущей библиотеке. Вид получившихся материалов показан на рис. 13.44.

Рис. 13.44. Образцы самосветящихся материалов Neon и Steklo lampi в пятой и шестой ячейках Редактора материалов
5. Подготовьте светящиеся материалы для лампочек елочной гирлянды. Так как мы заняли все шесть свободных ячеек Редактора материалов, прокрутите область ячеек образцов вниз. Создайте материал ярко-желтого цвета с RGB-компонентами оттенков Diffuse (Диффузный) и Ambient (Подсветка), равными (255; 255; 0). Придайте ему явно выраженный блеск, установив Specular Level (Сила блеска) = 75, Glossiness (Глянцевитость) = 25, и установите 100-процентную самосветимость. Назовите материал Zheltiy svet и примените его к каждой третьей лампочке елочной гирлянды. Затем создайте еще два материала с аналогичными характеристиками, но, скажем, красного и ярко-зеленого цветов. Назовите эти два материала Krasniy svet и Zeleniy svet и также примените их к лампочкам, чередуя с желтым материалом, чтобы получить последовательность елочных огней «красный — желтый — зеленый».
6. Активизируйте еще одну ячейку образца и назовите новый материал Sneg. Задайте следующие параметры компонентов этого материала: Diffuse (Диффузный) — (189; 234; 245), светло-голубой; Ambient (Подсветка) — (137; 169; 199), светло-синий; Specular (Зеркальный) — (229; 229; 229), почти белый. Настройте зеркальный блеск: Specular Level (Сила блеска) = 35; Glossiness (Глянцевитость) = 25. Сбросьте флажок Color (Цвет) в разделе Self-Illumination (Самосвечение) и задайте уровень самосвечения равным 50. Оставьте исходное значение непрозрачности материала, равное 100 %. Назначьте материал объектам Osnovanie sceni и Valik01 - Valik03 и сохраните его в текущей библиотеке.
7. Сохраните файл сцены под прежним именем, МАХ-кафе12.тах.
На рис. 13.45 показано визуализированное изображение настенного светильника после применения к его плафону самосветящегося материала, а на рис. 13.46 — вид сцены снаружи от кафе «МАХ», где к сугробам и снежной равнине также применен материал с небольшой степенью самосвечения.

Рис. 13.45. К стеклу плафона светильника применен самосветящийся материал

Рис. 13.46. Слегка светящийся материал назначен снежным наносам вокруг кафе
Ряд созданных нами материалов может использоваться шире, чем было обозначено при их создании. Так, для посоха Деда Мороза вполне подойдет материал Pozolota, а для кристалла на конце посоха — материал Neon. Может быть, чтобы сделать кристалл еще светлее и ярче, имеет смысл применить в качестве цвета подсветки этого материала копию цвета диффузного рассеивания.
В качестве задания на самостоятельную проработку попробуйте подготовить подходящий материал для звезды, украшающей нашу новогоднюю елку, применить к ней этот материал и выполнить пробную визуализацию. Это может быть материал с высокой яркостью блика, а может быть и совершенно матовый, как будто звездочка сделана из мягкой резины. Также самостоятельно изготовьте простейший материал серого цвета для валенок Деда Мороза.
Это все простейшие материалы, используемые в сцене «МАХ-кафе». Остальные материалы являются многокомпонентными или требуют применения карт текстуры, к рассмотрению которых мы приступим в следующей главе.
Развиваем дебютную идею
Продолжим совершенствование навыков создания простейших анимаций в автоматическом режиме, заставив шахматные фигурки двигаться по доске и разыгрывать простейший дебют. Особенностью этой анимации явится то, что ключи будут установлены для многих объектов сцены. Кроме того, мы научимся производить расчет времени анимации и выполнять еще ряд важных операций, в частности устанавливать момент начала движения объекта и корректировать траекторию его перемещения, задавая промежуточные точки.
Выполните следующие действия:
1. Перезапустите max 7.5 и загрузите сцену, изображающую шахматные фигуры, расставленные на доске в исходных позициях. Такую сцену с необходимыми материалами можно найти под именем Shahmati01.max в папке Scenes\ Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Произведем простейший расчет времени. Стандартная длительность временного сегмента анимации составляет 100 кадров. При опять же стандартной скорости воспроизведения — 30 кадров в секунду — анимация такого объема будет длиться 3,3 секунды. Сколько ходов шахматных фигур имеет смысл моделировать за это время? Наверное, не более 5—6, чтобы продолжительность каждого хода составляла от 1/2 до 2/3 секунды. Если заставить фигуры двигаться быстрее, то при воспроизведении подобной анимации трудно будет уследить за их мельканием. Итак, выберем в качестве базовой продолжительности одного хода величину 20 кадров, то есть 2/3 секунды.
3. Не мудрствуя лукаво, разыграем запомнившийся мне с ранних лет своим легкомыслием дебют под названием «Детский мат». Начинается он со знаменитого хода... Правильно, е2-е4! Итак, щелкните на кнопке Auto Key (Автоключ), чтобы включить режим автоматической анимации. Выделите пешку на поле е2 (это должен быть объект Peshka12). Перетащите ползунок таймера анимации к отметке кадра № 20 или просто введите число 20 в поле Current Time (Текущее время) группы инструментов управления анимацией и нажмите клавишу Enter. Ползунок при этом передвинется в нужную позицию автоматически. Переместите выделенную пешку на поле е4, как показано на рис. 16.14. Это удобно произвести в окне вида сверху, но несложно сделать и в окне проекции Perspective (Перспектива), если пользоваться габаритным контейнером преобразования в виде тройки координатных векторов.

Рис. 16.14. Гроссмейстер сделал ход е2-е4!
4. Итак, первый ход сделан. Черные, разумеется, отвечают не менее знаменитым е7-е5. Вы, наверное, думаете, что для анимации этого хода следует просто переместить ползунок таймера к отметке кадра № 40 и передвинуть пешку, стоящую на клетке е7, на поле е5? Попробуйте так и сделать, а затем выключить режим анимации и воспроизвести ее в окне проекции. Результат, однако, будет не тем, на какой вы рассчитывали. Обе пешки начнут движение одновременно, только первая достигнет своей конечной цели за 20 кадров, а вторая будет двигаться в два раза медленнее и перейдет на поле назначения за 40 кадров. Дело в том, что max 7.5, если ему не указано иного решения, всегда устанавливает для анимируемого объекта первый ключ анимации в кадре № 0. Нам же требуется, чтобы черная пешка стояла неподвижно вплоть до кадра № 20, а затем начала двигаться и к сороковому кадру переместилась на отведенное ей поле. Отмените ошибочные действия, если вы их произвели. Итак, чтобы задать момент начала движения черной пешки, нам следует установить для нее первый ключ анимации в кадре № 20. Такой ключ можно назвать ключом фиксации, так как он действительно фиксирует текущее значение анимируемого параметра, не позволяя ему меняться до заданного момента. Чтобы создать такой ключ, выделите пешку на поле е7 (это должен быть объект Peshka05) и, не перетаскивая ползунок таймера с отметки кадра № 20, щелкните на ползунке правой кнопкой мыши. Появится окно диалога Create Key (Создать ключ), показанное на рис. 16.15. Это окно диалога позволяет создавать ключи анимации трех стандартных преобразований объекта: перемещения, поворота и масштабирования.

Рис. 16.15. Окно диалога Create Key содержит средства для создания ключей анимации преобразований перемещения, поворота и масштаба
|
ЗАМЕЧАНИЕ Существование окна Create Key (Создать ключ), назначение которого — принудительно создавать ключи в нужных кадрах, явно говорит о том, что автоматический режим анимации, помимо достоинств, имеет и недостатки. Именно желание преодолеть эти недостатки и привело разработчиков к реализации режима принудительной анимации. |
5. По умолчанию в окне установлены флажки всех трех преобразований: Position (Положение), Rotation (Поворот) и Scale (Масштаб). Мы собираемся создать только ключ анимации преобразования перемещения, поэтому сбросьте флажки Rotation (Поворот) и Scale (Масштаб). В счетчике Source Time (Опорное время) указывается номер кадра, из которого будут взяты ключевые значения анимируемых параметров объекта (в данном случае — значения его координат). По умолчанию в этом счетчике указывается номер текущего кадра. Так как нам требуется, чтобы пешка в кадре № 20 сохраняла свое исходное положение, не меняйте значения этого параметра. В счетчике Destination Time (Время создаваемого ключа) задается номер кадра, для которого требуется создать ключ анимации. Нас устраивает указанный в этом счетчике по умолчанию номер текущего кадра — 20, поэтому просто щелкните на кнопке ОК. Ключ анимации перемещения пешки с ее текущими координатами в кадре № 20 создан, и теперь она на интервале с нулевого по двадцатый кадр будет оставаться на месте.
6. Перетащите ползунок таймера к отметке кадра № 40, а еще лучше просто введите число 40 в поле Current Time (Текущее время) и нажмите клавишу Enter. Переместите черную пешку с клетки е7 на клетку е5. Обратите внимание на появление ключа в виде красного квадратика на отметке кадра № 40 строки треков. Чтобы убедиться, что все пока идет, как нужно, выключите режим анимации, щелкнув на кнопке Auto Key (Автоключ). Воспроизведите анимацию в окне проекции. Для этого сначала щелкните на кнопке Go to Start (Перейти в начало), чтобы перейти к начальному кадру сегмента анимации. Затем щелкните на ползунке таймера анимации и не спеша перетаскивайте его вправо, следя за тем, что происходит в активном окне проекции. Вы увидите, как белая пешка переместится с клетки е2 на е4 за первые 20 кадров, с нулевого по двадцатый, а черная проделает свое движение за вторые 20 кадров, с двадцатого по сороковой.
7. Продолжим создание анимации. Установите в качестве текущего кадр № 40. Дебютная идея «детского мата» подразумевает, что теперь белые должны сделать ход слоном fl-c,4. Выделите белого слона на клетке f1 (это должен быть объект Slon03) и установите для него ключ преобразования Position (Положение) в текущем кадре № 40, действуя совершенно аналогично тому, как мы создавали ключ положения для черной пешки в п. 5.
|
ЗАМЕЧАНИЕ Заметьте, что для принудительного создания ключей с помощью окна диалога Create Key (Создать ключ) совершенно не требуется, чтобы был включен режим анимации. |
8. Включите режим анимации, щелкнув на кнопке Auto Key (Автоключ). Установите в качестве текущего кадр № 60 любым известным вам способом и переместите объект Slon02 на клетку с4. Выключите режим анимации и попробуйте воспроизвести ее в окне проекции. Слон должен начинать двигаться только с момента кадра № 40 и достигать нужной клетки к кадру № 60. Так как время, отведенное на движение слона, то же, что и у пешек, а переместиться ему требуется на большее расстояние, то и двигаться он будет быстрее пешек. Об этом позаботится mах .7.5. Обратите внимание на то, что по какой бы траектории вы ни перемещали слона с исходной клетки на конечную, двигаться при воспроизведении анимации он будет строго по кратчайшему расстоянию, так как для mах 7.5 имеют значение только координаты начальной и конечной точек движения, запомненные в виде ключей анимации. С этим важным условием нам еще придется столкнуться ниже. Попробуйте также поочередно выделить все три объекта и проследите за ключами анимации в строке треков. Теперь ключи анимации установлены нами уже для трех объектов: Peshka12, Peshka05 и Slon03. Для объекта Peshka12 ключи в виде красных квадратиков будут располагаться в кадрах № 0 и № 20, для Peshka05 — в кадрах № 20 и № 40, а для Slon03 — в кадрах № 40 и № 60. На рис. 16.16 показано, как должна выглядеть наша сцена в окне проекции на данный момент.

Рис. 16.16. Дебютная идея развивается: передвинуты уже три фигуры
9. Предположим, что играющий черными фигурами настолько туп, что не замечает готовящейся ловушки и собирается сделать ход конем Ь8-с6. Просто ход конем позволит нам рассмотреть такую особенность анимации перемещения объекта, как задание требуемой траектории. Ведь конь должен перепрыгнуть через стоящие перед ним фигуры, а не пройти сквозь них, хотя для бестелесных виртуальных шахматных фигур проходить друг сквозь друга и не составляет никакого труда. Итак, установите в качестве текущего кадр № 60, выделите черного коня на клетке Ь8 (объект-группа Коп'01) и создайте для него ключ положения, используя окно диалога Create Key (Создать ключ), как было описано выше. Это заставит коня до момента кадра № 60 стоять на месте. Затем включите режим анимации, перетащите ползунок таймера к отметке кадра № 80 и переместите коня на клетку с6 по любой траектории. Как мы уже говорили, форма этой траектории не имеет никакого значения: все равно конь будет перемещаться на отведенное ему поле по кратчайшему пути. Чтобы убедиться в этом, выключите режим анимации и несколько раз перетащите ползунок таймера влево-вправо.
10. Для исправления ситуации переключитесь на кадр № 70, соответствующий середине интервала перемещения коня. Включите режим анимации и в окне вида слева или спереди приподнимите объект Коп'01 вверх, заставив его зависнуть над остальными фигурами, как показано на рис. 16.17. Если теперь опять выключить режим анимации и потаскать ползунок таймера влево-вправо, вы увидите, что конь теперь движется с исходной клетки на конечную не по кратчайшему пути, а по дуге, взлетая при этом над другими фигурами. Обратите внимание, что если выделить коня, то в строке треков будут видны квадратики трех ключей анимации: в кадрах 60, 70 и 80.

Рис. 16.17. Черный конь в кадре № 70 зависает в воздухе
11. К сожалению, время активного сегмента анимации неумолимо приближается к концу, и мы можем позволить себе сделать еще только один ход, конечно же, белым ферзем: d1-f3. Сделайте текущим кадр № 80. Выделите белого ферзя (объект Ferz02) и с помощью окна диалога Create Key (Создать ключ) создайте для него ключ, фиксирующий текущее положение этой фигуры в кадре № 80. Затем перейдите к кадру № 100, включите режим анимации и сделайте ход, то есть переместите ферзя с клетки d1 на f3. Выключите режим анимации. Готово! Итоговое расположение фигур нашей анимации, уже не столь простой, как предыдущая, показано на рис. 16.18. Воспроизведите анимацию, вернувшись к начальному кадру и медленно перетаскивая ползунок таймера. Можете попробовать воспроизвести ее и в окнах проекций, вот только вряд ли удастся сделать это без пропуска кадров в тонированном режиме отображения. В заключение сохраните файл с только что созданной анимацией. Сравните то, что у вас получилось, с готовой анимацией, которая имеется в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге, под именем Shahmati02.max.

Рис. 16.18. Третий ход белых так и остался без ответа
Если у вас возникнет желание продолжить игру в виртуальные шахматы, то увеличьте продолжительность сегмента анимации. Для этого щелкните на кнопке Time Configuration (Настройка временных интервалов) или щелкните правой кнопкой мыши на любой из кнопок управления анимацией, чтобы вызвать окно диалога Time Configuration (Настройка временных интервалов). Введите в счетчик End Time (Время окончания) окна диалога, где по умолчанию значится величина 100, новое значение последнего номера кадра, скажем, 200. Тем самым вы увеличите продолжительность анимации почти до 6,6 секунды, сохранив все уже созданные ключи, и обеспечите себе возможность завершить шахматную партию к собственному удовольствию.
Создаем стол и стул
Используя освоенные примитивы — параллелепипед и параллелепипед с фаской, создадим в учебных целях простейшие предметы мебели: стол и стул. Впоследствии мы усовершенствуем дизайн стола, а вместо простых стульев научимся делать более комфортабельные кресла. Тем не менее и такая несложная мебель способна украсить интерьер. Именно такие стол и такой стул вы могли видеть в составе сцены «Дачный домик», показанной на рис. 1.8 главы 1. Учитывая, что вы уже приобрели определенный опыт, пояснения необходимых действий будем делать менее подробно, чем в предыдущем упражнении. Итак, приступим.
1. Произведите перезагрузку mах 7.5, выбрав команду меню File > Reset (Файл > Перезагрузить). Сохраните пустую сцену — например, под именем Stol i stul.
2. Настройте единицы измерения и сетку координат так, как было описано в разделе «Настраиваем max 7.5 для работы над сценой „МАХ-кафе"» главы 3.
3. Увеличьте масштаб в окне проекции Тор (Вид сверху), используя инструмент Zoom (Масштаб), чтобы по вертикали в окне умещались две большие ячейки, образованные главными линиями сетки.
4. Выберите на командной панели Create (Создать) объект Box (Параллелепипед) и создайте квадратную в плане столешницу, растягивая ее основание в окне проекции Тор (Вид сверху) из точки (0; 0; 0) при нажатой клавише Ctrl, со следующими размерами: Length (Длина) = 145, Width (Ширина) = 145 и Height (Высота) = 5 см. Установите координаты опорной точки столешницы равными (0; 0; 70). Измените цвет объекта на светло-коричневый и назовите его Stoleshnica.
5. Постройте ножки стола. Для этого создайте в центре окна проекции Тор (Вид сверху) параллелепипед квадратного сечения с размерами Length (Длина) - 7,5 см, Width (Ширина) = 7,5 см и Height (Высота) - 70 см. Назовите этот объект Nozhka stoIa01 и переместите его в точку (40; -40; 0). Измените цвет объекта, сделав его таким же, как у столешницы.
6. Используя команду меню Edit > Clone (Правка > Дублировать), создайте три копии ножки, назовите их Nozhka stola02, Nozhka stola03, Nozhka stola04 и переместите в точки (40; 40; 0), (-40; 40; 0) и (-40; -40; 0). Готово! Вид стола в окне проекции Perspective (Перспектива) после небольшой настройки масштаба и поворота показан на рис. 5.14. Можете взглянуть на то, что должно получиться, загрузив из папки \Scenes\Glava_05 прилагающегося к книге компакт-диска файл Stol.max.

Рис. 5.14. Простейший стол
7. Теперь займемся стулом. С помощью инструмента Pan (Прокрутка) передвиньте изображение в окне проекции Тор ( Вид сверху) влево, чтобы освободить место для стула. Щелкните на кнопке Box (Параллелепипед) и создайте сиденье стула со следующими размерами: Length (Длина) = 45, Width (Ширина) = 45 и Height (Высота) = 5 см, растягивая его квадратное сечение из точки (100; 0; 0) при нажатой клавише Ctrl. Назовите объект Sidenie и задайте глобальные координаты его опорной точки: X = 100, Y = 0, Z = 40 см. Выберите цвет сиденья «под дерево», например светло-коричневый. Пока объект Sidenie выделен, щелкните на кнопке Zoom Extents Selected (Выделенные объекты целиком), которая находится на раскрывающейся панели инструмента Zoom Extents (Сцена целиком), чтобы укрупнить изображение объекта на все окно проекции.
8. Создайте передние ножки стула. Выберите инструмент Box (Параллелепипед) и, нажав и удерживая клавишу Ctrl, щелкните в районе точки (82; 18; 0) окна проекции Тор (Вид сверху) и растяните сечение ножки стула до размеров 5x5 см. Высоту ножки сделайте равной 45 см. Задайте точные значения координат ножки: X = 82, Y = 18, Z = 0 см. Назовите объект Nozhka stula01 Создайте копию ножки, назовите ее Nozhka stula02 и переместите в точку (82; -18; 0). Сделайте обе ножки того же цвета, что и сиденье стула.
9. Теперь создайте две задние ножки, которые одновременно будут играть роль опор спинки стула. Для этого постройте в окне проекции Тор (Вид сверху) два параллелепипеда размером 5x5x90 см и разместите их в точках (120; 18; 0) и (120; -18; 0). Настройте цвет ножек, сделав его таким же, как цвет остальных деталей стула.
10. Наконец, создайте подушку сиденья и спинку стула. Выберите в раскрывающемся списке командной панели Create (Создать) вариант Extended Primitives (Улучшенные примитивы) и щелкните на кнопке ChamferBox (Параллелепипед с фаской). В окне проекции Тор (Вид сверху) постройте параллелепипед с фаской, придав ему следующие размеры: Length (Длина) = 42, Width (Ширина) = 42 и Height (Высота) = 4 см. Высоту фаски сделайте равной 2,5 см, параметр Fillet Segs (Сегментов по фаске) — равным 4. Установите флажок Smooth (Сглаживание), чтобы закруглить фаску. Назовите объект Podushka и задайте для его опорной точки координаты (100; 0; 44). Выберите для подушки подходящий цвет, например красный или зеленый.
11. В качестве спинки стула создайте в окне проекции Тор (Вид сверху) еще один параллелепипед с фаской, придав ему следующие размеры: Length (Длина) = 45, Width (Ширина) = 2,5, Height (Высота) = 25, Fillet (Фаска) = 1,3 см, Fillet Segs (Сегментов по фаске) = 4. Задайте для опорной точки спинки координаты (117; 0; 66). Приведите цвет спинки в соответствие с цветом сиденья. Готово! Выделите все объекты, входящие в состав стула, и создайте из них группу, назвав ее Stul. Детали стола сгруппируем после выполнения следующего упражнения. Общий вид стола со стулом показан на рис. 5.15.

Рис. 5.15. Стол и стул: простенько, но со вкусом
12. Сохраните сцену: она нам еще пригодится в работе над сценой «МАХ-кафе».
Создаем тарелку и бокал
Для сервировки столов в проекте «МАХ-кафе» нам понадобится кое-какая посуда. Сейчас, используя модификатор вращения, мы создадим тарелку и бокал. Повторяйте за мной следующие действия:
1. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Сохраните файл под именем Tarelka.max.
2. Прокрутите изображение в окне проекции Front (Вид спереди) так, чтобы начало координат сместилось в правый нижний угол окна. Уменьшите масштаб, чтобы размер видимой части сетки в окне составлял примерно 20x14 см. Разверните окно проекции на весь экран, щелкнув на кнопке Min/Max Toggle (Развернуть/Восстановить) или нажав клавиши Alt+w.
3. Щелкните на кнопке Shapes (Формы) командной панели Create (Создать) и выберите в раскрывающемся списке разновидностей объектов вариант Splines (Сплайны). Щелкните на кнопке инструмента Line (Линия).
4. Постройте профиль тарелки в виде замкнутого сплайна, показанного на рис. 6.27. Создайте три первые вершины типа Corner (С изломом). Для этого щелкните в точке (0; 0; 0), переместите курсор в точку (7,5; 0; 0) и снова щелкните кнопкой мыши, а затем щелкните в точке (7,5; 0; 0,7). Вершины 4-7 должны иметь тип Bezier Corner (Безье с изломом). Переместите курсор в точку (12,7; 0; 3), щелкните кнопкой мыши и перетащите курсор, придавая сегменту кривизну. Затем таким же образом создайте вершины 5— 7 с координатами (16,1; 0; 4,4), (16,2; 0; 4,6), (12,6; 0; 3,2). Вершины 8-10 должны иметь тип Corner (С изломом). Создавайте их простыми щелчками без перетаскивания курсора в точках с координатами (7,2; 0; 0,9), (7,2; 0; 0,3) и (0; 0; 0,3).

Рис. 6.27. Сплайн профиля тарелки (вершины пронумерованы для удобства ссылок в тексте)
5. Щелкните на квадратике со знаком «плюс» слева от наименования типа объекта Line (Линия) в окне стека модификаторов командной панели Modify (Изменить), выберите строку Vertex (Вершина) дерева подобъектов и отредактируйте форму сплайна. Для перемещения вершин в точно заданные точки выделяйте их поочередно и используйте поля отсчетов координат в строке состояния для ввода нужных значений координат положения вершин. Откорректируйте положение маркеров касательных векторов вершин 4-7, стараясь придать профилю вид, показанный на рис. 6.27. Для примера на рис. 6.28 показано правильное положение касательных векторов вершин 4 и 6. Маркеры векторов вершин 7 и 5 должны располагаться аналогичным образом.

Рис. 6.28. Правильное положение маркеров касательных векторов вершин 4 и 6
6. Закончив редактирование формы профиля, выключите режим выделения подобъектов, щелкнув на строке Line (Линия) в окне стека модификаторов. Выделите профиль и примените к нему модификатор вращения, щелкнув на строке Lathe (Вращение) в раскрывающемся списке Modifier List (Список модификаторов) командной панели Modify (Изменить). Выберите вариант Min (Мин.) расположения оси вращения. Получившаяся тарелка должна быть похожа на ту, которая показана на рис. 6.29. Назовите созданный объект Tarelka01 и сохраните его в файле под заданным в начале именем. Сопоставьте получившийся результат с объектом из файла, хранящегося под таким же именем в папке Scenes\Glava_06 прилагающегося к книге компакт-диска.

Рис. 6.29. Тарелка, созданная методом вращения профиля
7. Начните новую сцену max 7.5, чтобы сохранить сделанные системные настройки. С этой целью выберите команду главного меню File > New (Файл > Создать) и, оставив переключатель Options (Варианты) в положении New All (Обновить все), щелкните на кнопке ОК. С помощью инструмента Pan (Прокрутка) переместите начало координат в окне проекции Front (Вид спереди) к середине нижней кромки окна и разверните окно во весь экран. Сохраните сцену в файле под именем Bokal.max.
8. Постройте профиль бокала в виде разомкнутого сплайна, показанного на рис. 6.30. Вершины 1—3, 4, 9 и 10 должны иметь тип Corner (С изломом), вершимы 5, 6, 8, 11 и 12 — тип Bezier (Безье), а вершина 7 — Bezier Comer (Безье с изломом). Поместите вершины в следующих точках: 1 — (0; 0; 0), 2 - (5,8; 0; 0), 3 - (5,6; 0; 0,5), 4 - (0,7; 0; 1,0), 5 - (0,8; 0; 10,5), 6 - (1,7; 0; 11,9), 7 - (1,9; 0; 13,6), 8 - (5,6; 0; 20,2), 9 - (6,4; 0; 27,6), 10 - (6,1; 0; 27,6), 11 - (5,3; 0; 20,2), 12 - (0; 0; 13,6).

Рис. 6.30. Сплайн профиля бокала (вершины пронумерованы для удобства ссылок в тексте)
9. Откорректируйте форму профиля, перемещая маркеры касательных векторов вершин Bezier (Безье) и Bezier Corner (Безье с изломом) на уровне подобъектов Vertex (Вершина). Выключите режим выделения подобъектов, выделите профиль и примените к нему модификатор Lathe (Вращение). Выберите вариант Min (Мин.) расположения оси вращения. Вид получившегося бокала показан на рис. 6.31. Назовите созданный объект Bokal01 и сохраните его в файле под уже заданным именем. Сравните свой бокал с объектом из файла, хранящегося под таким же именем в папке Scenes\Glava_06 прилагающегося к книге компакт-диска.
Создаем вазу из цилиндра
Откройте сохраненный вами ранее файл Kamin01.max или загрузите его из папки Scenes/Glava9. Наша задача — создать вазу и разместить ее на каминной полке. Для начала скройте камин — пока что он нам не нужен. Создайте в окне проекции вида в перспективе примитив Cylinder (Цилиндр) примерно следующих размеров: радиус 7 единиц и высота — 28, установив число сегментов по высоте равным восьми.
1. Превратите объект в полисетку любым из уже известных вам способов. Для того чтобы превратить сплошной цилиндр в полую вазу, «утопим» верхний полигон вовнутрь объекта. Разверните дерево подобъектов редактируемой полисетки в окне стека модификаторов и выберите строку Polygon (Полигон). Выделите полигон в верхнем основании цилиндра. Если «утопить» полигон на этом этапе создания модели, ваза не будет иметь толщины. Поэтому прежде необходимо воспользоваться инструментом Inset (Врезка), чтобы создать дополнительный набор полигонов, благодаря которым будет образована толщина стенок. Щелкните по квадратной кнопке со значком, символизирующим окно системы Windows, расположенной рядом с кнопкой Inset (Врезка) в свитке Edit Polygons (Правка полигонов). На экране появится окно Inset Polygons (Врезка полигонов). Введите в счетчик Inset Amount (Величина врезки) значение 0,4 и нажмите кнопку ОК.
2. Теперь можно перейти к операции выдавливания полигонов. Эту операцию произведем с использованием окна диалога точной настройки параметров, вызываемого щелчком на маленькой квадратной кнопке со значком окна справа от кнопки Extrude (Выдавить) свитка Edit Polygons (Правка полигонов). В окне диалога Extrude Polygons (Выдавливание полигонов) введите в счетчик Extrusion Height (Высота выдавливания) значение -26 (рис. 9.39), наблюдая за тем, как полигон «утонет» в цилиндре, и щелкните на кнопке ОК. Поверните цилиндр, чтобы убедиться в том, что теперь он полый.

Рис. 9.39. Вид цилиндра после выполнения операции выдавливания
3. Переключитесь на уровень выделения подобъекта Edge (Ребро). Выделите два ребра таким образом, чтобы они находились в одном вертикальном столбце сегментов. При этом одно ребро должно располагаться во втором ряду ребер сверху, а второе — в седьмом ряду (рис. 9.40). Произведем операцию экструзии по отношению к выделенным ребрам. Для этого в свитке Edit Geometry (Правка геометрии) щелкните на маленькой кнопке возле кнопки Extrude (Выдавить) и в окне Extrude Edges (Выдавливание ребер) введите в счетчик Extrusion Height (Высота выдавливания) значение 2, a Extrusion Base Width (Ширина основы выдавливания) — 3. Нажмите кнопку ОК. Теперь у нас есть основание для ручки вазы (рис. 9.41). Ручку мы создадим чуть позже при помощи инструмента Bridge (Мост).

Рис. 9.40. Выделение ребер

Рис. 9.41. Создание основы для ручки
4. Выделите полигон на верхнем выступе, образовавшемся после выполнения операции выдавливания, и снова воспользуйтесь инструментом Extrude (Выдавить), установив значение счетчика Extrusion Height (Высота выдавливания) равным 3. Выделите такой же полигон на нижнем выступе и выполните операцию экструзии на такое же расстояние три раза. Для этого в окне Extrude Edges (Выдавливание ребер) дважды нажмите кнопку Apply (Применить), а затем нажмите ОК. Пришло время воспользоваться инструментом Bridge (Мост) для создания ручки вазы. Выделите два полигона, которые обращены друг к другу, в верхней и нижней части ручки. Нажмите маленькую кнопку справа от кнопки Bridge (Мост) и в одноименном окне диалога введите в счетчик Segments (Сегменты) число 3 и нажмите кнопку ОК. После замыкания полигонов у вазы появилась ручка (рис. 9.42). Сохраните файл под названием Vaza.max, он нам понадобится для следующего примера.

Рис. 9.42. После применения инструмента Bridge у вазы появилась ручка
5. Пока что наша трехмерная модель больше напоминает кружку, нежели изящную вазу. Ситуацию можно исправить, воспользовавшись инструментом MeshSmooth (Сглаживание сетки). Выделите модель на верхнем уровне редактируемой сетки в целом и щелкните по небольшой кнопке, расположенной рядом с кнопкой MeshSmooth (Сглаживание сетки). Операция сглаживания полисетки не должна происходить с разделением групп сглаживания, иначе ручка вазы останется с острыми ребрами. Поэтому в окне MeshSmooth Selection (Сглаживание выделенной сетки) снимите флажок напротив параметра Separate by Smoothing Groups (Разделять по группам сглаживания) и установите флажок Separate by Material (Разделять по материалу). Нажмите кнопку Apply (Применить), а затем нажмите ОК, использовав тем самым инструмент сглаживания дважды (рис. 9.43).

Рис. 9.43. Вид вазы после операции сглаживания
|
СОВЕТ Если вы недовольны результатом сглаживания с помощью инструмента MeshSmooth (Сглаживание сетки), можете еще раз повторить операцию, описанную выше. При этом помните, что каждый раз, когда вы используете этот инструмент, полигональная структура объекта усложняется и, соответственно, возрастает нагрузка на аппаратную часть компьютера. |
6. Применим теперь к объекту модификатор Taper (Заострение), чтобы сузить его посередине. Щелкните на строке Taper (Заострение) в раскрывающемся списке Modifier List (Список модификаторов). В свитке Parameters (Параметры) модификатора счетчик Curve (Кривизна) установите равным -2. Как вы помните из предыдущей главы, при отрицательном значении этого параметра модель будет выгнута внутрь.
7. Теперь отобразите модель камина и водрузите вазу на каминную полку. Сделать это будет не очень просто, так как камин имеет сложную форму, и полка не является ни краем объекта по осям, ни центром. Для решения этой проблемы воспользуемся инструментом Detach (Отделить). Выделите камин и переключитесь на уровень выделения подобъекта Polygon (Полигон), после чего выделите полигон, на котором будет стоят ваза. Щелкните на кнопке Detach (Отделить) в свитке Edit Geometry (Правка геометрии). В появившемся окне Detach (Отделить) необходимо ввести имя нового объекта. Назовите его «полигон для выравнивания». Проверьте, чтобы были сброшены флажки напротив параметров Detach To Element (Отделить как элемент) и Detach As Clone (Отделить как копию), и нажмите кнопку ОК. Теперь полигон станет отдельным объектом сцены, в чем вы можете легко убедиться, вызвав окно Select Objects (Выделение объектов). Название нового объекта будет присутствовать в этом списке. Теперь выровнять вазу относительно каминной полки проще простого. Выберите вазу в списке окна Select Objects (Выделение объектов) и вызовите окно Align Selection (Выделение объектов для выравнивания). Укажите в сцене объект, относительно которого будет производиться выравнивание, то есть отделенный полигон. Выровняйте объекты по центру относительно осей X и Y, а относительно оси Z — по минимальным значениям координат объектов. Ваза займет свое место на каминной полке (рис. 9.44). Сохраните полученный файл под названием Vaza01.max.

Рис. 9.44. Ваза на каминной полке
Тренируемся в применении модификатора Taper
Модификатор Taper (Заострение) вызывает клиновидную деформацию объекта, заостряя его от одного конца к другому. Этим модификатором вы также уже пользовались, когда в главе 6 формировали прорези между зубьями вилки. Продолжите освоение модификатора заострения, выполнив следующие действия:
1. Перезагрузите max 7.5 и снова постройте в окне проекции Тор (Вид сверху) стандартный примитив Tube (Труба) с внутренним радиусом 20, наружным радиусом 25 и высотой 50 текущих единиц. Создайте два дубликата-копии этого объекта и расположите их так же, как показано выше на рис. 8.11. Можете использовать объекты, созданные в предыдущем упражнении, удалив из их стеков модификаторы изгиба и изменив соответствующим образом параметры. Можно также загрузить готовую сцену с тремя трубами нужных размеров, открыв файл Tri trubi(Taper).max в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.
2. Выделите левый объект и щелкните на строке Taper (Заострение) в раскрывающемся списке Modifier List (Список модификаторов). В нижней части командной панели Modify (Изменить) появится свиток Parameters (Параметры) модификатора заострения. Задайте степень заострения в счетчике Amount (Величина). Величина этого параметра является относительной и указывает долю увеличения (при положительных значениях) или уменьшения (при отрицательных) верхнего сечения объекта по сравнению с текущим размером. Так, значение 0,5 означает необходимость увеличить верхнее сечение на 50 %, то есть расширить объект снизу вверх, а значение -0,5 ведет к сужению объекта в верхней части на 50 %, как показано на рис. 8.13, а. В целом параметр Amount (Величина) не должен превышать 10. Счетчик Curve (Кривизна) позволяет выгнуть стороны заостренного объекта внутрь (при отрицательных значениях, как показано на рис. 8.13, б) или наружу (при положительных).

Рис. 8.13. Заострение объекта-трубы: а — Amount = -0,5; б — то же при Curve = -1; в — установлен флажок Symmetry, первичная ось X, ось эффекта Z
3. Выберите координатные оси, относительно которых будет производиться заострение объекта, с помощью параметров раздела Taper Axis (Ось заострения):
Primary (Первичная ось) — переключатель выбора основной оси, вдоль которой производится заострение;
Effect (Ось эффекта) — переключатель выбора оси заострения в плоскости, перпендикулярной первичной оси.
Symmetry (Симметрично) — флажок включения режима симметричного заострения относительно первичной оси, как показано на рис. 8.13, в.
|
ЗАМЕЧАНИЕ В папке Animations\G!ava_08 компакт-диска, прилагающегося к книге, имеется файл Zaostrenie.avi, позволяющий в учебных целях просмотреть анимацию процесса заострения. Файл сцены с этой анимацией под именем Zaostrenie.max можно найти в папке Scenes\Glava 08 того же диска. |
Параметры раздела Limits (Пределы) модификатора заострения играют ту же роль и используются так же, как аналогичные параметры модификатора изгиба.
Учимся преобразовывать типы NURBS-кривых, моделируя шапку и усы
Для завершения работы над головой нашего персонажа не хватает еще шапки, усов и бороды. Бороду будем создавать в последний момент, так как она должна располагаться поверх шубы, а усами и шапкой займемся сейчас.
Для создания шапки и усов применим уже знакомый вам по главе 7 метод U-лоф-тинга, а заодно освоим инструмент преобразования типов NURBS-кривых.
Выполните следующие действия:
1. Загрузите файл Ded Moroz-Golova.max, созданный в предыдущем упражнении, или найдите файл с таким же именем на прилагающемся к книге компакт-диске, где он хранится в папке Scenes\Glava_10. Сохраните файл с инкрементированием имени.
2. В окне вида сверху создайте стандартный сплайн Circle (Круг) радиусом несколько большим, чем радиус сферы, из которой создавалась голова, как показано на рис. 10.27. Превратите круг в NURBS-объект, используя цепочку команд Convert To > Convert to NURBS (Превратить в > Превратить в NURBS) четвертного меню. Обратите внимание на то, что сплайн преобразуется в объект NURBS Surface (NURBS-поверх-ность), а не NURBS Curve (NURBS-кри-вая). Назовите новый объект Shapka. Теперь можно временно скрыть от просмотра модель головы, чтобы она не мешала работе над шапкой.

Рис. 10.27. Сплайн-круг, на основе которого будет моделироваться шапка
3. Подготовьте набор опорных кривых, которые составят каркас шапки, создав пять копий исходной кривой. При этом необходимо, чтобы все копии оказались подобъектами одного объекта, иначе нельзя будет применить к кривым метод U-лофтинга. В связи с этим копируйте кривую, выделив ее на уровне подобъекта Curve (Кривая). С этой целью разверните список подобъектов объекта NURBS Surface (NURBS-поверхность) в окне стека модификаторов и активизируйте строку Curve (Кривая). Щелкните на кривой в окне проекции. Она приобретет красный цвет, означающий, что кривая выделена. Выберите инструмент Select and Uniform Scale (Выделить и равномерно масштабировать). Удерживая клавишу Shift, создайте на виде сверху копию кривой несколько меньшего диаметра, чем оригинал. В появившемся окне диалога Sub-Object Clone Options (Параметры дублирования подобъектов), показанном на рис. 10.28, установите переключатель в положение Independent Copy (Независимая копия) и щелкните на кнопке ОК.

Рис. 10.28. Окно диалога Sub- Object Clone Options позволяет выбрать нужный вариант дублирования NURBS-кривой
4. Создайте с помощью инструмента перемещения еще одну копию исходной кривой, но на этот раз в окне вида спереди и поместите эту копию несколько выше оригинала, как показано на рис. 10.29, кривая 3. После этого несколько уменьшите ее размер. Очередную кривую создайте как уменьшенный по диаметру дубликат второй копии, поместив ее на той же высоте (кривая 4 на рис. 10.29). Четвертую копию кривой поместите выше уже имеющихся кри вых и уменьшите ее радиус примерно вдвое по сравнению с оригиналом (кривая 5 на рис. 10.29). Наконец, создайте пятую копию кривой и поместите ее выше всех остальных. Эта кривая, обозначенная цифрой 6 на рис. 10.29, будет обозначать макушку шапки, поэтому уменьшите ее размер до 1 % от исходного. Для этого при выделенной кривой щелкните на кнопке инструмента Select and Uniform Scale (Выделить и равномерно масштабировать). Затем щелкните на кнопке этого инструмента правой кнопкой мыши и в появившемся окне Scale Transform Type-In (Ввод данных преобразования масштаба) введите в счетчик раздела Offset: World (Приращение: глобальное) величину 1.

Рис. 10.29. Оригинал NURBS-кривой (1) и пять копий (2—6) подготовлены для применения метода U-лофтинга
|
СОВЕТ Если вам нужно создать тело лофтинга, закругляющееся на конце, всегда устанавливайте для крайнего сечения масштаб, равный 1 % от исходного. При этом кривая стянется почти в точку. Нельзя задавать масштаб крайнего сечения равным 0 % — это может привести к непредсказуемым последствиям. |
5. По умолчанию сплайны преобразуются в NURBS-кривые типа CV. Несомненно, данный тип кривых является более универсальным, чем точечные кривые. Тем не менее в нашем случае, когда не требуется корректировать форму кривых, удобнее преобразовать кривые типа CV в точечные. При этом мы избежим излишнего загромождения модели решетками деформации управляющих вершин отдельных кривых. Переключитесь в окне стека модификаторов на уровень подобъекта Curve (Кривая). Выделите в любом окне проекции все шесть кривых, которые должны приобрести красный цвет. В свитке Curve Common (Кривая в целом), появившемся на командной панели Modify (Изменить), щелкните на кнопке Convert Curve (Преобразовать кривую). Появится окно диалога Convert Curve (Преобразование кривой), показанное на рис. 10.30. С помощью этого инструмента можно изменить тип выделенных кривых или задать для них иное число управляющих вершин (опорных точек). Щелкните в этом окне на кнопке Point Curve (Точечная кривая), установите переключатель Number (Число) и укажите в счетчике справа от переключателя число точек, равное 10. Этого числа точек будет вполне достаточно для поддержания формы сечений. Если установлен флажок Preview (Просмотр), то вы сразу же увидите результат преобразования в окнах проекций. Щелкните на кнопке ОК, чтобы подтвердить преобразование.

Рис. 10.30. Окно диалога Convert Curve позволяет изменить тип NURBS-кривой и задать нужное число точек
6.

Остается только применить к кривым инструмент U-лофтинга. Выключите в окне стека модификаторов режим выделения подобъектов, щелкнув на строке NURBS Surface (NURBS-поверхность). В свитке General (Общие параметры) командной панели Modify (Изменить) щелкните на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов), чтобы раскрыть палитру инструментов для работы с NURBS-объектами. Выберите инструмент Create U Loft Surface (Создать поверхность методом U-лофтинга). Лофтинг будем производить в два приема, чтобы создать верх шапки и меховую оторочку края в виде двух поверхностей, к которым в дальнейшем можно будет применить различные материалы. Переместите курсор в окно проекции и установите его на кривую, обозначенную на рис. 10.29 цифрой 2. Когда кривая примет синюю окраску, щелкните кнопкой мыши и переместите курсор к кривой 1. За курсором должна тянуться пунктирная линия. Снова щелкните кнопкой мыши. «Общелкайте» аналогичным образом кривые 3 и 4, после чего щелкните правой кнопкой мыши, чтобы остановить процесс создания поверхности лофтинга. Меховая оторочка шапки готова. Если окажется, что поверхность видна не снаружи, а изнутри, установите флажок Flip Normals (Перевернуть нормали) в самом низу свитка U Loft Surface (Поверхность U-лофтинга), появляющегося на командной панели, пока активен инструмент U-лофтинга.
|
ЗАМЕЧАНИЕ Палитру инструментов для работы с NURBS-объектами часто приходится удалять с экрана, так как она мешает редактированию. Кнопка NURBS Creation Toolbox (Инструменты создания NURBS-объектов) повторного вызова этой палитры находится в свитке General (Общие параметры) командной панели Modify (Изменить). Свиток же этот появляется на командной панели только в том случае, когда в окне проекции выделен NURBS-объект, а в списке его подобъектов в окне стека модификаторов выбрана строка самого верхнего уровня: NURBS Surface (NURBS-поверхность) или NURBS Curve (NURBS-кривая). Если в окне стека выбран любой из уровней выделения доступных подобъектов NURBS-объекта, таких как Surface (Поверхность), Point (Точка), Curve CV (Вершины кривой), Curve (Кривая) и т. п., не ищите напрасно на командной панели кнопку NURBS Creation Toolbox (Инструменты создания NURBS-объектов): ее там просто нет. |
7. Пока инструмент U- лофтинга еще активен, создайте верх шапки. Щелкните на кривой, имеющей на рис. 10.29 номер 4, затем — на кривых 5 и 6. Щелкните правой кнопкой мыши для завершения создания новой поверхности. Установите, при необходимости, флажок Flip Normals (Перевернуть нормали). В заключение еще раз щелкните правой кнопкой мыши для выключения режима U-лофтинга. Чтобы подготовить поверхности шапки к применению многокомпонентного материала, активизируйте в окне стека строку подобъекта Surface (Поверхность). Выделите поверхность верхней части шапки, щелкнув на ней кнопкой мыши. Поверхность приобретет красный цвет. Впрочем, если используется драйвер дисплея Direct3D, то выделенная на уровне подобъекта Surface (Поверхность) NURBS-поверхность в тонированном режиме отображения не приобретает красного цвета. В красный цвет при этом окрашиваются только изолинии поверхности, которые видны в режиме каркасного просмотра и обычно имеют зеленую окраску. Прокрутите вниз область свитков на командной панели, пока не станет виден свиток Material Properties (Свойства материалов). Убедитесь, что в счетчике Material ID (Идентификатор материала) указано число 1. Затем выделите поверхность нижней части шапки и установите в том же счетчике значение идентификатора материала, равное 2. Активизируйте в окне стека модификаторов уровень выделения подобъектов Point (Точка) и для большей естественности придайте некоторый изгиб кривым, формирующим нижнюю часть шапки. Восстановите видимость головы Деда Мороза и поместите шапку на голову. «Натягивая» шапку, не бойтесь того, что ее поверхность будет пересекаться с поверхностью головы. При таком пересечении шапка будет выглядеть даже естественнее — ведь по легенде у нее меховой низ, который должен плотно охватить голову и в котором вполне могут «утонуть» уши персонажа. При необходимости отрегулируйте масштаб опорной кривой, задающей внутренний размер нижнего обреза шапки, активизировав уровень выделения подобъекта Curve (Кривая). Вид головы Деда Мороза в готовой шапке показан на рис. 10.31.

Рис. 10.31. Дед Мороз приобрел шапку, смоделированную методом U-лофтинга
8. Усы также смоделируйте методом U-лофтинга, действуя следующим образом. Постройте маленький сплайн-круг, который будет играть роль сечения уса, и поместите его, где положено, — под носом у персонажа. Преобразуйте его в NURBS-объект и назовите Us01. Создайте четыре-пять копий исходной кривой, расположите их по форме уса и должным образом масштабируйте. Масштаб крайней копии сечения сделайте равным 1 % от исходного размера. В итоге сечения уса должны выглядеть примерно так, как на рис. 10.32.

Рис. 10.32. Оригинал NURBS-кривой (1) и четыре копии (2-5) подготовлены для создания уса методом U-лофтинга
9. Примените к опорным кривым метод U-лофтинга, начав с кривой 1 и закончив на сечении 5. Построив поверхность, перейдите на уровень выделения подобъекта Curve (Кривая) и отредактируйте форму уса, придав ему естественный изгиб, за счет дополнительного перемещения и масштабирования сечений. Затем перейдите на верхний уровень выделения NURBS-объекта в целом, щелкнув в окне стека на строке NURBS Surface (NURBS-поверхность). Создайте зеркальную копию уса с помощью инструмента Mirror Selected Objects (Отразить выделенные объекты) главной панели инструментов. Отрегулируйте положение обеих половинок усов, чтобы в итоге голова персонажа выглядела, как на рис. 10.33. Добавьте шапку и усы в состав группы, объединяющей голову с глазами, и сохраните сцену на диске вашего компьютера под заданным в начале упражнения именем Ded Moroz-Golova01.max.

Рис. 10.33. Голова Деда Мороза теперь с усами и в шапке, не хватает только бороды
|
ЗАМЕЧАНИЕ Вы можете найти готовую модель головы с шапкой и усами в файле Ded Moroz-Golova01. max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге. |
Вешаем занавеску на окно кафе «МАХ»
Имитацию поведения ткани можно также использовать для моделирования занавесок. Заодно в данном примере мы изучим способ привязки тканей к твердым телам, которые могут иметь анимацию.
Для создания занавесок и анимации их посредством модуля reactor (Реактор) выполните следующие действия:
1. Откройте сцену MAX-kafe18.max, с которой мы работали в одной из предыдущих глав. Вы можете загрузить ее с компакт-диска, она находится в папке Scenes\Glava_15. Если вы помните, в этой сцене мы в учебных целях изменили зимний пейзаж на летний, скрыли снежные валики и применили к основанию сцены материал, имитирующий текстуру асфальта. Поэтому занавесь тут будет очень кстати. Она прикроет окно кафе «МАХ», когда палящее летнее солнце заглядывает в помещение во второй половине дня. Кроме этого, занавески на окнах всегда создают уют в помещении. Для удобства скройте все объекты сцены, кроме объекта Fasad. Над окном смоделируйте трубчатый карниз в виде удлиненного цилиндра с шариками на концах и кольцами для занавеси, в качестве которых используйте примитивы Torus (Top). Кольца равномерно разместите вдоль карниза. Детали карниза разместите вблизи от стены. Модуль reactor (Реактор) проверяет на наличие пересечений только те трехмерные объекты, которые включены в коллекцию жестких тел и которым назначена ненулевая масса. Если у жесткого тела масса нулевая, то есть оно не будет двигаться под действием силы тяжести, его сетка может иметь пересечения с другими телами. В нашем примере со взаимным пересечением можно разместить цилиндр карниза и шарики на его концах. Создайте занавесь в виде плоскости, разместив ее напротив окна, прямо под кольцами карниза. Увеличьте сегментацию плоскости до 22 по каждому измерению. Назначьте объектам материалы (рис. 17.16).

Рис. 17.16. Исходный вид изнутри кафе трехмерной сцены, подготовленной для анимации модулем reactor, с тканью, изображающей занавесь
2. Создайте коллекцию жестких тел и включите в нее все объекты геометрической модели сцены, кроме плоскости, имитирующей занавесь. Запустите утилиту reactor (Реактор) и установите для стены с отверстием переключатель Simulation Geometry (Моделируемая геометрия) в свитке Properties (Свойства) на панели Utilities (Утилиты) в положение Use Mesh (Использовать сетку) группы Concave (Вогнутый объект). Массы всех объектов, включенных в коллекцию жестких тел, оставьте равными нулю.
3. Примените к плоскости, изображающей занавесь, модификатор reactor Cloth (Реактор: Ткань). Оставьте в исходном состоянии все параметры модификатора reactor Cloth (Реактор: Ткань), но установите флажок Avoid Self-Intersections (Избегать самопересечений). Создайте коллекцию тканей и поместите плоскость-занавесь в состав списка этой коллекции.
4. После этого добавьте в сцену вспомогательный объект Wind (Ветер). Разместите его перед фасадом кафе напротив окна и направьте указатель флюгера на ткань. Задайте скорость ветра (Wind Speed) равной приблизительно 2,5 м/с.
5. Выполните прикрепление занавеси к жестким телам — кольцам карниза. Для этого выделите плоскость занавеси и раскройте свиток Constraints (Ограничители) на панели Modify (Изменить). Разверните дерево подобъектов модификатора reactor Cloth (Реактор: Ткань) в окне стека на панели Modify (Изменить) и выберите в стеке строку Vertex (Вершина). Все вершины плоскости в окнах проекций обозначатся синими точками. Щелкните в свитке Constraints (Ограничители) на кнопке Attach To RigidBody (Прикрепить к жесткому телу). В списке свитка появится строка с таким же именем. На панели Modify (Изменить) появится новый свиток, также называемый Attach To RigidBody (Прикрепить к жесткому телу) (рис. 17.17).

Рис. 17.17. Свиток Attach To RigidBody модификатора reactor Cloth
6. Выделите строку Attach To RigidBody (Прикрепить к жесткому телу) в списке свитка Constraints (Ограничители). Щелкните на кнопке с надписью None (Нет) под строкой параметра Rigid Body (Жесткое тело) в свитке Attach To RigidBody (Прикрепить к жесткому телу), затем щелкните па жестком теле, к которому должна быть прикреплена вершина сетки. В данном случае щелкните на крайнем левом кольце-тороиде. Наименование объекта появится на кнопке. Теперь выделите вершину в верхнем левом углу занавеси (рис. 17.18): С этого момента выделенная вершина связана с жестким телом и при анимации ткани будет сохранять свое положение относительно него.

Рис. 17.18. Вершина в левом верхнем углу занавеси (показана стрелкой) выделена для привязки к расположенному над ней кольцу
В свитке Attach To RigidBody (Прикрепить к жесткому телу) имеются еще два флажка:
Do not affect rigid body (He оказывать воздействия на жесткое тело) — если установить этот флажок, то жесткое тело, к которому прикреплена ткань, будет воздействовать на нее, но не будет получать обратного воздействия со стороны ткани;
Ignore Collisions (Игнорировать столкновения) — при установке этого флажка модуль reactor (Реактор) не будет отслеживать столкновения между тканью и жестким телом, к которому она прикреплена.
В нашем случае оставьте оба этих флажка сброшенными.
7. Перед тем как продолжить связывание остальных вершин с соответствующими жесткими телами, играющими роль колец карниза, переименуйте имя ограничителя, чтобы оно не путалось с именами ограничителей, которые предстоит добавить. Для этого следует выполнить щелчок на строке Attach To RigidBody (Прикрепить к жесткому телу) в списке свитка Constraints (Ограничители), задержать кнопку мыши нажатой, а потом отпустить. В строке появится курсор-каретка. Назовите ограничитель, например, Attach To RigidBodyl (Прикрепить к жесткому телу1).
8. Снова щелкните в свитке Constraints (Ограничители) на кнопке Attach To Rigid-Body (Прикрепить к жесткому телу). Повторите эти действия применительно ко второму слева кольцу и расположенной под ним вершиной. Переименуйте ограничитель, назвав его Attach То RigidBody2 (Прикрепить к жесткому телу2). Затем создайте еще три таких ограничителя и свяжите с их помощью три оставшихся кольца карниза с еще тремя вершинами сетки, расположенными под ними. В итоге в списке свитка Constraints (Ограничители) должно оказаться пять ограничителей, как показано на рис. 17.19. Связанные вершины, управляемые теми ограничителями, имена которых не выделены в списке свитка Constraints (Ограничители), должны иметь в окнах проекций mах 7.5 желтую окраску. Связанная вершина ограничителя, имя которого выделено в списке, должна быть окрашена в красный цвет. Если какая-то из выбранных вершин не имеет нужной окраски, выделите имя ограничителя в списке свитка Constraints (Ограничители) и снова выделите нужную вершину. Закончив связывание вершин, щелкните в стеке модификаторов на имени модификатора reactor Cloth (Реактор: Ткань), чтобы выключить доступ к подобъектам-вершинам и исключить возможность случайной отмены выделения связанных вершин.

Рис. 17.19. В списке свитка Constraints появилось пять переименованных ограничителей типа Attach To RigidBody
9. Выполните анимацию колец занавеси, заставив их смещаться к правому краю карниза (рис. 17.20). Имейте в виду, что сетка плоскости не будет перемещаться или деформироваться вместе с кольцами, так как ограничения вершин действуют только для модуля reactor (Реактор).

Рис. 17.20. Вид сцены кафе «МАХ», подготовленной для анимации модулем reactor, в которой кольца для занавеси в результате анимации смещены к краю карниза
10. Чтобы анимация колец продолжала определять их поведение в ходе имитационного моделирования, выполняемого модулем reactor (Реактор), выделите их поочередно и установите для каждого из них флажок Unyielding (Неподатлив) в свитке Properties (Свойства) утилиты reactor (Реактор) на панели Utilities (Утилиты).
11. Снова просмотрите анимацию в окне предварительного просмотра. Теперь занавесь должна не только реалистично развеваться на легком ветру, но сдвигаться в сторону вместе с кольцами карниза.
12. Чтобы увидеть анимацию в окнах проекций, выполните ее расчет. Создайте ключи анимации ткани, щелкнув по кнопке Create Animation (Создать анимацию). На рис. 17.21 показано, как могут выглядеть кадры анимации занавеси на окне кафе «МАХ» после визуализации.

Рис. 17.21. Визуализированные изнутри кафе кадры анимации ткани, имитирующей занавесь, до начала движения колец карниза и в процессе движения
Дополняем анимацию «Летящий шар»
Начнем знакомство с новым режимом анимации с простенького упражнения по превращению летящей сферы в терпящий бедствие сдувающийся воздушный шар. Пусть у этого шара в 50-м кадре началась утечка воздуха, так что он стал резко терять в объеме и форма его из гладкой и округлой постепенно стала становиться угловатой.
1. Загрузите созданную в упражнении 1 сцену Letiasshiy shar.max. При необходимости можете найти нужную сцену в файле с таким же именем, хранящемся в папке Scenes\Glava_16 компакт-диска, сопровождающего книгу. Сохраните сцену с инкрементированием имени. Для наглядности увеличьте значение радиуса сферы до 180 см.
2.

Так как анимация будет производиться в принудительном режиме, необходимо указать, для каких объектов следует устанавливать ключи. Это делается при помощи раскрывающегося списка, расположенного правее кнопки Auto Key (Автоключ). По умолчанию в списке выбирается вариант Selected (Выделенные), в соответствии с которым ключи будут создаваться для всех выделенных объектов сцены. Так как объект в нашей сцене всего один, достаточно было бы его выделить. Однако в учебных целях сделаем по-другому, чтобы показать: в принудительном режиме для создания ключей анимации совсем не обязательно выделять объекты.
3. Создайте именованный выделенный набор, включающий в себя единственный объект нашей сцены — примитив Sphere01. Итак, выделите сферу и введите в пустое текстовое поле Named Selection Sets (Именованные выделенные наборы) главной панели инструментов имя нового набора, например Vozdusniy shar. Нажмите клавишу Enter.
| ЗАМЕЧАНИЕ Именованные выделенные наборы можно создавать в max 7.5 и при помощи нового инструмента Named Selection Sets (Именованные выделенные наборы) главной панели инструментов. Если вы забыли, как это делается, обратитесь к главе 4. |
4. Теперь раскройте список, расположенный правее кнопки Auto Key (Автоключ), и выберите в нем появившееся имя набора Vozdusniy shar, как показано на рис. 16.32. Теперь можно отменить выделение сферы в окнах проекций. Ключи анимации все равно будут создаваться, так как сфера входит в именованный набор, указанный в списке.

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

Key Filters (Фильтры ключей). Появится окно диалога Set Key Filters (Выбор фильтров ключей), показанное ранее на рис. 16.3. Сбросьте установленные в нем по умолчанию флажки Position (Положение), Rotation (Поворот) и Scale (Масштаб), которые обеспечивают создание ключей трех стандартных преобразований. Сбросьте и флажок IK Parameters (IK-параметры), который активизирует установку ключей обратной кинематики (IK — Inverse Kinematics). Установите флажок Object Parameters (Параметры объекта), активизирующий установку ключей характеристических параметров объектов, присваиваемых им в момент создания, таких как радиус и число сегментов сферы, длина, ширина и высота параллелепипеда и т. п. С помощью этого окна диалога можно заказать установку еще следующих типов ключей:
Custom Attributes (Специальные атрибуты) — активизирует установку ключей анимации параметров, настраиваемых с помощью заказных элементов управления, которые могут создаваться пользователем на командной панели;
Modifiers (Модификаторы) — активизирует установку ключей анимации действия модификаторов;
Materials (Материалы) — активизирует установку ключей анимации материалов max 7.5.
Закройте окно Set Key Filters (Выбор фильтров ключей), щелкнув на кнопке с крестиком на правом краю заголовка этого окна.
6. Подготовительная работа завершена, теперь можно переходить к анимации. Щелкните на кнопке Set Key (Задать ключ). Кнопка зафиксируется и подсве-тится светло-красным цветом, указывая на то, что 3ds max находится в режиме принудительного создания ключей анимации.
7. Установите ползунок таймера анимации на отметку кадра № 50. Щелкните на большой кнопке Set Keys (Задать ключи) с изображением ключа, чтобы установить в этом кадре анимационные ключи, фиксирующие значения характеристических параметров сферы, выбранных с помощью окна диалога Set Key Filters (Выбор фильтров ключей). Это такие параметры, как радиус, число сегментов, наличие сглаживания, степень отсечки сферического сегмента и т. п. Кнопка на мгновение подсвечивается красным цветом, но не фиксируется. Обратите внимание на то, что если вы отменили выделение анимируемого объекта, то не увидите появления значка ключей в виде квадратика в строке треков.
|
ЗАМЕЧАНИЕ Так как мы не планировали изменять параметры сферы на интервале от нулевого кадра до кадра № 50, можно обойтись без установки ключей в кадре № 0. |
8. Теперь переместите ползунок таймера к отметке кадра № 100. Уменьшите значение радиуса сферы раза в три, скажем, до 60 см. Измените число в счетчике Segments (Сегментов) с 32 до 8, чтобы придать оболочке сдувающегося шара угловатый вид. Снова щелкните на кнопке Set Keys (Задать ключи). Обратите внимание на появление красных угловых скобочек вокруг стрелок всех счетчиков, имеющихся в свитке параметров сферы на панели Modify (Изменить). Такие скобочки всегда появляются вокруг стрелок счетчиков тех параметров, которые подвергнуты анимации.
9. Выключите режим анимации, щелкнув на кнопке Set Key (Задать ключ). Воспроизведите анимацию в окне проекции max 7.5 и наблюдайте за тем, как наш импровизированный воздушный шар, начиная с середины интервала анимации (рис. 16.33, вверху), теряет в объеме и становится все более угловатым (рис. 16.33, внизу).

Рис. 16.33. У шара во второй половине анимации уменьшаются радиус и число сегментов оболочки: вверху — кадр № 50; внизу — кадр № 100
10. Сохраните сцену под заданным в начале упражнения именем Letiasshiy shard .max.
Осваиваем новые инструменты редактирования NURBS-объектов
Приступим к созданию элементов одежды нашего персонажа. Особенностью этого упражнения будет знакомство с новыми понятиями и приемами, а также освоение на практике навыков использования некоторых новых инструментов редактирования NURBS-объектов, включая:
понятия о зависимых NURBS-объектах, таких как кривая, спроецированная по вектору {Vector Projected Curve), или кривая на поверхности (COS — Curve On Surface);
инструменты создания NURBS-поверхностей по опорному сечению и направляющей, а также проецирования NURBS-кривых на NURBS-поверх-ности;
метод вырезания отверстий в NURBS-поверхностях;
методы добавления новых кривых в список опорных сечений тела U-лофтинга, выравнивания статистики кривых и устранения искажений формы поверхности за счет изменения порядка следования управляющих вершин опорных кривых;
метод «сшивки» поверхностей, позволяющий создавать объекты с ветвящейся топологией;
метод создания зависимых дубликатов NURBS-объектов;
метод превращения зависимой кривой, спроецированной на поверхность, в кривую, зависящую только от этой поверхности и т. д.
Следует учесть, что наш персонаж носит гротескный характер, поэтому его пропорции явно должны отличаться от пропорций реалистичного персонажа. Если рост взрослого человека составляет обычно 6-7 вертикальных размеров его головы, то наш Дед Мороз гораздо более коренаст. Весь его рост не превышает 3,5-4 вертикальных размеров головы, а вертикальный размер шубы составляет всего около двух вертикальных размеров головы (рис. 10.34).

Рис. 10.34. Пропорции фигуры персонажа в сравнении с размером его головы
Чтобы одеть Деда Мороза в шубу, валенки и рукавицы, выполните следующие действия:
1. Продолжите работу над сценой, начатой в предыдущих упражнениях, или загрузите с компакт-диска файл Ded Moroz-Golova01.max, содержащий модель головы с шапкой и усами. Сохраните файл под именем Ded Moroz.max.
2. Шубу будем «шить» тем же проверенным методом U-лофтинга. Нарисуйте в окне вида сверху контур низа шубы в виде точечной NURBS-кривой. Назовите кривую Shuba. Размер кривой следует выбрать так, чтобы он гармонировал с размером головы. Совет неопределенный, но зато дает вам свободу в проявлении творческой фантазии. Скажем, рассуждать можно так: плечи должны быть немного шире шапки, а низ шубы — немного шире плеч, примерно как показано на рис. 10.35. Так как шуба нашего персонажа ни под каким разумным ракурсом не будет видна изнутри, нет смысла делать контур двойным. Только в том месте, где левая пола будет запахиваться поверх правой, следует сделать на кривой крючок.

Рис. 10.35. Кривая контура низа шубы в сравнении с размером головы
3. Создайте 6 копий исходной кривой, следя за тем, чтобы в окне диалога Sub-Object Clone Options (Параметры дублирования подобъектов) был установлен переключатель Independent Copy (Независимая копия). Разместите копии повертикали и масштабируйте их соответствующим образом, сформировав каркас будущей шубы, как показано на рис. 10.36.

Рис. 10.36. Примерное расположение по вертикали и предварительный масштаб кривых, образующих каркас шубы
4. Примените к опорным кривым инструмент U-лофтинга. Не забывайте о том, что может потребоваться перевернуть нормали сформированной NURBS-no-верхности. Как это делать, было описано в предыдущем упражнении. Дополнительно перемещая и масштабируя опорные кривые на уровне выделения иодобъекта Curve (Кривая), поработайте над формой шубы, проявив творческое воображение. Под шубой должны угадываться формы тела Деда Мороза, фигура которого за долгие годы скитаний с мешком на спине, надо полагать, давно перестала быть идеальной. Возможный вид шубы без рукавов показан на рис. 10.37.

Рис. 10.37. Так может выглядеть шуба Деда Мороза без рукавов и меховой оторочки снизу
5. Смоделируйте меховую оторочку низа шубы. Для этого на уровне выделения подобъекта Curve (Кривая) создайте копию нижней контурной кривой. Немного опустите ее вниз и расправьте изгиб конца кривой — это будет направляющая. Затем создайте контур сечения оторочки в виде сплайна Ellipse (Эллипс) и превратите его в NURBS-объект. Разместите обе кривые примерно так, как показано на рис. 10.38.

Рис. 10.38. Кривая-направляющая и кривая-сечение, подготовленные для моделирования меховой оторочки шубы
|
ЗАМЕЧАНИЕ Как уже указывалось в предыдущем упражнении, в 3ds max 7.5 возникают какие-то проблемы с преобразованием стандартных сплайнов в NURBS-кривые. Если в результате преобразования эллипса в кривую типа NURBS форма этой кривой в районе первой вершины сплайна будет искажена, что можно разглядеть только при сильном увеличении, выполните сначала преобразование стандартного сплайна в редактируемый, а уже затем в NURBS-кривую. |
6. Для создания оторочки примените инструмент Create 1 -Rail Sweep (Создать поверхность по одной направляющей), кнопка которого находится на левом краю нижнего ряда инструментов палитры NURBS. Этот инструмент является более близким аналогом традиционного сплайнового лофтинга, чем уже привычный вам инструмент U-лофтинга NURBS -кривых, не требующий направляющей. Щелкнув на кнопке инструмента создания поверхности по одной направляющей, переведите курсор в окно проекции и сначала щелкните на линии направляющей, а затем — на кривой сечения. Щелкните правой кнопкой мыши, чтобы закончить создание поверхности. Возможно, придется перевернуть нормали сформированной поверхности. Для этого следует установить флажок Flip Normals (Перевернуть нормали) в самом низу свитка 1 -Rail Sweep Surface (Поверхность с одной направляющей), который появляется на командной панели Modify (Изменить). Кроме того, потребуется сбросить установленный по умолчанию флажок Sweep Parallel (Параллельные сечения). Можно представлять себе, что поверхность создается как след перемещения выбранного сечения вдоль заданной направляющей. Если оставить этот флажок установленным, как это принято по умолчанию, то при перемещении кривой сечения его плоскость остается параллельной самой себе. Закончив манипуляции с флажками, снова переместите курсор в окно проекции и еще раз щелкните правой кнопкой мыши, чтобы выключить режим создания поверхностей по одной направляющей. Модель меховой оторочки должна иметь вид трубки, открытой на концах, как показано на рис. 10.39.

Рис. 10.39. Меховая оторочка шубы создана лофтингам сечения вдоль направляющей и имеет пока вид трубки, открытой на концах
7. Чтобы закрыть отверстие на видимом конце трубки, изображающей оторочку, можно было бы применить инструмент Create Cap Surface (Создать поверхность-крышку). Однако граница перехода между телом лофтинга и «крышкой» оказывается недопустимо резкой. Поступим иначе. Выделите кривую сечения оторочки на уровне подобъекта Curve (Кривая) и создайте две ее копии, несколько отодвинув их от исходной кривой. Уменьшите масштаб крайней копии до 1 % исходного размера, как мы уже делали неоднократно, а средней придайте такой масштаб, чтобы закругление было плавным. Примените к трем кривым инструмент Create U-Loft Surface (Создать поверхность методом U-лофтинга). В итоге оторочка должна принять вид, подобный изображению на рис. 10.40.

Рис. 10.40. Закругленный конец меховой оторочки сформирован U-лофтингом трех кривых: исходного сечения трубки и двух его уменьшенных копий
8. Выделите поверхность шубы на уровне подобъекта Surface (Поверхность) и установите для нее идентификатор материала, равный 1. Как это сделать, было описано выше в п. 6 упражнения по созданию шапки Деда Мороза. Затем выделите поверхность оторочки вместе с поверхностью закругления на ее торце и назначьте им идентификатор материала, равный 2. Сохраните файл с инкрементированием имени. Сравните шубу, которая получилась у вас, с той, что имеется в файле Ded Moroz.max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге.
9. Займемся рукавами. Один рукав шубы (скажем, правый) смоделируем методом U-лофтинга, а второй создадим как копию первого. Для моделирования рукава подготовьте набор опорных кривых. С этой целью нарисуйте на виде слева стандартный сплайн-эллипс и превратите его в NURBS-объект. Расположите эллипс вблизи плеча шубы. Создайте необходимое количество копий эллипса, должным образом масштабируйте и разместите их в виде каркаса рукава. На рис. 10.41 показано примерное расположение исходной кривой и восьми ее копий, подготовленных для моделирования рукава с широким меховым обшлагом на конце. Кривые 2 и 3 помещены в средней части рукава с целью создания сегментации поверхности в районе локтевого сгиба, необходимой для плавного изгиба рукава при последующей скелетной деформации.

Рис. 10.41. Исходная кривая (1) и восемь ее копий (2-9) размещены, масштабированы и готовы к применению U-лофтинга
10. Примените к кривым инструмент Create U-Loft Surface (Создать поверхность методом U-лофтинга), но в два приема, чтобы к плечевой части рукава и меховому обшлагу на его конце можно было впоследствии применить два разных материала. Сначала выполните лофтинг кривых, обозначенных на рис. 10.41 цифрами 1-4. Щелкните правой кнопкой мыши для завершения лофтинга первой части поверхности. Не забывайте о том, что может потребоваться перевернуть нормаль создаваемой поверхности, установив флажок Flip Normals (Перевернуть нормали) в самом низу свитка U Loft Surface (Поверхность U-лофтинга). Затем выполните лофтинг кривых 4-9. В заключение щелкните в окне проекции правой кнопкой мыши, чтобы закончить лофтинг рукава, и еще раз, чтобы выйти из режима U-лофтинга. Рукав готов, как показано на рис. 10.42, но чтобы «пришить» его к шубе, необходимо включить все Подобъекты этого NURBS-объекта в состав объекта Shuba. С этой целью перейдите на уровень выделения объекта NURBS Surface (NURBS-поверхность) и выделите объект Shuba. Щелкните на кнопке Attach (Присоединить), которая зафиксируется и подсветится желтым цветом, а затем щелкните на поверхности рукава. И эта поверхность, и опорные кривые будут включены в состав объекта Shuba в качестве подобъектов.

Рис. 10.42. Рукав с меховым обшлагом готов, но пока еще не «пришит» к шубе
11. Выделите поочередно поверхности плечевой части рукава и обшлага на уровне подобъекта Surface (Поверхность) и установите для первой из них идентификатор материала, равный 1, а для второй — 2, как это было описано в п. 6 предыдущего упражнения по созданию шапки.
12. Чтобы «пришить» рукав, необходимо сначала спроецировать ближнюю к плечу опорную кривую, обозначенную на рис. 10.41 цифрой 1, на поверхность шубы, используя инструмент Create Vector Projected Curve (Создать проекцию кривой по вектору). С помощью этого инструмента строится проекция выбранной кривой на заданную поверхность в направлении, перпендикулярном плоскости активного окна проекции. Для облегчения процедуры активизируйте уровень выделения подобъекта Surface (Поверхность), выделите две поверхности рукава и скройте их от просмотра, щелкнув на кнопке Hide (Скрыть) в свитке Surface Common (Поверхность в целом). Затем переключитесь на уровень выделения подобъекта Curve (Кривая), выделите все кривые, кроме той, которая ближе всех к плечу, и скройте их, щелкнув на кнопке Hide (Скрыть) в свитке Curve Common (Кривая в целом).
|
ЗАМЕЧАНИЕ Как и во многих других ситуациях, возникающих в max 7.5, при работе с NURBS-объек-тами состав свитков на командной панели зависит от выбранного уровня выделения подобъектов или от выбранного инструмента редактирования. Это на самом деле очень удобно, но к такой «услужливости» программы следует привыкнуть. Пока такая привычка не выработается, часто возникает недоумение: куда же делся этот свиток, который только что был на командной панели? |
13.

Активизируйте окно вида слева. Щелкните на кнопке Create Vector Projected Curve (Создать проекцию кривой по вектору) — это вторая слева кнопка в нижнем ряду инструментов группы Curves (Кривые) палитры NURBS. Перенесите курсор в окно проекции и установите его на проецируемую кривую. Кривая приобретет синюю окраску, указывая на готовность к проецированию. Щелкните на ней кнопкой мыши и переместите курсор на поверхность шубы. За курсором потянется пунктирная линия, а поверхность также станет синей. Это означает, что можно щелкнуть кнопкой мыши для выполнения проекции. Через мгновение исходный цвет поверхности восстановится, и на ней появится желтый квадратик, как показано на рис. 10.43. Таким квадратиком помечается зависимая кривая, созданная на поверхности как проекция крайнего сечения рукава. Сама кривая в данном ракурсе не видна, но стоит немного повернуть плоскость проекции, и вы увидите ее в виде линии зеленого цвета. Таким цветом помечаются зависимые NURBS-объекты. Спроецированная кривая целиком зависит от двух объектов: кривой, которая проецировалась, и поверхности, на которую выполнялось проецирование. Чтобы выключить режим проецирования, щелкните правой кнопкой мыши.

Рис. 10.43. Создана проекция кривой на поверхность, о чем свидетельствует появление на поверхности желтого квадратика
14. Сейчас мы должны вырезать в шубе дырку по контуру спроецированной кривой. Поверните плоскость проекции, чтобы лучше видеть зависимую спроецированную кривую, и выделите эту кривую на уровне подобъекта Curve (Кривая). Прокрутите область свитков командной панели вверх, чтобы видеть свиток Vector Projected Curve (Кривая-проекция по вектору), и установите в этом свитке флажок Trim (Обрезка). Фрагмент поверхности, ограниченный спроецированной кривой, должен исчезнуть, как показано на рис. 10.44. Иногда после такой операции исчезает не фрагмент поверхности, ограниченный спроецированной кривой, а, наоборот, вся поверхность за пределами контура кривой. Остается только ограниченная кривой заплатка. Для исправления такой ситуации нужно установить еще и флажок Flip Trim (Перевернуть обрезку).

Рис. 10.44. Выполнена обрезка поверхности внутри контура зависимой кривой, спроецированной на поверхность
15. Восстановите видимость всех опорных кривых рукава, щелкнув на уровне подобъекта Curve (Кривая) на кнопке Unhide All (Сделать видимыми все). Затем восстановите видимость и поверхностей рукава, щелкнув на аналогичной кнопке, но уже на уровне выделения подобъекта Surface (Поверхность). Чтобы «пришить» рукав к шубе, достаточно всего лишь включить кривую, спроецированную на поверхность шубы, в состав опорных кривых поверхности рукава. Выделите часть поверхности, ближайшую к плечу. Она приобретет красный цвет, а на командной панели появится свиток U Loft Surface (Поверхность U-лофтинга). В верхней части этого свитка имеется список U Curves (U-кривые), в котором перечислены все опорные кривые выделенной поверхности, созданной методом U-лофтинга, в том порядке, в каком они выбирались в процессе создания поверхности. Простое изменение порядка следования кривых в списке приводит к полной перестройке поверхности лофтинга, но мы с этим экспериментировать не будем. Если вы выполняли лофтинг, выделяя кривые в порядке от плеча к концу рукава, то в верхней строке списка будет имя кривой, ближайшей к плечу. Предположим, что эта кривая обозначена в списке как CV Curve 09 (CV-кривая09), хотя у вас это имя может быть и другим. Наша задача — поместить наверх списка кривую, созданную методом проецирования, чтобы она стала первой опорной кривой тела лофтинга. Вставка новой кривой в список опорных производится всегда непосредственно над выделенной кривой. Выделите верхнюю строку списка опорных кривых. В окнах проекций соответствующая кривая окрасится синим цветом. Убедитесь, что это самая ближняя к плечу кривая. Щелкните в нижней части свитка на кнопке Insert (Вставить), затем переместите курсор в окно проекции и щелкните на спроецированной зависимой кривой. Имя кривой, скажем, Vector Projected Curve 01 (Кривая 01-проекция по вектору), появится наверху списка опорных кривых. Имейте в виду, что в вашем случае имя кривой может и отличаться от указанного. Поверхность рукава теперь строится от данной кривой, хотя в окнах проекций этого не видно. Сейчас вам станет понятно, в чем причина.
16. Между спроецированной кривой и первым сечением рукава имеет место переворот нормалей поверхности, которая как бы выворачивается наизнанку. Такой переворот может возникать в случаях, когда лофтинг выполняется от кривой-проекции к той кривой, которая проецировалась. Чтобы устранить этот недостаток, выделите кривую Vector Projected Curve 01 (Кривая 01-проекция по вектору) в списке U Curves (U-кривые) свитка U Loft Surface (Поверхность U-лоф-тинга) и установите флажок Reverse (Перевернуть), расположенный сразу под списком. Теперь рукав выглядит так, как надо — посмотрите на рис. 10.45.

Рис. 10.45. Рукав «пришит» за счет того, что в состав опорных кривых лофтинга рукава включена кривая, спроецированная на поверхность шубы
17. Чтобы приделать к шубе второй рукав, поступите следующим образом. Переключившись на уровень выделения подобъекта Curve (Кривая), выделите все девять опорных кривых рукава вместе с обшлагом, за исключением зависимой спроецированной кривой. Удерживая клавишу Shift, переместите выделенные кривые в сторону, создав тем самым копию всех девяти кривых. Как и раньше, установите переключатель в появившемся окне диалога в положение Independent Copy (Независимая копия) и щелкните на кнопке ОК. Переместите всю группу кривых, расположив их напротив левого плеча шубы, и поверните на 180°, как показано на рис. 10.46.

Рис. 10.46. Копия всех девяти опорных кривых рукава помещена возле левого плеча шубы
18. Дальше действуйте точно так же, как при создании правого рукава. Скройте все кривые, кроме ближайшей к плечу. Спроецируйте эту кривую на поверхность шубы. Вырежьте отверстие внутри спроецированной кривой, выделив ее и установив флажок Trim (Обрезка). В заключение восстановите видимость всех кривых и выполните лофтинг левого рукава в два приема. Сначала постройте поверхность плечевой части рукава, начиная с зависимой спроецированной кривой. Если возникнет переворот нормалей поверхности между спроецированной кривой и ближним к плечу опорным сечением рукава, выделите кривую Vector Projected Curve 02 (Кривая 02-проекция по вектору) на самом верху списка U Curves (U-кривые) в свитке U Loft Surface (Поверхность U-лоф-тинга) и установите флажок Reverse (Перевернуть). Затем отдельно создайте поверхность обшлага на конце рукава, как показано на рис. 10.47. Поочередно выделите обе поверхности и присвойте плечевой части рукава идентификатор материала, равный 1, а обшлагу — равный 2. Сохраните файл с инкрементированием имени. Сравните получившуюся у вас шубу с рукавами с той, что имеется в файле Ded Moroz01.max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге.

Рис. 10.47. У шубы появился второй рукав
19. Воротник смоделируйте методом U-лофтинга. Для этого сначала нарисуйте на виде слева точечную NURBS-кривую, изображающую контур сечения воротника. Назовите ее Vorotnik. При этом, как показано на рис. 10.48, может потребоваться предварительно восстановить видимость головы персонажа, положение которой по отношению к шубе нужно будет подкорректировать.

Рис. 10.48. Точечная NURBS-кривая, изображающая сечение средней части воротника
20. Создайте необходимое число копий нарисованной кривой, разместив их по периметру воротника. Каждую новую копию нужно будет дополнительно масштабировать и поворачивать, примерно так, как показано на рис. 10.49, формируя каркас воротника. На рисунке показано 15 кривых, но можете сделать и меньшее или большее число копий. Масштаб крайних опорных кривых на обоих концах воротника уменьшен до 1 % от исходного размера. Концы воротника умышленно сделаны тонкими и опущены вниз, чтобы оставить место для бороды Деда Мороза.

Рис. 10.49. Исходная кривая (8) и четырнадцать ее копий (1-7, 9-15) размещены по периметру будущего воротника
21. Выполните U-лофтинг поверхности воротника по опорным кривым. После этого откорректируйте положение готового воротника по отношению к шубе и голове персонажа, примерно так, как показано на рис. 10.50. Присоедините воротник к шубе с помощью инструмента Attach (Присоединить) или просто сгруппируйте его с шубой. Сохраните файл с инкрементированием имени. Готовую фигуру Деда Мороза в шубе с воротником можно найти в файле Ded Moroz02.max, который хранится в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге.

Рис. 10.50. Готовый воротник, сформированный методом U-лофтинга, помещен на положенное ему место
22. Так как наш персонаж имеет достаточно упрощенный вид, руки ему заменяют рукавицы. Создайте эти рукавицы тоже методом U-лофтинга. Сначала на виде слева или справа нарисуйте эллипс, вытянутый по вертикали, который будет играть роль сечения рукавицы. Превратите его в NURBS-объект и разместите перед обшлагом рукава. Постройте три-четыре копии сечения, разместите их в виде каркаса рукавицы и должным образом масштабируйте, примерно как показано на рис. 10.51. Масштаб крайнего сечения, обозначенного на рисунке цифрой 4, уменьшите до 1 % от исходного.

Рис. 10.51. Исходная кривая (1) и три ее копии (2-4) подготовлены для лофтинга рукавицы
23. Выполните U- лофтинг рукавицы. При необходимости установите флажок Flip Normals (Перевернуть нормали). Присоедините рукавицу к NURBS-объекту Shuba, действуя, как было описано выше в п. 9 данного упражнения. Чтобы рукавица не была оторвана от рукава, включите кривую, обозначенную на рис. 10.51 цифрой 1, в состав опорных кривых обшлага. Для этого выделите поверхность обшлага на уровне подобъекта Surface (Поверхность), затем выделите в списке U Curves (U-кривые) опорных кривых в свитке U Loft Surface (Поверхность U-лофтинга) самую нижнюю строку, которая читается как---End-----. Щелкните на кнопке Insert (Вставить), а затем — на ближней к обшлагу опорной кривой рукавицы. Имя кривой появится в самом низу списка, а поверхность обшлага будет продолжена до стыковки с поверхностью рукавицы. Стык поверхностей получится не очень гладким, так как число управляющих вершин опорных кривых обшлага и рукавицы никак не согласовано между собой. Чтобы сделать поверхность обшлага в районе стыка несколько более гладкой, выделите имя только что добавленной кривой в списке U Curves (U-кривые) и установите флажок Auto Align Curve Stats (Автовыравнивание статистик кривых) в нижней части свитка U Loft Surface (Поверхность U-лофтинга). В итоге у вас должна получиться конструкция, подобная показанной на рис. 10.52.

Рис. 10.52. Поверхность рукавицы создана методом U-лофтинга и с ней состыкована поверхность обшлага
24. Чтобы приделать к рукавице большой палец, сначала нужно действовать так же, как при «пришивании» рукава к шубе. Создайте в окне вида сверху точечную кривую в форме эллипса и поместите ее над тем местом, из которого должен «расти» палец. Присоедините созданную кривую к объекту Shuba и спроецируйте ее на поверхность рукавицы, как было описано выше в п. 12. Повернув плоскость проекции, выделите спроецированную кривую и установите флажок Trim (Обрезка), чтобы вырезать в рукавице отверстие по контуру кривой, как показано на рис. 10.53.

Рис. 10.53. В поверхности рукавицы вырезано отверстие для большого пальца
25. Теперь опять возникает некоторая новизна. Нам не нужно, чтобы большой палец торчал перпендикулярно поверхности рукавицы, но если выполнять лофтинг с использованием спроецированной кривой и той кривой, которая проецировалась, то так и произойдет. Следовало бы повернуть кривую, которая проецировалась, расположив ее под углом к поверхности рукавицы. Однако при попытке это сделать вы столкнетесь с тем, что кривая-проекция будет автоматически модифицироваться. Ведь она полностью зависима от той кривой, проекцией которой является. Значит, нужно разорвать эту зависимость, сохранив, однако, зависимость спроецированной кривой от поверхности, на которой она располагается. Этого можно добиться, если преобразовать спроецированную кривую к типу COS (Curve On Surface — Кривая на поверхности). Пока спроецированная кривая еще выделена, щелкните на кнопке Make COS (Сделать кривой на поверхности) в свитке Surface Common (Кривая в целом). В появившемся окне диалога Convert Curve On Surface (Преобразование кривой на поверхности) установите переключатель в положение Point Curve On Surface (Точечная кривая на поверхности) и задайте нужное число точек (скажем, 10) в счетчике Number of Points (Число точек). Щелкните на кнопке ОК. После этого можно будет безболезненно переместить и повернуть ту кривую, проекцию которой мы только что сделали независимой. Создайте пару копий этой кривой, масштабируйте их и разместите примерно так, как показано на рис. 10.54. Масштаб крайнего опорного сечения, обозначенного на рис. 10.54 цифрой 4, уменьшите, как обычно, до 1 % от исходного размера. Выполните построение поверхности пальца методом U-лофтинга, начиная процесс с кривой типа COS. He забудьте для устранения переворота нормалей между кривой типа COS на поверхности рукавицы и первым опорным сечением выделить поверхность пальца и выполнить переворот спроецированной кривой, выделив ее имя в списке U Curves (U-кривые) свитка U Loft Surface (Поверхность U-лофтинга) и установив флажок Reverse (Перевернуть).

Рис. 10.54. U- лофтинг большого пальца рукавицы выполнен от кривой типа COS (7) по трем опорным кривым {2-4)
26. Для создания второй рукавицы применим иной метод копирования, чем тот, что использовался при создании второго рукава шубы. Переключившись на уровень выделения подобъекта Surface (Поверхность), выделите поверхность пальца рукавицы. Удерживая клавишу Shift, на виде сверху переместите поверхность в сторону. Вы обнаружите, что за пальцем потянется и копия рукавицы со всем набором опорных кривых. Отпустите кнопку мыши, и на экране появится уже знакомое вам окно диалога Sub-Object Clone Options (Параметры дублирования подобъектов). Теперь внимание, наступает важный момент! До сих пор мы дублировали NURBS-объекты, устанавливая переключатель Independent Copy (Независимая копия). Если и на этот раз установить этот переключатель и щелкнуть на кнопке ОК, то будет скопирована только поверхность пальца, даже без опорных кривых, по которым она построена. Но мы поступим по-другому. Установите переключатель окна диалога Sub-Object Clone Options (Параметры дублирования подобъектов) в положение Relational Сору (Зависимая копия). При данном положении переключателя используется установленный по умолчанию флажок Include Relational Parents (Включая родительские зависимости). Это значит, что копируемый объект сохраняет все свои зависимости, а все Подобъекты, от которых он зависел, копируются вместе с ним. В данном случае вместе с поверхностью пальца будут скопированы опорные кривые этой поверхности. Но это еще не все. Так как одна из опорных кривых пальца, обозначенная на рис. 10.54 цифрой 1, в свою очередь, зависит от поверхности рукавицы, то копируется и эта поверхность. А так как поверхность рукавицы зависит от своих опорных кривых, то копируются и они, как видно на рис. 10.55. Щелкните на кнопке ОК, разместите копию рукавицы на положенном ей месте и соедините с левым рукавом, как было описано выше в п. 22. Сохраните файл с инкрементированием имени. Для сравнения можете загрузить модель Деда Мороза в шубе с воротником и с рукавицами на руках из файла Ded Moroz03.max, который хранится в папке Scenes\ Glava_10 компакт-диска, прилагающегося к книге.

Рис. 10.55. Копия рукавицы сформирована за счет копирования одной только поверхности большого пальца в режиме Relational Copy
27. В создании валенок нет никаких секретов: простой U-лофтинг. Так что много тут рассказывать не о чем. Создайте эллиптическую NURBS-кривую подходящего размера либо за счет преобразования стандартного эллипса, либо нарисовав ее вручную. Постройте какое-то число независимых копий этой кривой, расположите их в виде каркаса будущего валенка и должным образом масштабируйте, скажем, как показано на рис. 10.56. Как обычно в таких случаях, масштаб крайнего сечения (кривая 8 на рис. 10.56) уменьшите до 1 % от исходного размера, стянув его почти в точку.

Рис. 10.56. Исходная кривая (7) и семь ее копий (2-8) размещены, масштабированы и подготовлены к применению инструмента U-лофтинга
28. Примените к кривым инструмент U-лофтинга. Создайте зависимую копию поверхности валенка вместе с опорными кривыми и разместите оба валенка снизу под шубой. Не забудьте посмотреть на фигуру слева или справа, чтобы совместить точку опоры с проекцией кажущегося центра тяжести. В итоге наш персонаж должен выглядеть примерно так, как показано на рис. 10.57. Еще раз сохраните файл с инкрементированием имени. Для сравнения можете загрузить готовую модель Деда Мороза в шубе с воротником, с рукавицами на руках и валенками на ногах из файла Ded Moroz04.max, который хранится в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге.

Рис. 10.57. Модель Деда Мороза почти готова, не хватает только бороды
29. Бороду Деда Мороза создадим все тем же методом U-лофтинга. Предварительно можете скрыть от просмотра воротник и шубу, чтобы они не мешали на начальном этапе работы над бородой. Чтобы борода плотно прилегала к лицу, сначала нарисуйте на виде спереди кривую, изображающую контур краев бороды на лице персонажа, как показано на рис. 10.58. Главное — не допустить, чтобы контур выступал за границы проекции головы персонажа, иначе проецирование кривой будет невозможно. Затем на виде справа или слева поместите эту кривую перед головой. Переключившись на верхний уровень выделения, выделите объект-голову и присоедините к ней кривую с помощью инструмента Attach (Присоединить). Активизируйте окно проекции Front (Вид спереди) и выполните проецирование кривой на нижнюю часть головы в направлении, перпендикулярном плоскости этого окна, с использованием инструмента Create Vector Projected Curve (Создать проекцию кривой по вектору). Установите флажок Trim (Обрезать), вырезав отверстие по контуру спроецированной кривой. Для использования проецируемой кривой в качестве одного из опорных сечений бороды эту кривую нужно переместить вниз и слегка повернуть. Чтобы суметь это сделать, нужно разорвать связь между проецируемой кривой и ее проекцией, точно так же, как мы поступали, приделывая палец к рукавице. С этой целью выделите спроецированную кривую, переключившись на уровень выделения подобъекта Curve (Кривая), и преобразуйте ее к типу COS (Кривая на поверхности), щелкнув на кнопке Make COS (Сделать кривой на поверхности) в свитке Surface Common (Кривая в целом). В появившемся окне диалога Convert Curve On Surface (Преобразование кривой на поверхности) установите переключатель в положение CV Curve On Surface (CV-кривая на поверхности) и задайте нужное число управляющих вершин (скажем, 20) в счетчике Number of CVs (Число управляющих вершин). Щелкните на кнопке ОК.

Рис. 10.58. Контур бороды в виде точечной NURBS-кривой подготовлен к проецированию
30. Теперь нужно создать некоторое количество опорных сечений бороды. В качестве одного из них можно использовать кривую, которую мы проецировали на предыдущем шаге. Эту кривую нужно несколько опустить вниз на виде спереди, сместить вперед на виде сбоку и подкорректировать по форме. Создайте еще три-четыре копии этой кривой и разместите их в виде каркаса бороды. При этом следует располагать кривые так, чтобы борода разместилась поверх шубы и не проникала через воротник. Примерное расположение опорных сечений бороды показано на рис. 10.59. Чтобы борода выглядела волнистой, отредактируйте форму каждого сечения, переключившись на уровень выделения подобъекта. Выполните U-лофтинг поверхности бороды, начиная с кривой типа COS, обозначенной цифрой 1 на рис. 10.59. Вероятно, как и в предыдущих подобных случаях, потребуется выделить имя кривой типа COS в списке опорных кривых поверхности U-лофтинга, где эта кривая по-прежнему должна именоваться Vector Projected Curve (Кривая-проекция по вектору), и установить флажок Reverse (Перевернуть). Кроме того, потребуется установить флажок Auto Align Curve Stats (Автовыравнивание статистик кривых), так как мы выполняли преобразование спроецированной кривой, и число ее управляющих вершин отличается от числа вершин опорных кривых тела лофтинга. В заключение выделите поверхность бороды на уровне подобъекта Surface (Поверхность) и присвойте ей идентификатор материала, равный 2. В итоге наш Дед Мороз должен приобрести вид, подобный показанному ранее на рис. 10.11. Сохраните файл, который на данный момент должен иметь имя Ded Moroz05.max. Вы можете найти полностью готовую модель Деда Мороза в файле Ded Moroz05.max, хранящемся в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге.

Рис. 10.59. Кривая типа COS (1) и пять опорных сечений (2-6) подготовлены для U-лофтинга
Итак, завершено большое и достаточно сложное упражнение, в ходе которого вам довелось испытать на практике многие из инструментов, приемов и методов работы с NURBS-поверхностями и кривыми. Разумеется, мы смогли близко познакомиться далеко не со всеми инструментами и методами. Надеюсь, что если вас заинтересовал класс NURBS-объектов, вы сможете продолжить знакомство с секретами данного раздела трехмерной графики самостоятельно, используя для этой цели электронный справочник программы max 7.5.
Превращаем вазу в кубок
Используя средства редактирования полигональных сеток, можно легко превратить вазу в кубок, вручаемый победителям в соревнованиях. Предположим, что этот кубок кафе «МАХ» получило на конкурсе среди заведений общепита за лучшее обслуживание посетителей. Теперь кубок стоит на видном месте. От вазы он отличается наличием двух ручек с обеих сторон, а также литой надписью в виде цифры 1, которая символизирует первое место.
1. Откройте файл Vaza.max, сохраненный вами на этапе, когда у вазы появилась ручка. Вы можете открыть этот файл с компакт-диска. Он находится в папке Scenes\Glava09. Использовать уже готовую вазу, которую мы сохранили под именем Vaza01.max, не имеет смысла, поскольку в результате использования инструмента MeshSmooth (Сглаживание сетки) полигональная структура объекта была изменена, и сделать симметричную ручку средствами редактирования полигональных сеток практически невозможно.
2. Итак, вам придется проделать все те же самые действия, которые вы производили, создавая первую ручку, но уже с другой стороны объекта. Повторите шаги 3-4 предыдущего упражнения. После того как вы замкнете вторую ручку инструментом Bridge (Мост), как и в предыдущем примере (см. шаг 5), нужно будет сгладить модель. Но в этом случае нужно будет использовать инструмент MeshSmooth (Сглаживание сетки) трижды, поскольку для создания отлитой надписи на кубке необходимо, чтобы модель была высокополигональной. Чтобы придать кубку положенную форму, сузим его (как ранее мы это делали с вазой) модификатором Taper (Заострение). В настройках модификатора счетчик Curve (Кривизна) установите равным -1,8.
3. Теперь, наконец, можно переходить к формированию надписи. Для этого нужно снова превратить объект в полисетку любым удобным для вас способом. Перейдя на уровень выделения подобъекта Polygon (Полигон), раскройте свиток Paint Deformation (Деформация кистью) и нажмите кнопку Push/Pull (Вдавливание/Вытягивание). Параметр Push/Pull Value (Сила вдавливания/вытягивания), обозначающий силу воздействия виртуальной кисти на объект, установите равным 1. Размер кисти, определяемый параметром Brush Size (Размер кисти), установите равным 1,3. Поднесите курсор к модели, и вы увидите виртуальную кисть, которая представляет собой касательную плоскость с нормалью в точке наведения курсора на объект. Нажмите кнопку мыши и переместите курсор по поверхности объекта, наблюдая за ее деформацией. Изобразите на кубке цифру 1. Несмотря на то что форма у единички несложная, почти наверняка с первого раза вы не получите деформацию нужной формы, поэтому выполняйте отмену и пробуйте снова. В конце концов, вы получите вот такой кубок (рис. 9.45), который предлагаю вам сохранить иод названием Kubok.max.

Рис. 9.45. Кубок с надписью
Пробуем применить эффект объемного освещения в сцене «МАХ-кафе»
Чтобы еще более усилить атмосферу туманного, промозглого осеннего вечера, попробуйте применить эффект объемного освещения к одному из направленных источников сцены «МАХ-кафе». Заодно воспользуемся случаем, чтобы изучить еще один способ применения эффектов внешней среды к источникам света.
Чтобы освоить эффект объемного освещения, выполните следующие действия: 1. Откройте файл MAX-kafe19.max или продолжите работу над сценой, если она уже загружена в программу max 7.5. При необходимости загрузите сцену МАХ-kafe19.max из папки Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните сцену с инкрементированием имени файла.
2. Выделите направленный осветитель Fspot01, который располагается ближе к окну кафе. Увеличьте яркость света в счетчике Multiplier (Усилитель) до 0,7. Затем выделите Всенаправленный осветитель, расположенный снаружи от здания кафе перед его фасадом, и уменьшите его яркость до 0,3, чтобы эффект объемного освещения был лучше заметен.
3. К источникам света можно применять эффекты внешней среды не с помощью окна диалога Environment and Effects (Внешняя среда и эффекты), а с помощью свитка Atmospheres & Effects (Атмосфера и эффекты), появляющегося на командной панели Modify (Изменить) при выделенном осветителе. Выделите источник света Fspot01 и разверните свиток Atmospheres & Effects (Атмосфера и эффекты), располагающийся в самом низу панели. Щелкните на кнопке Add (Добавить) и выберите строку Volume Light (Объемное освещение) в окне диалога Add Atmosphere or Effect (Добавление атмосферного или оптического эффекта) Имя выбранного эффекта появится в списке свитка Atmospheres & Effects (Атмосфера и эффекты).
4. Для настройки эффекта выделите его имя в списке свитка и щелкните на кнопке Setup (Настройка). Появится уже знакомое нам окно диалога Environment and Effects (Внешняя среда и эффекты), раскрытое на вкладке Environment (Внешняя среда). В список Effects (Эффекты) этой вкладки также будет добавлена строка Volume Light (Объемное освещение). Эта строка будет автоматически выделена, и в нижней части окна появится свиток Volume Light Parameters (Параметры объемного освещения), показанный на рис. 15.47.

Рис. 15.47. Свиток Volume Light Parameters содержит все необходимые элементы для настройки параметров этого атмосферного эффекта
5. Обратите внимание на то, что эффект объемного света уже применен к выбранному осветителю. Об этом говорит имя источника света Fspot01 в раскрывающемся списке справа от кнопки Pick Light (Указать источник) в разделе Lights (Источники света). Если бы мы выбирали эффект объемного света традиционным способом, с помощью кнопки Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты), то следовало бы указать осветитель, к которому будет применен этот эффект. С этой целью нужно было бы щелкнуть на кнопке Pick Light (Указать источник) и выделить источник света Fspot01 в любом из окон проекций сцены. Результат был бы тот же: имя источника появилось бы в раскрывающемся списке справа от кнопки Pick Light (Указать источник).
|
ЗАМЕЧАНИЕ Одному и тому же источнику света можно назначить несколько эффектов объемного освещения, а один и тот же эффект можно применить к нескольким источникам света. Чтобы указать несколько источников света, щелкните на кнопке Pick Light (Указать источник), а затем нажмите клавишу п. Появится окно диалога Pick Object (Выбор объекта), позволяющее выбрать несколько источников света. Чтобы удалить источник света из списка, выделите его и щелкните на кнопке Remove Light (Удалить источник). Источник света останется в сцене, но более не будет при визуализации демонстрировать эффект объемного освещения. |
6. В разделе Volume (Объем) свитка Volume Light Parameters (Параметры объемного освещения) настройте значения следующих параметров объемного освещения:
Density (Плотность) — плотность воображаемого тумана. Чем выше плотность, тем больше света рассеивается туманом и тем он ярче. Плотность задается в процентах от той, при которой туман становится полностью непрозрачным. Задайте плотность равной 10;
Max Light % (Максимальная яркость, %) — максимальная яркость света. Чем дальше туман от источника света, тем он плотнее и тем ярче выглядит в луче объемного света. Данный параметр позволяет ограничить яркость тумана, чтобы она не возрастала бесконечно по мере удаления от источника. Предел яркости задается в процентах от интенсивности источника света. Установите его равным 50.
7. Задайте уровень качества фильтра полутонов объемного освещения, установив переключатель Filter Shadows (Качество фильтра полутонов) в положение High (Высокое). Это обеспечит формирование наиболее плавных перепадов тонов объемного света за счет увеличения числа отсчетов в выборке, соответствующей области объемного пучка, и дополнительного сглаживания изображения. Этот вариант лучше всего выбирать при выполнении итоговой «чистовой» визуализации, а при тестовой визуализации стоит установить переключатель в положение Low (Низкое) или Medium (Среднее).
8. Установите флажок Noise On (Зашумление вкл.) в разделе Noise (Зашумле-ние), чтобы внести некоторые случайные возмущения в изображение объемного пучка света. Действие параметров данной группы подобно действию функции случайных пятен материала и сводится к добавлению случайных неоднородностей в виде светлых и темных участков в области объемного освещения. Задайте значение параметра Amount (Степень) равным 0,4, что обеспечивает хорошее визуальное правдоподобие результата. Этот параметр определяет степень возмущения тумана. Величина 0 соответствует полному отсутствию возмущений, 1 — возмущению всего объема. Выберите тип алгоритма возмущения, установив переключатель Туре (Тип) в положение Regular (Обычный). Параметр Size (Размер), задающий средний размер клубов тумана, установите равным 30. Оставьте величины всех остальных параметров равными их исходным значениям, принятым по умолчанию.
9. Визуализируйте изображение в окне проекции Camera01 (Камера01). Результат должен быть подобен рис. 15.48. Сохраните сцену под измененным в начале работы именем MAX-kafe20.max.

Рис. 15.48. Результат визуализации сцены с эффектами слоистого тумана и объемного освещения
Продолжаем создавать
В предыдущем упражнении мы попробовали создать стандартный материал на основе простейшей вложенной текстуры. Продолжим работу в этом направлении, создав материал, имитирующий тлеющие угли горящих в камине поленьев. Попытаемся воплотить следующий план. Чтобы обугленные поленья выглядели на одном конце раскаленными, а на другом — остывающими, покрытыми золой и едва тлеющими, применим в качестве основной карту текстуры Gradient (Градиент). Для имитации характерного узора тлеющего дерева в состав карты градиента введем вместо цветовых компонентов текстуру типа Cellular (Ячеистая). Наконец, для имитации случайных мерцаний угольков цвет ячеек карты Cellular (Ячеистая) заменим на текстуру типа Noise (Неоднородности). Иерархическая структура задуманной нами сложной составной текстуры показана на рис. 14.72.

Рис. 14.72. Структура стандартного материала горящих поленьев, основанного на карте текстуры градиента
Итак, для имитации материала горящих поленьев выполните следующие действия:
1. Продолжите работу над предыдущей сценой. Скройте все объекты, кроме двух поленьев — объектов Poleno01 и Poleno02. Активизируйте очередную свободную ячейку Редактора материалов и назовите новый материал Goriachie ugli (Горячие угли). В свитке Blinn Basic Parameters (Базовые параметры раскраски по Блинну) оставьте в качестве всех параметров материала их исходные значения, только в счетчике Self-Illumination (Самосвечение) установите величину 100, сделав материал предельно светящимся. Щелкните на маленькой квадратной кнопке справа от цветового поля параметра Diffuse (Диффузный) и выберите в появившемся окне просмотра материалов и карт текстур карту типа Gradient (Градиент). По умолчанию карта текстуры градиента имитирует плавный равномерный пере: ход цвета от чисто-белого к черному через оттенок серого, как видно из свитка Gradient Parameters (Параметры градиента), показанного на рис. 14.73.

Рис. 14.73. Свиток параметров текстуры градиента демонстрирует образцы опорных цветов, принятых по умолчанию
2. Щелкнув на кнопке Sample Type (Тип образца) справа от ячеек образцов Редактора материалов и задержав кнопку мыши нажатой, измените тип образца в ячейке со сферы на цилиндр, чтобы переход цветовых оттенков был более очевиден, как показано на рис. 14.74. Очевидно, что такой материал пока мало напоминает обугленное полено.

Рис. 14.74. Исходный вид материала, основанного на текстуре градиента
3. Измените значение счетчика Amount (Степень) в разделе Noise (Неоднородности) с принятой по умолчанию величины 0 на 0,9. В качестве всех остальных параметров оставьте их исходные значения. Поменяйте местами образцы белого и черного цветов. Для этого щелкните на образце белого цвета, перетащите его и положите поверх образца черного цвета. В появившемся окне диалога Copy or Swap Colors (Копировать или поменять цвета) щелкните на кнопке Swap (Поменять). Зашумленная картина градиента будет уже в большей степени напоминать искомый результат, как видно на рис. 14.75.

Рис. 14.75. После зашумления текстуры градиента материал больше походит на обгорелое полено
4. Теперь настало время заменить белый и серый образцы цвета картами ячеистой текстуры, призванной изобразить характерный рисунок обугленного дерева. Щелкните на кнопке с надписью None (Отсутствует) справа от образца белого цвета, имеющего имя Color # 1 (Цвет № 1), и выберите в списке окна диалога Material/Map Browser (Просмотр материалов и карт текстур) строку Cellular (Ячеистая). В появившемся свитке Cellular Parameters (Параметры ячеистой структуры), показанном на рис. 14.76, установите переключатель в разделе Cell Characteristics (Характеристики ячеек) в положение Chips (Угловатые). Ячейки, которые по умолчанию выглядят округлыми, примут форму осколков с линейными сторонами. Задайте средний размер ячеек в счетчике Size (Размер) равным 15 и установите степень разброса размеров ячеек относительно среднего в счетчике Spread (Разброс) равной 0,25. Установите флажок Fractal (Фрактал), что обеспечивает генерацию ячеек по фрактальному алгоритму. В этом случае перегородки между ячейками будут выражены не столь явно, как показано на рис. 14.77.

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

Рис. 14.77. На белых участках текстуры градиента появились явно выраженные ячейки, имитирующие распад обугленной древесины
5. Теперь осталось только создать еще один уровень вложения текстур. Щелкните на образце цвета в разделе Cell Color (Цвет ячейки) и задайте в качестве основного цвета ячеек красно-оранжевый с RGB-компонентами (255; 42; 0). Затем щелкните на кнопке с надписью None (Отсутствует) справа от образца цвета и выберите в появившемся списке текстуру типа Noise (Неоднородности). В свитке Noise Parameters (Параметры неоднородностей), показанном на рис. 14.78, увеличьте значение в счетчике Low (Нижний) группы Noise Threshold (Порог неоднородностей) с 0 до 0,3, чтобы сделать кромки случайных пятен несколько более сглаженными. Затем измените исходные значения цветов пятен. В поле образца Color # 1 (Цвет № 1) установите вместо черного оранжевый цвет с RGB-компонентами (255; 54; 0), а в поле образца Color # 2 (Цвет № 2) вместо белого — желто-лимонный (252; 255; 0). Обратите внимание на то, что и здесь можно было бы заменить цвета пятен текстурами, воспользовавшись соответствующими кнопками группы Maps (Карты текстур) справа от цветовых образцов. Оставьте все остальные параметры равными их исходным значениям. После всех этих действий цвет заливки ячеек станет случайным образом меняться от оранжевого к желтому.

Рис. 14.78. Свиток параметров текстуры Noise позволяет настраивать цвета, размеры и характерную форму пятен
6. Вернитесь на уровень карты ячеистой текстуры, щелкнув на кнопке Go to Parent (Перейти к составному материалу), а затем щелкните на этой кнопке повторно, чтобы подняться еще на один уровень вверх по дереву иерархии материала, на уровень карты градиента. Скопируйте готовую настроенную ячеистую текстуру, заменяющую собой образец цвета Color # 1 (Цвет № 1), применив копию в качестве образца цвета Color # 2 (Цвет № 2). Для этого щелкните справа от цветового поля Color # 1 (Цвет № 1) на кнопке с надписью Map # 1 (Cellular) (Карта № 1 (Ячеистая)), перетащите курсор на кнопку правее цветового поля Color # 2 (Цвет № 2) и отпустите кнопку мыши. Выберите в качестве типа дубликата вариант Instance (Образец).
7. Все, что нам остается сделать, — это несколько усилить эффект действия текстуры. Чтобы слегка осветлить самые темные участки материала, щелкните в свитке параметров текстуры градиента на образце черного цвета с именем Color # 3 (Цвет № 3) и установите для него более светлый оттенок с RGB-компонентами (32; 32; 32). Затем раскройте свиток Output (Результат). Увеличьте значение в счетчике Output Amount (Выходное значение) с принятой по умолчанию величины 1 до 2. Теперь и впрямь будет казаться, что наш материал изображает угли, раскаленные докрасна! Конечно, черно-белый рис. 14.79 не может передать этого эффекта, но взгляните на цветной вариант рисунка, который есть в папке lmages\Glava_14 компакт-диска, прилагающегося к книге. В заключение примените материал к обоим поленьям и поместите его в текущую библиотеку. Сохраните файл сцены под измененным в начале упражнения именем MAX-kafe14.max.

Рис. 14.79. Итоговый вид материала, имитирующего горящие поленья
Создаем флаг на здании кафе «МАХ»
В каком случае на здании может быть вывешен флаг? Обычно это делается в дни государственных праздников. Что ж, предположим, что мы решили заглянуть в кафе «МАХ» именно в такой день, поэтому на его стене красуется развевающийся флаг. Попробуем создать такую анимацию средствами модуля Cloth (Ткань). Откройте файл с созданной в прошлом упражнении занавесью на окне. Если по каким-то причинам вы не сохранили этот файл, вы можете открыть сцену МАХ-kafe_zanaves.max, которая находится на компакт-диске в папке Scenes\Glava_17. Сохраните ее под названием MAX-kafe_flag.max.
1. Скройте все объекты сцены, кроме объекта Fasad. Постройте стандартный примитив Cylinder (Цилиндр) радиусом 2 см и длиной 147 см. В окне проекции Right (Вид справа) создайте сплайновую форму Rectangle (Прямоугольник) с длиной 60 см и шириной 80 см. Именно она будет играть роль каркаса развевающейся ткани. Подберите положение сплайнового объекта таким образом, чтобы он примыкал к цилиндру одной из сторон (рис. 17.22). Преобразуйте стандартный сплайн в редактируемый. Выбрав подобъект Vertex (Вершина), выделите все вершины объекта и в свитке Geometry (Геометрия) нажмите кнопку Break (Разбить). После этого сплайн будет разделен на четыре отдельные части.

Рис. 17.22. Объект Rectangle совмещен с флагштоком
2. Выключите режим Vertex (Вершина) и примените к объекту модификатор Garment Maker (Создатель одежды). Этот модификатор служит для создания ткани на основе сплайновых форм. Примените теперь к объекту модификатор Cloth (Одежда), с помощью которого можно определить настройки ткани и взаимодействующих с ней тел. На панели Modify (Изменить) появятся свитки параметров этого модификатора: Object (Объект), Material Params (Параметры материала) и Simulation Parameters (Параметры имитации).
3. Нажмите кнопку Object Properties (Свойства объекта) в свитке Object (Объект), чтобы вызвать появление окна диалога Object Properties (Свойства объекта). С помощью кнопки Add Objects (Добавить объекты) этого окна добавьте в список объектов, которые будут участвовать во взаимодействии, цилиндр, играющий роль флагштока, и фасад кафе «МАХ». В окне диалога Object Properties (Свойства объекта) выделите объект Rectangle01 (Прямоугольник01) и установите для него переключатель в положение Cloth (Одежда). В списке Presets (Заготовки) выберите Silk (Шелк) (рис. 17.23). Благодаря выбранной заготовке параметры ткани изменятся, и флаг будет вести себя на ветру так, как должен. Выделите имя объекта Fasad и установите переключатель в положение Collision Object (Объект столкновения). Тем самым вы укажете, что ткань должна будет соприкасаться со стеной здания, а не проходить сквозь нее. Выделите флагшток и укажите для него тип объекта Inactive (Неактивный). Флагшток не будет принимать участие в столкновении, но должен быть добавлен в список объектов, участвующих во взаимодействии, так как к нему мы присоединим флаг на следующем этапе. Нажмите кнопку ОК.

Рис. 17.23. Установка параметров объектов в окне диалога Object Properties
4. Щелкните в стеке модификаторов по значку «+» возле строки Cloth (Ткань) и выделите в списке подобъектов строку Group (Группа). После этого на ткани будут видны вершины поверхности. Выделите вертикальный крайний ряд вершин, примыкающих к флагштоку, и нажмите кнопку Make Group (Создать группу) в появившемся свитке Group (Группа). Появится одноименное окно, в котором необходимо ввести название группы. Назовите ее Krepezh. Созданную группу вершин необходимо присоединить к флагштоку. Нажмите в свитке Group (Группа) кнопку Sim Node (Опорный узел имитации) и щелкните по цилиндру-флагштоку. Выключите режим работы с подобъектом Group (Группа).
5. Теперь необходимо разместить флаг на углу здания, где он будет развеваться. Поверните флагшток вместе с полотнищем примерно на 30-40° и воткните флагшток в стену на нужной высоте. Чтобы флаг развевался на ветру, нужно также добавить в сцену объемную деформацию Wind (Ветер) и разместить ее таким образом, чтобы стрелка направления указывала на флаг сбоку (рис. 17.24). В отличие от модуля reactor (Реактор), модуль Cloth (Ткань) использует стандартную объемную деформацию. В настройках объекта Wind (Ветер) установите силу ветра равной 1,2, а турбулентность — 0,2. Выделите ткань на флаге и нажмите кнопку Cloth Forces (Силы, воздействующие на ткань) в свитке Object (Объект). В появившемся окне Forces (Силы) выделите в списке Forces in Scene (Силы в сцене) созданную только что объемную деформацию и при помощи кнопки с изображением правой стрелки перенесите ее в список Forces in Simulation (Просчитываемые силы).

Рис. 17.24. Расположение объемной деформации Wind в сцене
6. Для просчета анимации сцены нажмите кнопку Simulate (Просчет) в свитке Object (Объект). Просчет может занять несколько минут. Если в процессе анимации возникли проблемы (например, флаг неестественно двигается), попробуйте изменить настройки ткани в окне Object Properties (Свойства объекта). Например, измените тип ткани, выбираемый в списке Presets (Заготовки) с Silk (Шелк) на Stratched Cotton (Растяжимый хлопок). Для отказа от просчитанной анимации нажмите кнопку Reset State (Восстановить состояние), после чего произведите повторную настройку сцены и снопа нажмите кнопку Simulate (Просчет).
7. Для большей реалистичности раскрасьте флаг в национальные цвета, после чего включите отображение скрытых объектов сцены и выполните конечную визуализацию (рис. 17.25).

Рис. 17.25. Кадр из анимации флага на ветру, созданной посредством модуля Cloth
Создаем ложку в виде NURBS-тела лофтинга
Ложка нам понадобится для сервировки столов «МАХ-кафе». Если вдуматься, то создать трехмерное тело в форме обычной ложки не так-то просто. Ложка не является ни телом вращения, ни телом экструзии, да и обычный лофтинг не дает желаемых результатов — ложка выходит довольно корявая (попробуйте сами!). Тут-то и приходит на помощь лофтинг NURBS-поверхности. Кстати, при выполнении этого упражнения мы рассмотрим еще один полезный практический прием, часто применяемый разработчиками трехмерных моделей, — использование опорных контуров-проекций. Такие контуры не участвуют непосредственно в формировании поверхности, а служат только опорными линиями, демонстрирующими будущие границы проекций поверхности создаваемого тела. Опорные проекции используются для визуальной ориентировки с целью правильного размещения и масштабирования сечений.
Итак, чтобы усвоить все особенности построения NURBS-поверхностей методом лофтинга, внимательно повторяйте за мной следующие действия:
1. Подготовьте программу к работе обычным порядком. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Установите в окне проекции Тор (Вид сверху) масштаб, при котором вертикальный размер видимой части сетки составляет примерно 25 см. Разверните окно проекции на весь экран. Сохраните созданную пустую сцену под именем Lozhka.max.
2. Нарисуйте в окне проекции Тор (Вид сверху) зеркальную половину опорного контура проекции будущей ложки, показанную на рис. 7.14. Этот контур не будет непосредственно использоваться при создании трехмерного тела, но в порядке тренировки создайте его в виде NURBS-кривой типа CV, выбрав для этого на командной панели Create (Создать) инструмент CV Curve (CV-кри-вая). Первую (крайнюю слева) опорную вершину поместите в точку (-15,5; 0; 0), последнюю — в точку (14; 0; 0). Остальные опорные вершины разместите так, чтобы по возможности воспроизвести контур, приведенный на рисунке.

Рис. 7.14. Нарисована зеркальная половина опорного контура проекции будущей ложки
3. Нарисовав линию половины контура, выделите ее и создайте зеркальную копию кривой. Для этого перейдите на командную панель Modify (Изменить) и раскройте палитру инструментов для работы с NURBS-объектами, щелкнув на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов) в свитке General (Общие параметры). Выберите инструмент Create Mirror Curve (Создать зеркальную кривую). Курсор примет вид стрелки со значком, изображенным на кнопке. Установите курсор на линию контура. Она при этом должна окраситься в синий цвет, а курсор — принять вид крестика. Щелкните кнопкой мыши, создав зеркальную копию кривой. Установите переключатель Mirror Axis (Ось отражения) в положение Y. Настройте значение в счетчике Offset (Смещение) так, чтобы крайние вершины исходной кривой и ее копии совпали, как показано на рис. 7.15.

Рис. 7.15. Зеркальная копия и оригинал составили полный контур проекции ложки в окне Тор
4. Перейдите в окно проекции Front (Вид спереди) и, снова выбрав инструмент CV Curve (CV-кривая), нарисуйте опорный контур проекции будущей ложки при взгляде на нее сбоку, как показано на рис. 7.16. Горизонтальный размер контура должен быть таким же, как и предыдущего, подготовленного в окне проекции Тор (Вид сверху). На этом подготовительная часть работы заканчивается.

Рис. 7.16. В окне проекции Front нарисуйте опорный контур проекции ложки при взгляде сбоку
5. Переходим к главному — подготовке сечений для лофтинга. Активизируйте окно проекции Left (Вид слева). Выделите обе линии контуров и щелкните на кнопке Zoom Extents Selected (Выделенные объекты целиком), чтобы установить в окне нужный масштаб. Выберите инструмент Ellipse (Эллипс) и постройте в центре окна сильно вытянутый эллипс с горизонтальной осью размером порядка 3-3,5 см, как показано на рис. 7.17. Назовите объект Sechenie01. Щелкните на выделенном эллипсе правой кнопкой мыши и выберите в появившемся четвертном меню цепочку команд Convert To > Convert to NURBS (Превратить в > Превратить в NURBS-поверхность). Эллипс будет преобразован в NURBS-поверхность, представленную пока только одним сечением.

Рис. 7.17. Сечения для лофтинга будем создавать на основе стандартного сплайна Ellipse, преобразованного в NURBS-поверхность
6. Теперь нужно создать достаточное количество копий сечения и разместить их в нужных местах вдоль контура будущей ложки. Активизируйте окно проекции Тор (Вид сверху). Ориентируясь по линии контура проекции, переместите эллипс на левый край контура. Щелкните на квадратике со знаком «плюс» слева от надписи NURBS Surface (NURBS-поверхность) в окне стека модификаторов командной панели Modify (Изменить) и выберите в раскрывшемся дереве подобъектов строку Curve (Кривая). Это нужно для того, чтобы все создаваемые сечения оказались подобъектами одной NURBS-поверх-ности. Нажав и удерживая клавишу Shift, щелкните на эллипсе и слегка переместите его вправо, установив курсор на ось X контейнера преобразования. В появившемся окне диалога Sub-Object Clone Options (Параметры дублирования подобъектов) просто щелкните на кнопке ОК, оставив переключатель в положении Independent Copy (Независимая копия). Создайте таким образом в общей сложности 14 сечений, располагая их более часто в тех местах, где форма опорного контура резко меняется. Там, где форма опорного контура изменяется плавно, можно располагать сечения с большими интервалами, как показано на рис. 7.18.

Рис. 7.18. Все 14 сечений размещены вдоль контура проекции ложки
7. Далее необходимо придать изгиб контурам сечений, по которым будет строиться вогнутая часть «резервуара» ложки. Для этого воспользуемся модификатором изгиба, с которым вы познакомились в главе 6. Выделите сечения 10-14 на уровне подобъекта Curve (Кривая). Выделенные сечения окрашиваются в красный цвет. Раскройте список Modifier List (Список модификаторов) командной панели Modify (Изменить) и щелкните на строке Bend (Изгиб). В свитке Parameters (Параметры) с элементами настройки изгиба установите переключатель Bend Axis (Ось изгиба) в положение X. Укажите в счетчике Angle (Угол) раздела Bend (Изгиб) величину -185°, а в счетчике Direction (Направление) задайте 90, чтобы изгиб происходил в вертикальной плоскости. В итоге вы должны получить результат, показанный на рис. 7.19.

Рис. 7.19. Изгиб сечений хорошо виден в окне проекции Left
8. Для продолжения работы над телом лофтинга необходимо свернуть модификатор изгиба в стеке модификаторов. Что такое стек модификаторов, как и зачем его «сворачивать», вы узнаете подробнее в главе 8, а пока просто щелкните на строке Bend (Изгиб) в окне стека модификаторов правой кнопкой мыши и выберите в появившемся контекстном меню стека команду Collapse All (Свернуть все), как показано на рис. 7.20. В окне предупреждения о критическом характере операции сворачивания модификаторов щелкните на кнопке Yes (Да).

Рис. 7.20. В контекстном меню стека модификаторов выбрана команда Collapse All
9. Теперь выполните необходимое масштабирование сечений, подгоняя их размер по видимой линии опорного контура проекции ложки. Для этого снова выберите строку Curve (Кривая) в развернутом ранее дереве подобъектов объекта NURBS Surface (NURBS-поверхность). Выберите инструмент Select and Uniform Scale (Выделить и равномерно масштабировать). Поочередно выделяйте сечения одно за другим в окне проекции Тор (Вид сверху) и изменяйте их масштаб только вдоль оси Y, ориентируясь на линию контура, как показано на рис. 7.21. Как вы помните, в max 7.5 инструмент Select and Uniform Scale (Выделить и равномерно масштабировать) позволяет выполнять операцию неравномерного масштабирования. С этой целью курсор следует устанавливать не в пределы треугольной области у центра контейнера преобразования и не на трапециевидную полоску, а именно на ось У, следя за тем, чтобы она приобрела желтую окраску. Сечение на правом краю черпака будущей ложки нужно стянуть практически в точку. С этой целью удобно использовать окно численного ввода значений коэффициентов масштаба. Выделив сечение, щелкните на кнопке инструмента Select and Uniform Scale (Выделить и равномерно масштабировать) правой кнопкой мыши. Введите в поле счетчика Offset: Screen (Приращения: экранные) значение 1, чтобы уменьшить размер сечения до 1 % от текущей величины. Уменьшать масштаб до 0 % не следует, такая операция не является корректной.

Рис. 7.21. В результате масштабирования сечения приобрели нужный размер
10. Переместите сечения в нужные положения по вертикали. Для этого перейдите в окно проекции Front (Вид спереди) и, ограничивая перемещение осью Y, передвиньте сечения по вертикали, разместив их в пределах контура сечения ложки. Чередуя работу с инструментами Select and Move (Выделить и переместить) и Select and Uniform Scale (Выделить и равномерно масштабировать) в окнах проекций Тор (Вид сверху) и Front (Вид спереди), выполните подгонку размеров сечений по опорным контурам проекций ложки, как показано на рис. 7.22. Это удобно делать, развернув окно проекции во весь экран. Как вы помните, для этого достаточно нажать клавиши Alt+w. Для переключения проекций в окне также используйте клавиатурные комбинации: нажатие клавиши Т в латинском регистре включает проекцию Тор (Вид сверху), клавиши F — проекцию Front (Вид спереди).

Рис. 7.22. После перемещения по вертикали и подгонки размеров сечения заняли нужные положения в пространстве
11. Настала пора создать поверхность методом лофтинга. Выключите режим выделения подобъектов, щелкнув в окне стека модификаторов на строке NURBS Surface (NURBS-поверхность). Чтобы опорные контуры не мешали процедуре построения поверхности, скройте их от просмотра. Раскройте палитру инструментов для работы с NURBS-объектами, щелкнув на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов) в свитке General (Общие параметры) командной панели Modify (Изменить).

Выберите инструмент Create U Loft Surface (Создать поверхность методом U-лофтинга). Переместите курсор в окно проекции Тор (Вид сверху), где он примет вид стрелки со значком, указанным на кнопке инструмента. Установите курсор на первое слева сечение и, когда линия сечения окрасится в синий цвет, а курсор примет вид крестика, щелкните кнопкой мыши. Сечение будет помечено синим кружком, что указывает на его включение в поверхность. Переместите курсор к следующему сечению (за курсором потянется пунктирная линия) и снова щелкните кнопкой мыши. Продолжайте щелкать последовательно на остальных сечениях. Если в окне проекции включен режим тонированного отображения, вы будете наблюдать постепенное формирование поверхности тела лофтинга, как показано на рис. 7.23. Щелкнув па последнем сечении, щелкните правой кнопкой мыши для завершения процесса лофтинга. Назовите сформированный объект Lozhka.

Рис. 7.23. Для построения поверхности просто последовательно щелкайте на сечениях
12. При необходимости коррекции формы ложки включите режим выделения подобъектов, выбрав строку Curve (Кривая) в развернутом дереве подобъектов. Снова восстановите видимость опорных контуров. Выделяйте отдельные кривые сечений и перемещайте или масштабируйте их, добиваясь нужного результата, показанного на рис. 7.24. Закончив корректировку модели, удалите кривые опорных контуров. Сохраните файл под заданным в начале работы именем Lozhka.max. Сопоставьте получившийся у вас результат с объектом из файла с таким же именем Lozhka.max, который располагается в папке Scenes\G!ava_07 компакт-диска, прилагающегося к книге.

Рис. 7.24. Окончательный вид ложки, сформированной как NURBS-поверхность методом лофтинга
Создаем плафон светильника в виде NURBS-тела вращения
Рассмотрим теперь особенности создания тел вращения на основе профиля в виде NURBS-кривой с помощью инструмента Create Lathe Surface (Создать поверхность вращением). Для проекта «МАХ-кафе» нам понадобятся два настенных светильника, имеющих стеклянные плафоны. Такой плафон мы и создадим сейчас методом вращения профиля в виде NURBS-кривой. Выполните следующие действия:
1. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Сохраните пустую сцену в файле под именем Lampa.max.

Рис. 6.31. Бокал для вина, созданный методом вращения профиля
2. С помощью инструмента Pan (Прокрутка) переместите начало координат в окне проекции Front (Вид спереди) к середине нижней кромки окна и разверните окно во весь экран. Уменьшите масштаб, чтобы высота видимой части сетки в окне составляла примерно 45 см.
3. Щелкните на кнопке Shapes (Формы) командной панели Create (Создать) и выберите в раскрывающемся списке разновидность объектов NURBS Curves (NURBS-кривые). В свитке Object Type (Тип объекта) щелкните на кнопке Point Curve (Точечная кривая).
4. Нарисуйте разомкнутый профиль, показанный на рис. 6.32. Вершины, считая сверху вниз, поместите в следующих точках: 1 — (4,95; 0; 39,0), 2 - (4,65; 0; 31,6), 3 - (8,3; 0; 22,85), 4 - (10,7; 0; 15,2), 5 - (8,4; 0; 7,8). Вершину 6 создайте тройным щелчком в точке (4,65; 0; 4,8). Последнюю вершину поместите в точке (4,65; 0; 0).

Рис. 6.32. Профиль плафона лампы в виде точечной NURBS-кривой
5.

Выделите профиль, разверните на командной панели Modify (Изменить) свиток Create Surfaces (Создать поверхности) и щелкните на кнопке Lathe (Вращение). С той же целью можете раскрыть показанную на рис. 6.33 палитру инструментов для работы с NURBS-поверхностями, щелкнув на кнопке NURBS Creation Toolbox (Инструменты создания NURBS-объектов) в свитке General (Общие параметры), и выбрать инструмент Create Lathe Surface (Создать поверхность вращением).

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

Рис. 6.33. Палитра инструментов для работы с NURBS-поверхностями
6. Переместите курсор, который примет вид значка на кнопке инструмента, в окно проекции Front (Вид спереди) и установите его на профиль. Профиль должен приобрести синий цвет, что указывает на готовность к созданию поверхности. Щелкните кнопкой мыши. Вид полученного тела вращения показан на рис. 6.34, слева. Очевидно, это не совсем то, что нам нужно: ось вращения расположена на левом краю габаритного контейнера кривой профиля, а следовало бы переместить ее еще левее. Как это сделать в случае использования модификатора Lathe (Вращение), было рассмотрено выше, а сейчас нам предстоит научиться изменять форму NURBS-тела вращения.
7. Убедитесь, что только что созданный объект выделен (в каркасном режиме линия профиля будет при этом изображаться белым цветом, а контуры тела вращения — зеленым), и щелкните на квадратике со знаком «плюс» в окне стека модификаторов. Выберите в развернувшемся дереве подобъектов строку Curve (Кривая). Установите курсор на линию профиля и, когда он примет вид крестика, щелкните кнопкой мыши. В отличие от правки формы тел вращения, созданных модификатором Lathe (Вращение), где требовалось перемещать ось вращения, перетаскивайте линию профиля, приобретающую красный цвет, в сторону от оси вращения. Наблюдайте за изменением формы тела и в нужный момент отпустите кнопку мыши. Если необходимо откорректировать форму кривой профиля, выберите в дереве подобъектов строку Point (Точка) и перемещайте опорные точки кривой. Окончательный вид объекта показан на рис. 6.34, справа.

Рис. 6.34. Исходная форма плафона в виде NURBS-тела вращения (слева); она же после коррекции положения кривой (справа)
8. Назовите объект Plafon и сохраните его в файле под уже заданным именем Lampa.max. Файл с аналогичным именем хранится в папке Scenes\Glava_06 прилагающегося к книге компакт-диска, так что вы можете сравнить полученный результат с готовым объектом из этого файла.
В той же папке Scenes\Glava_06 прилагающегося к книге компакт- диска вы можете найти файл Shahmati.max, содержащий модель сцены в виде шахматной доски с расставленными на ней фигурами (рис. 6.35).

Рис. 6.35. Трехмерная модель шахмат — хороший пример для отработки методов моделирования, а впоследствии и анимации
Из тридцати двух фигур уникальными являются только шесть: король, ферзь, слон, конь, ладья и пешка, остальные же — просто дубликаты. И все уникальные фигуры, за исключением коней, созданы методом вращения профилей (рис. 6.36). Впрочем, основания фигурок коней — это тоже тела вращения. Попробуйте самостоятельно воссоздать шахматные фигуры, подобные представленным в этой сцене. В главе 8 вы узнаете о том, как «нарезать» зубцы на верхушке ладьи, а в главе 9 мы рассмотрим один из возможных методов моделирования фигурки шахматного коня.

Рис. 6.36. Пешка, ладья, слон, ферзь и король {слева) с точки зрения ЗD-графики являются асесимметричными телами, а потому для их создания хорошо подходит метод вращения профилей {справа)
Создаем снежные валики
Так как по задуманному сценарию наше кафе «МАХ» распахнуло свои двери зимой, то основания его стен должны быть несколько заметены снегом, как было показано на рис. 1.20 главы 1.
Чтобы создать заготовки снежных валиков, образовавшихся на краях фундамента, выполните следующие действия:
1. Загрузите ранее созданную в этой главе сцену, содержащую модель здания кафе «МАХ». Если вы по каким-либо причинам не сохранили файл этой сцены, то можете найти его в папке \Scenes\Glava_05 прилагающегося к книге компакт-диска под именем MAX-kafe02.max. Сразу же после загрузки сохраните файл сцены с инкрементированием имени.
2. Создайте в окне проекции Тор (Вид сверху) три улучшенных примитива типа ChamferBox (Параллелепипед с фаской) размерами 330x40x12 см, 170x40x12 см и 205x25x5 см. Ширину фаски у всех трех параллелепипедов сделайте равной 7 см. Установите для всех трех примитивов число сегментов по длине равным 16, по ширине — 4 и по высоте — 3. Такая достаточно детальная сегментация необходима для того, чтобы впоследствии можно было успешно применить к данным объектам модификатор Noise (Неоднородности) с целью придания валикам снега естественной неровности. Назовите объекты Valik01, Valik02 и Valik03 соответственно.
3. Поместите все три валика на предназначенные для них места. Самый длинный валик шириной 40 см поместите на краю фундамента слева от ступеньки, обозначающей место будущего дверного проема кафе. Второй валик шириной 40 см и длиной 170 см разместите на краю фундамента справа от ступеньки. Валик толщиной 5 см поместите прямо на ступеньку. Размещение снежных валиков, естественно, не требует высокой геометрической точности.
4. Переключитесь на вид слева или справа и слегка поверните каждый из валиков, придав им некоторый наклон. При этом для большей естественности имитации снежного наноса заставьте сетку валиков слегка проникать внутрь сеток стен, фундамента и ступеньки, примерно так, как показано на рис. 5.16.

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

Рис. 5.17. Общий вид здания кафе со снежными валиками на выступах фундамента и ступеньке
Усовершенствуем отражатель настенного светильника с помощью модификатора Taper
В предыдущей главе мы создали отражатель настенного светильника в виде усеченного конуса. Выглядит он совсем неплохо, однако когда дело дойдет до имитации свечения лампы, тень выдаст дефект: в этом отражателе нет отверстия. Можно создать более совершенный отражатель, использовав стандартный примитив типа Tube (Труба) и применив к нему модификатор заострения. Попробуйте проделать следующие действия:
1. Откройте ранее сохраненный вамп файл Lampa03.max или загрузите файл Lampa03.max из папки Scenes\Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Выделите объект-группу Lampa01 и выполните команду главного меню Group > Open (Группа > Открыть). Выделите объект Otrazhatel и удалите его.
3. Создайте стандартный примитив Tube (Труба) со следующими размерами: Radius 1 (Радиус 1) = 23 см; Radius 2 (Радиус 2) = 22,5 см; Height (Высота) = 7 см.
4. Примените к трубе модификатор Taper (Заострение). Установите в счетчике Amount (Величина) значение -0,55. Назовите объект Otrazhatel, назначьте ему золотистый цвет и переместите на место прежнего отражателя. Сверните стек объекта Otrazhatel, превратив его в редактируемую сетку. Теперь отражатель светильника выглядит более реалистично, как показано на рис. 8.14, и обеспечит формирование нужной тени в главе 11, когда мы займемся освещением сцены.

Рис. 8.14. Отражатель светильника, изготовленный на основе примитива Tube с использованием модификатора заострения
5. Пока новый объект еще выделен, присоедините его к группе, выбрав команду меню Group >Attach (Группа > Присоединить) и щелкнув па габаритном контейнере открытой группы. Закройте группу, выбрав команду меню Group > Close (Группа > Закрыть группу). Сохраните файл под назначенным в начале работы именем Lampa04.max.
Заставляем свет отбрасывать тени и настраиваем их параметры
Отсутствие теней от освещенных объектов является фактором, резко снижающим достоверность изображения. Наши глаза с детства привыкли к тому, что освещенные объекты должны давать тень, поэтому отсутствие теней сразу замечается. Продолжите предыдущее упражнение, чтобы освоить настройку теней.
1. Чтобы объекты, освещаемые настраиваемым осветителем, начали отбрасывать тени, в простейшем случае требуется лишь установить флажок On (Вкл.) в разделе Shadows (Тени) свитка General Parameters (Общие параметры). Установите флажок и выполните визуализацию сцены в окне проекции Perspective (Перспектива). Результат должен быть примерно таким, как на рис. 11.13. Казалось бы, ну что такое тень в реальной жизни: просто место, куда не попадают лучи света от данного осветителя. Однако в реальности теневые участки могут дополнительно подсвечиваться лучами этого же источника света, переотраженными от других предметов окружающей обстановки. Тень от этого может становиться прозрачнее или приобретать цветовой оттенок. Так как при обычной простейшей визуализации, которую мы сейчас рассматриваем, эффект переотражения лучей в max 7.5 не воспроизводится, для улучшения качества теней они снабжены массой различных параметров, таких как тип тени, ее цвет, плотность и т. п. Тип тени выбирается в раскрывающемся списке раздела Shadows (Тени) в свитке General Parameters (Общие параметры), а остальные параметры располагаются в отдельном свитке Shadow Parameters (Параметры тени), показанном на рис. 11.14. Кроме того, дополнительные параметры появляются в свитках, названия и состав элементов управления которых меняются в зависимости от выбранного типа тени.

Рис. 11.13. Теперь, когда появились тени, сцена выглядит гораздо естественнее

Рис. 11.14. Свиток Shadow Parameters позволяет настраивать параметры теней, отбрасываемых выделенным осветителем
2. Для большинства осветителей но умолчанию в раскрывающемся списке раздела Shadows (Тени) в свитке General Parameters (Общие параметры) выбираются тени типа Shadow Map (Карта теней). Исключение составляют осветители, для которых выбирается вариант Ray Traced Shadows (Трассированные тени). Особенности этого варианта будут рассмотрены ниже. Тени типа Shadow Map (Карта теней) рассчитываются как центральные проекции освещаемых объектов из точки расположения осветителя на затеняемые поверхности сцены. Метод карт теней позволяет быстро строить тени с мягкими, слегка размытыми краями. Чтобы рассмотреть особенности теней данного типа, увеличьте изображение в окне проекции Perspective (Перспектива), чтобы ближний к зрителю настенный светильник занимал почти все окно, и выполните визуализацию изображения. Как видно на рис. 11.15, тень светильника на стене действительно имеет мягкие, размытые края. Основным параметром тени типа Shadow Map (Карта теней) является размер карты теней, от которого зависит, насколько детально будут прорисованы границы теневой области. Этот параметр задается счетчиком Size (Размер) в свитке Shadow Map Parameters (Параметры карты теней). По умолчанию этот размер выбирается равным 512, что означает разбиение картинки при расчете карты тени на 512x512 элементарных участков. Если значение размера карты уменьшить, скажем, до 256, четкость краев тени снижается, как видно на рис. 11.15, справа. Соответственно, при увеличении параметра четкость границ возрастает, но увеличивается и время визуализации картинки.

Рис. 11.15. Тени, основанные на картах теней, не очень точно воспроизводят проекцию объекта и имеют края, степень размытия которых тем выше, чем меньше размер карты теней: слева — 512x512 точек, справа — 256x256 точек
3. Чтобы сымитировать некоторую подсветку области тени лучами света, многократно отражающимися от потолка и стен комнаты, можно уменьшить плотность тени, задаваемую счетчиком Dens. (Плотность) в свитке Shadow Parameters (Параметры тени). По умолчанию плотность тени равна 1, но если уменьшить это значение, тени станут прозрачнее, как показано на рис. 11.16.

Рис. 11.16. Уменьшение параметра Dens теней до 0,5 делает тени более светлыми и прозрачными, что придает им больший реализм
4. Теперь раскройте список типов теней в свитке General Parameters (Общие параметры). Вы увидите в нем пять типов теней: помимо уже знакомого нам типа Shadow Map (Карта теней), в списке имеются еще тени типа Adv. Ray Traced (Усовершенствованные трассированные), Ray Traced Shadows (Трассированные тени), mental ray Shadow Map (Карта теней mental ray) и Area Shadows (Площадные тени). Выберите вариант Ray Traced Shadows (Трассированные тени). В этом случае тени формируются как зоны, недоступные для воображаемых лучей света, путь которых отслеживается (трассируется) от источника до глаз наблюдателя. Метод трассировки применяется для имитации точных по форме теней с резко очерченными краями. Вновь визуализируйте изображение в окне проекции Perspective (Перспектива), чтобы получить картину, подобную показанной на рис. 11.17. Трассированные тени являются более правильными геометрически, но для их визуализации требуется большее время. Аналогичными свойствами обладают тени типа Adv. Ray Traced (Усовершенствованные трассированные), которые имеют дополнительные параметры для настройки в случаях, когда такие тени отбрасываются новыми площадными фотометрическими осветителями. Эти дополнительные параметры помещаются в свитках Adv. Ray Traced Params (Параметры усовершенствованных трассированных теней) и Optimizations (Оптимизация), рассмотрение которых выходит за рамки наших задач. Тени типа mental ray Shadow Map (Карта теней mental ray) могут использоваться только в том случае, если сцена визуализируется с использованием модуля mental ray. При использовании стандартного модуля визуализации тени данного типа будут полностью отсутствовать.

Рис. 11.17. Тени, сформированные методом трассировки лучей, точно воспроизводят проекцию объекта и имеют резко очерченные края
5. Трассированные тени, безусловно, хороши, но и они не выглядят достаточно естественными из-за своей чрезмерной резкости. В реальной жизни чаще всего встречаются тени, края которых становятся все более нерезкими по мере удаления от объекта. Дело в том, что в реальной жизни осветители никогда не являются точечными, то есть не испускают лучи света из одной точки, как стандартные осветители max 7.5. Если же область, из которой исходит свет, имеет определенные конечные размеры, то и границы тени не будут резкими. Действительно, ведь в этом случае на той поверхности, куда падает тень, можно найти точки, для которых источник света заслоняется объектом, отбрасывающим тень, не целиком, а только частично. Эти-то точки и образуют постепенно сходящую на нет границу теневой области. В max 7.5 проблемы формирования геометрически правильных теней с границами, резкость которых убывает по мере удаления от объекта, не существует. Для получения подобных теней служат площадные источники света и тени типа Area Shadows (Площадные тени), которые могут формироваться применительно к осветителям любого типа. При использовании площадных теней любой осветитель заменяется воображаемой совокупностью точечных источников света, равномерно размещенных в пределах области заданной формы и размеров. Итак, выберите в раскрывающемся списке свитка General Parameters (Общие параметры) вариант Area Shadows (Площадные тени) и визуализируйте изображение сцены, показанной ранее на рис. 11.13. В результате должно получиться изображение, подобное приведенному на рис. 11.18.

Рис. 11.18. Площадные тени точно воспроизводят проекцию объекта, но имеют края, резкость которых убывает по мере удаления тени от объекта
6. Настройка параметров площадных теней производится в свитках Area Shadows (Площадные тени) и Optimizations (Оптимизация), появляющихся в нижней части панели Modify (Изменить). В частности, в раскрывающемся списке раздела Basic Options (Базовые настройки) свитка Area Shadows (Площадные тени) можно выбрать один из пяти вариантов формы источника света, которая будет учитываться при расчетах теней:
Simple (Простой) — источник света рассматривается как точечный и расчет площадных теней не производится. Этот вариант применяют при предварительных тестовых визуализациях для экономии времени;
Rectangle Light (Прямоугольный источник) — свет испускается точечными излучателями, упорядоченными в виде прямоугольной решетки;
Disc Light (Дисковый источник) — свет испускается точечными излучателями, распределенными вдоль концентрических окружностей;
Box Light (Прямоугольный трехмерный источник) — свет испускается точечными излучателями, упорядоченными в виде прямоугольной трехмерной решетки;
Sphere Light (Сферический источник) — свет испускается точечными излучателями, распределенными в пределах сферы.
Обратите внимание на то, что выбор формы воображаемого излучателя света никак не сказывается на изображении значка настраиваемого осветителя в окнах проекций. При выборе любого из протяженных источников света задайте его воображаемые размеры Length (Длина), Width (Ширина) и Height (Высота) в разделе Area Light Dimensions (Размеры площадного источника). Изображение, показанное ранее на рис. 11.18, сформировано при размерах источника света прямоугольной формы 25,4x25,4 см.
|
СОВЕТ В последующих главах мы научимся создавать материалы со свойством полупрозрачности. При использовании таких материалов в составе сцены следует помнить, что лучи света от источников с тенями типа Shadow Map (Карта теней) не могут проникать через полупрозрачные объекты. При построении теней данного типа от полупрозрачных объектов последние считаются совершенно непрозрачными. Чтобы свет, к примеру, проникал в комнату через стекло окна, для источника света обязательно нужно выбирать трассированные, усовершенствованные трассированные или площадные тени. При этом, чтобы лучи источников света с тенями типа Area Shadows (Площадные тени) и Adv. Ray Traced (Усовершенствованные трассированные) были способны проникать сквозь полупрозрачные материалы, следует обязательно установить флажок On (Вкл.) в разделе Transparent Shadows (Прозрачные тени) свитка Optimizations (Оптимизация). Обычные трассированные тени проникают через полупрозрачные материалы по умолчанию. |
Разумеется, тени различных типов имеют еще много настраиваемых параметров, которые мы не рассмотрели в этом упражнении. При необходимости изучите эти параметры самостоятельно, используя электронную справочную систему max 7.5. Справочные сведения по параметрам новых площадных теней можно найти также в моей книге «3ds max. Материалы, освещение, визуализация», выпущенной издательством «Питер» в 2005 году.
|
СОВЕТ Итак, тени, основанные на картах теней, обладают самым низким качеством, но зато рассчитываются быстрее всех других. Тени площадного типа обладают наибольшим визуальным правдоподобием, но расчет их происходит существенно дольше всех других теней. Трассированные и усовершенствованные трассированные тени рассчитываются тоже достаточно долго и иногда оказываются неестественно резкими. Поэтому в качестве компромисса при формировании изображений средних планов сцены можно посоветовать использовать тени, основанные на картах теней, при увеличении значения размера карты до 1024x1024 точки. При синтезе крупных планов иногда приходится жертвовать временем в угоду качеству и использовать площадные тени. Трассированные тени хороши для сцен на открытом воздухе при ярком солнечном свете. |
Не закрывайте max 7.5, так как работа над сценой будет продолжаться.
Изготовляем опору настенного светильника с помощью модификатора Bevel
Светильник, плафон для которого мы создали при выполнении упражнения 4, нуждается в опоре, с помощью которой он будет крепиться к стене. Воспользуемся для создания такой опоры новым инструментом — модификатором Bevel (Скос). Этот инструмент дает возможность изменять масштаб профиля на заданной высоте выдавливания, позволяя тем самым формировать тела с фасками на краях или с закругленными краями, как показано на рис. 6.40.

Рис. 6.40. Опора настенного светильника в форме щита
Заодно в этом упражнении мы освоим методы зеркального копирования сплайнов и объединения двух сплайнов в один. Чтобы построить опору светильника в форме щита методом выдавливания с использованием модификатора Bevel (Скос), выполните следующие действия:
1. Загрузите сохраненный в упражнении 4 файл Lampa.max. Если вы по каким-то причинам не создали такой файл, откройте файл с аналогичным именем, хранящийся в папке Scenes\Glava_06 прилагающегося к книге компакт-диска. Сохраните файл с инкрементированием имени.
2. Чтобы объект Plafon не мешал работе над опорой, выделите его и скройте от просмотра, щелкнув на кнопке Hide Selected (Скрыть выделенные) в свитке Hide (Скрыть) командной панели Display (Дисплей) или выбрав команду Hide Selection (Скрыть выделенное) четвертного меню, вызываемого по щелчку правой кнопкой мыши на выделенном плафоне.
3. Измените масштаб в окне проекции Front (Вид спереди) так, чтобы вертикальный размер видимой части сетки составлял примерно 55-60 см. Начало координат сетки должно располагаться вблизи от середины нижнего края окна. Можете для удобства развернуть окно проекции во весь экран.
4. Нарисуйте сплайн, представляющий одну зеркальную половину будущего щита и показанный на рис. 6.41. Сплайн имеет 8 вершин, из которых первая расположена в точке (0; 0; 48,4), шестая — в точке (17,9; 0; 39,1) и последняя — в начале координат. Остальные вершины разместите самостоятельно, чтобы примерно воспроизвести показанную па рисунке форму кривой.

Рис. 6.41. Сплайн, представляющий собой зеркальную половину профиля сечения щита
5. Достройте вторую зеркальную половину профиля. Для этого в окне стека модификаторов командной панели Modify (Изменить) щелкните на квадратике со знаком «плюс» слева от наименования типа объекта Line (Линия) и выберите в раскрывшемся дереве подобъектов строку Spline (Сплайн). Прокрутите вверх область свитков командной панели, чтобы стала видна кнопка Mirror (Отразить) в свитке Geometry (Геометрия). Установите флажок Сору (Копия) под кнопкой Mirror (Отразить) и щелкните на кнопке. В окнах проекций появится зеркальная копия сплайна, выделенная красным цветом. Установите флажок Automatic Welding (Автоматическое слияние) в разделе End Point Auto-Welding (Автослияние крайних вершин) этого же свитка Geometry (Геометрия). Это обеспечит слияние концевых вершин двух копий сплайна при их примерном совмещении. С помощью инструмента Select and Move (Выделить и переместить) переместите копию влево, так чтобы ее первая и последняя вершины совпали с первой и последней вершинами оригинала кривой. Как только вы отпустите кнопку мыши, обе половинки сплайна сольются в единую кривую, которая вся приобретет красный цвет (рис. 6.42). Щелкните на строке Line (Линия) в окне стека модификаторов, чтобы выключить режим выделения подобъектов.

Рис. 6.42. Зеркальная копия половины профиля сечения щита слита с оригиналом
6. Убедитесь, что сплайн выделен, и примените к нему модификатор Bevel (Скос). Чтобы выбрать данный модификатор, раскройте список Modifier List (Список модификаторов) на командной панели Modify (Изменить) и щелкните на строке Bevel (Скос) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). В нижней части командной панели появятся свитки модификатора скоса: Parameters (Параметры) и Bevel Values (Значения скоса). В свитке Bevel Values (Значения скоса), показанном на рис. 6.43, задайте высоту первого слоя экструзии в счетчике Height (Высота) группы Level 1 (Уровень 1). Используйте второй слой экструзии, чтобы сформировать фаску на краю щита. Для этого установите флажок Level 2 (Уровень 2), задайте в счетчике Height (Высота) под этим флажком высоту второго слоя равной 1 см, а в счетчике Outline (Контур) укажите величину уменьшения контура щита, введя значение -2 см. На рис. 6.44 хорошо видно сечение сформированного тела экструзии с фаской.

Рис. 6.43. Свиток Bevel Values модификатора Bevel
7. Чтобы получить точно такой щит, какой показан выше на рис. 6.40, остается только закруглить линии, образующие боковую поверхность тела. Для этого просто установите переключатель в разделе Surface (Поверхность) свитка Parameters (Параметры) в положение Curved Sides (Скругленные бока) и задайте число сегментов по высоте тела экструзии в счетчике Segments (Сегментов) равным 3-4. Готово! Назовите полученный объект Sshitok.

Рис. 6.44. Сечение тела экструзии с фаской в окне проекции Тор
8. Снова сделайте видимым объект Plafon, щелкнув на кнопке Unhide All (Сделать видимыми все) командной панели Display (Дисплей). Переместите плафон так, чтобы он разместился несколько впереди и выше щита. В заключение сохраните сцену — мы еще будем продолжать работу над светильником. Можете сопоставить получившийся у вас результат с тем объектом, который хранится в файле под именем Lampa01.max в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге.
Осваиваем деформацию масштаба, изготавливая вилку
Вилка нам также понадобится для сервировки столов «МАХ-кафе». Предмет этот, как и ложка, имеет довольно затейливую форму. Однако вы скоро сможете убедиться, что с использованием метода лофтинга и деформаций создание таких предметов не является проблемой. Итак, повторяйте за мной.
1. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Установите в окне проекции Тор (Вид сверху) масштаб, при котором вертикальный размер видимой части сетки в окне проекции составляет примерно 5 см. Сохраните созданную пустую сцену под именем Vilka.max.
2. Нарисуйте в окне проекции Тор (Вид сверху) стандартный сплайн Rectangle (Прямоугольник) с размерами Length (Длина) = 4 см, Width (Ширина) = 0,8 см, скруглив углы радиусом 0,3 см. Это будет сечение тела лофтинга. Затем активизируйте окно проекции Front (Вид спереди), разверните окно проекции во весь экран, установите такой масштаб, чтобы размер горизонтальной части сетки составлял примерно 40 см, и нарисуйте кривую-путь, как показано на рис. 7.32. Первую (крайнюю слева) вершину поместите в точку (-15,5; 0; 0), последнюю — в точку (15; 0; 0), а остальные разместите так, чтобы воспроизвести форму кривой, показанной на рисунке.

Рис. 7.32. Кривая, которая будет играть роль пути для тела лофтинга
3. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты) и щелкните на кнопке Loft (Лофтинговые) в свитке Object Type (Тип объекта). Убедившись, что форма-путь все еще выделена, щелкните па кнопке Get Shape (Взять форму) в свитке Creation Method (Метод создания). Перейдите в любое окно проекции и щелкните на прямоугольнике со скругленными углами. Будет сформировано базовое тело лофтинга, показанное на рис. 7.33. Назовите созданный объект Vilka и назначьте ему подходящий цвет.

Рис. 7.33. Сформировано базовое тело лофтинга, требующее деформации масштаба
4. Чтобы придать полученному объекту сходство с вилкой, примените к нему деформацию масштаба. Проследив, чтобы тело лофтинга было выделено, перейдите на командную панель Modify (Изменить), разверните свиток Deformations (Деформации) и щелкните на кнопке Scale (Масштаб). Появится окно диалога Scale Deformation (Деформация масштаба), показанное выше на рис. 7.31.
|
ЗАМЕЧАНИЕ В начале главы мы говорили о том, что при лофтинге формы-сечения с самопересечением линии полученное тело будет иметь только боковую поверхность и не будет накрыто «крышками» торцевых оснований. Увеличение радиуса закругления углов формы-прямоугольника, лежащей в основе тела вилки, ведет к появлению самопересечений линии контура прямоугольника. Так что если сделать радиус слишком большим, базовое тело лофтинга не будет иметь торцевых стенок в начале и в конце линии пути. Попробуйте сами, чтобы убедиться в этом. |
5.

Щелкните на кнопке Make Symmetrical (Симметрично по X и Y), чтобы выключить этот режим и сделать возможным использование различных кривых деформации в продольных сечениях объекта по осям X и Y локальных координат сечений, ориентированным перпендикулярно линии пути. Если оставить кнопку нажатой, то в направлении обеих осей будет использована одна и та же деформация, что вызовет симметричное изменение формы объекта. По умолчанию в окне демонстрируется кривая деформации по оси X, которая в данном случае представляет собой ось толщины тела лофтинга (в этом легко убедиться, если посмотреть, куда ориентирована локальная ось координат сечения-прямоугольника). Для наглядности лучше начать деформацию с изменения ширины тела лофтинга, поэтому щелкните в окне диаграммы деформации на кнопке

Display Y Axis (Показать деформацию по Y). Появится линия диаграммы зеленого цвета. Так как кнопка

Move Control Point (Переместить управляющую точку) выбрана по умолчанию, просто щелкните на левом маркере диаграммы деформации и переместите его в точку (0; 12), следя за координатами маркера в полях отсчета в середине нижней части окна диалога. Переместить маркер можно и проще: щелкните на маркере, введите новые значения его координат непосредственно в поля отсчета и нажмите клавишу Enter или Tab.
6.

Щелкните на кнопке Insert Corner Point (Вставить угловую точку) и выберите на панели инструмента кнопку Insert Bezier Point (Вставить точку Безье). Щелкните на кривой деформации, поместив на ней новую вершину, и введите в поля отсчета координаты этой вершины (3; 65). Продолжайте щелкать на кривой и установите следующие координаты новых управляющих точек: (28; 70), (46; 30), (60; 30), (70; 90). Последней управляющей точке задайте координаты (100; 85). Настройте положения маркеров касательных векторов управляющих точек, чтобы придать кривой деформации вид, показанный на рис. 7.34. При этом вид сверху на тело лофтинга изменится, повторяя контуры кривой деформации по осп Y, то есть по ширине объекта.

Рис. 7.34. Вид кривой деформации по оси Y
7. Теперь настройте деформацию по оси Y, или по толщине тела. Щелкните в окне диаграммы деформации на кнопке

Display X Axis (Показать деформацию по X). Появится линия диаграммы красного цвета. Переместите маркер первой управляющей точки в положение (0; 25). Далее выберите кнопку Insert Bezier Point (Вставить точку Безье) и добавьте на линию диаграммы четыре новые вершины Безье, задав для них следующие координаты: (3; 75), (38; 75), (55; 30) и (70; 90). Последний маркер переместите в точку (100; 20), как показано на рис. 7.35. При этом вид тела лофтинга в окне проекции Front (Вид спереди) изменится, повторяя форму кривой деформации.

Рис. 7.35. Вид кривой деформации по оси X
8. Закончив настройку деформации, закройте окно диалога Scale Deformation (Деформация масштаба). Окончательный вид деформированной вилки, пока еще не имеющей зубьев, показан на рис. 7.36. Создать зубья можно различными способами, однако мы воспользуемся для этого булевскими объектами, о которых речь пойдет в следующем разделе. А пока что сохраните сцепу в файле под заданным в начале упражнения именем. Сопоставьте получившийся у вас результат с готовым объектом из файла с таким же именем Vilka.max, хранящегося в папке \Scenes\Glava_07 компакт-диска, прилагающегося к книге.

Рис. 7.36. Окончательный вид тела лофтинга после деформации по осям ширины и толщины
Преобразуем параллелепипед в «Золотую рыбку» типа NURMS
Для опробования инструмента MeshSmooth (Сглаживание сетки) выберем объект в виде золотой рыбки, показанной на рис. 9.46, которая украсит нашу новогоднюю елку в «МАХ-кафе».

Рис. 9.46. Золотая рыбка, построенная на базе параллелепипеда с последующим сглаживанием при помощи модификатора MeshSmooth
Будем считать, что основные приемы моделирования геометрии на основе примитивов вами уже усвоены, так что на этот раз описание будет менее подробным.
1. Выполните перезагрузку программы и сохраните пустую сцену под именем Zolotaia ribka.max.
2. Постройте в окне проекции Тор (Вид сверху) примитив-параллелепипед примерно таких размеров: длина — 9 см, ширина — 35 см, высота — 18 см и установите для него число сегментов по длине, ширине и высоте равным 3, 5 и 4 соответственно, как показано на рис. 9.47. Как и в предыдущих упражнениях, превратите параллелепипед в редактируемую сетку. Рыбка, как и шахматный конь, имеет продольную симметрию. Можно было бы тоже начинать с построения одной продольной половинки с последующим зеркальным копированием и объединением. Однако данная модель достаточна проста, так что будем создавать ее сразу целиком. Цель упражнения состоит не в том, чтобы освоить новые методы редактирования формы сетки, а в том, чтобы на сравнительно простой модели научиться использованию модификатора MeshSmooth (Сглаживание сетки).

Рис. 9.47. В исходный параллелепипед для наглядности вписана сглаженная фигурка рыбки, которую предстоит создать
| ЗАМЕЧАНИЕ Подобную модель можно было бы создать, превратив параллелепипед не в сетку, а в полисетку (Editable Poly), у которой имеются встроенные средства сглаживания. Однако наша задача состоит в том, чтобы освоить работу с модификатором MeshSmooth (Сглаживание сетки). Научившись сглаживать стандартную сетку с помощью этого модификатора, вы без труда сумеете самостоятельно освоить встроенные средства сглаживания полисеток. |
3. Выделяя в окне вида спереди с помощью рамки сразу по четыре вершины, расположенных одна за другой по координате толщины объекта и проецирующихся в этом окне в одну точку, и перемещая эти вершины, придайте параллелепипеду форму, в первом приближении соответствующую форме тела рыбки, пока без хвоста и плавников, как показано на рис. 9.48. Обратите внимание на то, как второй слева вертикальный ряд вершин оформлен в виде плавно изогнутой вправо дуги. Ребра, соединяющие эти вершины, в дальнейшем помогут нам оформить жаберную щель рыбки.

Рис. 9.48. За счет перемещения групп вершин в окне вида спереди параллелепипеду придана форма тела рыбки
4. Применяя инструмент Select and Non-Uniform Scale (Выделить и неравномерно масштабировать), придайте телу рыбки обтекаемую форму в окне проекции Тор (Вид сверху), примерно так, как показано на рис. 9.49. Выделяйте по целому ряду вершин, расположенных поперек тела рыбки, и уменьшайте толщину сечения тела, применяя инструмент неравномерного масштабирования только вдоль оси Y.

Рис. 9.49. Телу рыбки в проекции вида сверху придана обтекаемая форма при помощи инструмента неравномерного масштабирования
|
ЗАМЕЧАНИЕ Хочу напомнить, что в max 7.5 с появлением новых типов контейнеров преобразований неравномерное масштабирование можно выполнять и при помощи инструмента Select and Uniform Scale (Выделить и равномерно масштабировать). |
5. Как вы, вероятно, уже догадались, все плавники — спинной, два грудных, брюшной и хвостовой — сформированы методом экструзии соответствующих полигонов с последующим редактированием формы за счет перемещения групп вершин. Разумеется, не следует забывать переключаться на уровень выделения соответствующих подобъектов — вершин или полигонов. Поворачивая плоскость проекции так, чтобы хорошо видеть грани, подлежащие выдавливанию, выделите эти грани (полигоны) и примените к ним инструмент Extrude (Выдавливание). На торце фигуры имеются три ряда граней. Я выдавливал брюшной, хвостовой и спинной плавники только из граней среднего ряда. Грудные плавники, напротив, выдавлены из граней двух крайних рядов. Завершив выдавливание, переключитесь на проекцию вида спереди и переместите группы вершин или примените к ним неравномерное масштабирование, окончательно оформив плавники. Поработав над плавниками, выделите шесть граней на переднем торце фигурки (там, где у рыбки должен быть рот), и тоже слегка выдавите их, как показано на рис. 9.50. Тем самым вы создадите дополнительную сегментацию, необходимую для последующего оформления утолщенных губ рыбки.

Рис. 9.50. Сформированы заготовки плавников рыбки
6. Теперь поработайте над формой рыбки в окне проекции Left (Вид слева), где наша модель видна со стороны головы. Перемещая группы вершин и применяя инструмент неравномерного масштабирования, уменьшите толщину плавников и придайте телу рыбки округлую форму, как показано на рис. 9.51.

Рис. 9.51. Толщина плавников уменьшена и телу рыбки придана округлая форма, где фигурка видна со стороны головы
|
СОВЕТ Всегда используйте инструмент неравномерного масштабирования с ограничением его действия одной из осей координат, если требуется сблизить или раздвинуть вершины сетки в определенном направлении. Использование операции масштабирования позволяет обеспечить полную симметрию перемещения вершин относительно геометрического центра выделенного набора, чего очень трудно добиться, применяя инструмент перемещения к каждой отдельной вершине. |
7. Снова переключившись на проекцию Front (Вид спереди), поработайте над ртом. Во-первых, выделите группу вершин посередине рта и сильно сместите их вправо, сформировав углубление рта и губы. Затем слегка поправьте на виде спереди вершины краев губ, показанные стрелками на рис. 9.52, сместив их в направлении этих стрелок. На виде сверху придайте губам закругленную форму и раздвиньте в стороны уголки рта.

Рис. 9.52. Указанные стрелками группы вершин нужно сместить в обозначенных направлениях, чтобы улучшить форму губ
8. Переключитесь на уровень выделения полигонов, выделите узкие полигоны по всему периметру губ и слегка выдавите их в стороны. Не забудьте только перед выдавливанием установить переключатель Normal (Нормаль), расположенный ниже кнопки Extrude (Выдавить), в положение Local (Локальная). При этом каждая грань будет выдавливаться в направлении собственной нормали. Если этого не сделать, вся совокупность выделенных граней выдавится в направлении усредненной групповой нормали, а это не совсем то, чего мы хотим добиться. В результате рот рыбки должен принять примерно такой вид, какой показан на рис. 9.53.

Рис. 9.53. Губам придана некоторая выпуклость методом выдавливания
9. Почти все готово к сглаживанию сетки. Осталось только обеспечить выпуклость жаберных крышек. В окне вида спереди подтащите вершины, расположенные правее дуги жаберной крышки, влево, поближе к дуге. Это позволит сформировать излом поверхности, приподняв края жабр над поверхностью тела рыбки. В том же окне вида спереди выделите вершины, показанные стрелками на рис. 9.54. Переключитесь на вид сверху и примените к выделенным вершинам неравномерное масштабирование по координате толщины тела, заставив симметричные вершины по обе стороны тела рыбки выдвинуться наружу.

Рис. 9.54. Стрелками показаны вершины на краях жаберных крышек, к которым следует применить масштабирование по координате толщины тела
10. Края жаберных крышек приподнимутся над поверхностью тела. Немного подвигайте вершины на краях жабр, заставив эти края слегка нависать над боками рыбки. Окончательный вид модели перед применением сглаживания показан на рис. 9.55. Перед тем как приступить к сглаживанию, сохраните файл модели под заданным в начале упражнения именем Zolotaia ribka.max. Сразу же после этого сохраните файл еще раз, но с инкрементированием имени.

Рис. 9.55. Модель рыбки, сформированная из обычного параллелепипеда, готова к сглаживанию
|
ЗАМЕЧАНИЕ Вы можете найти модель рыбки в том виде, какой она имеет на данный момент, в файле Zolotaia ribka.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. |
11. Выделив модель рыбки на верхнем уровне редактируемой сетки в целом, раскройте список Modifier List (Список модификаторов) на командной панели Modify (Изменить) и выберите в нем модификатор MeshSmooth (Сглаживание сетки). С сеткой, казалось бы, ничего не произойдет, но на командной панели появятся свитки параметров модификатора. Этих свитков достаточно много, поэтому на рис. 9.56 показаны только те, с которыми мы будем иметь дело.

Рис. 9.56. Первые три свитка параметров модификатора MeshSmooth
12. Проследите за тем, чтобы в раскрывающемся списке Subdivision Method (Метод разбиения) свитка с тем же названием был выбран вариант NURMS (Non-Uniform Rational MeshSmooth — Неоднородная рациональная сглаженная сетка). Изначально в счетчике Iterations (Итераций) свитка Subdivision Amount (Степень разбиения) значится величина 0, обозначающая отсутствие сглаживания. Измените это значение на 1, а затем на 2. Чем больше число итераций, тем более гладкой становится сетка. Наблюдайте в окнах проекций, как полигональная сетка будет приобретать все более сглаженные формы, что иллюстрируется на рис. 9.57. Установите в свитке Local Control (Локальное управление) флажок Display Control Mesh (Показывать управляющую сетку). При этом в окнах проекций наряду со сглаженной сеткой будет демонстрироваться линиями светло-коричневого цвета наружный контур исходной сетки в том виде, какой она имела до применения сглаживания.

Рис. 9.57. Рыбка приобрела округлые формы после двух итераций действия модификатора сглаживания. Вокруг сглаженного объекта изображается контур исходной сетки
13. Щелкните в свитке Local Control (Локальное управление) на кнопке Vertex (Вершина) или выберите строку Vertex (Вершина) в дереве подобъектов модификатора MeshSmooth (Сглаживание сетки) в окне стека модификаторов. При этом в узлах управляющей сетки появятся синие точки, обозначающие вершины. Вы имеете возможность применять к этим вершинам любые допустимые преобразования, наблюдая в окнах проекций, какое влияние оказывают эти преобразования на сглаженный вариант сетки. Попробуйте перемещать вершины управляющей сетки в районе верхнего или хвостового плавника, чтобы ощутить, насколько плавно изменяется при этом форма сглаженной сетки. Есть еще один удобный способ управления сглаженной сеткой — изменение весов управляющих вершин. Выделите, к примеру, управляющие вершины на концах и посередине хвоста. Измените их веса в счетчике Weight (Вес) с принятого по умолчанию значения 1 на, скажем, 3 или 4. Вы заметите, как сглаженная сетка подтянется к вершинам с увеличенным весом. Манипулируя подобным образом управляющими вершинами вокруг грудных плавников, сделайте их более тонкими у основания и более широкими на концах. Примерный результат настройки формы нашей NURMS-рыбки показан на рис. 9.58. Сохраните файл, который после инкрементирования должен иметь имя Zolotaia ribka01.max.

Рис. 9.58. Форма верхнего, хвостового и грудных плавников рыбки настроена за счет перемещения и изменения весов вершин управляющей сетки
Можете самостоятельно поэкспериментировать с управляющими вершинами в районе краев жаберных крышек, перемещая эти вершины и меняя их веса. В заключение остается только сделать рыбке глаза из двух стандартных сфер, и она приобретет вид, показанный ранее на рис. 9.46.
|
ЗАМЕЧАНИЕ Итоговую модель рыбки с примененным к ней модификатором сглаживания можно найти в файле Zolotaia ribka01.max, хранящемся в папке Scenes\Urok_09 компакт-диска, прилагающегося к книге. |
Разумеется, модификатор MeshSmooth (Сглаживание сетки) можно применять не только к объектам, полученным на основе параллелепипеда, а к любым полигональным сеткам, имеющим угловатые формы из-за малого числа полигонов.
Использование модификатора MeshSmooth (Сглаживание сетки) для сглаживания сеток исторически появилось в программе 3ds max раньше, чем редактируемые полисетки с их встроенными возможностями сглаживания. Попробуйте самостоятельно построить модель такой же рыбки или какую-то другую, на начальном этапе преобразовав параллелепипед не в стандартную редактируемую сетку, а в полисетку. Закончив моделирование формы объекта, установите флажок Use NURMS Subdivision (Разбиение типа NURMS) в свитке Subdivision Surface (Разбиение поверхности) и задайте нужное число итераций разбиения полисетки в счетчике Iterations (Итераций).
В качестве примера на рис. 9.59 показан результат двух итераций сглаживания полисетки, изображающей нашу рыбку. Эта полисетка была получена простым преобразованием готового объекта, загруженного из файла Zolotaia ribka.max, в объект типа Editable Poly (Редактируемая полисетка). Решетка управляющих вершин полисетки становится видна после переключения на уровень работы с подобъектами типа Vertex (Вершина). Счетчик Weight (Вес), позволяющий настраивать веса вершин этой решетки, у полисеток находится в свитке Edit Vertices (Правка вершин).

Рис. 9.59. Округлые формы, приобретенные объектом типа Editable Poly, после двух итераций действия встроенных средств сглаживания; виден контур исходной сетки, играющей роль управляющей решетки
Создаем поленья для камина
По замыслу в нашем зимнем кафе топится камин, значит, для него нужны дрова — хотя бы пара поленьев.
Создадим заготовки для таких поленьев в виде цилиндра и цилиндрического сегмента. Выполните следующие действия:
1. Произведите перезагрузку max 7.5, выбрав команду меню File > Reset (Файл > Перезагрузить). Сохраните пустую сцену в файле под именем Drova.max.
2. Настройте единицы измерения и сетку координат так, как было описано в разделе «Настраиваем max 7.5 для работы над сценой „МАХ-кафе"» главы 3.
3. Создайте на плоскости окна проекции Тор (Вид сверху) стандартный примитив Cylinder (Цилиндр) радиусом порядка 8-9 см и высотой, скажем, 50-60 см. Установите флажок Generate Mapping Coords (Проекционные координаты) и задайте число сегментов по высоте объекта (Height Segments) равным 5. Это нужно сделать для последующего применения модификатора Noise (Неоднородности). Назовите объект Poleno01 и назначьте ему подходящий цвет, например светло-коричневый или желтый.
4. В качестве второго полена создайте цилиндрический сектор. Для этого постройте в том же окне проекции Тор (Вид сверху) стандартный цилиндр с таким же радиусом, как и предыдущий, но подлиннее, скажем, высотой 70 см. Установите флажок Generate Mapping Coords (Проекционные координаты) и задайте для этого полена значение параметра Height Segments (Сегментов по высоте) равным 16 Более детальная сегментация требуется для того, чтобы впоследствии с помощью модификатора Noise (Неоднородности) можно было сделать это полено более неровным, чем первое. В совокупности с применением соответствующего материала это позволит создать впечатление, что полено сильнее обгорело. Назовите объект Poleno01 и назначьте ему подходящий цвет.
5. В заключение переместите и поверните оба полена, разместив их на свой вкус, например положив одно из них концом на другое, примерно так, как показано на рис. 5.25. Очевидно, при размещении этих объектов не требуется высокой геометрической точности. Сохраните созданную сцену.

Рис. 5.25. Примитивы — цилиндр и цилиндрический сектор — имитируют поленья для камина
Учимся имитировать
В этом упражнении мы постараемся освоить несколько новых текстурных карт, отличающихся от растровых, без которых невозможно сформировать реалистичные изображения зеркал или объектов из стекла. Как уже было показано выше, простое повышение степени прозрачности материала оказывается явно недостаточным для имитации стеклянных объектов. При этом не воспроизводятся такие эффекты, как уменьшение (спад) прозрачности по краям стеклянных сосудов, где удлиняется путь луча света через толщу материала, а также зеркальные отражения окружающих предметов на поверхности стекла. Для имитации этих эффектов служат карты текстур Falloff (Спад), Reflect/Refract (Отражение/Преломление) и Raytrace (Трассируемая). Для применения этих текстурных карт в составе материалов «МАХ-кафе» выполните следующие действия:
1. Продолжите работу над сценой «МАХ-кафе» или заново загрузите ее в программу max 7.5 (нужную сцену можно найти в файле MAX-kafe14.max, хранящемся в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге). Сохраните сцену с инкрементированием имени файла.
2. Сначала займемся доработкой материала, назначенного стеклянным бокалам. Активизируйте ячейку Редактора материалов, содержащую образец материала Steklo. Разверните свиток Maps (Карты текстур) и щелкните на длинной кнопке с надписью None (Отсутствует) справа от параметра Opacity (Непрозрачность).В окне просмотра материалов и карт текстур дважды щелкните на строке Falloff (Спад). Произойдет возврат в Редактор материалов, где появится свиток параметров карты текстуры спада непрозрачности. По умолчанию непрозрачность карты возрастает по мере отклонения нормалей граней объекта от направления наблюдения, за которое принимается направление линии визирования съемочной камеры. Грани, нормали которых ориентированы строго на наблюдателя или строго от наблюдателя, имеют наибольшую прозрачность, а грани, нормали которых перпендикулярны направлению наблюдения, — нулевую прозрачность. Оставьте неизменными исходные значения всех параметров карты непрозрачности и вернитесь на уровень работы с материалом, щелкнув на кнопке Go to Parent (Перейти к составному материалу).
3. Теперь щелкните в свитке Maps ( Карты текстур) на длинной кнопке с надписью None (Отсутствует) справа от параметра Reflection (Зеркальное отражение). Выберите карту текстур отражения и преломления, для чего в окне просмотра материалов и карт текстур дважды щелкните на строке Reflect/Refract (Отражение/Преломление). В свитке Reflect/Refract Parameters (Параметры отражения/преломления) сбросьте флажок Use Environment Map (Использовать карту текстуры окружающей среды), иначе max 7.5 будет формировать зеркальное отражение в материале не только окружающих предметов, но и растровой текстуры, изображающей фон сцены. Нам это не нужно: ведь бокалы находятся в закрытом помещении. Для остальных параметров оставьте их исходные значения. Вернитесь на уровень работы с материалом и уменьшите долю вклада карты в счетчике Amount (Доля вклада) до 40. На рис. 14.80 показан вид полученного стеклянного материала в окне увеличителя. Сохраните доработанный материал в библиотеке MAX-kafe.mat под тем же именем Steklo и выполните пробную визуализацию сцены в окне проекции Са-тега03 (Камера03). Результат применения материала на основе карт текстур спада непрозрачности и отражения/преломления к бокалам сцены «МАХ-кафе» был показан ранее на рис.14.10 и 14.23.

Рис. 14.80. Образец материала Steklo после применения карт текстур спада непрозрачности и отражения/преломления
4. Пора заняться материалом для стекла зеркала, висящего на стене кафе «МАХ». Активизируйте очередную свободную ячейку Редактора материалов и назовите новый материал Zerkalnoe steklo. Выберите в раскрывающемся списке свитка Shader Basic Parameters (Базовые параметры раскраски) вариант раскраски Metal (Металл). В свитке Metal Basic Parameters (Базовые параметры металлической раскраски) настройте следующие значения основных цветов материала: Ambient (Подсветка) — (252; 252; 252), почти белый; Diffuse (Диффузный) — (255; 255; 255), чисто-белый. Создайте очень яркий, точечный зеркальный блик, имитирующий блеск хорошо отполированного стекла: Specular Level (Сила блеска) - 100; Glossiness (Глянцевитость) = 95. Величины всех остальных параметров материала, включая стопроцентную непрозрачность, оставьте равными их исходным значениям.
5. Разверните свиток Maps (Карты текстур) и щелкните на длинной кнопке с надписью None (Отсутствует) справа от параметра Reflection (Зеркальное отражение). Выберите трассируемую карту текстуры, для чего в окне просмотра материалов и карт текстур дважды щелкните на строке Raytrace (Трассируемая). В свитке Raytracer Parameters (Параметры трассировщика) установите переключатель Trace Mode (Режим трассировки), который по умолчанию находится в положении Auto Detect (Автоопределение), в положение Reflection (Отражение). Все остальные параметры оставьте в исходных состояниях. Сохраните материал в текущей библиотеке и примените его к объекту Zerkalo. Выполните пробную визуализацию сцены в окне проекции Camera02 (Камера02). Результат должен быть подобен изображению, показанному на рис. 1.21 первой главы. Сохраните сцену под измененным в начале упражнения именем.
|
ЗАМЕЧАНИЕ Добавление в состав материалов многочисленных карт отражения/преломления и трассировки сильно тормозит визуализацию. |
Это все, что мы должны были отработать применительно к стандартным материалам на основе текстурных карт. Последнее, что нам осталось опробовать на практике в рамках данной главы, — это создание многокомпонентных материалов.
Учимся управлять тенями отдельных объектов
В предыдущем упражнении мы заставили конкретный осветитель отбрасывать тени различных типов от объектов трехмерной сцены. Мах 7.5 позволяет, однако, указать для каждого отдельного объекта, должен ли он давать тень при освещении любым источником света. Отменить присваиваемое объекту при создании свойство отбрасывать тень бывает нужно для достижения художественной выразительности или для имитации полной прозрачности объектов', когда у источника света используются тени, основанные на картах теней. Продолжите предыдущее упражнение, чтобы отработать прием отмены отбрасывания тени для отдельных объектов.
1. По задуманному сценарию плафоны настенных светильников «МАХ-кафе» предполагается сделать полупрозрачными, применив к ним соответствующий материал. Чтобы такие объекты отбрасывали полупрозрачные тени, пришлось бы для всех осветителей сцены включать режим использования трассируемых теней, что привело бы к непроизводительным затратам времени. Но поскольку плафоны располагаются не на переднем плане сцены, проще вообще отменить для них свойство отбрасывать тени. Чтобы добиться этого, выделите объект-группу Lampa01 и выберите команду главного меню Group > Open (Группа > Открыть). После этого выделите объект Plafon, входящий в состав группы Lampa01. Щелкните на выделенном плафоне правой кнопкой мыши и выберите в появившемся четвертном меню команду Properties (Свойства). Появится окно диалога Object Properties (Свойства объекта), раскрытое по умолчанию на вкладке General (Общие). Сбросьте в этом окне флажок Cast Shadows (Отбрасывать тени) в разделе Rendering Control (Управление визуализацией) и щелкните на кнопке ОК. Закройте группу, выбрав команду главного меню Group > Close (Группа > Закрыть).
2. Повторите описанные действия применительно к дальнему настенному светильнику, представленному объектом-группой Lampa02. Завершив настройку, выполните визуализацию изображения в окне проекции Perspective (Перспектива), чтобы убедиться, что плафоны обоих светильников более не отбрасывают теней, как показано на рис. 11.19, — они как бы стали полностью прозрачными для лучей света любых осветителей сцены.

Рис. 11.19. Плафоны обоих настенных светильников более не отбрасывают теней
3. В качестве временной меры до момента назначения материалов проделайте аналогичную процедуру отключения отбрасывания тени применительно к объекту Okno, так как свет изнутри кафе должен свободно проникать наружу, и наоборот.
|
ЗАМЕЧАНИЕ Препятствием для воображаемых лучей света являются только грани объектов, обращенные к источнику света лицевой стороной. С изнанки свет по умолчанию проходит сквозь грани оболочки беспрепятственно. Так что если, к примеру, поместить Всенаправленный источник света внутрь стандартной сферы или куба, это не явится препятствием для освещения окружающих объектов сцены, так что в подобных случаях нет никакого смысла выключать режим отбрасывания теней этими объектами. |
Не закрывайте программу — нам еще предстоит продолжить работу со всенаправленными осветителями.
Усложняем анимацию сцены «МАХ-кафе»
В сцене «МАХ-кафе» можно «оживить» массу элементов, хватило бы только воображения. Попробуем одновременно «оживить» два объекта — входную дверь и съемочную камеру, расположенную снаружи здания кафе. Представьте себе такой сценарий анимации: кафе стоит с закрытыми дверями, затем камера начинает наезжать на двери, они распахиваются, взгляд камеры проникает в помещение и дает панораму интерьера. При этом анимацию и дверей, и камеры выполним в принудительном режиме.
Выполните следующие действия:
1. Откройте файл MAX-kafe22.max. Если вы не сохранили такой файл на жестком диске своего компьютера, можете загрузить нужный файл под именем MAX-kafe22.max из папки Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните файл сцены под именем MAX-kafe (naezd kameroy).max. Скройте от просмотра обе системы снежинок — ведь мы собираемся визуализировать внутреннее пространство кафе, а снежинки свободно проникают через потолок помещения.
2. Укажите программе, ключи каких параметров следует создавать в принудительном режиме. Для этого щелкните на кнопке Key Filters (Фильтры ключей). В окне диалога Set Key Filters (Выбор фильтров ключей) сбросьте установленные по умолчанию флажки Scale (Масштаб) и IK Parameters (IK-параметры). Оставьте установленными флажки Position (Положение) и Rotation (Поворот). Флажок Position (Положение) обеспечит установку ключей анимации положения камеры и ее мишени, а флажок Rotation (Поворот) — создание ключей анимации поворота створок дверей.
3. Создайте два набора выделенных объектов. В первый из них, названный, скажем, Stvorki dverey, включите объекты LevStvorka и PravStvorka. Во второй включите камеру Camera01 и ее мишень — объект Camera01.Target, назвав набор, скажем, Naruzhnaia kamera. Возможно, для этого сначала придется сделать видимой скрытую от просмотра камеру.
4. Выполните анимацию створок дверей. Приведите створки дверей в исходное (закрытое) положение аналогично тому, как вы делали это в п. 3 упражнения 2 этой главы. Выберите в раскрывающемся списке справа от кнопки Auto Key (Автоключ) строку Stvorki dverey.
5. Включите режим принудительной анимации, щелкнув на кнопке Set Key (Задать ключ). Убедитесь в том, что ползунок таймера анимации стоит на отметке нулевого кадра. Помните, что в режиме Set Key (Задать ключ), в отличие от режима Auto Key (Автоключ), ключи анимации не создаются в нулевом кадре автоматически, так что это нужно обязательно сделать вручную. Щелкните на большой кнопке Set Keys (Задать ключи) с изображением ключа, чтобы установить в нулевом кадре анимационные ключи, фиксирующие значения параметров, выбранных с помощью окна диалога Set Key Filters (Выбор фильтров ключей). В данном случае будут установлены ключи анимации перемещения и поворота створок.
6. Переместите ползунок таймера к отметке кадра № 30. Поверните левую и правую створки так, чтобы двери были широко открыты. Щелкните на кнопке Set Keys (Задать ключи), чтобы создать ключи анимации. Если какая-то из створок выделена, вы увидите в строке треков квадратики на отметках нулевого и тридцатого кадров. Эти квадратики будут раскрашены наполовину в красный, наполовину в зеленый цвет, так как они символизируют ключи анимации перемещения и поворота.
7. Выключите режим принудительной анимации и, перетаскивая влево-вправо ползунок таймера анимации, убедитесь, что дверь полностью открывается на протяжении первых 30 кадров. Анимация двери закончена.
8. Теперь выполните анимацию камеры Camera01 (Камера01). Включите режим принудительной анимации, щелкнув на кнопке Set Key (Задать ключ). Выберите в раскрывающемся списке справа от кнопки Auto Key (Автоключ) строку Naruzhnaia kamera. Сделайте текущим кадр № 0 и щелкните на кнопке Set Keys (Задать ключи), создав ключи фиксации исходного положения камеры и мишени.
9. Установите в качестве текущего кадр № 30, выделите объект Camera01 (Ka-мера01) и в окне проекции Тор (Вид сверху) переместите камеру почти вплотную ко входной двери, которая к этому моменту уже полностью открыта, в точку с примерными координатами (120 см; -330 см; 165 см). Щелкните на кнопке Set Keys (Задать ключи), создав ключи для камеры и ее мишени. Вид сцены через окно камеры в этот момент показан на рис. 16.34.

Рис. 16.34. Дверь кафе распахивается перед камерой, которая задерживается на пороге, чтобы осмотреть внутреннее пространство кафе (кадр № 30)
10. Теперь выполните анимацию мишени камеры, чтобы обеспечить показ панорамы интерьера кафе. Сделайте текущим кадр № 60 и переместите мишень камеры в район точки (75 см; 55 см; 140 см), чтобы сделать видимой правую часть кафе, как показано на рис. 16.35. Щелкните на кнопке Set Keys (Задать ключи), создав ключи для камеры и ее мишени.

Рис. 16.35. Взгляд камеры скользит внутри помещения (кадр № 60)
11. Наконец, установите в качестве текущего кадр № 100 и в окне вида сверху переместите мишень влево, в точку с примерными координатами (-65 см; -260 см; 140 см). Это должно создать впечатление, что посетитель выбрал для себя кресло и нацелился войти и сесть на него, как показано на рис. 16.36. Щелкните на кнопке Set Keys (Задать ключи), создав ключи. Выключите режим анимации щелчком на кнопке Set Key (Задать ключ).

Рис. 16.36. Камера завершает панорамный обзор помещения кафе (кадр № 100)
12. Воспроизведите анимацию в окне проекции Perspective (Перспектива), включив режим каркасного отображения. Вы увидите, как камера наезжает на раскрывающуюся дверь кафе, далее ее взгляд проникает внутрь и скользит по внутреннему убранству помещения слева направо, а затем обратно. Сохраните сцену в файле под именем MAX-kafe (naezd kameroy).max, заданным в начале упражнения. Файл сцены с таким же именем, реализующей данную анимацию, имеется в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге.
Завершаем конструирование модели сцены «МАХ-кафе»
Сформируйте итоговую геометрическую модель «МАХ-кафе», выполнив следующие действия:
1. Откройте созданный нами в восьмой главе файл MAX-kafe07.max, содержащий модель здания кафе с проемами для двери и окна, а также две скрытые пока
системы частиц-снежинок. При необходимости вы найдете файл с такой сценой под аналогичным именем MAX-kafe07.max в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Выделите объекты Zadniaia stena, LevStena, PravStena и Fasad, после чего щелкните на кнопке Zoom Extents All Selected (Выделенные объекты целиком во всех окнах), чтобы установить удобный масштаб для дальнейшей работы.
3. Чтобы скомпоновать сцену из различных файлов, можно использовать команды Merge (Присоединить) или XRef Objects (Ссылки на объекты) меню File (Файл). Воспользуемся командой File > Merge (Файл > Присоединить), чтобы сделать сцену независимой от внешних ссылок: вдруг вам захочется поделиться своей разработкой с друзьями? Для начала снабдим здание кафе окном. Выбрав команду File > Merge (Файл > Присоединить), выделите в окне диалога Merge File (Присоединение файла) файл Okno01.max. Если вы по каким-то причинам не создали окна для кафе, загрузите файл с таким же именем из папки Scenes\Glava_08 компакт-диска, прилагающегося к книге. В появившемся окне диалога Merge-Okno01.max (Присоединение-Okno01.max) дважды щелкните па имени объекта Okno.
4. Переместите окно в точку с координатами (-150; -299; 160), и оно точно займет свое место в оконном проеме. Естественно, стекло окна пока не является прозрачным, — чтобы сделать его таковым, необходимо применить к окну соответствующие материалы. Этим мы займемся в главах третьей части нашей книги. Пока же продолжим наполнение сцены.
5. Вставим в подготовленный проем двустворчатую дверь. Модель двери была заблаговременно подготовлена нами в восьмой главе, и вы могли бы просто загрузить ее из сохраненного ранее файла Dveri.max. Однако подготовленные вами створки дверей пока не могут нормально открываться, в чем легко убедиться, попробовав повернуть любую из них. Опорные точки (вспомните главу 4) обеих створок размещаются пока там, где они находились у прямоугольных параллелепипедов, служивших заготовками для изготовления створок, — в центрах оснований. Так как параллелепипеды строились в окне вида спереди, то основаниями у них стали широкие стороны, прилегающие к координатной плоскости окна Front (Вид спереди). В центрах этих сторон и находятся опорные точки обеих створок. Предлагаю загрузить готовую модель двери, опорные точки створок которой смещены к косякам так, чтобы обеспечивать правильный поворот каждой из половинок дверей. Такая модель имеется в файле с именем Dveri01.max, который вы можете найти в папке Scenes\Glava_10 компакт-диска, прилагающегося к книге. Выполните команду меню File > Merge (Файл > Присоединить) и присоедините к текущей сцене группу Dveri из файла Dveri01.max, содержащую объекты Korobka, PravStvorka и LevStvorka. Установите двери на место, как показано на рис. 10.60, передвинув их в окнах проекций Тор (Вид сверху) и Front (Вид спереди). Если вы будете использовать ввод точных координат дверей, то вот необходимые значения: (75; -310; 133).

Рис. 10.60. «МАХ-кафе» обрело окно и дверь
6. Раскройте группу, выделите объект PravStvorka и примените к нему инструмент поворота, следя за тем, как правая створка двери открывается и закрывается. Раскройте створку примерно на 140°. Проделайте такую же процедуру с объектом LevStvorka. Пусть двери «МАХ-кафе» будут широко распахнуты, как показано на рис. 10.61.

Рис. 10.61. Двойные двери для «МАХ-кафе» широко и гостеприимно раскрыты
7. Снова выбрав команду меню File > Merge (Файл > Присоединить), выделите в окне диалога Merge File (Присоединение файла) файл Stol i stul03.max и щелкните на кнопке Open (Открыть). На прилагающемся к книге компакт-диске нужная сцена хранится в папке Scenes\Glava_08 под тем же именем Stol i stul03.max. В окне диалога Merge (Присоединение) выделите объект StolOI, все составные элементы которого были ранее сгруппированы, и щелкните на кнопке ОК. Стол появится в составе сцены «МАХ-кафе».
8. Переместите стол на нужное место. Для этого, ограничивая преобразование осью Y, переместите стол вверх в окне проекции Front (Вид спереди), так чтобы его ножки только касались объекта Pol. Здесь важно обеспечить высокую точность, так как если ножки будут висеть в воздухе, тень сразу же выдаст эту ошибку. При необходимости укрупните область изображения в месте касания пола ножкой стола. Кстати, можете попрактиковаться в применении освоенного нами в главе 8 инструмента Align (Выровнять), кнопка которого располагается на главной панели инструментов max 7.5. В оконной системе координат выравнивание следует производить вдоль оси Y, причем минимальная координата стола должна выравниваться с максимальной координатой пола. Для любителей точности скажу, что правильная Z-координата стола должна быть равна 72,5 см, если вы все делали так же, как я. Затем, ограничивая преобразование плоскостью XY, подвиньте стол к окну кафе в окне проекции Тор (Вид сверху), поместив его в районе точки с координатами (-45; -144; 72,5). Создайте дубликат-образец стола, назовите его Stol02 и поместите вблизи тыльной стены, в районе точки с координатами (-66; 149; 72,5), как показано на рис. 10.62.

Рис. 10.62. Столы расставлены в зале кафе «МАХ»
9. Теперь разместите вокруг столов по четыре кресла. Присоедините к сцене объект-группу Kreslo01 из файла Kreslo01.max (на прилагающемся к книге компакт-диске нужная сцена хранится в папке Scenes\Glava_08 под таким же именем Kreslo01.max). Поднимите кресло в окне проекции Front (Вид спереди) или Left (Вид слева), поставив его ножками на пол, или примените для этого инструмент выравнивания, а затем придвиньте к одному из столов. Создайте семь дубликатов-образцов кресла и расставьте их по четыре штуки вокруг каждого из столов. Поверните кресла лицевыми сторонами к столам, но не старайтесь обеспечить слишком строгую симметрию расстановки, чтобы сцена выглядела более живо, примерно так, как показано на рис. 10.63.

Рис. 10.63. Вокруг столов расставлены кресла
10. Присоедините к текущей сцене объект-группу Zerkalo из файла Zerkalo01.max (на прилагающемся к книге компакт-диске нужная сцена хранится в папке Scenes\Glava_08 также под именем Zerkalo01.max). Поместите объект ровно посередине левой стены здания кафе (координата Y равна нулю) на такой высоте, чтобы нижний край рамы оказался на уровне нижнего края подушек кресел, как показано на рис. 10.64.

Рис. 10.64. Высоту «подвески» зеркала легко отрегулировать в окне проекции Left (Вид слева)
11. Добавьте в состав сцены два светильника. Для этого присоедините объект-группу Lampa01 из файла Lampa04.max (на прилагающемся к книге компакт-диске нужная сцена хранится под тем же именем Lampa04.max в папке Scenes\ Glava_08). Создайте дубликат-образец светильника и разместите светильники по обе стороны от зеркала на расстоянии порядка 50 см от краев рамы. Высоту расположения светильников отрегулируйте так, чтобы верхний край плафонов был примерно на 10 см ниже верхнего края рамы зеркала (при этом Z-координата светильника должна составлять 215 см), как показано на рис. 10.65.

Рис. 10.65. Правильное расположение светильника по отношению к зеркалу
12. Настала пора заняться сервировкой столов. Выделите объект Stol01, активизируйте окно проекции Тор (Вид сверху) и щелкните на кнопке Zoom Extents Selected (Выделенные объекты целиком), чтобы установить подходящий масштаб для работы. Создайте в этом окне проекции кусок Безье типа QuadPatch (Четырехугольный кусок), который будет играть роль салфетки. Назовите объект Salfetka01 и создайте семь его дубликатов-образцов. Разместите «салфетки» в окне проекции Тор (Вид сверху) по четыре штуки по краям обоих столов, напротив каждого из кресел. Так как куски Безье создавались на координатной плоскости окна проекции Тор (Вид сверху), то их необходимо поднять вверх до уровня верхнего края столешниц. Выделите все восемь кусков Безье и переместите их в окнах проекций Front (Вид спереди) или Left (Вид слева) вверх по экрану (вдоль оси У), разместив точно на поверхности столов. Можете применить с этой целью инструмент Align (Выровнять), выполнив выравнивание минимальной Z-координаты каждого куска Безье с максимальной Z-координатой стола.
13. Присоедините к сцене ранее созданные нами объекты Tarelka01, Lozhka01, Vilka01 и Bokal01 из соответствующих файлов. Создайте для каждого объекта по 7 дубликатов-образцов и разместите их на обоих столах поверх салфеток примерно так, как показано на рис. 10.66. Можете разложить столовые приборы и по-другому: я не силен в сервировке. Для удобства можно сначала расставить нужным образом оригиналы тарелки, ложки, вилки и бокала, затем выделить их все и создать 7 дубликатов всего выделенного набора. Каждый из наборов-дубликатов затем нужно будет переместить на положенное ему место и при необходимости повернуть до правильной ориентации.

Рис. 10.66. Примерное расположение столовых приборов на столах кафе «МАХ»
14. Итак, все необходимые элементы геометрии левой части сцены подготовлены и сведены воедино. Интерьер левой части помещения кафе «МАХ» должен теперь выглядеть примерно так, как показано на рис. 10.67. Чтобы увидеть расстановку предметов внутри помещения в тонированном режиме отображения, необходимо временно скрыть от просмотра объекты Fasad, Viveska, Okno, Korobka, LevStvorka и PravStvorka, а также снежные валики на фундаменте и ступеньке, используя для этого инструменты свитка Hide (Скрыть) командной панели Display (Дисплей), рассмотренные в главе 3.

Рис. 10.67. Интерьер левой части кафе «МАХ» после завершения работы над геометрией этой части сцены
15. Теперь займемся правой частью сцены. Чтобы разместить у правой стены кафе камин, подготовьте в этой стене вырез, в который будет задвинута выступающая сзади часть топки. Утопить выступ в стене нашего виртуального кафе можно было бы и не делая выреза, но в этом случае стена будет просматриваться в углублении топки. О том, как вырезать в объектах отверстия методом булевского вычитания, рассказывалось в главе 7, «Пробуем метод лофтинга, создаем булевские объекты и системы частиц». Размеры выреза должны составлять примерно 135 см по ширине и 115 см по высоте. В каком именно месте стены — ближе к двери или дальше от нее — сделать этот вырез, решите самостоятельно. Загрузите объект Kamin, созданный в главе 9, и придвиньте его вплотную к стене, задвинув выступ в подготовленный вырез. На прилагающемся к книге компакт-диске нужный объект хранится в папке Scenes\Glava_09 под именем Kamin01.max. При желании вместе с камином добавьте в сцену объект Vaza. Вы можете импортировать его из файла Vaza01.max, который хранится на компакт-диске в папке Scenes\Glava_09. Этот объект мы уже разместили на каминной полке, поэтому вам не придется его выравнивать. Вместо вазы вы можете поставить на каминную полку созданный вами кубок. Эту модель под названием Kubok вы также можете найти на компакт-диске в папке Scenes\ Glava_09. В топку камина поместите поленья, подготовленные в одном из упражнений главы 5 и модифицированные в главе 8. Эти объекты при необходимости можно найти в файле Drova01.max, помещенном в папку Scenes\Glava_08. Рядом с камином поставьте кочергу, которую в виде объекта Kocherga можно найти в файле Kocherga01.max. Этот файл при желании можно найти в папке Scenes\Glava_07 компакт-диска, сопровождающего книгу.
16. В правый дальний угол помещения поставьте новогоднюю елку. Готовую трехмерную модель такой елки вы можете найти в файле Yolka.max, хранящемся в папке Scenes\Glava_10 прилагающегося к книге компакт-диска. Чтобы наша елка прочно стояла на полу, установите ее в крестовину, которую присоедините к сцене из файла Krestovina.max, созданного ранее в главе 8. Аналогичный файл можно найти в папке Scenes\Glava_08. Для украшения елки «развешайте» на ней игрушки — ранее созданные объекты Sharik, Gribok, Mesiac, Zolotaia ribka. Чтобы игрушек было побольше, создайте пять-шесть копий елочных шариков и распределите их по ветвям. На верхушку елки поместите объект Zvezda. При необходимости вы найдете файл Sharik01.max в папке Scenes\ Glava_08, а файлы, содержащие модели остальных упомянутых объектов, — в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге.
|
ЗАМЕЧАНИЕ Предлагаемая в готовом виде трехмерная елка была синтезирована с помощью дополнительного модуля Treestorm компании ONYX для max 7. Этот дополнительный модуль включает достаточно большую библиотеку типовых хвойных и лиственных деревьев, а также кустарников. Формируемые модели растений являются полностью параметрическими и допускают гибкую настройку. Созданной модели по умолчанию присваивается многокомпонентный материал, который также можно настраивать по своему усмотрению. |
17. Создайте гирлянду из шариков небольшого размера, которые будут имитировать лампочки. С этой целью сначала постройте стандартный сплайн Helix (Спираль) высотой с елку, то есть порядка 185 см, имеющий полтора-два витка. Радиус спирали в районе основания сделайте равным примерно 110-120 см, а у вершины — 30-35 см. Затем создайте стандартную сферу радиусом около 3 см. Теперь нужно построить определенное число дубликатов этой сферы и равномерно расставить их вдоль траектории, задаваемой спиралью. Это можно сделать и вручную, но мы освоим новый инструмент, специально имеющийся в арсенале инструментов max 7.5 для решения подобных задач. Убедитесь, что созданная маленькая сфера все еще выделена. Выполните команду Tools > Spacing Tool (Сервис > Распределение) основного меню max 7.5. Появится окно диалога Spacing Tool (Распределение), показанное на рис. 10.68.

Рис. 10.68. Окно диалога Spacing Tool содержит средства для создания набора копий объекта и распределения их вдоль заданной траектории
18. Щелкните в окне диалога Spacing Tool (Распределение) на кнопке Pick Path (Указать путь), а затем — на сплайне-спирали. Укажите в счетчике Count (Число) нужное число дубликатов, скажем, 30. Значения всех остальных параметров можно оставить принятыми по умолчанию. В частности, это означает, что будет создано распределение типа Divide Evenly, Objects at Ends (Равномерное разбиение, объекты на концах), то есть 30 дубликатов-копий сферы равномерно распределятся вдоль кривой. Чтобы реализовать такое распределение, щелкните на кнопке Apply (Применить). После этого можно удалить и исходный образец сферы, и сплайн спирали — 30 объектов-дубликатов не исчезнут и не изменят своего пространственного распределения. Сгруппируйте елку вместе со всеми игрушками, крестовиной и шариками гирлянды, назвав группу Yolka. В итоге елка может иметь примерно такой вид, какой показан на рис. 10.69.

Рис. 10.69. Примерный вид елки с игрушками, звездой, крестовиной и гирляндой
19. В заключение поместите под елочкой фигуру Деда Мороза, но не в исходной позе, в какой вы создавали его в ходе упражнений данной главы, а в более живом виде, с мешком за плечами и посохом в руке. Такой вид мы постараемся придать нашему персонажу позже, в главе 16. Пока же можете просто загрузить готовую фигуру, найдя файл DedMoroz06.max в папке Scenes\Glava_10 прилагающегося к книге компакт-диска. На рис. 10.70 показано, как выглядит в результате правая часть кафе «МАХ». Закончив подготовку геометрической модели сцены «МАХ-кафе», сохраните ее в файле под заданным в начале работы именем MAX-kafe08.max.

Рис. 10.70. Вид правой части кафе «МАХ» после окончательного завершения работы над геометрической моделью сцены
Зажигаем огонь в камине
У правой стены нашего новогоднего кафе стоит камин, и было бы странно, если бы в нем не загорелся огонь, тем более что и поленья приготовлены. Для имитации открытого пламени в числе фильтров эффектов внешней среды mах 7.5 имеется модуль Fire Effect (Горение). Следует только иметь в виду, что имитируемое пламя не оказывает никакого влияния на освещение сцены, то есть огонь не является источником света — это просто изображение языков пламени. Для имитации отсветов, отбрасываемых огнем, нужно принимать дополнительные меры, в частности использовать для этого отдельный Всенаправленный осветитель. Такой осветитель, кстати, уже подготовлен нами в составе сцены «МАХ-кафе».
| ЗАМЕЧАНИЕ В ранних версиях 3ds max программный модуль имитации пламени именовался Combustion (Горение), но теперь данное имя зарезервировано за программой компании Discreet, предназначенной для редактирования видеороликов. |
Эффект пламени обязательно должен быть локализован в пространстве сцены. Для такой локализации используются специальные вспомогательные объекты, относящиеся к разновидности Atmospheric Apparatus (Атмосферная оснастка). Эти объекты представляют собой просто контейнеры в форме прямоугольного параллелепипеда (BoxGizmo), цилиндра (CylinderGizmo) или сферы (Sphere-Gizmo), не визуализируемые на итоговом изображении сцены и позволяющие задать область пространства, в пределах которой будет формироваться эффект пламени. Строятся они совершенно так же, как соответствующие объекты-примитивы.
Чтобы освоить эффект горения на практике, выполните следующие действия:
1. Откройте файл MAX-kafe20.max или продолжите работу над сценой, если она уже загружена в программу max 7.5. При необходимости загрузите сцену MAX-kafe20.max из папки Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните сцену с инкрементированием имени файла.
2. Скройте для простоты все объекты внутреннего убранства кафе, кроме кресел, столов, камина, кочерги и поленьев. Активизируйте окно проекции Тор (Вид сверху) и создайте контейнер атмосферного эффекта в форме полусферы непосредственно над поленьями, лежащими в топке камина. Для этого щелкните на кнопке Helpers (Вспомогательные объекты) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Atmospheric Apparatus (Атмосферная оснастка) и щелкните на кнопке SphereGizmo (Сферический контейнер) в свитке Object Type (Тип объекта). Переместите курсор в окно вида сверху, щелкните над поленьями примерно в точке с координатами (264; -37; 0) и перетащите курсор, как вы делаете это при создании обычного примитива-сферы. Пусть радиус сферического контейнера будет около 35 см. Установите флажок Hemisphere (Полусфера), так как нас интересует только верхняя половина контейнера — ведь пламя должно гореть над дровами, а не под ними.
3. Переключитесь на окно вида спереди и приподнимите контейнер, имеющий имя SphereGizmo01, вверх, поместив его над поленьями примерно на высоте 50-55 см. Чтобы пламя огня было вытянуто вверх, примените к габаритному контейнеру операцию неравномерного масштабирования, растянув его по вертикали процентов на 200. На рис. 15.49 показано, как должен выглядеть этот контейнер атмосферного эффекта в топке камина.

Рис. 15.49. Полусферический контейнер атмосферного эффекта размещен в топке камина и готов к использованию
4. Теперь пора применить к этому контейнеру эффект горения. Раскройте окно диалога Environment and Effects (Внешняя среда и эффекты) на вкладке Environment (Внешняя среда), выполнив команду основного меню Rendering > Environment (Визуализация > Внешняя среда). Для начала выделите строку Volume Light (Объемное освещение) и сбросьте флажок Active (Активно). Тем самым вы выключите не нужный нам больше эффект объемного света, примененный в предыдущем упражнении к осветителю-прожектору Fspot01. Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты) и выберите строку Fire Effect (Горение) в окне диалога Add Atmospheric Effect (Добавление атмосферного эффекта). Имя эффекта будет добавлено в список Effects (Эффекты), а в нижней части окна диалога Environmerit and Effects (Внешняя среда и эффекты) появится свиток Fire Effect Parameters (Параметры эффекта горения), показанный на рис. 15.50.

Рис. 15.50. Свиток Fire Effect Parameters содержит все необходимые элементы для настройки параметров пламени
|
ЗАМЕЧАНИЕ Обратите внимание на то, что если выделить контейнер атмосферного эффекта и переключиться на командную панель Modify (Изменить), то там обнаружится свиток Atmospheres & Effects (Атмосфера и эффекты). С помощью данного свитка к контейнеру можно применять эффекты так же, как мы это делали с осветителем-прожектором в упражнении 4 этой главы. |
5. Щелкните на кнопке Pick Gizmo (Указать контейнер) в верхней части свитка, в разделе Gizmos (Габаритные контейнеры), чтобы включить режим выбора габаритного контейнера. Кнопка подсве-тится желтым светом. После этого щелкните на габаритном контейнере в любом из окон проекций. Имя контейнера SphereGizmo01 появится в раскрывающемся списке в правой части раздела Gizmos (Габаритные контейнеры). Один и тот же атмосферный эффект может быть применен к различным габаритным контейнерам, а одному и тому же контейнеру могут быть назначены разные типы атмосферных эффектов.
6. Готово, эффект горения создан. Однако если вы попытаетесь сейчас выполнить пробную визуализацию сцены, то будете разочарованы. При исходных значениях параметров пламя будет выглядеть как розоватое облачко, которое даже трудно рассмотреть на фоне текстур материалов камина и поленьев. Чтобы все же увидеть этот зачаток пламени, сбросьте в свитке Renderer (Визуализатор) окна диалога Render Scene (Визуализировать сцену) флажок Mapping (Карты текстур), выключив тем самым режим визуализации текстур материалов. Затем выделите источник света, имитирующий отблески пламени, включите его и сбросьте флажок Map (Карта текстуры) в свитке Projector Parameters (Параметры проектора), чтобы выключить на время действие карты случайных пятен, отбрасываемых этим осветителем на стенки топки камина. Выполните визуализацию, результат должен быть похож на рис. 15.51. Вновь установите сброшенные флажки.

Рис. 15.51. Едва заметное розоватое (серое на рисунке) облачко над поленьями — это и есть проявление эффекта горения при исходных значениях параметров пламени
7. Настройте параметры горения, чтобы заставить поленья запылать ярким огнем. Во-первых, установите переключатель Flame Type (Тип пламени) в разделе Shape (Форма) свитка параметров эффекта горения в положение Tendril (Язык). При этом будут генерироваться языки пламени, заостряющиеся на концах и с яркими прожилками в сердцевине. Пламя такого типа чаще всего применяется при моделировании открытого огня. Исходное положение переключателя, Fire Ball (Огненный шар), соответствует случаю моделирования округлых областей огня, похожих на огненные шары. Данный тип пламени чаще применяется при имитации взрывов.
8. Несколько уменьшите исходное значение параметра Stretch (Растяжение), который задает длину отдельных языков пламени в пределах габаритного контейнера эффекта горения. Выбор величины параметра зависит от интенсивности имитируемого процесса. Слабый огонь должен иметь малые значения параметра Stretch (Растяжение), а ярко полыхающий — большие. Для нашего камина величина 0,7 будет в самый раз.
9. Увеличьте значение параметра Regularity (Регулярность), определяющего, в какой степени область горения будет заполнять габаритный контейнер. Уменьшая величину параметра, можно заставить пламя отодвигаться от краев контейнера внутрь, делая тем самым форму контейнера менее заметной. Открытый огонь, как правило, должен моделироваться при малых значениях параметра Regularity (Регулярность), а закрытый, такой как огонь в камине или очаге, — при больших. Установите для этого параметра значение 0,7.
10. Настройте характеристики пламени, используя следующие параметры из раздела Characteristics (Характеристики):
Flame Size (Размер пламени) — задает характерный размер отдельных вихрей пламени (участков примерно однородной окраски) в пределах габаритного контейнера. Этот параметр не влияет на общий размер области эффекта, определяемый габаритным контейнером. Чтобы пламя было более выразительным, установите этот параметр равным 10;
Flame Detail (Детализация пламени) — определяет, будут ли в пределах области горения видны участки цвета того размера, который задан параметром Flame Size (Размер пламени), или они будут усреднены и заменены участками однородной окраски большего размера. Если параметр детализации мал, переходы от одного оттенка пламени к другому будут сглажены, и детальность изображения огня мала. Более высокие значения ведут к получению четко очерченных областей цвета и повышению детальности изображения огня. Как правило, при значении, большем четырех, уже достигается предельная детальность, так что установим в счетчике Flame Detail (Детализация пламени) значение 5;
Density (Плотность) — задает степень непрозрачности и общую яркость пламени. Так как наше кафе достаточно освещено, то, чтобы отчетливо увидеть пламя, нужно установить довольно большое значение плотности, скажем, 60.
11. Все остальные параметры можно оставить равными их исходным значениям. В завершение можете еще поэкспериментировать с базовыми оттенками цветов, на основе которых формируются языки пламени. Образцы этих оттенков имеются в разделе Colors (Цвета) свитка параметров. Образец Inner Color (Внутренний цвет) задает цвет внутренней, «наиболее горячей» части пламени, а образец Outer Color (Наружный цвет) — цвет наружной, «более холодной» части пламени. При визуализации оттенки цвета пламени будут случайным образом варьироваться между указанными цветами. Образец Smoke Color (Цвет дыма) задает цвет дыма, который моделируется только при имитации вспышки взрыва. В итоге после визуализации у вас должна получиться картина, подобная показанной на рис. 15.52. Истинную красоту эффекта горения можно оценить только при анимации пламени, но это — уже предмет рассмотрения следующей главы. Сохраните сцену под измененным в начале работы именем MAX-kafe21.max.

Рис. 15.52. После настройки эффекта горения пламя выглядит довольно естественно
Знакомимся с модификатором Twist
Модификатор Twist (Скрутка) применяется для скручивания объекта относительно любой оси координат. Вы уже встречались с ним в этой главе при рассмотрении вопроса о важности порядка применения модификаторов.
Для приобретения навыков применения модификатора скрутки выполните следующие действия:
1. Постройте в окне проекции Тор (Вид сверху) стандартный примитив Tube (Труба) с внутренним радиусом 20, наружным радиусом 25, высотой 50 текущих единиц и числом сегментов по высоте не менее 10. Уменьшите число сторон (параметр Sides) до 5. Создайте дубликат-копию этого объекта и расположите их симметрично по обе стороны от центра окна проекции. При желании можете загрузить готовый файл описанной сцены, хранящийся под именем Dve trubi.max в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.
2. Выделите левый объект и щелкните на строке Twist (Скрутка) в раскрывающемся списке Modifier List (Список модификаторов). В нижней части командной панели Modify (Изменить) появится свиток Parameters (Параметры) модификатора скрутки.
3. Настройте величину скрутки в разделе Twist (Скрутка) свитка, используя следующие параметры:
Angle (Угол) — задает угол скрутки в градусах относительно оси, выбранной в разделе Twist Axis (Ось скрутки), как показано на рис. 8.15, слева;
Bias (Смещение) — меняется в диапазоне от -100 до 100 и при положительных значениях «поджимает» область скрутки к концу объекта, противоположному центру модификатора (рис. 8.15, справа), а при отрицательных — к центру модификатора. Вспомним, что центр модификатора по умолчанию располагается в опорной точке объекта.

Рис. 8.15. Скрутка объекта на 90° вдоль вертикальной оси Z: слева — Bias = 0; справа — Bias = 80
4. Выберите координатную ось, вокруг которой будет производиться скрутка объекта, с помощью переключателя раздела Twist Axis (Ось скрутки).
Действие параметров раздела Limits (Пределы) аналогично рассмотренным выше модификаторам изгиба и заострения.
Формируем елочное украшение «Грибок»
В ходе данного упражнения мы превратим две стандартные сферы в сетки кусков Безье, а затем, манипулируя касательными векторами вершин кусков, быстренько сформируем из одной сферы шляпку, а из другой — ножку грибка, подобного тому, какой был показан на рис. 2.22 главы 2.
Практическая польза, которую можно извлечь из такой модели, будет состоять в том, чтобы украсить с ее помощью новогоднюю елку нашего кафе «МАХ».
Повторяйте за мной следующие действия:
1. Перезагрузите программу и сохраните пустую сцену под именем Gribok.max.
2. Создайте в окне проекции вида сверху два примитива типа Sphere (Сфера), один радиусом 13-15 см, а другой — 7-8 см. Выделите обе сферы, щелкните правой кнопкой мыши и выберите в подменю Convert To (Превратить в) четвертного меню команду Convert to Editable Patch (Превратить в редактируемый кусок).
3. Скройте от просмотра сферу меньшего радиуса, чтобы она пока не мешала работе. Выделите оставшуюся сферу, преобразованную в сетку кусков Безье. Перейдите на командную панель Modify (Изменить) и разверните список подобъектов, щелкнув в поле стека модификаторов на квадратике со знаком «плюс» слева от надписи Editable Patch (Редактируемый кусок). Сферическая сетка состоит из восьми идентичных треугольных кусков Безье, каждые четыре из которых образуют верхнюю и нижнюю половины сферы. Один из этих кусков выделен на рис. 9.60 на уровне подобъекта Patch (Кусок). Соответственно, сферическая сетка имеет шесть вершин: четыре по экватору сферы и две на полюсах. Каждая из этих вершин принадлежит сразу четырем примыкающим к ней кускам. По этой причине из каждой управляющей вершины исходит сразу по четыре касательных вектора. Любые два соседних вектора из этих четырех управляют формой соответствующего куска Безье. Останавливаюсь столь подробно на топологии сферической сетки кусков Безье, потому что она напрямую определяет возможности редактирования формы такой сетки.

Рис. 9.60. На виде сверху выделен один из восьми кусков Безье, образующих сетку сферы
4. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Вы увидите на поверхности сферы шесть угловых вершин кусков Безье в виде точек синего цвета, а вокруг сферы — «облако» управляющих вершин решетки деформации в виде желтых квадратиков, как показано на рис. 9.61. Как указывалось в главе 5, эти управляющие вершины достались в наследство от предыдущих версий программы. Мы не будем их использовать, так что постарайтесь не обращать на них внимания. Выделите нижнюю вершину сферы, щелкнув на ней или растянув вокруг нее выделяющую рамку. Вершина приобретет красный цвет и вокруг нее появятся четыре касательных вектора с маркерами зеленого цвета на концах.

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

Рис. 9.62. Нижняя угловая вершина сферической сетки поднята вверх, в результате нижняя полусфера «втиснута» в верхнюю
6. Перейдите в окно вида сверху и немного поработайте с касательными векторами четырех вершин, расположенных по экватору сферы, стремясь сделать шляпку не столь неестественно геометрически правильной и симметричной. Вершины кусков бывают двух типов: Coplanar (Компланарная) и Corner (С изломом). Если вершина имеет тип Coplanar (Компланарная), то при перемещении маркера одного из управляющих векторов остальные будут перемещаться так, чтобы сохранить компланарность (то есть параллельность одной и той же плоскости) с перемещаемым вектором. Вершина типа Corner (С изломом) дает возможность перемещать любой из зеленых маркеров управляющих векторов независимо от остальных, создавая при этом излом поверхности. По умолчанию все вершины сетки кусков Безье, полученной методом преобразования из примитива-сферы, получают тип Coplanar (Компланарная). Для смены типа вершины или группы вершин необходимо выделить их и, указав на одну из вершин курсором, щелкнуть правой кнопкой мыши. В появившемся четвертном меню следует выбрать команду, соответствующую нужному типу вершины. В данном случае выберем команду Corner (С изломом), как показано на рис. 9.63.

Рис. 9.63. Изменим тип четырех вершин по экватору сферической сетки с Coplanar на Comer
7. Для редактирования формы сферы выделите одну из четырех вершин на экваторе и свободно двигайте маркеры ее касательных векторов, которые теперь будут перемещаться независимо друг от друга. Затем выделите другую вершину и поработайте с ее касательными векторами. Манипулируя векторами по своему усмотрению, придайте шляпке грибка более живой, не столь геометрически правильный вид, примерно так, как показано на рис. 9.64. Не забывайте также о возможности перемещать не только касательные векторы угловых вершин кусков, но и сами эти вершины.

Рис. 9.64. Форма шляпки немного отредактирована за счет независимого перемещения касательных векторов угловых вершин кусков Безье
|
ЗАМЕЧАНИЕ Когда дело доходит до необходимости двигать маркеры касательных векторов, может оказаться, что этому мешает контейнер преобразования, ограничивающий перемещение какой-то одной из осей координат. Дело в том, что контейнер в виде тройки координатных векторов всегда остается в точке выделенной вершины куска, даже если вы пытаетесь переместить не вершину, а маркер касательного вектора. Когда перемещаешь саму вершину, пользоваться этими векторами для ограничения осей перемещения удобно. Но этот же контейнер преобразования определяет и ограничения на перемещение маркеров касательных векторов вершины, расположенных в стороне от нее. Часто маркер не удается переместить в нужном направлении только из-за того, что в габаритном контейнере активен не тот вектор координатной оси, а активизировать нужный вектор, одновременно манипулируя маркером, никак не получается. Чтобы преодолеть это затруднение и обеспечить возможность перемещения маркера в плоскости экрана в произвольном направлении, следует щелкнуть на квадратике вблизи центра контейнера преобразования, который должен приобрести полупрозрачную заливку желтого цвета. Однако часто после щелчка на маркере происходит сброс выделения этого квадратика из-за того, что оси контейнера слишком длинные и щелчок на маркере воспринимается компьютером как щелчок на одной из осей контейнера. В этом случае рекомендую уменьшить длину векторов контейнера, нажимая клавишу «минус» в основной части клавиатуры. Если и это не помогает, то можно отменить показ контейнера, выбрав команду меню Views > Show Transform Gizmo (Проекции > Показывать контейнер преобразования). В этом случае для циклического выбора ограничений осей, вдоль которых можно будет перемещать маркеры касательных векторов в плоскости окна проекции, по формуле Y-X-XY, следует нажимать клавишу F8. |
8. Теперь восстановите видимость второй сферы, преобразованной в сетку кусков Безье. Выделите ее, переключитесь на уровень выделения подобъектов-вершин и, действуя аналогичным образом, превратите ее в ножку грибка, подобную той, что показана на рис. 9.65. Для этого может потребоваться самое минимальное число действий с вершинами и их касательными векторами.

Рис. 9.65. За счет двух-трех перемещений угловых вершин кусков Безье и их касательных векторов малая сфера превращена в ножку гриба
9. На этом можно было бы и остановиться. Однако в учебных целях рассмотрим еще пару инструментов для работы с подобъектами сетки кусков Безье, пытаясь сформировать выступ на шляпке. Ведь мы делаем не просто гриб, а елочное украшение, и этот выступ будет изображать крепление для нити, на которой висит игрушка. Как указывалось в главе 8, к кускам Безье можно применять операции простого выдавливания и выдавливания со скосом боковых граней. Попробуем сформировать выступ на вершине шляпки методом выдавливания со скосом. Однако для этого вначале потребуется увеличить сегментацию сетки, ведь сейчас вся верхняя полусфера шляпки состоит из четырех больших треугольных кусков Безье. Выделите сетку шляпки и переключитесь на уровень выделения подобъекта Patch (Кусок). В окне вида сверху аккуратно выделите все четыре куска, составляющие верхнюю полусферу шляпки. В свитке Geometry (Геометрия) командной панели Modify (Изменить) щелкните на кнопке Subdivide (Подразделить). Каждый кусок будет дополнительно разбит на четыре треугольных куска меньшего размера. Теперь выделите четыре новых куска, примыкающих к верхнему полюсу сетки, и еще раз щелкните на кнопке Subdivide (Подразделить). Теперь вблизи полюса имеются куски достаточно малого размера, которые можно выдавить со скосом боковых граней.
10. Снова выделите в окне вида сверху четыре совсем уже небольших куска, примыкающих к вершине на верхнем полюсе шляпки. Щелкните в свитке Geometry (Геометрия) на кнопке Bevel (Скос). Переместите курсор в окно проекции Front (Вид спереди) и укажите им на выделенные куски. Когда курсор примет вид значка режима выдавливания, щелкните кнопкой мыши и перетаскивайте курсор, выдавливая выделенные куски в интерактивном режиме, как показано на рис. 9.66. Эта стадия операции в принципе не отличается от выдавливания граней обычной сетки, которое вы делали уже не раз. Выдавив куски на нужную высоту, отпустите кнопку мыши и дополнительно переместите курсор, обеспечив скос боковых сторон выдавленного фрагмента на нужный угол. Для завершения выдавливания со скосом боковых сторон щелкните левой кнопкой мыши, а для выхода из режима выдавливания — правой кнопкой.

Рис. 9.66. Выступ на верху шляпки создается выдавливанием четырех кусков Безье вблизи верхнего полюса сферы. Виден курсор режима выдавливания со скосом
11. Чтобы впоследствии иметь возможность применить к шляпке и ее выступу различные материалы, перейдите к свитку Surface Properties (Свойства поверхности). Выделите в окне вида спереди куски, образующие выступ, сформированный методом выдавливания со скосом. По умолчанию все куски сферы имеют одинаковые значения идентификатора материала, равные 1. Введите число 2 в счетчик Set ID (Установить идентификатор) раздела Material (Материал). Сохраните файл под заданным в начале работы именем Gribok.max.
|
ЗАМЕЧАНИЕ Итоговую модель грибка можно найти в файле Gribok.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге. |
Осваиваем модификатор Noise
Модификатор Noise (Неоднородности) вызывает случайные возмущения поверхности геометрической модели, производя впечатление природного происхождения объекта.
Чтобы опробовать на практике использование модификатора зашумления, выполните следующие действия:
1. Создайте в окне проекции Тор (Вид сверху) стандартный примитив Box (Параллелепипед) в виде плоской пластины с размерами по 200 единиц в длину и ширину и толщиной 5 единиц. Задайте 32 сегмента по длине (Length Segs) и ширине (Width Segs). Создайте копию объекта, переместив его вверх в окне проекции Front (Вид спереди) при нажатой клавише Shift. Разместите обе пластины симметрично по высоте относительно центра окна. При необходимости можете загрузить готовый файл описанной сцены, хранящийся под именем Dve plastini.max в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.
2. Выделите верхний объект и щелкните на строке Noise (Неоднородности) в раскрывающемся списке Modifier List (Список модификаторов). В нижней части командной панели Modify (Изменить) появится свиток Parameters (Параметры) модификатора зашумления. Задайте характерный пространственный масштаб возмущений в направлении вдоль поверхности в счетчике Scale (Масштаб) равным 50. В счетчике Z из раздела Strength (Амплитуда) установите амплитуду возмущений в направлении оси Z глобальных координат равной 20. Результат показан на рис. 8.16, вверху.

Рис. 8.16. Неоднородности формы объекта с пространственным масштабом возмущений в четверть размера стороны пластины (вверху) и в одну восьмую этого размера {внизу)
3. Теперь выделите нижний объект. Задайте для него в счетчике Scale (Масштаб) пространственный масштаб возмущений равным 25. Как видно из рис. 8.16, внизу, большие величины данного параметра ведут к более гладким на вид возмущениям, малые — к более шероховатым.
Если применить модификатор неодно-родностей с одними и теми же параметрами к двум одинаковым объектам, то сформированные неоднородности также будут идентичны. Однако если изменить значение параметра Seed (Номер выборки), инициирующего работу генератора случайных чисел, то у двух одинаковых объектов будут получены разные неоднородности даже при равенстве всех остальных параметров. В качестве параметра Seed (Номер выборки) может быть использовано любое натуральное число.
Для генерации неоднородностей можно применить фрактальный алгоритм, часто используемый для имитации таких природных объектов, как горы. С этой целью необходимо установить флажок Fractal (Фрактал). Размеры фрактальных возмущений (степень шероховатости поверхности) задаются в счетчике Roughness (Шероховатость). Допустимые значения лежат в пределах от 0 до 1, причем 1 соответствует максимальной шероховатости. Параметр Iterations (Итерации) определяет число вычислительных циклов фрактального алгоритма в процессе генерации неоднородностей. Большие значения ведут к более аккуратному рельефу, но вычисления при этом продолжаются дольше.
Установка флажка Animate Noise (Анимация неоднородностей) включает режим анимации неоднородностей, которые начинают случайным образом меняться от кадра к кадру. В этом случае счетчик Frequency (Частота) задает среднюю скорость случайных колебаний поверхности во времени. Чем больше частота, тем быстрее происходят колебания поверхности объекта. Параметр Phase (Фаза) позволяет управлять анимацией неоднородностей. Различные значения фазы ведут к различающимся на вид анимациям даже при прочих равных параметрах.
Практикуемся в применении эффекта сияющих ореолов к сцене «МАХ-кафе»
Попробуем применить эффект формирования сияющих ореолов к текстовому объекту, изображающему неоновую вывеску кафе «МАХ», и к материалу, примененному к плафонам настенных светильников внутри здания кафе. Это позво-ли г нам отработать навыки использования обоих типов каналов G-буфера: канала объектов и канала материалов.
Выполните следующие действия:
1. Сначала займемся сиянием вывески. Откройте файл MAX-kafe21.max или продолжите работу над сценой, если она уже загружена в программу max 7.5. При необходимости загрузите сцену со всеми материалами, фоновым изображением (если захотите имитировать и осень, и зиму) и эффектами тумана и горения из файла MAX-kafe21.max, хранящегося в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Выделите текстовый объект Viv-eska, щелкните на нем правой кнопкой мыши и выберите в контекстном меню объекта команду Properties (Свойства). В появившемся окне диалога свойств объекта установите в счетчике Object Channel (Канал объекта) раздела G-Buffer (G-буфер) номер канала, равный 1.
| СОВЕТ Номер канала эффектов, применяемых к объекту, совсем не обязательно должен равняться 1. Можно задавать любой номер канала от 1 до 10. |
3. Раскройте окно диалога Environment and Effects (Внешняя среда и эффекты) на вкладке Effects (Эффекты), выберите группу фильтров Lens Effects (Линзовые эффекты) и перенесите имя фильтра Glow (Сияние) в правый список Lens Effects Parameters (Параметры линзовых эффектов).
4. Щелкните на корешке вкладки Options (Режимы) свитка Glow Elements (Элементы сияния), показанной на рис. 15.55, и установите в разделе Image Source (Источник изображения) флажок слева от параметра Object ID (Идентификатор объекта). Это означает, что сияние будет применено к объекту, номер канала G-буфера которого указан в счетчике справа от этого параметра. По умолчанию в этом счетчике уже установлен номер 1. В качестве всех остальных параметров оставьте их исходные значения.

Рис. 15.55. Вкладка Options свитка Glow Elements служит для настройки режимов действия фильтра
5. Щелкните на корешке вкладки Parameters (Параметры), показанной на рис. 15.56. Проследите, чтобы был установлен флажок On (Вкл.), включающий действие эффекта. Измените имя эффекта, чтобы не спутать его с еще одним эффектом сияния, который мы будем применять к материалу плафонов ламп. Для этого щелкните в текстовом поле Name (Имя) и введите имя Glow-viveska. В счетчике Size (Размер), задающем размер области сияния, установите значение 0,2. В счетчике Intensity (Интенсивность), определяющем яркость и степень прозрачности сияния, укажите 85. В счетчик Use Source Color (Цвет источника) введите величину 50. Это будет означать, что цвет области сияния будет на половину формироваться из цвета объекта и на половину — из цвета, указанного в поле левого цветового образца в разделе Radial Color (Цвет вдоль радиуса).

Рис. 15.56. Вкладка Parameters свитка Glow Elements позволяет настроить все параметры эффекта сияния
|
ЗАМЕЧАНИЕ Чем меньше размер области сияния, тем ярче оно выглядит при том же значении параметра Intensity (Интенсивность). |
6. Выполните пробную визуализацию изображения в окне проекции Camera01 (Камера01). Для этого можно действовать традиционным способом, а можно прокрутить область свитков окна диалога Rendering Effects (Визуализация эффектов) вниз и щелкнуть на кнопке Update Scene (Обновить сцену) в разделе Preview (Просмотр) свитка Effects (Эффекты). После определенного времени, необходимого программе на визуализацию сцены, будет сформировано изображение, которое должно быть похоже на рис. 15.57. Как видите, вывеска «засияла». Кстати, если вы внимательно следили за ходом визуализации, то могли заметить, что этап фильтрации выполнялся уже после формирования изображения сцены, как бы поверх него. Именно поэтому можно легко и быстро получать результаты настройки эффекта сияния: для этого не требуется повторный синтез всей картинки. Просто измените параметры и щелкните на кнопке Update Effect (Обновить эффект).

Рис. 15.57. Эффект сияния был применен к объекту-вывеске кафе, и вывеска «засияла»
7. Подготовьте материал плафонов настенных светильников к применению эффекта сияния. Для этого раскройте окно Редактора материалов и активизируйте ячейку образца материала Steklo lampi, который использован для «раскраски» плафонов. Щелкните на кнопке Material Effects Channel (Канал эффектов монтажа) и выберите на ее раскрывающейся панели номер канала G-буфера, отличный от нуля, скажем, 2.
8. Теперь назначьте еще один эффект сияния для материала плафонов настенных светильников. Если использовать тот же самый эффект, что для вывески, мы не сможем изменять его параметры — ведь после их модификации вывеска тоже станет сиять по-другому. В левом списке свитка Lens Effects Parameters (Параметры линзовых эффектов) снова выделите строку Glow (Сияние) и перенесите имя фильтра в правый список. Выделите имя фильтра в правом списке. Щелкните на корешке вкладки Parameters (Параметры) свитка Glow Elements (Элементы сияния) и измените имя фильтра в текстовом поле Name (Имя) на Glow-plafon.
|
ЗАМЕЧАНИЕ Имена фильтров можно и не менять. В сцене может быть много эффектов с именем Glow (Сияние), примененных к разным каналам объектов или материалов с различными параметрами сияния. Программа max 7.5 не запутается, а вот мы сами можем запутаться довольно легко. Так что уж лучше переименовывать фильтры. |
9. Щелкните на корешке вкладки Options (Режимы) и установите в разделе Image Source (Источник изображения) флажок слева от параметра Effects ID (Идентификатор эффектов). В результате сияние будет применено к материалу, номер канала G-буфера которого указан в счетчике справа от этого параметра. Установите в счетчике номер 2. На вкладке Parameters (Параметры) в счетчике Size (Размер), задающем размер области сияния, установите значение 5. В качестве всех остальных параметров оставьте их исходные значения.
10. Вновь выполните пробную визуализацию изображения в том окне проекции, где хорошо виден один из настенных светильников. Я использовал для этого окно дополнительной камеры, Camera05 (Камера05), но можно перенацелить камеру Сатега03 (Камера03). На рис. 15.58 показан вид фрагмента сцены до и после применения фильтра сияния к материалу плафона светильника. Сохраните сцену под измененным в начале упражнения именем МАХ-кафе22.тах. Файл описания сцены с эффектами сияния можно найти в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге, под таким же именем МАХ-кафе22.тах.

Рис. 15.58. Фрагмент сцены «МАХ-кафе» до (слева) и после ( справа) применения эффекта сияния к материалу плафона светильника
В качестве задания для самостоятельной работы попробуйте выполнить визуализацию изображения «взбесившейся» посуды, летающей по помещению кафе, которое показано на рис. 1.24 первой главы. Для этого аккуратно переместите и нужным образом поверните отдельные предметы, используя рис. 1.24 в качестве образца и следя за сценой сразу в нескольких окнах проекций. Для визуализации используйте окно проекции Camera02 (Камера02). Прототип подобной сцены можно найти в папке Scenes\Glava_15 компакт-диска, прилагающегося к книге, под именем MAX-kafe23.max.
Это все, что нам было нужно дополнительно узнать о процессе визуализации, а также об основах имитации эффектов внешней среды и оптических эффектов, свойственных объективам реальных съемочных камер.
Применяем деформацию масштаба к финским саням
В этом упражнении мы построим тело лофтинга, используя трехмерную NURBS-кривую в форме финских саней, которую создавали в главе 6. Затем мы изменим форму тела лофтинга за счет деформации масштаба сечений. Цель упражнения — наглядно показать, что кривизна линии пути лофтинга не играет никакой роли при настройке кривых деформации масштаба.
Чтобы закрепить навыки настройки кривых деформации, полученные в предыдущем упражнении, выполните следующие действия:
1. Загрузите сохраненный в упражнении 2 главы 6 файл Finskie sani.max, содержащий трехмерную NURBS-кривую в форме финских саней. Если вы не сохранили такой файл, то можете найти его в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Создайте в окне проекции Тор (Вид сверху) форму-сечение в виде стандартного сплайна-круга примерно такого размера по отношению к NURBS-кри-вой, как показано на рис. 7.37. Выделите NURBS-кривую, которая будет играть роль формы-пути.

Рис. 7.37. Форма-путь — трехмерная NURBS-кривая и форма-сечение — стандартный сплайн-круг
3. Выберите инструмент создания объектов типа Loft (Лофтинговые) в свитке Object Type (Тип объекта) командной панели Create (Создать). Убедившись что форма-путь все еще выделена, щелкните на кнопке Get Shape (Взять форму) в свитке Creation Method (Метод создания). Перейдите в любое окно проекции и щелкните на круге. Будет сформировано базовое тело лофтинга, показанное на рис. 7.38. Назовите созданный объект Sanki.

Рис. 7.38. Сформировано базовое тело лофтинга в форме финских саней
4. Чтобы сделать поверхность тела лофтинга менее угловатой, нужно увеличит сегментацию линии пути. Для этого проследите, чтобы тело лофтинга был выделено, перейдите на командную панель Modify (Изменить) и развернит свиток Skin Parameters (Параметры оболочки). Измените значение в счетчик Path Steps (Шагов пути) с 5 на 10.
5. Разверните свиток Deformations (Деформации) и щелкните на кнопке Scale (Mac штаб). Появится уже знакомое вам окно диалога Scale Deformation (Деформаци масштаба). Наша цель — сформировать утолщение тела лофтинга в районе спинки саней, симметричное по осям X и Y координат поперечного сечения тела, а затем выполнить несимметричную деформацию тела в области полозьев саней, сузив эти участки по координате толщины, но увеличив по высоте. Но прежде всего уменьшим диаметр кругового сечения тела лофтинга по всей его длине. Пользуясь тем, что кнопка Make Symmetrical (Симметрично по X и Y) включена по умолчанию, выделите оба маркера на концах кривой деформации и сместите их вниз, примерно до отметки 60 %. Диаметр трубки, образующей санки, уменьшится до 60 % от исходного.
6. Теперь займемся спинкой саней. Центр ее расположен ровно посередине общей длины пути лофтинга, то есть имеет вдоль шкалы пути координату 50 %. Создадим утолщение тела лофтинга в интервале от 45 до 55 % расстояния от начала пути. Не изменяя состояния кнопки Make Symmetrical (Симметрично по X и Y), создайте на кривой деформации четыре новых вершины типа Corner (С изломом), придав им координаты (45; 60), (45; 120), (55; 120) и (55; 60). Вид кривой деформации показан на рис. 7.39, а на рис. 7.40 продемонстрирован результат деформации, выразившийся в утолщении тела лофтинга в районе спинки саней до 120 % от исходного диаметра. Как видите, хотя кривая деформации и не повторяет затейливую форму линии пути лофтинга, утолщение появилось именно в том месте, где и планировалось, — в районе середины спинки.

Рис. 7.39. Вид кривых деформации, одинаковых по осям X и Y

Рис. 7.40. В области спинки саней диаметр тела лофтинга увеличен до 120 % от исходного, а в остальной части — уменьшен до 60 %
7. Щелкните на кнопке Make Symmetrical (Симметрично по X и Y), чтобы выключить этот режим и сделать возможным использование различных кривых деформации в продольных сечениях объекта по осям X и Y, ориентированным перпендикулярно линии пути. Щелкните в окне диаграммы деформации на кнопке Display Y Axis (Показать деформацию по Y). Появится линия диаграммы зеленого цвета. Чтобы сделать полозья саней тоньше, создайте на кривой деформации четыре новых вершины типа Corner (С изломом) в точках, отстоящих на 20, 22, 78 и 80 % от начала пути лофтинга. Затем выделите вершины с координатами (0; 60), (20; 60), (80; 60) и (100; 60), то есть первую, вторую, последнюю и предпоследнюю вершины кривой деформации, и опустите их вниз до отметки 20 % по вертикальной шкале, указывающей масштаб сечения в процентах от исходного.
8. Чтобы сделать полозья не только тоньше основной части тела лофтинга, но и несколько больше по высоте, переключитесь на отображение кривой деформации по оси X. Создайте на ней четыре новых вершины в тех же точках по шкале расстояния от начала пути лофтинга, что и на кривой деформации по оси Y. Выделите первую, вторую, последнюю и предпоследнюю вершины кривой деформации и поднимите их вверх до отметки 130 % по вертикальной шкале окна диаграммы деформации. На рис. 7.41 показан вид кривых деформации по обеим осям поперечного сечения тела лофтинга, а на рис. 7.42 — вид самого объекта после деформации масштаба.

Рис. 7.41. Вид кривых деформации по осям X и Y

Рис. 7.42. За счет настройки кривых деформации сечение полозьев саней по горизонтальной оси сделано меньше, а по вертикальной — больше
Надеюсь, после выполнения этих двух упражнений у вас больше не будет проблем с использованием деформации масштаба тел лофтинга любой, самой экзотической формы.
Применяем карту текстуры Flat Mirror в материалах столешниц
Отработаем на практике задачу использования текстурной карты Flat Mirror (Плоское зеркало) в составе многокомпонентного материала, чтобы обеспечить небольшую долю зеркального отражения предметов в полированных поверхностях столешниц.
1. Загрузите в mах 7.5 файл MAX-kafe15.max или продолжите работу, если файл сцены уже открыт. При необходимости сцену со всеми настроенными на данный момент материалами вы можете найти в файле MAX-kafe15.max, хранящемся в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Активизируйте очередную свободную ячейку Редактора материалов. Если у вас уже не осталось свободных ячеек, то активизируйте любую и очистите ее, щелкнув на кнопке Reset Map/Mtl to Default Settings (Установить исходный материал/карту текстуры). Так как материал из ячейки используется в составе сцены, появится окно диалога Reset Mtl/Map Params (Восстановление исходных параметров материала/карты текстуры) с соответствующим предупреждением. Чтобы не испортить материал, уже нанесенный на объекты сцены, проследите, чтобы переключатель окна был установлен в положение Affect only mtl/map in the editor slot (Воздействовать только на материал/текстуру в ячейке) и щелкните на кнопке ОК.
3. Назовите новый материал Stoleshnica. Щелкните на кнопке справа от раскрывающегося списка имен материалов, на которой по умолчанию должна читаться надпись Standard (Стандартный), затем в появившемся окне диалога Material/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на строке Multi/Sub-Object (Многокомпонентный). Появится окно диалога Replace Material (Заменить материал), в котором следует установить переключатель в положение Discard old material (Отбросить старый материал), иначе исходный стандартный материал из выбранной ячейки образца будет применен в качестве компонента создаваемого многокомпонентного материала. Щелкните на кнопке ОК. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке Set Number (Задать число) и установите в счетчике Number of Materials (Число материалов) появившегося окна число 3. Щелкните на кнопке ОК. Три материала понадобятся нам потому, что столешницы создавались как тела экструзии, а у таких тел грани верхнего основания имеют идентификатор материала, равный 1, нижнего основания — 2, а грани боковой поверхности — 3.
4. Для назначения материалов отдельным компонентам воспользуйтесь приемом перетаскивания образцов материалов с помощью мыши. Щелкните на образце ранее созданного материала Duboviy кар и перетащите курсор на кнопку свитка Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала), относящуюся к первому компоненту многокомпонентного материала. На этой кнопке должна по умолчанию читаться надпись Material #... (Standard). Отпустите кнопку мыши. В появившемся окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Сору (Копия) и щелкните на кнопке ОК. Первый компонент материала будет в дальнейшем применен к граням верхней плоскости столешницы, поэтому мы будем его модифицировать, для чего и требуется иметь независимую копию материала. Повторите аналогичные действия применительно ко второму и третьему компонентам многокомпонентного материала, однако в этих случаях устанавливайте переключатель типа дубликата в положение Instance (Образец).
5. Чтобы обеспечить формирование зеркальных отражений предметов в полированной древесине, нужно применить карту Flat Mirror (Плоское зеркало) в качестве текстуры зеркального отражения формируемого материала. Эта карта не является растровой, но от этого не становится менее полезной. Щелкните на кнопке первого материала-компонента, на которой должна читаться надпись Material #... (Standard). Разверните свиток Maps (Карты текстур) и щелкните на кнопке с надписью None (Отсутствует) справа от параметра оптической характеристики материала, именуемой Reflection (Зеркальное отражение). В окне просмотра материалов и карт текстур дважды щелкните на строке Flat Mirror (Плоское зеркало). Произойдет возврат в Редактор материалов, где появится свиток параметров карты текстуры плоского зеркала. Сбросьте в этом свитке флажок Use Environment Map (Использовать карту текстуры окружающей среды), так как нам не нужно, чтобы в столешницах отражался еще и фон сцены. Оставьте неизменными исходные значения всех остальных параметров и вернитесь на уровень работы с материалом, щелкнув на кнопке Go to Parent (Перейти к составному материалу). В свитке Maps (Карты текстур) на кнопке параметра Reflection (Зеркальное отражение) вместо надписи None (Отсутствует) будет читаться наименование выбранной карты. Установите в счетчике Amount (Доля вклада) зеркального отражения долю вклада текстуры равной 30 %, ведь в картине полированной древесины должен преобладать рисунок текстуры дерева, а отражения окружающих предметов должны проявляться с меньшей силой. Переименуйте данный компонент материала, назвав его, скажем, Dub+Zerkalo. Выделите обе столешницы и назначьте им вновь созданный многокомпонентный материал. Сохраните этот материал в библиотеке MAX-kafe.mat.
6. Выполните пробную визуализацию изображения сцены в окне проекции Сатега03 (Камера03). У вас должен получиться результат, похожий на изображения, показанные ранее на рис. 14.22-14.24. Сохраните сцену под измененным в начале упражнения именем.
Совершенствуем стол с помощью... трубы
Добавим к столу, созданному нами при выполнении упражнения 3, еще одну деталь, призванную оживить его дизайн.
1. Откройте ранее сохраненный файл Stol i stul.max, содержащий сцену, над которой шла работа в упражнении 3. Если вы по каким-то причинам не создали такой файл, загрузите его из папки \Scenes\Glava_05 прилагающегося к книге компакт-диска. Сохраните файл с инкрементированием имени.
2. В окне проекции Perspective (Перспектива) щелкните на объекте Stoleshnica, чтобы выделить его. После этого щелкните на кнопке инструмента Zoom Extents All Selected (Выделенные объекты целиком во всех окнах), которая находится на раскрывающейся панели инструмента Zoom Extents All (Сцена целиком во всех окнах), чтобы изображения столешницы отобразились целиком и приняли размер всех окон проекций.
3. Выберите инструмент Tube (Труба) на командной панели Create (Создать), переместите курсор в окно проекции Тор (Вид сверху) и щелкните в районе точки начала координат. Методом «от центра» создайте трубу со следующими
размерами: Radius 1 (Радиус 1) = 68, Radius 2 (Радиус 2) = 62 и Height (Высота) = 15 см. Назовите объект Obvi-azka и приведите его цвет в соответствие с цветом других деталей стола. Не отменяя выделения трубы, сделайте глобальные координаты ее расположения в сцене равными (0; 0; 55). Выделите все объекты, входящие в состав стола, и создайте из них группу, назвав ее Stol. Вид сцены после внесенных изменений показан на рис. 5.28. Сохраните сцену под инкрементиро-ванным именем Stol i stul01.max.

Рис. 5.28. Дизайн стола слегка усовершенствован за счет цилиндрической обвязки ножек
Создаем эскиз анимации «Летящий шар»
Для создания эскиза анимации, сформированной в упражнении 1, выполните следующие действия:
1. Загрузите в программу max 7.5 файл Letiasshiy shar.max. Если вы по каким-либо причинам не создали такой файл, можете найти его в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге. Активизируйте окно проекции, в котором будет производиться эскизная визуализация.
2. Выберите команду меню Animation > Make Preview (Визуализация > Создать эскиз). Появится окно диалога Make Preview (Создание эскиза), показанное на рис. 16.39.

Рис. 16.39. Окно диалога Make Preview содержит полный набор параметров для настройки эскизов анимаций
| ЗАМЕЧАНИЕ В этом окне часто бывает можно оставлять все параметры в исходном состоянии, принятом по умолчанию. В данном упражнении мы производим настройку этих параметров исключительно в учебных целях. |
3. Задайте диапазон кадров для создания эскиза анимации в разделе Preview Range (Интервал эскиза). В данном случае оставьте переключатель в исходном положении Active Time Segment (Активный временной сегмент). Если потребуется визуализировать не весь активный сегмент, а только его часть, установите переключатель в положение Custom Range (Выборочный интервал) и задайте начальный и конечный номера кадров в двух счетчиках под переключателем Custom Range (Выборочный диапазон).
4. Установите или оставьте без изменения, как в нашем случае, частоту кадров эскиза анимации, задаваемую с помощью двух счетчиков раздела Frame Rate (Частота кадров):
Every Nth Frame (Каждый N-й кадр) — интервал выборки кадров анимации для включения в эскиз (результат визуализации будет содержать каждый N-й кадр анимации);
Playback FPS (Скорость воспроизведения) — частота кадров при воспроизведении эскиза анимации (в кадрах в секунду).
| ЗАМЕЧАНИЕ Если, скажем, в счетчике Every Nth Frame (Каждый N-й кадр) указано число 5, чтобы в эскиз включался только каждый пятый кадр анимации, а скорость воспроизведения задана 30 кадров в секунду, то для сохранения заданной скорости показа max 7.5 будет помещать в файл по пять одинаковых копий каждого кадра. |
5. Задайте разрешающую способность эскиза анимации в разделе Image Size (Размер изображения). Для этого укажите в счетчике Percent of Output (Процент результата) процентную долю разрешения эскиза от разрешения выходного изображения, заданного в разделе Output Size (Размер кадра) окна диалога Render Scene (Визуализация сцены). Так, если выходное изображение имеет разрешение 640x480 пикселей, а в счетчике Percent of Output (Процент результата) указано 50, то разрешение эскиза будет составлять 320x240 пикселей. Эта величина указывается в поле параметра Resolution (Разрешение). Оставьте в счетчике Percent of Output (Процент результата) исходное значение 50.
6. Укажите (при необходимости) типы объектов сцены, которые следует включать в эскиз анимации, используя флажки группы Display in Preview (Показывать в эскизе): Geometry (Геометрию), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), Space Warps (Объемные деформации), Particle Systems (Системы частиц), Active Grid (Активную сетку), Safe Frames (Области сохранения), Frame Numbers (Номера кадров), Background (Фон), Bone Objects (Объекты-кости).
|
ЗАМЕЧАНИЕ Обратите внимание на то, что в эскиз анимации можно включать даже объекты, которые не визуализируются в итоговом изображении сцены: значки источников света, камер, вспомогательных объектов, объемных деформаций, а также координатные сетки. Это бывает полезно при отладке. |
7. Выберите в раскрывающемся списке Rendering Level (Уровень качества визуализации) уровень качества визуализации объектов в эскизе анимации: Smooth + Highlights (Сглаживание + блики), Smooth (Сглаживание), Facets + Highlights (Грани + блики), Facets (Грани), Lit Wireframes (Освещенные каркасы), Wireframe (Каркасы), Bounding Box (Габаритные контейнеры). Анимация будет воспроизведена с выбранным качеством, а не с тем, какое установлено в окне проекции.
8. Задайте тип выходного файла или устройства для записи эскиза анимации с помощью переключателя раздела Output (Выходной результат):
AVI — эскиз будет записан в файл _scene.avi в формате «Видео для Windows». В данном упражнении оставьте переключатель в этом положении. Щелкните на кнопке справа от переключателя, чтобы выбрать кодек (codec — компрессор-декомпрессор), то есть алгоритм сжатия и последующей распаковки выходного файла, или степень сжатия видеоинформации. В появившемся окне диалога Video Compressor (Сжатие видео) выберите в раскрывающемся списке нужный тип кодека, например Microsoft Video 1 или Cinepac Codec by Radius, установите ползунок параметра Compression Quality (Качество сжатия) в положение, скажем, 75-90 и щелкните на кнопке ОК;
Custom File Type (Специальный тип файла) — позволяет выбрать тип выходного файла в окне диалога, появляющемся после щелчка на кнопке Create (Создать);
Use Device (Применить устройство) — позволяет записать эскиз анимации на внешний накопитель, подобный цифровому магнитофону Accom WSD, тип которого можно выбрать после щелчка на кнопке Choose Device (Выбрать устройство).
9. С помощью раскрывающегося списка в самом низу окна диалога укажите, в каком из окон проекций следует выполнять построение эскиза анимации. По умолчанию в списке указывается активное окно проекции.
10. Для запуска процесса генерации эскиза щелкните на кнопке Create (Создать). Визуализация эскиза производится в окне в средней части экрана 3ds max, а в нижней части экрана появляется прогресс-индикатор Creating Preview (Создание эскиза), как показано на рис. 16.40. Для прерывания визуализации щелкните на кнопке Cancel (Отмена), расположенной справа от прогресс-индикатора. Появится запрос: Do you want to stop creating a preview? (Хотите прервать создание эскиза?). Щелкните на одной из кнопок: Stop & Play (Прервать и воспроизвести), Stop & Don't Play (Прервать и не воспроизводить) или Don't Stop (He прерывать). Файл эскиза анимации сохраняется под именем _scene.avi в папке Previews, вложенной в папку с программным обеспечением max 7.5. По завершении визуализации эскиза mах 7.5 автоматически загружает приложение Windows Media Player (Проигрыватель Windows Media) системы Windows для воспроизведения сформированного файла. При желании вы можете просмотреть готовый файл эскиза анимации сцены Letiasshiy shar, который под именем _scene.avi имеется в папке Animations\Glava_16 компакт-диска, прилагающегося к книге.

Рис. 16.40. Вид экрана max 7.5 в режиме создания эскиза анимации: золотистая сфера летит на фоне облачного неба
|
СОВЕТ Чтобы отменить автоматическую загрузку приложения Windows Media Player (Проигрыватель Windows Media), сбросьте флажок AutoPlay Preview File (Автоматический просмотр эскиза) на вкладке General (Общие) окна диалога Preference Settings (Настройка параметров), вызываемого по команде главного меню Customize > Preferences (Настройка > Параметры). |
Создаем, размещаем
Теперь вы знаете все, что нужно для начала знать о настройке параметров осветителей любого типа. Чтобы закончить со всенаправленными источниками света, продолжите предыдущее упражнение, создав нужное число осветителей для кафе «МАХ» и настроив их параметры.
1. Удалите наш «экспериментальный» Всенаправленный осветитель и создайте вместо него пять новых. Разместите два из них внутри плафонов настенных светильников, третий — симметрично тому, который помещен в дальний от зрителя светильник, но у противоположной, правой стены кафе. Четвертый осветитель разместите на той же высоте, что и первые три, но у фасадной стены, справа от входной двери. Наконец, пятый Всенаправленный осветитель поместите внутрь камина, расположив его непосредственно над дровами, как показано на рис. 11.20. Возможно, для этого вам придется временно восстановить видимость объектов Kamin, Poleno01 и Poleno02, а затем вновь скрыть их. Выключите пока что этот источник света — огонь в камине еще не горит.

Рис. 11.20. В состав сцены включены пять всенаправленных осветителей
2. Задайте для четырех осветителей значение параметра Multiplier (Усилитель) равным 0,5, установите флажок On (Вкл.) в разделе Shadows (Тени) свитка General Parameters (Общие параметры) и убедитесь в том, что тени имеют тип Shadow Maps (Карты теней). Для всех остальных параметров оставьте значения, принятые по умолчанию. Выполните визуализацию изображения сцены. Появление в сцене нескольких источников света, освещающих ее с разных сторон, создаст весьма реалистичную картину мягких переплетающихся теней, как показано на рис. 11.21.

Рис. 11.21. Узор из теней от четырех всенаправленных осветителей
3. Создайте еще один, шестой Всенаправленный осветитель, и поместите его «на улице» перед фасадом здания кафе, в районе точки с координатами (-40; -650; 305). Задайте для него значение параметра Multiplier (Усилитель) равным 0,7 и установите режим отбрасывания теней типа Shadow Maps (Карты теней). Без этого осветителя стена кафе снаружи выглядела бы совсем черной. Чтобы этот осветитель не влиял на режим столь тщательно настроенного нами освещения предметов интерьера кафе, включите в число освещаемых им из всех объектов сцены только следующие: Viveska, Fasad, Osnovanie sceni, Fundament, Okno, Dveri, Stupenka, а также Snow01, Snow02 и Valik01-Valik03. Для этого, как вы помните, придется установить переключатель в окне диалога Exclude/Include (Включение/Исключение) в положение Include (Включить) и переместить имена упомянутых объектов в правую часть окна диалога. В заключение сохраните файл сцены под заданным еще в первом упражнении именем MAX-kafe09.max.
Итак, со всенаправленными осветителями мы разобрались, заодно испробовав массу параметров, имеющих столь же важное значение и для других типов стандартных и фотометрических осветителей. Надеюсь, теперь вы четко осознаете, что всенаправленные осветители играют весьма серьезную роль в формировании световой композиции трехмерной сцены. Впрочем, в нашем случае все эти осветители не относятся к числу ключевых, они лишь компенсируют дефицит освещенности по углам кафе. Виртуальный трехмерный мир сродни театральной сцене, а там не обойтись без прожекторов, способных выхватить из мрака тот или иной предмет или персонаж, чтобы приковать к нему внимание зрителя.
Усовершенствуем стол
Закрепите навыки построения тел экструзии, внеся некоторые усовершенствования в форму столешницы ранее подготовленного в главе 5 стола, ведь мебель нашего «МАХ-кафе» не должна выглядеть примитивно! Кроме того, в этом упражнении вы научитесь модифицировать форму стандартных сплайнов. Итак, повторяйте за мной.
1. Откройте файл Stol i stul01.max, созданный и сохраненный в главе 5. Если вы не создали такой файл или не сохранили его, загрузите файл с именем Stol i stul01.max из папки Scenes\Glava_06 прилагающегося к книге компакт-диска. Сразу же сохраните файл с инкрементированием имени. Разверните окно проекции Тор (Вид сверху) на весь экран, нажав клавиши Alt+w.
2. Выберите в категории Shapes (Формы) командной панели Create (Создать) инструмент Rectangle (Прямоугольник), относящийся к разновидности Splines (Сплайны). Установите переключатель Creation Method (Метод создания) в положение Center (От центра), нажмите и удерживайте клавишу Ctrl и постройте квадрат размером 122x122 см, растягивая его из точки начала координат.
3. Перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Edit Spline (Правка сплайна) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). Тем самым вы обеспечите возможность правки стандартного сплайна на уровне подобъектов, не преобразуя его в редактируемый объект типа Editable Spline (Редактируемый сплайн).

В окне стека модификаторов щелкните на квадратике со знаком «плюс» слева от имени модификатора Edit Spline (Правка сплайна) и выберите в раскрывшемся дереве подобъектов строку Vertex (Вершина). Прокрутите вверх область свитков командной панели, чтобы стала видна кнопка Refine (Уточнить) в свитке Geometry (Геометрия). Щелкните на этой кнопке, переместите курсор в окно проекции Тор (Вид сверху) и создайте четыре новые вершины точно по серединам сторон прямоугольника. В момент установления курсора на линию сплайна он должен приобретать вид, показанный на рисунке справа, указывая на готовность к вставке вершины.
4. Выберите инструмент Select and Move (Выделить и переместить) и переместите все четыре новые вершины от центра прямоугольника на края старой столешницы, как показано на рис. 6.45. Более удобный способ выполнить подобную операцию состоит в том, чтобы выделить все четыре новые вершины, активизировать на панели инструментов кнопку выбора центра преобразования Use Selection Center (Использовать центр выделения), затем выбрать инструмент Select and Uniform Scale (Выделить и равномерно масштабировать), щелкнуть на любой из выделенных вершин и за один прием раздвинуть сразу все четыре вершины совершенно симметрично.

Рис. 6.45. Новые вершины сплайна перемещены на края старой столешницы
5. Выделите все четыре угловые вершины сплайна, щелкните на любой из них правой кнопкой мыши и выберите в разделе tools1 (инструменты1) четвертного меню команду Bezier (Безье), чтобы преобразовать эти вершины к данному типу. Установите в свитке Selection (Выделение) флажок Lock Handles (Блокировать маркеры). Убедитесь в том, чтобы был установлен переключатель All (Все). Выберите инструмент Select and Move (Выделить и переместить), щелкните на маркере любого из касательных векторов четырех выделенных вершин и перемещайте его, стараясь придать сплайну форму, показанную на рис. 6.46. При этом все восемь маркеров будут перемещаться согласованно, обеспечивая требуемую симметрию редактируемой формы.

Рис. 6.46. Синхронное редактирование маркеров касательных векторов всех четырех вершин обеспечивает получение требуемой формы столешницы
6. Выключите режим выделения подобъектов, щелкнув на строке Edit Spline (Правка сплайна) в окне стека модификаторов, и примените к полученному профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 5 см. Назовите объект Stoleshnica, предварительно удалив старую столешницу, и подберите для него коричневый цвет «под дерево». Не забудьте установить флажок Generate Mapping Coords (Проекционные координаты). Переместите новую столешницу в точку (0; 0; 70). Окончательный вид обновленного стола показан на рис. 6.47. Сохраните файл для дальнейшего использования.

Рис. 6.47. Стол с новой столешницей выглядит более стильно
Елочное украшение «Звезда»
Поддерживая начатую новогоднюю тему, выберем в качестве объекта для экспериментов очередное елочное украшение — звезду. Однако будем стараться сделать не геометрически строгую и потому холодную в своей правильности звезду, а как бы мягкую, живую звездочку (рис. 9.67), пять лучей которой можно рассматривать как руки, ноги и голову некоего простейшего трехмерного персонажа. Куски Безье прекрасно подходят для моделирования именно такого типа объектов, относящихся к разряду «органики».

Рис. 9.67. Звездочка, вылепленная из треугольных кусков Безье, машет вам лучом-«рукой»
Наша звезда имеет вертикальную плоскость зеркальной симметрии, разделяющую ее на фронтальную и тыльную половины. Применим в связи с этим уже опробованный нами прием: будем создавать только одну зеркальную половинку звезды, затем выполним ее копирование и соединим половинки вместе.
Выполняйте вместе со мной следующие действия:
1. Как обычно, выполните перезагрузку mах 7.5 и сохраните пустую сцену под именем Zvezda.max.
2. Создайте в окне проекции Front (Вид спереди) вблизи от начала глобальной системы координат стандартный объект типа Tri Patch (Треугольный кусок) размером приблизительно 12x12 см. Вы, конечно, помните о том, что этот примитив на самом деле представляет собой два треугольных куска Безье, соединяющихся вдоль общей диагонали. Преобразуйте объект к типу Editable Patch (Редактируемый кусок) и поверните сетку на 45°, чтобы диагональ, разделяющая куски, разместилась вертикально. Убедитесь в этом, переключившись на командной панели Modify (Изменить) на уровень выделения подобъектов Patch (Кусок) и выделив один из двух кусков Безье, из которых состоит прямоугольная сетка. Переключитесь на уровень выделения подобъектов-вершин, выделите все четыре угловые вершины двух кусков и преобразуйте их к типу Corner (С изломом), используя четвертное меню. Перемещая вершины и манипулируя маркерами касательных векторов, придайте сетке кусков форму, подобную показанной на рис. 9.68. Это будет заготовка лицевой половины верхнего из пяти лучей звезды. Обратите внимание на то, что верхняя и нижняя вершины, лежащие на концах диагонали, разделяющей два треугольных куска Безье, имеют по три касательных вектора. Это поможет нам на следующем шаге упражнения придать выпуклость заготовке луча.

Рис. 9.68. Форма стандартной сетки из двух треугольных кусков Безье, повернутой на 45°, настроена за счет перемещения угловых вершин и их касательных векторов
3. На виде спереди сетка приняла нужные формы, но она пока остается совершенно плоской, в чем легко убедиться, заглянув, скажем, в окно проекции Тор (Вид сверху). Чтобы придать сетке нужную выпуклость, придется работать сразу с несколькими окнами проекций. Выделите верхнюю вершину сетки в окне вида спереди. Перейдите в окно проекции вида справа или слева. Пусть для определенности это будет вид справа. Плоская сетка в таком окне будет, естественно, выглядеть как отрезок вертикальной линии. Найдите маркер касательного вектора, исходящего из верхней вершины вниз, вдоль диагонали сетки, и переместите его влево. Контролируйте результат, глядя не только в окно вида справа, но и в окно вида сверху. Затем выделите нижнюю вершину сетки и также переместите ее влево. Теперь поработайте с маркерами касательных векторов двух боковых вершин, придав сетке примерно такую форму, какая показана на рис. 9.69. Ориентировочные направления перемещения вершины и маркеров показаны на рисунке стрелками.

Рис. 9.69. Сетке верхнего луча придана выпуклость за счет перемещения нижней вершины и маркеров нескольких касательных векторов в направлениях, показанных стрелками
4. Для дальнейшего наращивания сетки можно использовать две альтернативы. Один способ состоит в том, чтобы выделить нужное боковое ребро куска Безье и присоединить к нему новый кусок, используя в нашем случае инструмент Add Tri (Добавить треугольный). Вторая возможность заключается в копировании обоих кусков, из которых состоит верхний луч, перемещении их в нужную позицию и присоединении к исходной сетке. Испытаем в учебных целях оба варианта действий. Сначала попробуем присоединять кусок за куском. Переключитесь на уровень выделения подобъектов Edge (Ребро). Выделите в окне проекции вида спереди правое нижнее ребро сетки и щелкните на кнопке Add Tri (Добавить треугольный) в свитке Geometry (Геометрия). К выделенному ребру автоматически присоединится новый треугольный кусок Безье. Этот кусок размещается программой так, чтобы без перегибов наследовать форму исходной сетки, как показано на рис. 9.70. В нашем случае, однако, это не совсем то, что нам нужно. Форму нового куска требуется подправить.

Рис. 9.70. К правому нижнему ребру сетки присоединен новый треугольный кусок, наследующий ее форму
5. Переключитесь на уровень выделения подобъектов-вершин. Перемещая на виде спереди крайнюю вершину нового куска и манипулируя маркерами касательных векторов этой и двух других его вершин, придайте сетке форму, похожую на изображенную на рис. 9.71. Не забывайте, что мы создаем пока сетку только одной зеркальной половины звезды, так что на краю сетки, вдоль которого пойдет сшивка зеркальных половинок, вершины кусков должны лежать приблизительно в одной плоскости. Этого следует добиться, настраивая положение крайней вершины и ее векторов в окне вида сверху. На рис. 9.64 видно ориентировочное расположение маркеров касательных векторов угловых вершин добавленного куска Безье.

Рис. 9.71. Вид сетки после редактирования формы нового куска. На виде сверху крайняя вершина нового куска должна лежать на линии симметрии звезды
6. Переключившись на уровень работы с ребрами, выделите нижнее из свободных ребер только что добавленного куска и снова щелкните на кнопке Add Tri (Добавить треугольный). Произойдет дальнейшее наращивание площади сетки за счет добавления еще одного треугольного куска Безье. Вернувшись на уровень выделения вершин, настройте форму добавленного куска за счет перемещения маркеров касательных векторов. Не забудьте переместить нижнюю угловую вершину нового куска в окне вида сверху на линию зеркальной симметрии половинок создаваемой звезды. В итоге сетка должна принять вид, похожий на рис. 9.72. Можно продолжать дальнейшее наращивание сетки аналогичным способом, начав с ребра, указанного на рисунке стрелкой. Мы, однако, перейдем к освоению второго обозначенного выше способа моделирования сетки из кусков Безье за счет присоединения готовых элементов.

Рис. 9.72. Второй луч звезды сформирован из двух новых треугольных кусков Безье. Стрелка указывает на ребро, с которого следует продолжать наращивание сетки
7. Чтобы присоединить к сетке целый готовый фрагмент, переключитесь на уровень выделения подобъекта Patch (Кусок). Выделите оба куска, составляющих первый луч звезды. Нажав и удерживая клавишу Shift, переместите копию пары кусков в сторону, а затем поверните и расположите их примерно так, как показано на рис. 9.73. Теперь можно произвести прикрепление нового фрагмента из двух кусков к остальной части сетки. Переключитесь на уровень выделения подобъекта Vertex (Вершина). Выделите две пары вершин на концах тех двух ребер, вдоль которых должно произойти слияние основной сетки и нового фрагмента. Убедитесь, что в нижней части свитка Selection (Выделение) имеется сообщение 4 Vertices Selected (Выделены 4 вершины).

Рис. 9.73. Два куска Безье, образующие верхний луч звезды, скопированы и размещены в нужной позиции для прикрепления. Стрелками показаны вершины, которые нужно слить
8. В разделе Weld (Слить) свитка Geometry (Геометрия) установите в счетчике справа от кнопки Selected (Выделенные) величину порогового расстояния между вершинами, которые будут слиты в одну после щелчка на упомянутой кнопке. В нашем случае достаточно будет задать пороговое расстояние равным 1 см. Щелкните на кнопке Selected (Выделенные). Вершины попарно сольются, а сообщение в нижней части свитка Selection (Выделение) будет читаться как 2 Vertices Selected (Выделены 2 вершины). Слияние вершин ведет к органичному прикреплению нового фрагмента к основной сетке с заменой двух соединявших пары вершин ребер на одно новое. Остается только настроить форму вновь созданного луча примерно так, как показано на рис. 9.74, перемещая вершины кусков и манипулируя маркерами касательных векторов. При таком способе наращивания сетки не нарушается выравнивание вершин вдоль плоскости симметрии звезды. В этом легко убедиться, заглянув в окно вида сверху. В нашем конкретном случае это, несомненно, удобно, так как сокращает усилия по настройке формы сетки.

Рис. 9.74. Создан еще один луч звезды
9. Продолжите наращивание сетки, добавляя новые куски любым из возможных способов, показавшимся вам более простым и подходящим. В итоге фронтальная половинка звезды будет выглядеть так, как показано на рис. 9.75.

Рис. 9.75. Сетка фронтальной половинки звезды построена полностью
|
ЗАМЕЧАНИЕ Хочу напомнить, что мы задавались целью построить звездочку, напоминающую некий прообраз простейшего компьютерного персонажа. В связи с этим нет никакой необходимости стараться обеспечивать строгую геометрическую правильность конструкции объекта. Очевидно, если бы требовалось сформировать геометрически правильную звезду, нам следовало бы выбрать иной метод моделирования, например выдавливание сплайнового пятиконечного примитива Star (Звезда) с последующей правкой полученной сетки на уровне вершин и граней. |
10. Чтобы еще чуть оживить модель, настройте форму одного из лучей-«рук» звезды так, как будто она приветливо помахивает зрителям. Что-то подобное показано ранее на рис. 9.60. Для этого имеет смысл увеличить сегментацию кусков, составляющих этот луч. Выделите нужные куски па уровне подобъекта Patch (Кусок) и щелкните на кнопке Subdivide (Подразделить), расположенной в свитке Geometry (Геометрия) и уже опробованной нами в предыдущем упражнении. Получив в свое распоряжение дополнительные вершины и касательные векторы, настройте форму луча, проявив творческую фантазию (рис. 9.76).

Рис. 9.76. Сегментация одного из лучей увеличена, что позволило звезде помахать нам этим лучом как рукой
11. Теперь остается только создать зеркальную копию сформированной половинки звезды и соединить обе половины вместе. Переключитесь на уровень выделения объекта Editable Patch (Редактируемый кусок) в целом. Убедитесь, что вся сетка кусков выделена. Активизируйте окно вида справа. Щелкните на кнопке Mirror Selected Objects (Отразить выделенные объекты) главной панели инструментов. В появившемся окне диалога установите переключатель Clone Selection (Тип отражения) в положение Сору (Копия) и щелкните на кнопке ОК. Будет создана зеркальная копия половники звезды. Чтобы слить вершины новой сетки кусков с вершинами первой половины звезды, требуется предварительно включить новую половину в состав исходной сетки. Щелкните на кнопке Attach (Прикрепить) свитка Geometry (Геометрия), а затем — на исходной половинке звезды.
12. Перейдя на уровень выделения подобъектов-вершин, выделите с помощью рамки в окне вида справа, слева или сверху все вершины кусков, лежащие вдоль линии стыка двух половин звезды. Последите за числом выделенных вершин по сообщению в нижней части свитка Selection (Выделение). У меня оказались выделенными 24 вершины. Щелкните на кнопке Selected (Выделенные) в разделе Weld (Слить) свитка Geometry (Геометрия). Убедитесь в том, что число вершин после слияния уменьшилось ровно в два раза. Если этого не произошло, то проверьте, достаточно ли плотно сдвинуты половинки перед слиянием вершин, или увеличьте пороговое расстояние слияния. В итоге трехмерная звездочка должна получиться похожей на ту, которая была показана ранее на рис. 9.67. Впрочем, допускаю, что ваше произведение будет выглядеть гораздо лучше и интереснее.
|
ЗАМЕЧАНИЕ Итоговую модель звезды можно найти в файле Zvezda.max, хранящемся в папке Scenes\ Glava_09 компакт-диска, прилагающегося к книге. |
Итак, попытка построить объект методом «лепки» из стандартных кусков успешно завершена. Надеюсь, что у творческих натур уже рождаются в голове идеи насчет того, как применить рассмотренный метод для «лепки» более сложных объектов, например, таких, как голова некоего компьютерного существа. Попробуйте самостоятельно поэкспериментировать в данном направлении, используя уже не треугольные, а четырехугольные куски Безье.
Ну а пока мы переходим к освоению следующего продвинутого метода моделирования — метода «натягивания» оболочки в виде сетки кусков Безье на трехмерный сплайновый каркас.
Применяем модификатор Noise к снежным наносам вокруг кафе «МАХ»
Модификатор Noise (Неоднородности) можно с пользой для дела применить в нашем основном проекте — сцене, изображающей кафе «МАХ». Действие сюжета происходит зимой, падает снег, которым покрыта земля вокруг кафе. На выступах фундамента лежат снежные валики. Чтобы этот снежный покров выглядел более естественно, необходимо сделать его несколько неровным.
Выполните следующие действия:
1. Откройте ранее сохраненную сцену MAX-kafe06.max, включающую две временно скрытые от просмотра системы частиц-снежинок. Если вы не сохранили такой файл, то можете найти нужную сцену на прилагающемся к книге компакт-диске, где она хранится под именем MAX-kafe06.max в папке Scenes\ Glava_07. Сохраните файл сцены с инкрементированием имени.
2. Для начала превратим основание сцены в снежную равнину с плавными неровностями. Выделите объект Osnovanie sceni и перейдите на командную панель Modify (Изменить). Чтобы модификатор неоднородности смог оказать эффективное действие, нужно значительно увеличить сегментацию плоскости основания. Замените величину 4 в счетчиках Length Segs (Сегментов по длине) и Width Segs (Сегментов по ширине) на 64.
3. Раскройте список Modifier List (Список модификаторов) и щелкните на строке Noise (Неоднородности). В свитке параметров неоднородностей установите значение характерного масштаба неровностей Scale (Масштаб) равным 30, а в счетчике Z из раздела Strength (Амплитуда) установите амплитуду неровностей равной 20. В качестве остальных параметров оставьте их исходные значения. На рис. 8.17 показано, как должен выглядеть рельеф «снежной равнины». Для наглядности включен режим Edged Faces (Кромки граней).

Рис. 8.17. На основании сцены появились сравнительно плавные неровности
4. Теперь выделите объект Valik01, изображающий снежный нанос на краю фундамента слева от входной двери кафе. Примените к нему известным порядком модификатор Noise (Неоднородности) и установите следующие параметры зашумления: Scale (Масштаб) = 10; в разделе Strength (Амплитуда) X = 10, Y = 5, Z = 10. Приходится задавать величины неровностей по всем трем координатам, потому что снежные валики должны иметь неровности на всех своих краях.
5. Повторите действия, описанные в предыдущем пункте, применительно к объектам Valik02 и Valik03. В итоге наша сцена должна принять вид, показанный на рис. 8.18. Сохраните файл под заданным в начале упражнения именем MAX-kafe07.max.

Рис. 8.18. Итоговый вид сцены «МАХ-кафе» после применения модификатора неоднородности
Попробуйте в качестве самостоятельного задания применить модификатор Noise (Неоднородности) к поленьям для камина, которые мы заблаговременно заготовили в главе 5. Файл с поленьями под именем Drova.max вы можете найти в папке Scenes\Glava_05 компакт-диска, прилагающегося к книге. Если у вас что-то не заладится или вы не сможете подобрать подходящие параметры модификатора, загляните в готовый файл, содержащий искаженные за счет применения неод-нородностей поленья. Вы найдете такой файл в папке Scenes\Glava_08 компакт-диска под именем Drova01.max.
Создаем эскиз анимации «МАХ-кафе: наезд камерой»
Чтобы закрепить навыки создания, просмотра и переименования эскизов анимаций, выполним еще одну эскизную визуализацию, относящуюся на этот раз к нашему основному проекту — «МАХ-кафе». Заодно научимся исправлять масштаб времени анимации, если просмотр эскиза показывает, что действие происходит слишком быстро или медленно.
Итак, выполните следующие действия:
1. Загрузите в программу max 7.5 файл анимации, созданной в ходе выполнения упражнения 5. Этот файл был сохранен нами под именем MAX-kafe (naezd kameroy).max. При необходимости можете найти файл с аналогичным именем в папке Scenes\Glava_16 компакт-диска, сопровождающего книгу. Сохраните файл сцены с инкрементированием имени.
2. Выполните команду меню Animation > Make Preview (Визуализация > Создать эскиз), чтобы вызвать появление окна диалога Make Preview (Создание эскиза). Установите нужное разрешение для эскиза. Я выбрал разрешение 720x540 точек (90 % от разрешения «чистовой» визуализации 800x600 точек). Выберите кодек и степень сжатия. Выполните построение эскиза. По завершении работы программы на экране появится приложение Windows Media Player (Проигрыватель Windows Media) с готовым эскизом анимации.
3. Когда вы просмотрите этот эскиз, станет очевидно, что движение камеры происходит слишком быстро. Вместо того чтобы наблюдать на экране, как некто спокойно подходит к дверям кафе и неторопливо обводит взглядом его внутреннее убранство, выбирая себе место, мы видим, как тот же некто подбегает к двери и судорожно дергает взглядом по интерьеру кафе влево-вправо. Очевидно, что все движения этой анимации имеет смысл замедлить раза в два-три.
| ЗАМЕЧАНИЕ В этом и есть смысл эскиза. Перед тем как тратить часы на высококачественную визуализацию, создайте простой эскиз и оцените качество движений. Ведь скорость воспроизведения видеоклипа не зависит от качества изображения и будет совершенно одинаковой что для эскиза, что для итоговой визуализации. Разница только в том, что эскиз создается за секунды или минуты, а итоговая визуализация — за десятки минут или часы. |
4.

Как же исправить ситуацию? Применим прием изменения масштаба времени. Щелкните на кнопке Time Configuration (Настройка временных интервалов). Появится окно диалога с таким же названием, рассмотренное нами в начале главы. В разделе Animation (Анимация) этого окна имеются инструменты для изменения продолжительности анимации. Если просто изменить длительность анимации с помощью счетчика End Time (Время окончания), то все созданные нами ключи анимации останутся на своих местах и эффекта замедления не получится. Сначала быстро промелькнет та же анимация, а затем мы будем какое-то время наблюдать на экране статическую картинку последнего кадра анимации. Требуется иное: изменение масштаба времени, при котором все ключи анимации сдвигаются по временной шкале пропорционально общей продолжительности анимации. Итак, щелкните на кнопке Re-Scale Time (Сменить масштаб времени). Появится окно диалога Re-scale Time (Смена масштаба времени), показанное на рис. 16.41.

Рис. 16.41. Окно диалога Re-scale Time позволяет изменить продолжительность готовой анимации и пропорционально сдвинуть по времени все ключи
5. Введите в счетчик End Time (Время окончания) раздела New (Новое) число 300, чтобы увеличить продолжительность анимации в 3 раза. Одновременно должны сдвинуться в 3 раза вправо по шкале времени и все ключи. Двери, которые открывались к тридцатому кадру, теперь будут открываться к кадру № 90. В три раза должны замедлиться также движения камеры и ее мишени. Щелкните на кнопке ОК в окне Re-Scale Time (Смена масштаба времени), а затем — в окне Time Configuration (Настройка временных интервалов). Обратите внимание на то, что в строке треков на шкале времени теперь отмечается наличие 300 кадров анимации. Чтобы убедиться в правильном масштабировании ключей, выделите одну из створок дверей. Ключи анимации этой створки должны находиться в нулевом кадре и кадре № 90. Выделив камеру, вы обнаружите, что она имеет ключи анимации в кадрах № 0, 90, 180 и 300. Итак, масштабирование выполнено, и теперь все временные процессы в нашей анимации должны замедлиться ровно в три раза.
6. Перед тем как повторять визуализацию эскиза, переименуйте его, назначив имя MAX-kafe (naezd kameroy).avi. При необходимости вы можете найти готовый эскиз такой анимации в папке Animations\Glava_16 компакт-диска, сопровождающего книгу, в файле под именем MAX-kafe (naezd kameroy).avi.
7. Выполните повторную визуализацию анимации. Просмотрите эскиз и убедитесь, что теперь видеоклип выглядит гораздо приятнее. Переименуйте эскиз, назвав его, скажем, MAX-kafe (naezd kameroy)01.avi. При необходимости вы можете найти готовый эскиз такой анимации под аналогичным именем в папке Animations\Glava_16 компакт-диска, сопровождающего книгу. В заключение, сохраните файл сцены под измененным в начале упражнения именем MAX-kafe (naezd kameroy)01.max.
Создаем кресло
В заключительном упражнении этой главы используем опыт построения тел экструзии для создания одного из главных элементов интерьера нашего «МАХ-кафе» — кресла. Для этого выполните следующие действия:
1. Запустите или перезагрузите max 7.5, выберите в качестве единиц измерения сантиметры и установите шаг сетки равным 1 см. Сохраните файл под именем Kreslo.max.
2. Установите в окне проекции Front (Вид спереди) такой масштаб, чтобы вертикальный размер видимой части сетки составлял 95 см. Переместите начало координат сетки в правый нижний угол окна и разверните окно на весь экран.
3. Нарисуйте сплайн-профиль в виде формы, состоящей из двух кривых, показанных на рис. 6.48. Поместите вершины первой кривой, образующей ножки кресла, в точках со следующими координатами: (50,1; 0; 79,9), (45,8; 0; 67,4), (44,1; 0; 39,9), (45,6; 0;" 18,9), (50,3; 0; 0), (45,6; 0; 0), (40,1; 0; 16,1), (23,9; 0; 34,6), (10,6; 0; 16,3), (4,8; 0; 0), (0; 0; 0), (5,0; 0; 21,4), (5,6; 0; 40,5), (31,9; 0; 40,7), (39,0; 0; 53,6), (43,2; 0; 75,7). Перед тем как начать рисовать вторую кривую, сбросьте флажок справа от кнопки Start New Shape (Начать новую форму) в свитке Object Туре (Тип объекта). Вершины второй кривой, изображающей подлокотник, поместите в точках с координатами (40,3; 0; 61,8), (39,2; 0; 57,3), (28,0; 0; 53,2), (14,7; 0; 52,8), (10,7; 0; 47,6). (13,9; 0; 48,7), (17,4; 0; 46,3), (16,2; 0; 42,1), (11,7; 0; 40,3), (7,2; 0; 42,7), (6,8; 0; 49,8), (14,9; 0; 56,6), (28,4; 0; 57,5). Откорректируйте форму сплайна, используя рис. 6.48 в качестве образца.

Рис. 6.48. Двумерная форма-профиль боковины кресла (вершины пронумерованы для удобства ссылок)
| ЗАМЕЧАНИЕ При рисовании завитка кривой профиля подлокотника в районе вершины № 5 легко допустить случайное самопересечение линии. Если такое произойдет, то, как я уже говорил, после выдавливания кривой ее торцевые поверхности останутся открытыми. Чтобы избежать этого, внимательно следите за формой кривой и не допускайте появления самопересечений. |
4. Примените к форме-профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 4 см. Назовите объект Bokovina01 и подберите для него коричневый цвет «под дерево». Не забудьте установить флажок Generate Mapping Coords (Проекционные координаты).
5. Создайте дубликат боковины, выбрав команду меню Edit > Clone (Правка > Дублировать). Не изменяйте предлагаемое по умолчанию название дубликата Bokovina02. Переместите дубликат в направлении глобальной оси Y на 40 см.
6. Постройте в окне проекции Left (Вид слева) стандартный примитив Box (Параллелепипед) следующих размеров: Length (Длина) = 40 см, Width (Ширина) = 11 см и Height (Высота) = 4 см. Назовите объект Perekladina01 и выберите для него тот же цвет, что и для боковин. Создайте копию перекладины и разместите оба эти объекта между боковинами, как показано на рис. 6.49.

Рис. 6.49. Перекладины помещены между боковинами кресла
7. Создайте сиденье в виде параллелепипеда с фаской. Выберите инструмент ChamferBox (Параллелепипед с фаской) и постройте этот улучшенный примитив в окне проекции Тор (Вид сверху), придав ему следующие размеры: Length (Длина) = 40 см, Width (Ширина) = 32 см, Height (Высота) = 9 см и Fillet (Фаска) = 2 см. Параметр Fillet Segs (Сегментов по фаске) задайте равным 4. Назовите объект Sidenie, выберите для него подходящий цвет, например темно-красный, и поместите сиденье в пространстве между боковинами и перекладинами, как показано на рис. 6.50.

Рис. 6.50. Сиденье слегка выступает над перекладинами кресла
8. Займемся спинкой кресла. Разверните окно проекции Left (Вид слева) и нарисуйте сплайн-профиль спинки, подобный показанному на рис. 6.51. Это можно сделать как в упражнении 5 при рисовании профиля щита: сначала нарисовать одну половину сплайна спинки относительно вертикальной оси симметрии, затем построить ее зеркальную копию и слить крайние вершины копии сплайна с вершинами оригинала. Примените к профилю модификатор Extrude (Выдавливание). Установите в счетчике Amount (Величина) толщину тела экструзии равной 4 см. Назовите объект Spinka.

Рис. 6.51. Спинка кресла может иметь примерно такую форму
9. Создайте последнюю деталь кресла — подушку спинки. С помощью инструмента ChamferBox (Параллелепипед с фаской) постройте этот примитив в окне проекции Left (Вид слева), придав ему следующие размеры: Length (Длина) -13,5 см, Width (Ширина) = 40 см, Height (Высота) = 5 см и Fillet (Фаска) = 2 см. Параметр Fillet Segs (Сегментов по фаске) задайте равным 4, a Width Segs (Сегментов по ширине) — равным 16. Сегментация по ширине нам потребуется для того, чтобы на следующем шаге слегка изогнуть подушку кресла. Назовите объект Podushka и назначьте ему тот же цвет, что и сиденью. Поместите подушку в центре спинки, чтобы она выступала над ней примерно на половину своей толщины.
10. Придайте спинке кресла небольшой изгиб, использовав для этого новый инструмент — модификатор изгиба. Выделите спинку вместе с подушкой, перейдите на командную панель Modify (Изменить), раскройте список Modifier List (Список модификаторов) и щелкните на строке Bend (Изгиб) в разделе OBJECT-SPACE MODIFIERS (Модификаторы пространства объекта). С этой же целью можно выполнить цепочку команд Modifiers > Parametric Deformers > Bend (Модификаторы > Параметрические деформаторы > Изгиб) главного меню. Оба объекта будут помещены в габаритный контейнер модификатора в виде параллелепипеда коричневого цвета, а на командной панели появится свиток Parameters (Параметры) с элементами настройки изгиба. Переключатель Bend Axis (Ось изгиба) установите в положение Y. Задайте в счетчике Angle (Угол) раздела Bend (Изгиб) величину угла изгиба равной -35°, наблюдая за изгибом выделенных объектов в окне проекции Тор (Вид сверху), как показано на рис, 6.52.

Рис. 6.52. Спинке и подушке придана вогнутая форма с помощью модификатора Bend
11. Теперь поместите спинку вместе с подушкой на нужное место. Для этого выделите оба объекта в окне проекции Front (Вид спереди), слегка поверните их примерно на -8° ... -10° и переместите, расположив точно между боковинами. Окончательный вид получившегося кресла показан на рис. 6.53.

Рис. 6.53. Окончательный вид кресла
12. Сохраните созданный объект в файле (имя файла, как вы помните, уже было задано в начале упражнения). Не устаю повторять, что именовать файл в начале, а не в конце работы, — это признак хорошего стиля. При желании можете сопоставить получившееся у вас кресло с тем, которое хранится в файле с именем Kreslo.max, располагающемся в папке Scenes\ Glava_06 прилагающегося к книге компакт-диска.
Создаем проемы для двери и окна на фасаде «МАХ-кафе»
Здание нашего «МАХ-кафе» до сих пор не имеет ни дверей, ни окон. Давайте подготовим дверной и оконный проемы в стене фасада. Выполните следующие действия:
1. Откройте ранее сохраненный файл MAX-kafe04.max. Если вы по каким-либо причинам не сохранили этот файл, то загрузите файл с именем MAX-kafe04.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. В окне проекции Front (Вид спереди) постройте два стандартных примитива типа Box (Параллелепипед) со следующими размерами: для оконного проема — Length (Длина) = 175 см, Width (Ширина) - 245 см, Height (Высота) = 30 см, для двери — Length (Длина) - 200 см, Width (Ширина) = 135 см, Height (Высота) = 30 см. Разместите центры объектов в точках с координатами: для окна — X = -150 см, Z = 160 см, для двери — X = 75, Z - 130 см. Затем переместите оба объекта в окне проекции Тор (Вид сверху) вперед, так чтобы они слегка выступали и с наружной, и с внутренней стороны стены фасада. При этом глобальная координата Y центров обоих объектов должна равняться -295 см.
3. Выделите переднюю стену здания — объект Fasad. Щелкните на кнопке Geometry (Геометрия) командной панели Create (Создать), выберите в раскрывающемся списке разновидностей объектов вариант Compound Objects (Составные объекты) и щелкните на кнопке Boolean (Булевские) в свитке Object Type (Тип объекта). В свитке Pick Boolean (Задать операнд) щелкните на кнопке Pick Operand В (Указать операнд В), а затем в любом из окон проекций щелкните на объекте-параллелепипеде, предназначенном для формирования оконного проема. Переключатель Operation (Операция) установите в положение Subtraction (А-В) (Исключение (А-В)). В стене фасада появится прямоугольное отверстие — оконный проем, сквозь который видна внутренняя часть здания. Щелкните правой кнопкой мыши, чтобы закончить операцию создания булевского объекта, в который превратился теперь объект Fasad.
4. Чтобы создать проем для двери, снова выделите стену фасада, щелкните на кнопке Boolean (Булевские) в свитке Object Type (Тип объекта), затем — на кнопке Pick Operand В (Указать операнд В) в свитке Pick Boolean (Задать операнд) и выделите объект, формирующий дверной проем. В стене фасада появится второе отверстие — проем для двери, как показано на рис. 7.45. Щелкните правой кнопкой мыши, чтобы закончить операцию создания булевского объекта. Как видите, в создании булевских объектов нет ничего хитрого. Сохраните файл под измененным в начале работы именем MAX-kafe05.max.

Рис. 7.45. В стене фасада проделаны два проема для окна и двери
В следующей главе вы сумеете создать дверь и окно, которые будут установлены в эти проемы.
Создание и простейшая настройка параметров нацеленного прожектора
Приступим к освоению практических навыков создания осветителей-прожекторов, воспользовавшись для их отработки моделью трехмерной сцены интерьера «МАХ-кафе».
Выполните следующие действия:
1. Если вы закрыли файл сцены МАХ-кафе09.тах после предыдущего упражнения, то загрузите его заново (такой файл есть и на компакт-диске, сопровождающем книгу, в папке Scenes\Glava_11), если же нет — просто продолжите работу. Сохраните файл под инкрементированным именем.
2. Скройте от просмотра «лишние предметы», как описано в первом пункте упражнения 1, добавив к числу скрытых объектов еще и все кресла, кроме одного — того, которое стоит у задней стены кафе. Установите в окнах проекций такой масштаб, чтобы здание кафе было видно целиком.
3. Щелкните на кнопке Lights (Источники света) командной панели Create (Создать), а затем — на кнопке Target Spot (Нацеленный прожектор) в свитке Object Туре (Тип объекта). Переместите курсор в окно проекции Тор (Вид сверху), щелкните чуть ниже и левее центра помещения и перетащите курсор вверх и чуть вправо по экрану, поместив мишень у задней стены, над единственным видимым креслом, как показано на рис. 11.24.

Рис. 11.24. Размещение нацеленного прожектора в окне проекции Тор
4. Перейдите в окно проекции Front (Вид спереди) и, выделив одновременно со значком прожектора значок его мишени, переместите их вверх, так чтобы прожектор оказался примерно посередине высоты помещения кафе. Нижний край конуса света прожектора должен располагаться несколько ниже уровня пола кафе, как показано на рис. 11.25.

Рис. 11.25. Размещение нацеленного прожектора в окне проекции Front
5. Переключитесь на командную панель Modify (Изменить) и настройте параметры прожектора. Установите яркость света в счетчике Multiplier (Усилитель) равной 1,5 и включите режим отбрасывания теней, установив флажок On (Вкл.) в разделе Shadows (Тени) свитка General Parameters (Общие параметры). Выберите в качестве типа теней вариант Ray Traced Shadows (Трассированные тени). Выключите все шесть всенаправленных осветителей, ранее введенных в состав сцены.
6. Увеличьте изображение в окне проекции Perspective (Перспектива), так чтобы пятно света еще умещалось в окне целиком. Выполните визуализацию изображения в этом окне, чтобы получить результат, подобный показанному на рис. 11.26. Пятно света освещает стену и часть пола; вся остальная сцена погружена во мрак.

Рис. 11.26. Одинокое кресло играет роль главного персонажа пьесы, гордо стоящего на подмостках сцены
Не закрывайте max 7.5, мы будем продолжать работу с этим прожектором.
Учимся создавать
Многокомпонентные материалы «Фаянс + позолота» и «Стекло + позолота» создадим из уже готовых образцов, заодно освоив метод преобразования стандартного материала в многокомпонентный. Стекло для окна кафе «МАХ» изготовим путем модификации стекла бокалов и объединим с «деревянным» материалом двери кафе. Учитывая приобретенный вами в предыдущем упражнении опыт создания многокомпонентных материалов, пояснения будем давать более кратко. Выполните следующие действия:
1. Загрузите в max 7.5 файл MAX-kafe16.max или продолжите работу, если файл сцены уже открыт. При необходимости загрузите готовый файл MAX-kafe16.max, найдя его в папке Scenes\Glava_14 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. В окне Редактора материалов активизируйте ячейку образца материала Faians. Щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне диалога Material/Map Browser (Просмотр материалов и карт текстур) материал типа Multi/Sub-Object (Многокомпонентный). В окне диалога Replace Material (Заменить материал) оставьте переключатель в положении Keep old material as sub-material (Оставить старый материал как компонент) и щелкните на кнопке ОК. В свитке Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала) щелкните на кнопке Set Number (Задать число) и установите в счетчике Number of Materials (Число материалов) появившегося окна число 2. Щелкните на кнопке ОК. Стандартный материал Faians будет преобразован в многокомпонентный, в котором этому стандартному материалу будет отведена роль первого из двух компонентов. Переименуйте многокомпонентный материал, назвав его Faians+Pozolota.
3. Щелкните на образце ранее созданного материала Pozolota и перетащите курсор на кнопку свитка Multi/Sub-Object Basic Parameters (Базовые параметры многокомпонентного материала), относящуюся ко второму компоненту многокомпонентного материала. Отпустите кнопку мыши. В появившемся окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Instance (Образец) и щелкните на кнопке ОК. Это, собственно, и все! Вид получившегося материала в окне увеличителя показан на рис. 14.81. Сохраните этот материал в библиотеке MAX-kafe.mat. Так как новый материал создан нами на базе того, который уже был применен ко всем восьми тарелкам, применять его заново нет необходимости. Если в окнах проекций у вас установлен режим тонированного отображения, то вы сразу заметите появление золотистых полосок по краям тарелок — как раз вдоль тех граней, которым мы в одной из предыдущих глав назначили идентификатор материала, равный 2.

Рис. 14.81. Образец многокомпонентного материала «Фаянс + позолота»
4. Работу над многокомпонентным материалом «Стекло + позолота» начните с создания «холодной» копии материала Steklo, который понадобится нам для окна кафе. С этой целью просто щелкните на образце материала Steklo, перетащите курсор в свободную ячейку Редактора материалов и отпустите кнопку мыши. Даже если перетащить копию материала не в свободную, а в занятую ячейку, не произойдет ничего страшного: вытесняемый из ячейки материал не исчезнет со сцены, а материал-копия не будет назначен объектам сцены, которым был назначен материал из занятой ячейки. Преобразовывать в многокомпонентный, однако, следует не копию, а оригинал материала, так как это избавит от необходимости заново применять создаваемый материал к бокалам.
5. Преобразуйте материал Steklo в двухкомпонентный, добавив в качестве второго компонента материал Pozolota, действуя совершенно так же, как описано в пп. 1 и 2. Переименуйте получившийся материал (рис. 14.82) в Steklo+Pozolota и сохраните его в текущей библиотеке. Если в окнах проекций установлен режим тонированного отображения, вы сразу же заметите появление пары полосок вдоль верхних кромок каждого из бокалов. Чтобы полоски были видны не только снаружи, но и изнутри бокалов, перейдите на уровень работы с материалом-компонентом Pozolota и установите флажок 2-Sided (2-сторонний). Имеет смысл установить этот флажок и для материала-компонента Steklo. Выполните визуализацию изображения сцены в окне проекции Camera03 (Камера03). Теперь результат совсем не должен отличаться от того изображения, которое показано на рис. 1.22 первой главы.

Рис. 14.82. Образец двухкомпонентного материала «Стекло + позолота»
|
ЗАМЕЧАНИЕ Теперь сцена «МАХ-кафе» насыщена материалами, в состав которых входят карты текстур типа Reflect/Refract (Отражение/Преломление), Flat Mirror (Плоское зеркало) и Raytrace (Трассируемая). Представьте себе: в стекле бокалов отражаются все окружающие предметы, сами бокалы вместе с отражениями смотрятся как в зеркало в полированные поверхности столешниц, все это в совокупности отражается в висящем на стене зеркале, отражение которого, в свою очередь, также должно быть видно на стенках бокалов и столешницах... Очевидно, что визуализация такой сцены не может пройти быстро, так что, приступая к синтезу изображения, наберитесь терпения. На визуализацию может потребоваться довольно много времени, вплоть до нескольких часов, в зависимости от быстродействия вашего компьютера. |
6. Создайте многокомпонентный материал «Дерево + стекло» для окна кафе. Начните с некоторой модификации материала Steklo, копию которого мы сделали в п. 3. Активизируйте ячейку образца этого материала. Во-первых, установите флажок 2-Sided (2-сторонний), так как стекло окна должно визуализироваться с обеих сторон. Далее разверните свиток Maps (Карты текстур) и отмените действие карты Falloff (Спад), используемой в качестве текстуры непрозрачности. Для этого щелкните на кнопке параметра Opacity (Непрозрачность) с надписью Map #... Falloff (Карта №... (Спад)), перейдя на уровень правки этой карты. Щелкните на кнопке Редактора материалов, расположенной правее раскрывающегося списка имен материалов, а в окне просмотра материалов и карт текстур дважды щелкните на строке None (Отсутствует) списка текстурных карт. Произойдет возврат в Редактор материалов, но на кнопке параметра Opacity (Непрозрачность) будет теперь читаться надпись None (Отсутствует) — действие карты текстуры отменено. Можно, конечно, было и просто сбросить флажок слева от параметра Opacity (Непрозрачность), но мы проделали процедуру полной отмены карты в учебных целях.
7. Теперь щелкните в свитке Maps (Карты текстур) на кнопке параметра Reflection (Зеркальное отражение). В качестве текстуры зеркального отражения у материала Steklo используется карта Reflect/Refract (Отражение/Преломление). Оказавшись на уровне правки этой карты, щелкните на кнопке, расположенной правее раскрывающегося списка имен материалов, и выберите в окне просмотра материалов и карт текстур карту типа Bitmap (Растровая карта). Для оконного стекла мы попробуем применить имитацию зеркального отражения с помощью растровой картинки. Как вы уже не раз проделывали в предыдущих упражнениях, подберите тип файла для растровой карты. Обычно имеет смысл брать тот же файл, который будет в дальнейшем изображать фон сцены. Если бы изображение нашего кафе формировалось на фоне фотографии заката солнца, как показано на рис. 1.19 первой главы, эту фотографию и следовало бы применить в качестве растровой текстуры зеркального отражения оконного стекла. Тем самым было бы создано впечатление, что закатное небо отражается в окне кафе. Но в нашем случае, когда по сценарию на улице идет снег, небо должно быть просто серо-синего цвета. В такой ситуации для имитации отражения может сгодиться растровое изображение морской глади под темно-синим вечерним небом, имеющееся в файле с именем Sea81 .tga в папке Maps\Background компакт-диска, прилагающегося к книге. Не изменяя исходных значений всех параметров растровой карты, вернитесь на уровень составного материала и уменьшите значение в счетчике Amount (Доля вклада) до 30.
8. Помните, в главе 8 граням объекта, имитирующего окно кафе, были присвоены соответствующие идентификаторы материалов. При этом тем граням, которые изображают раму окна, был назначен Material ID (Идентификатор материала) - 1, а граням, изображающим стекло, — идентификатор 2. В связи с этим нам нужно создать двухкомпонентный материал, у которого первым компонентом будет материал Steklo, а вторым — материал дерева, например lasenevaia doska. Убедившись, что вы находитесь на уровне материала Steklo, щелкните на кнопке, расположенной справа от раскрывающегося списка имен материалов, и измените тип материала со стандартного на многокомпонентный. Задайте число компонентов равным 2. Щелкните на кнопке материала первого компонента, на которой должна читаться надпись Steklo (Standard), перетащите курсор на кнопку второго компонента и отпустите кнопку мыши. В окне диалога Instance (Copy) Material (Образец (копия) материала) установите переключатель в положение Swap (Обмен) и щелкните на кнопке ОК. Произойдет обмен: материал Steklo займет место второго компонента, а на место первого переместится стандартный материал, игравший роль второго компонента по умолчанию. Остается только перетащить на кнопку первого компонента образец материала lasenevaia doska из соответствующей ячейки Редактора материалов. Назовите вновь созданный материал (рис. 14.83) Derevo+Steklo и сохраните его в текущей библиотеке. Восстановите видимость объекта Okno, примените к нему модификатор UVW-тар (UVW-проекция), а затем назначьте ему вновь созданный материал. При этом детали рамы окна приобретут материал с текстурой дерева, а та часть окна, которая изображает стекло, станет прозрачной с отливом цвета темно-синего цвета. Выполните пробную визуализацию изображения в окне проекции Саmera01 (Камера01). Результат должен напоминать изображение, показанное на рис. 1.19-1.20 первой главы. В заключение сохраните файл сцены под измененным в начале упражнения именем MAX-kafe17.max.

Рис. 14.83. Образец многокомпонентного материала «Дерево + стекло»
Добавляем вершины к профилю бокала
Бокал без какого-либо украшения выглядел бы на столе нашего кафе «МАХ» слишком примитивно. Чтобы иметь возможность украсить его на этапе применения материала одной-двумя золотыми полосками по верхнему краю, необходимо позаботиться об этом уже сейчас, на этапе редактирования геометрической модели. В данном упражнении вам предоставляется возможность закрепить навыки работы со стеком модификаторов и редактирования сплайнов на уровне вершин.
Итак, выполните следующие действия:
1. Откройте ранее сохраненный файл Bokal.max (при необходимости вы можете найти нужный файл с таким именем в папке Scenes\Glava_06 компакт-диска, прилагающегося к книге). Сохраните файл с инкрементированием имени.
2. Выделите объект Bokal01, перейдите на командную панель Modify (Изменить) и взгляните на список в окне стека модификаторов. В нижней строке стека модификаторов вы увидите тип исходного объекта, к которому применялся модификатор вращения, — Line (Линия), а выше — имя самого модификатора Lathe (Вращение). Щелкните на строке Line (Линия), и в окнах проекций появится изображение вертикального полупрофиля сечения бокала.
3. С помощью инструмента Region Zoom (Масштаб области) увеличьте изображение верхней части полупрофиля в окне проекции Front (Вид сверху). Щелкните на квадратике со знаком «плюс» слева от слова Line (Линия) в окне стека модификаторов. В раскрывшемся списке подобъектов выберите подобъ-ект Vertex (Вершина).
4. Щелкните на кнопке Refine (Уточнить) в свитке Geometry (Геометрия), переместите курсор в окно проекции Front (Вид сверху) и добавьте на наружной линии контура вблизи верхнего края профиля четыре новые вершины. Для добавления вершины установите курсор в нужную точку линии сплайна и щелкните кнопкой мыши. В момент, когда курсор точно указывает на линию сплайна, обеспечивая готовность к вставке вершины, он приобретает вид, показанный на рис. 8.26. Добавив вершины, щелкните правой кнопкой мыши, чтобы завершить действие режима вставки вершин.

Рис. 8.26. Вид курсора в момент готовности к добавлению вершины на линию сплайна-профиля с помощью инструмента Refine
5. Две верхние из добавленных вершин при вращении профиля создадут набор граней в форме кольца, образующего первую полоску, а две нижние — вторую полоску на поверхности бокала. Останется только применить к этим граням иной материал, чем ко всем остальным. Для этого данные грани нужно будет особым образом пометить, чем мы займемся в упражнении следующего раздела главы. А пока уточните положение вершин, так чтобы ширина верхней полоски составляла примерно 7 мм, нижней — 3 мм, расстояние между полосками было около 4 мм, а от края верхней полоски до края бокала — 7 мм.
6. Щелкните в стеке модификаторов на строке Line (Линия), чтобы отменить выделение подобъектов-вершин, а затем выберите строку Lathe (Вращение) и убедитесь в появлении на верхнем краю тела бокала дополнительных граней, образовавшихся за счет добавления новых вершин, как показано на рис. 8.27.

Рис. 8.27. На верхнем краю бокала появились две новые группы граней, образующих кольцевые полоски
7. Сохраните файл под заданным в начале упражнения именем Bokal01.max.
Елочное украшение «Спящий месяц»
Займемся освоением метода сплайновых каркасов на примере очередного украшения для нашей новогодней елки, представляющего собой сказочный месяц, несколько загадочно, на мой взгляд, дремлющий с полузакрытыми глазами, как показано на рис. 9.77.

Рис. 9.77. Елочное украшение «Спящий месяц» построено методом натягивания сетки кусков Безье на сплайновый каркас
1. После обычной перезагрузки max 7.5 сохраните пустую сцену под именем Mesiac.max.
2. Разверните окно проекции Front (Вид спереди) во весь экран. Выберите на командной панели Create (Создать) категорию объектов Shapes (Формы) и с помощью инструмента Arc (Дуга) нарисуйте в окне проекции дугу радиусом примерно 20-25 см. Чтобы получить доступ к средствам редактирования формы дуги на уровне подобъектов, примените к ней модификатор Edit Spline (Правка сплайна). Стандартная дуга имеет всего четыре вершины (рис. 9.78). Разумеется, подобную дугообразную кривую можно было нарисовать и вручную. Однако в ряде случаев, подобных нашему, бывает удобно начать построение с использования стандартного сплайна.

Рис. 9.78. В качестве основы сплайнового каркаса выбран стандартный сплайн-дуга
3. Продолжите построение каркаса, дорисовывая сплайны вручную. Чтобы вновь создаваемые сплайны оказывались подобъектами исходной дуги, что является необходимым условием применимости модификатора Surface (Поверхность), будем строить их с помощью инструмента Create Line (Создать линию). Кнопка этого инструмента находится в свитке Geometry (Геометрия) командной панели Modify (Изменить) и доступна на уровне выделения любого подобъ-екта сплайна. Переключитесь на уровень выделения подобъекта Vertex (Вершина), чтобы видеть метки вершин. Установите флажок Automatic Welding (Автоматическое слияние) в разделе End Point Auto-Welding (Автослияние крайних вершин) этого же свитка Geometry (Геометрия). Это обеспечит слияние концевых вершин двух копий сплайна при их сближении на расстояние, меньшее указанного в счетчике Threshold Dist (Пороговое расстояние).
4.

Сейчас мы должны нарисовать профиль «лица» месяца, замкнув новой кривой сплайн дуги. Щелкните на кнопке Create Line (Создать линию). Укажите курсором на одну из концевых вершин дуги, скажем, на верхнюю. В этот момент курсор должен принять вид, показанный на приведенном справа рисунке, указывая на готовность к началу рисования сплайна, который будет представлять собой продолжение кривой дуги.
Начинайте рисование, используя те же приемы, какие были описаны в главе 6, «Рисуем кривые, осваиваем методы вращения и выдавливания». Используйте в качестве образца рис. 9.79. К этому моменту вы, надеюсь, уже настолько усовершенствовали свои навыки рисования кривых в max 7.5, что нет никакой необходимости диктовать координаты вершин, как это делалось в главе 6. Да к тому же мы перешли из области конструкторского черчения в область творчества, так что ваш месяц может оказаться совсем не таким, как показанный на рисунке, а гораздо интереснее и лучше. Последний щелчок кнопкой мыши сделайте в точке второй концевой вершины дуги. Щелкните на кнопке Yes (Да) в ответ на запрос Close spline? (Замкнуть сплайн?). Не пытайтесь сразу придать рисунку идеальную форму, лучше это сделать на следующем шаге, перемещая отдельные вершины и настраивая положения их касательных векторов. Не пытайтесь и воспроизвести точно такое число вершин, как показано на рисунке. На последующих шагах всегда можно создать на кривой новые вершины с помощью уже знакомого вам по главе 6 инструмента Retine (Уточнить) или удалить лишние вершины. Не выключая действие инструмента Create Line (Создать линию), нарисуйте замкнутый контур, призванный изображать глаз месяца. Для завершения режима создания новых кривых щелкните правой кнопкой мыши.

Рис. 9.79. «Профиль лица» месяца дорисован вручную так, чтобы замкнуть дугу, затем с помощью того же инструмента нарисован контур глаза
5. Поработайте над формой кривой, выделяя отдельные вершины и манипулируя их касательными векторами. Теперь добавьте с помощью инструмента Refine (Уточнить) несколько вершин на линии тыльной стороны контура «головы» месяца — той линии, которая еще недавно была простой дугой. При добавлении вершин руководствуйтесь следующими соображениями. Нарисованный нами контур будет служить как бы рамкой сплайнового каркаса. Для создания сетки, на которую будет натягиваться поверхность, нам потребуется добавлять сплайны поперек этой рамки. Для такой цели нужно иметь пары вершин на лицевой и тыльной сторонах контура головы, располагающиеся примерно напротив друг друга. Постарайтесь добавить такие парные вершины примерно так, как показано на рис. 9.80. Впрочем, не забывайте о том, что если при работе над каркасом потребуются новые вершины, создать их в любом требуемом количестве с помощью инструмента Refine (Уточнить) никогда не поздно.

Рис. 9.80. Добавлены новые вершины, которые позволят продолжить построение сплайнового каркаса
6. Для продолжения работы над снлайновым каркасом необходимо активизировать режим трехмерной привязки. Если вы забыли, как это делается, обратитесь к главе 3. Щелкните на кнопке 3D Snap (Трехмерная привязка), расположенной на главной панели инструментов шах 7.5, чтобы зафиксировать ее в нажатом состоянии. При этом активизируется режим, позволяющий точно выравнивать новые объекты по заданным элементам геометрии сцены во всех трех измерениях одновременно. Чтобы выбрать нужный тип привязки, щелкните на кнопке 3D Snap (Трехмерная привязка) правой кнопкой мыши. Появится окно диалога Grid and Snap Settings (Настройка сетки и привязок). На вкладке Snaps (Привязки) этого окна обязательно сбросьте установленный по умолчанию флажок Grid Points (Узлы сетки), обеспечивающий трехмерную привязку к узлам координатной сетки, и установите флажок Endpoint (Концевые точки) (рис. 9.81). Этот тип привязки обеспечит фиксацию курсора только на вершинах сплайнового каркаса.

Рис. 9.81. В окне диалога Grid and Snap Settings выбран тип привязки, используемый при построении сплайновых каркасов
7. Приступим к созданию поперечных ребер внутри контурной рамки каркаса. Убедитесь, что активен режим выделения подобъектов-вершин. Щелкните на кнопке инструмента Create Line (Создать линию) и установите курсор на одну из вершин рамки каркаса, скажем, вблизи верхнего рожка месяца. При этом вокруг выбранной вершины должен появиться квадрат голубого цвета — значок привязки. Также в голубой цвет должен окраситься и прилегающий к выбранной вершине сегмент сплайна, как можно видеть на рис. 9.82. Начинайте создание нового сплайна, только когда увидите оба эти сигнала готовности к точной привязке вершины нового сплайна к имеющейся вершине. Если начать создание нового сплайна, не видя сигналов точной привязки, новая вершина может оказаться сколь угодно близко от имеющейся, но не в одной точке с ней, а этого недостаточно для успешного применения к такому каркасу модификатора Surface (Поверхность).

Рис. 9.82. Появление значка привязки в виде голубого квадрата и окрашивание прилегающего к вершине сегмента кривой (показаны стрелками) в голубой цвет — сигналы точной привязки
|
ЗАМЕЧАНИЕ Неточное совпадение вершин пересекающихся сплайнов, образующих каркас, — одна из возможных причин появления «дыр» в поверхности, создаваемой на основе такого каркаса модификатором Surface (Поверхность). Если после применения модификатора вы обнаруживаете, что те ячейки, которые имеют, как положено, по три или четыре вершины, вдруг оказались не покрытыми поверхностью, проверьте совпадение вершин сплайнов, ограничивающих эти ячейки. Иногда для этого достаточно слегка повернуть плоскость проекции. Может статься, что вершины, которые казались на виде спереди точно совпадающими по координатам Z и X, окажутся совершенно не совпадающими по координате глубины сцены Y. |
8. Увидев сигналы привязки, щелкните кнопкой мыши и начинайте строить сплайн между двумя противолежащими вершинами рамки каркаса. Создайте у этого сплайна одну промежуточную вершину. Третью вершину нового сплайна точно совместите с вершиной на рамке, как показано на рис. 9.83. Щелкните правой кнопкой мыши для завершения рисования сплайна.

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

Рис. 9.84. Построен ряд поперечных сплайнов, постепенно выявляющих структуру каркаса
10. До сих пор мы проводили все построения в окне вида спереди, так что пока наш каркас является совершенно плоским. В этом легко убедиться, заглянув в окно вида сверху. Сейчас наступает самый важный момент: пора придать каркасу требуемую объемность. Сделать это не так легко, так как придется перемещать маркеры касательных векторов вершин сплайнов в трехмерном пространстве. Перед началом настройки векторов обязательно выключите режим трехмерной привязки, щелкнув на кнопке 3D Snap (Трехмерная привязка) и приведя ее в исходное положение. Попытка перемещать векторы при включенной трехмерной привязке может приводить к непредсказуемым последствиям. Задача состоит в том, чтобы придать выпуклость поперечным сплайнам каркаса, не затрагивая рамку, которая должна остаться плоской. Для придания сплайнам требуемой выпуклости используйте следующий прием. Выделяйте нужную вершину в окне вида спереди, а перемещайте ее в окне вида сверху. Те вершины, в которых пересекаются два или более сплайнов, выделяйте обязательно с помощью рамки. Чтобы выделенные вершины имели касательные векторы, изменяйте их тип на Bezier (Безье) или, где необходимо, на Bezier Corner (Безье с изломом). Начните, скажем, со средней вершины сплайна вблизи верхнего рожка месяца. Выделите ее на виде спереди, преобразуйте к типу вершины Безье, затем в окне вида сверху переместите вершину в сторону от рамки каркаса. Настройте положения ее касательных векторов, чтобы придать сплайну требуемое закругление. Затем поочередно выделите рамкой каждую из концевых вершин этого сплайна, преобразуйте их к типу Безье и настройте касательные векторы концевых вершин. На рис. 9.85 можно видеть, как приблизительно должны выглядеть первые два поперечных сплайна на видах спереди и сверху. Следите за тем, чтобы в ходе настройки не сместить сами концевые вершины. Если такое случится, отмените ошибочные действия.

Рис. 9.85. Первым двум поперечным сплайнам придана выпуклость за счет перемещения их средних вершин в сторону от плоскости каркаса в направлении стрелок
|
СОВЕТ Часто после перемещения вершин сплайнов каркаса или их касательных векторов появляется сообщение Weld Coincident Vertices? (Слить совпадающие вершины?). Как правило, на него следует отвечать щелчком на кнопке No (Нет). |
11. Продолжите придавать выпуклость остальным элементам каркаса, включая контуры глаза. Старайтесь при этом мысленно представить, что на создаваемый вами каркас уже «натянута» поверхность. Это помогает понять, как именно следует изогнуть тот или иной элемент каркаса. Меняйте плоскость проекции, рассматривая каркас под разными углами. В итоге у вас должно получиться нечто, напоминающее изображение на рис. 9.86.

Рис. 9.86. Вид на каркас сверху и в произвольной проекции показывает, что поперечным сплайнам придана выпуклость
12. На данном этапе уже можно применить к каркасу модификатор Surface (Поверхность). При этом куски Безье образуются только на тех ячейках каркаса, которые имеют по три или четыре вершины. Пока таких ячеек немного: вблизи верхнего рожка месяца, справа и слева от глаза и в пределах контура губ, так что поверхность и впрямь будет состоять из отдельных кусков. Тем не менее многие мастера советуют применять модификатор уже на ранней стадии работы над каркасом, чтобы видеть, в нужном ли направлении идет его правка. Попробуйте отыскать на каркасе «правильные» ячейки и применить модификатор, чтобы убедиться в том, что понимаете его действие. Разверните список Modifier List (Список модификаторов) и щелкните на строке Surface (Поверхность) в разделе Patch/Spline Editing (Правка кусков/сплайнов). Обратите внимание на счетчик Threshold (Порог) в свитке параметров модификатора, который появится на панели Modify (Изменить). Если расстояние между какими-то вершинами сплайнового каркаса оказывается меньше величины Threshold (Порог), эти вершины сливаются в одну. В связи с этим величина данного параметра существенным образом влияет на вид поверхности, получающейся после «натягивания» сетки кусков на сплайновый каркас. В нашем примере установленное но умолчанию значение порога в 2,54 см (один дюйм) оказывается великовато, и часть вершин в районе губ месяца сливается, искажая форму сетки (рис. 9.87, слева). Чтобы устранить эти искажения, уменьшите пороговое расстояние слияния, для чего достаточно один раз щелкнуть на нижней стрелке счетчика Threshold (Порог). Параметр принимает значение 1,27 см, и в итоге изображение в окне вида спереди должно выглядеть примерно так, как показано на рис. 9.87, справа. Рассмотрите сформировавшиеся куски под разными углами, чтобы убедиться в том, что они имеют нужную выпуклость.

Рис. 9.87. В результате применения модификатора Surface из ячеек с четырьмя вершинами образовались куски Безье, форма которых искажена (слева), что устраняется уменьшением величины Threshold (справа)
Чтобы продолжить работу над каркасом, не нужно удалять модификатор из стека. Достаточно активизировать в окне стека модификаторов строку любого из подобъектов модификатора Edit Spline (Правка сплайна), и каркас снова будет доступен для редактирования. По мере появления новых «правильных» ячеек на них будут «натягиваться» куски Безье. Увидеть эти новые куски можно будет, просто снова щелкнув в окне стека на строке модификатора Surface (Поверхность) для его активизации.
13. Снова включите режим трехмерной привязки и продолжите добавление новых сплайнов в окне вида спереди, тщательно следя за сигналами привязки вершин новых сплайнов к уже имеющимся вершинам каркаса. Постройте продольный сплайн, соединив сначала две противолежащие вершины в районе нижнего рожка месяца, а затем перемещаясь вверх и щелкая на средних вершинах поперечных сплайнов. Завершите этот продольный сплайн в правом углу глаза. Далее постройте сплайны, обозначающие дополнительную сегментацию каркаса в области губ. В частности, соедините кривыми вершины в серединах губ с уголком рта. Эти кривые позволят придать губам требуемую выпуклость. Соедините угол рта также и с основанием носа, чтобы ячейка каркаса над верхней губой имела допустимое число вершин. В качестве наглядного руководства используйте изображение, показанное на рис. 9.88. Добавив новые сплайны, настройте их выпуклость и кривизну, как было описано выше.

Рис. 9.88. Добавлены сплайны для придания выпуклости губам и разбиения каркаса на треугольные и четырехугольные ячейки
14. Если вы все делали как нужно, то теперь уже должно было образоваться гораздо больше «правильных» ячеек каркаса. Активизировав в стеке строку модификатора Surface (Поверхность), вы сможете увидеть нечто, подобное изображению на рис. 9.89. Не знаю, как для вас, а для меня этот процесс появления «из ничего» предмета, который кажется вполне осязаемым, представляется основным привлекательным моментом данной техники моделирования. Если получившаяся у вас поверхность не выглядит достаточно гладкой, имеет выступы или впадины, следует снова вернуться к правке формы сплайнов каркаса, разглядывая их под разными углами.

Рис. 9.89. Поверхность вылепливаемого объекта нарастает кусок за куском
|
СОВЕТ Обязательно рассматривайте сплайны, образующие каркас, под разными углами зрения. Проекции — такая обманчивая штука! Кажется, все выровнял, но чуть изменишь ракурс, и оказывается, что на самом деле все кривые расположены наперекосяк. Значит, нужно снова манипулировать касательными векторами — а что делать? Кстати, иногда кусок поверхности бывает не виден не из-за неточного совмещения вершин ограничивающих его сплайнов, а из-за того, что его нормаль оказалась перевернутой и он обращен к вам оборотной стороной. Для проверки установите флажок Flip Normals (Перевернуть нормали) в свитке параметров модификатора Surface (Поверхность). Если кусок после этого появится (при этом все остальные куски исчезнут из вида, но это не беда), нужно сбросить этот флажок, вернуться на уровень правки подобъектов Spline (Сплайн), выделить сплайн каркаса, ограничивающий ячейку, и щелкнуть на кнопке Reverse (Обратить). Это приведет к изменению порядка следования вершин сплайна на обратный. Обычно после этого кусок становится виден. |
15. Настал черед заняться глазом и носом. Не забыв включить режим трехмерной привязки, постройте в окне вида спереди сплайн, изображающий нижнее веко и проходящий снизу от глаза от одного его угла (вершина 1 на рис. 9.90) к другому (вершина 3). Создайте на этом сплайне одну промежуточную вершину в точке 2. Затем нарисуйте сплайн, тянущийся от кончика носа (вершина 4) к точке на щеке (вершина 5) и имеющий одну промежуточную вершину в точке 6. Соедините точку 6 одним сплайном с передним уголком глаза (вершина 3), а другим — с вершиной 7 на рамке каркаса. Из точки 8 на кончике верхнего рожка месяца протяните сплайн через средние точки двух поперечных сплайнов рожка (вершины 9 и 10), точку 11 на верхнем краю верхнего века, точку 12 на нижнем краю верхнего века, среднюю точку нижнего века (вершина 2), завершив этот сплайн в точке 5 у основания носа. Остается только создать еще два сплайна: один, соединяющий две противолежащие вершины на верхнем веке (точки 13 и 14), и другой, тянущийся от основания носа (точка 5) вверх, к переднему уголку глаза (вершина 3). Теперь выключите режим привязки и настройте выпуклость и кривизну только что созданных сплайнов, изменяя тип их вершин на Bezier (Безье) или Bezier Corner (Безье с изломом). Проверяйте правильность построения, периодически активизируя модификатор Surface (Поверхность). В итоге половинка «Месяца» должна принять вид, показанный ранее на рис. 9.70. Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.

Рис. 9.90. Новые сплайны, завершающие конструкцию каркаса, проходят через вершины, пронумерованные в порядке упоминания в тексте
|
ЗАМЕЧАНИЕ Понимая, что никакие двумерные изображения не дают полного представления о трехмерной модели, хочу посоветовать загрузить готовую модель половинки месяца и хорошенько рассмотреть ее с разных сторон. Такую модель можно найти в файле Mesiac.max, хранящемся в папке Scenes\Glava_09 компакт-диска, прилагающегося к книге. Готовая модель «Месяца» имеется в файле Mesiac01.max в той же папке. |
16. В заключение создайте зеркальную копию половинки «Месяца» и переместите ее на нужное место. Присоедините половинку-копию к оригиналу. Выделите в окне вида сверху, справа или слева все вершины вдоль линии стыка и примените к ним инструмент Selected (Выделенные) из раздела Weld (Слить) свитка Geometry (Геометрия). Сохраните файл под заданным в начале работы именем Mesiac.max, а затем сохраните файл еще раз, но с инкрементированием имени.
Надеюсь, что сумел объяснить основные хитрости создания трехмерных тел на основе сплайновых каркасов, и вы сможете использовать полученные навыки при моделировании собственных проектов.
Обратите внимание на то, что при создании каркаса мы старались свести к минимуму число треугольных ячеек, создавая в основном четырехугольные. Как уже говорилось, такой подход обеспечивает получение более ровной и гладкой сетки. Правда, его реализация требует от модельера дополнительных усилий, хорошего пространственного воображения и... умения считать до четырех.
Чтобы придать поверхности нужную форму и одновременно обеспечить ее требуемую гладкость, часто приходится удалять одни вершины сплайнов каркаса и создавать новые. В ходе предыдущего упражнения у вас могло сложиться впечатление, что я заранее знал, где расставлять вершины сплайнов. Это не так, здесь использована маленькая хитрость: вся работа по поиску оптимальной расстановки вершин была проделана заранее методом проб и ошибок и осталась за кадром. В работе над реальным проектом некому будет подсказать вам, сколько промежуточных вершин нужно создать у того или иного сплайна, так что не забывайте о существовании инструмента Refine (Уточнить) и клавиши Delete. Кстати, перед добавлением новых вершин с помощью инструмента Refine (Уточнить) не забывайте выключать режим трехмерной привязки!
Нарезаем зубья на вилке
Закрепим навыки создания булевских объектов, «нарезав» зубья на заготовке вилки, созданной ранее при освоении метода лофтинга. Выполните следующие действия:
1. Откройте ранее сохраненный файл Vilka.max или загрузите файл с аналогичным именем из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени.
2. Активизируйте окно проекции Front (Вид спереди), увеличьте изображение, как показано на рис. 7.46, и создайте усовершенствованный примитив ChamferBox (Параллелепипед с фаской) со следующими размерами: Length (Длина) = 4,0 см, Width (Ширина) - 9,5 см, Height (Высота) = 0,7 см, Fillet (Фаска) = 0,2 см. Этот параллелепипед и два его образца мы вычтем из заготовки, образовав промежутки между зубьями вилки.

Рис. 7.46. Параллелепипед с фаской будет играть роль штампа при «нарезке» зубьев вилки
1. Чтобы зубья имели клиновидную форму, сузьте параллелепипед на одном из концов, применив к нему еще не использовавшийся нами модификатор заострения. Для этого при выделенном параллелепипеде щелкните на кнопке Taper (Заострение) в раскрывающемся списке Modifier List (Список модификаторов) командной панели Modify (Изменить). Параллелепипед будет заключен в габаритный контейнер модификатора оранжевого цвета. Обратите внимание, что центральная точка модификатора, обозначенная коричневым крестом, находится не в его геометрическом центре, так как совмещена с опорной точкой параллелепипеда, расположенной в середине его основания. Это отчетливо видно в окне проекции Тор (Вид сверху). При таком расположении центра заострение на виде сверху не будет симметричным. Чтобы переместить центр модификатора, щелкните на квадратике со значком «плюс» слева от надписи Taper (Заострение) в окне стека модификаторов и выберите в раскрывшемся дереве подобъектов строку Center (Центр). Крест, обозначающий центральную точку, окрасится в желтый цвет. Щелкните на нем в окне проекции Тор (Вид сверху), выбрав инструмент Select and Move (Выделить и переместить), и перетащите в середину параллелепипеда, как показано на рис. 7.47.

Рис. 7.47. Центр модификатора перемещен в геометрический центр параллелепипеда
2. Настройте параметры заострения в свитке Parameters (Параметры). Установите в счетчике Amount (Величина) значение 0,55. Переключатель Primary ( Первичная ось) раздела Taper Axis (Ось заострения) установите в положение X, а переключатель Effect (Ось эффекта) — в положение Z. Создайте два образца заостренного параллелепипеда и разместите их на конце заготовки вилки, как показано на рис. 7.48.

Рис. 7.48. Все готово к применению операции булевского вычитания
3. Переходите к булевскому вычитанию. Выделите объект Vilka и выберите на командной панели кнопку Boolean (Булевские). Щелкните на кнопке Pick Operand В (Указать операнд В) в свитке Pick Boolean (Задать операнд) и выделите первый из трех параллелепипедов, предназначенных для формирования промежутков между зубьями вилки. Проследите, чтобы переключатель Operation (Операция) был установлен в положение Subtraction (A-B) (Исключение (А-В)). Параллелепипед исчезнет, оставив после себя щель между двумя зубьями вилки, как показано на рис. 7.49. Щелкните правой кнопкой мыши, завершая операцию булевского вычитания.

Рис. 7.49. Первая пара зубьев сформирована
4. Снова щелкните на кнопке Pick Operand В (Указать операнд В) и выделите следующий параллелепипед. Он также исчезнет, сформировав щель между следующей парой зубьев. Повторите описанные действия применительно к третьему параллелепипеду. Окончательный вид вилки приведен на рис. 7.50. Закончив работу, сохраните файл под измененным в начале работы именем. Готовую вилку можно найти в файле под именем Vilka01.max, хранящемся в папке Scenes\Glava_07 компакт-диска, прилагающегося к книге.

Рис. 7.50. Зубья вилки "нарезаны» методом булевского вычитания
Итак, многократное применение операции создания булевского составного объекта позволяет вырезать множественные отверстия в оболочке трехмерного тела. Недостаток такого способа заключается в том, что после, скажем, трехкратного применения булевского исключения объект становится «трижды булевским», то есть сведения о параметрах булевской операции и ее операндах трижды помещаются в стек объекта. Это увеличивает объем файла и замедляет работу программы по перерисовке сцены.
Впрочем, операцию многократного булевского исключения или объединения сразу нескольких объектов можно выполнить за один прием. Это делается с помощью программного модуля Collapse (Свертка), кнопка активизации которого находится на командной панели Utilities (Сервис).
|
ВНИМАНИЕ Булевские операции, выполненные с помощью программного модуля Collapse (Свертка), не подлежат отмене. Так что перед выполнением подобной операции стоит сохранить сцену, чтобы иметь возможность вернуться к сохраненному варианту в случае какой-то ошибки. |
Чтобы выполнить за один прием булевское исключение сразу нескольких объектов, проделайте следующие действия:
1. Создайте несколько объектов и разместите их с перекрытием. Предположим для определенности, что объектом, из которого нужно исключить часть объема, будет тело лофтинга в форме заготовки вилки, как в предыдущем упражнении, а исключаемыми объектами будут три параллелепипеда с фаской. Выделите сначала объект, из которого следует произвести исключение, то есть вилку, а затем — исключаемые объекты, то есть параллелепипеды. Их можно выделить или по отдельности, или все сразу с помощью рамки. Важно только то, какой объект был выделен первым. Модуль Collapse (Свертка) построен так, что всегда производит исключение из того объекта, который был выделен первым, тех объектов, которые были выделены во вторую очередь.
2. Перейдите на командную панель Utilities (Сервис) и щелкните на кнопке Collapse (Свертка). В разделе Collapse To (Свернуть в) свитка Collapse (Свертка) установите переключатель Single Object (Один объект), флажок Boolean (Булевский) и переключатель типа операции — Subtraction (Исключение). Оставьте все остальные элементы управления в исходном состоянии и для выполнения операции щелкните на кнопке Collapse Selected (Свернуть выделенное). Спустя какое-то время, требующееся компьютеру на выполнение этой операции, исключаемые объекты будут ликвидированы, а в объекте, выделенном первым, появятся запланированные вырезы.
3. Чтобы закончить работу с модулем, снова щелкните на кнопке Collapse (Свертка) или на кнопке Close (Закрыть) внизу свитка.
Регулировка ширины, «резкости» и формы сечения луча прожектора
Края пятна света с принятыми по умолчанию угловыми размерами выглядят чуть-чуть размытыми. Чтобы научиться управлять размерами пятна света и резкостью его кромки, выполните следующие действия в продолжение предыдущего упражнения.
1. Разверните свиток Spotlight Parameters (Параметры прожектора), показанный на рис. 11.27. По умолчанию параметр Hotspot/Beam (Яркое пятно/Луч), задающий размер области, в пределах которой интенсивность падающего света остается постоянной и равной значению, заданному для источника в счетчике Multiplier (Усилитель), равен 43°, а параметр Falloff/Field (Край пятна/Поле), задающий внешний размер пятна света, равен 45°. Кромка пятна света в связи с этим выглядит немного размытой, что повышает естественность картины: в реальной жизни редко встречаются источники света с абсолютной фокусировкой пучка.

Рис. 11.27 В свитке Spotlight Parameters (Параметры прожектора) расположены средства настройки ширины, резкости и формы луча света
| ЗАМЕЧАНИЕ В названиях параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/ Поле) слова «Hotspot» и «Falloff» относятся к стандартным осветителям, а слова «Beam» и «Field» — к фотометрическим. Смысловое значение понятий «яркое пятно» и «край пятна» объяснено ранее в этой главе. Для фотометрических осветителей счетчик Hotspot/ Beam (Яркое пятно/Луч) задает угловой размер зоны, на границе которой сила излучения фотометрического прожектора спадает до 50 % от максимума. Счетчик Falloff/Field (Край пятна/Поле) задает угловую ширину зоны, за пределами которой сила света равна нулю. |
2. Для увеличения размеров пятна света достаточно увеличить параметр Hotspot/ Beam (Яркое пятно/Луч), при этом параметр Falloff/Field (Край пятна/Поле) будет автоматически возрастать, оставаясь по умолчанию всегда на 2° больше углового размера яркого пятна. Уменьшение размеров яркого пятна не влияет на величину параметра Falloff/Field (Край пятна/Поле). Попробуйте увеличить значение параметра Falloff/Field (Край пятна/Поле), скажем, до 60°. Как видите (рис. 11.28), в результате этого ширина каймы по краю пятна, в пределах которой яркость света спадает до нуля, существенно выросла. Восстановите исходное значение параметра Falloff/Field (Край пятна/Поле).

Рис. 11.28. При увеличении параметра Falloff/ Field луч света выглядит более «расфокусированным»
|
ЗАМЕЧАНИЕ Свитки параметров max 7.5 обладают «памятью». Пусть, например, вы создали прожектор и изменили исходные значения параметров Hotspot/Beam (Яркое пятно/Луч), Falloff/Field (Край пятна/Поле), Multiplier (Усилитель) и т. п. Теперь, когда вы захотите создать еще один прожектор, он будет создаваться с установленными вами в предыдущем случае значениями параметров. Это следует иметь в виду при воспроизведении результатов, описываемых в упражнениях. |
3. Установите переключатель, расположенный под счетчиком Falloff/Field (Край пятна/Поле) и по умолчанию устанавливаемый в положение Circle (Круг), в положение Rectangle (Прямоугольник). Как видите, сечение пучка лучей стало прямоугольным. Это дает возможность, скажем, имитировать свет, падающий в темную комнату через открытую дверь, или луч кинопроектора, отбрасывающий свет на экран, как показано на рис. 11.29. Соотношение сторон прямоугольного сечения пучка лучей регулируется счетчиком Aspect (Отношение сторон). Не сохраняйте файл и не выходите из программы, в следующем упражнении мы продолжим работу над сценой.

Рис. 11.29. Пучок лучей света может иметь и прямоугольное сечение
Опробуйте еще одну возможность max 7.5, позволяющую менять размеры параметров Hotspot/Beam (Яркое пятно/Луч) и Falloff/Field (Край пятна/Поле) в интерактивном режиме с помощью мыши прямо в окнах проекций. Чтобы воспользоваться таким способом настройки, создайте осветитель-прожектор, после чего щелкните на кнопке Select and Manipulate (Выделить и манипулировать). Если прожектор выделен, то окружности, изображающие границы яркого пятна и его края, сразу примут зеленую окраску, указывающую на готовность к интерактивной настройке. Если же прожектор не выделен, то для включения режима интерактивной настройки выделите его, щелкнув на значке источника. Установите курсор на одну из окружностей. Она приобретет красный цвет, а во всплывающем окне появится сообщение о текущем размере изменяемого параметра, например: Spot01 [Falloff: 41,44], как показано на рис. 11.30. Щелкните кнопкой мыши и перетаскивайте курсор вверх или вниз по экрану, наблюдая за изменением диаметра окружности и численным значением параметра во всплывающем окне или в соответствующем счетчике командной панели.

Рис. 11.30. Угловой размер пучка лучей можно менять в интерактивном режиме с помощью инструмента Select and Manipulate
Визуализируем анимацию «Летящий шар»
Отработаем на практике итоговую визуализацию анимации с записью результата в файл. Выполните следующие действия:
1. Загрузите в программу max 7.5 файл Letiasshiy shar.max или просто продолжите работу, если он уже открыт. При необходимости загрузите готовый файл этой сцены с прилагающегося к книге компакт-диска, где он хранится в папке Scenes\Glava_16. Активизируйте окно проекции, в котором будет производиться итоговая визуализация.
2.

Настройте параметры создаваемой анимации. Для этого щелкните на кнопке Render Scene (Визуализировать сцену) главной панели инструментов. В появившемся окне диалога Render Scene (Визуализация сцены) установите переключатель в разделе Time Output (Интервал вывода) в положение Active Time Segment (Активный временной сегмент). В разделе Output Size (Размер кадра) укажите размер кадра анимации в пикселях. На мой взгляд, вполне приемлемое изображение получается при размере кадра 640x380 пикселей. Чтобы визуализированные кадры не пропали (по умолчанию изображения выводятся только в окно виртуального буфера кадров), щелкните на кнопке Files (Файлы) в разделе Render Output (Вывод визуализации), выберите формат выходного файла типа .avi и задайте для него подходящее имя, например Letiasshaia sfera. Щелкните на кнопке Save (Сохранить). В появившемся окне диалога File Compression (Сжатие видеозаписей) выберите в раскрывающемся списке Compressor (Программа сжатия) вариант Uncompressed Frames (Полные кадры (без сжатия)), чтобы получить наилучшее качество изображения видеозаписи, которая при этом может занять несколько десятков мегабайт дисковой памяти, или вариант Microsoft Video1, чтобы существенно сэкономить дисковое пространство при приемлемом качестве изображения. В последнем случае оставьте ползунок параметра Compression Quality (Качество сжатия) в принятом по умолчанию положении 75. Щелкните на кнопке ОК. Закройте окно диалога Render Scene (Визуализировать сцену), щелкнув на кнопке Close (Закрыть).
3. Запустите процесс визуализации, щелкнув на кнопке Quick Render (Быстрая визуализация) главной панели инструментов, и наблюдайте синтез одного кадра за другим. По завершении визуализации перейдите в папку, в которой сохранялся файл анимации, и щелкните на имени сохраненного файла Letiasshaia sfera.avi, чтобы воспроизвести его для просмотра, как показано на рис. 16.42. Готовый файл этой анимации можно найти в папке Animations\G!ava_16 компакт-диска, прилагающегося к книге.

Рис. 16.42. Просмотр визуализированной анимации в окне приложения Проигрыватель Windows Media
Превращаем стандартную сферу в елочный шар
Выполним простейшее упражнение, в ходе которого ознакомимся с весьма полезным инструментом выдавливания граней сетки, а заодно создадим елочный шар, который пригодится впоследствии для украшения новогодней елки в нашем кафе «МАХ». Более подробное знакомство с этим инструментом, показывающим его неограниченные созидательные возможности, ждет вас в главе 9, «Осваиваем секреты моделирования».
Повторяйте за мной следующие действия:
1. Перезагрузите программу max 7.5 и сохраните пустую сцену под именем Sharik.max.
2. Создайте в центре окна проекции Тор (Вид сверху) стандартный примитив Sphere (Сфера) радиусом порядка 10-11 см. Преобразуйте примитив в объект типа Editable Mesh (Редактируемая сетка) любым из известных вам способов. Переключитесь на уровень выделения подобъектов типа Face (Грань).
3. Достаточно сильно увеличьте изображение сферы в окне вида сверху и выделите рамкой грани, непосредственно примыкающие к верхнему полюсу сферы. Выделенные грани приобретут красный цвет, как показано на рис. 8.33. Так как при этом выделятся и грани, симметрично расположенные в районе нижнего полюса сферы, перейдите в окно проекции Front (Вид спереди) и, нажав и удерживая клавишу Alt, охватите рамкой грани вблизи нижнего полюса, чтобы отменить их выделение.

Рис. 8.33. В окне вида сверху выделены все грани, примыкающие к полюсу сферы
| СОВЕТ В max 7.5 имеется возможность при работе с выделяющей рамкой избежать выделения граней или полигонов, расположенных на противоположной, невидимой стороне объекта. Для этого достаточно перед выделением установить флажок Ignore Backfacing (Игнорировать изнаночные) в свитке Selection (Выделение) на командной панели Modify (Изменить). |
4. Теперь выдавим грани, выделенные в районе верхнего полюса сферы, чтобы сформировать колпачок, в котором у настоящего елочного шара крепится пружинка, используемая для подвески украшения на елку. Щелкните в свитке Edit Geometry (Правка геометрии) на кнопке Extrude (Выдавить). Переместите курсор и окно проекции Front (Вид спереди) и установите его поверх выделенных граней. Когда курсор примет вид, соответствующий режиму выдавливания и показанный на рис. 8.34, щелкните кнопкой мыши и перетаскивайте курсор, наблюдая в окнах проекций за ростом выступа на поверхности сферы. Следите за высотой выступа в счетчике, расположенном справа от кнопки Extrude (Выдавить), и отпустите кнопку мыши, когда высота выступа достигнет значения порядка 3,5-4 см. Щелкните правой кнопкой мыши, чтобы выключить режим выдавливания граней.

Рис. 8.34. Изменившийся вид курсора указывает на готовность к операции выдавливания выделенных граней
|
ЗАМЕЧАНИЕ Существует еще один способ выдавливания граней с точным заданием высоты выдавливания. Мы познакомимся с ним в ходе выполнения последующих упражнений этой главы и главы 9, «Осваиваем секреты моделирования». |
5. Выключите режим выделения подобъектов, щелкнув в окне стека модификаторов на строке Editable Mesh (Редактируемая сетка), являющейся заголовком дерева подобъектов. На рис. 8.35 показан итоговый вид получившегося елочного шарика. В заключение сохраните файл под заданным в начале работы именем Sharik.max. Можете сравнить то, что у вас получилось, с готовым объектом, хранящимся в файле с таким же именем в папке Scenes\Glava_08 компакт-диска, прилагающегося к книге.

Рис. 8.35. Елочный шарик с выступом на макушке сформирован методом выдавливания граней
Продолжим знакомство с другими инструментами редактирования полигональных сеток на уровнях различных подобъектов.
Прожектор в роли проектора
Имеет смысл разобраться еще в одной интересной возможности, реализуемой с помощью осветителей max 7.5: все типы источников света могут играть роль кинопроекторов или проекторов для слайдов. Это означает, что можно заставить осветитель отбрасывать на предметы сцены пучок лучей света, несущих выбранное изображение. Чтобы проделать это, выполните следующие действия в продолжение предыдущего упражнения:
1. Разверните свиток Advanced Effects (Дополнительные эффекты), установите в разделе Projector Map (Карта проектора) флажок Map (Карта) и щелкните на расположенной справа от него кнопке с надписью None (Отсутствует). Появится окно диалога Material/Map Browser (Просмотр материалов/карт текстур), с которым вы познакомитесь подробнее в последующих главах. В этом окне будет представлен список доступных для использования карт текстур, все элементы которого снабжены значками в виде параллелограммов зеленого цвета. Дважды щелкните в списке окна на второй сверху строке Bitmap (Растровая карта). Выберите подходящее изображение в появившемся окне диалога Select Bitmap Image File (Выбор изображения растровой карты).
2. Визуализируйте изображение в окне проекции Perspective (Перспектива). В примере, показанном на рис. 11.31, в качестве слайда было использовано изображение из файла Ptiab_22.jpg, входящего в комплект поставки max 7.5. Обратите внимание на то, как изображение проецируется на стоящее на переднем плане кресло с учетом его формы.

Рис. 11.31. Прожектор в роли проектора для слайдов
Закончив эксперименты с нацеленным прожектором, удалите его, но не закрывайте файл сцены, не сохраняйте его и не выходите из программы: нам предстоит выполнить последний этап настройки освещения сцены «МАХ-кафе».
Раз, два, три — елочка, гори!
Выполним теперь упражнение на анимацию параметров материалов. Предметом данного упражнения будет анимация огней гирлянды, украшающей новогоднюю елку нашего кафе «МАХ». В учебном плане это упражнение поможет нам отработать навыки редактирования и копирования ключей анимации с использованием строки треков.
Выполните следующие действия:
1. Откройте имеющийся у вас файл MAX-kafe22.max или загрузите подходящий файл с компакт-диска, прилагающегося к книге, например все тот же файл MAX-kafe22.max, находящийся в папке Scenes\Glava__15. Разгруппируйте объект-группу Yolka. Выделите саму елку и лампочки гирлянды, а также одну из камер, например Сатега03, и пару всенаправленных осветителей, скажем, Omni01 и Omni05. Сохраните выделенные объекты в отдельном файле, используя команду меню File > Save Selected (Файл > Сохранить выделенные объекты), дав этому файлу подходящее имя. При необходимости вы можете найти подобный файл в папке Scenes\Glava_16 компакт-диска под именем Girlianda.max.
2. Переориентируйте камеру, поместив в ее поле зрения крупный план новогодней елки, как показано на рис. 16.52. Чтобы ускорить визуализацию, выключите режимы воспроизведения эффектов внешней среды и оптических эффектов, сбросив в окне диалога Render Scene (Визуализация сцены) флажки Atmospherics (Эффекты внешней среды) и Effects (Оптические эффекты). Проверьте, чтобы у обоих осветителей был выбран вариант теней Shadow Maps (Карты теней).

Рис. 16.52. Елка с гирляндой разноцветных лампочек подготовлена к анимации
3. Будем пытаться выполнить анимацию по такому сценарию: сначала «горят» все красные лампочки, затем — все желтые, потом все зеленые, и, наконец, цикл повторяется. В итоге должно создаваться впечатление огоньков, «бегущих» вдоль по нитке гирлянды. Произведем расчет времени. Продолжительность горения лампочек одного цвета можно принять равной 10 кадрам, то есть около 0,3 с. Тогда за 30 кадров произойдет полный цикл переключения лампочек всех трех цветов. Чтобы в пределах сегмента анимации уложилось целое число таких циклов, увеличим ее продолжительность до 120 кадров, используя для этого окно диалога Time Configuration (Настройка временных интервалов) или уже известный вам интерактивный прием. Включение свечения лампочек будем имитировать установкой параметра Self-Illumination (Самосвечение) равным 100 %, а выключение — приведением этого параметра к нулю.
4. Итак, приступим. Убедитесь, что текущим является кадр № 0. Раскройте окно Редактора материалов. Активизируйте ячейку с образцом материала зеленых лампочек. Включите режим автоматической анимации, щелкнув на кнопке Auto Key (Автоключ). Обратите внимание на то, что вокруг ячейки образца появляется рамка красного цвета, указывающая на возможность анимации параметров материала. Измените значение счетчика Self-Illumination (Самосвечение) со 100 на 0. Заметьте, что вокруг стрелок счетчика этого параметра появляются красные угловые скобки. Они говорят о том, что данный параметр анимирован. Затем активизируйте ячейку с образцом материала желтых лампочек и проделайте с этим материалом то же, что и с материалом зеленых лампочек — выключите его самосвечение. Теперь в кадре № 0 «горят» только красные лампочки.
5. Перейдите к кадру № 10. Выключите самосвечение материала красных лампочек, убавив до нуля значение параметра Self-Illumination (Самосвечение). Значение данного параметра желтого материала увеличьте в этом кадре до 100 %, а у зеленого материала оставьте пока равным нулю. Итак, в кадре № 10 красные лампочки «погасли», желтые «загорелись», а зеленые пока ждут своей очереди.
6. Сделайте текущим кадр № 20 и описанным выше манером «выключите» желтые лампочки, но «включите» зеленые. Наконец, перейдите к кадру № 30, выключите самосвечение зеленого материала, но снова заставьте светиться материал красных лампочек. Цикл завершен. Выключите режим анимации, щелкнув на кнопке Animate (Анимация).
7. Попробуйте воспроизвести анимацию в окне проекции, перетаскивая ползунок таймера, и убедитесь, что результат не совсем тот, на какой мы рассчитывали. Красные лампочки не «горят» ровным светом все 10 первых кадров, а постепенно «гаснут». Желтые и зеленые лампочки, напротив, медленно «разгораются». Следя за значением параметра Self-Illumination (Самосвечение), вы отметите его равномерное уменьшение для материала красного цвета и увеличение — для материалов желтого и зеленого цветов. В чем дело? Секрет прост: вспомните, что max 7.5 по умолчанию назначает анимируемым параметрам вариант управления типа Flat Tangent (Выровненное управление), приводящий к плавному изменению параметров с устранением скачков.
8. Как изменять варианты управления, вы уже знаете. Так как все лампочки одного цвета используют один и тот же материал, достаточно выполнить настройку ключей одной из них, чтобы оказать влияние на поведение всех остальных лампочек того же цвета. Итак, выделите любую красную лампочку, скажем, Lampochka01. В строке треков появятся значки ключей анимации в кадрах № 0, 10 и 30. Щелкните на ключе в кадре № 0 правой кнопкой мыши и выберите в появившемся меню команду Lampochka01: Self-Illumination (Лампочка01: Самосвечение). Появится окно справки о ключах анимации самосвечения материала этой лампочки, показанное на рис. 16.53. Измените тип управления параметром на входе и выходе текущего ключа со Smooth (Сглаженное управление) на Step (Скачкообразное управление). Щелкнув на кнопке в левом верхнем углу окна со стрелкой, указывающей вправо, перейдите к ключу № 2, относящемуся к кадру № 10. Измените тип управления на входе и выходе этого ключа также на скачкообразное. В заключение проделайте аналогичную процедуру для ключа № 3, относящегося к кадру № 30.

Рис. 16.53. В окне справки о ключах анимации параметра самосвечения материала красной лампочки нужно изменить тип управления на скачкообразный
9. Теперь, действуя точно так же, как на предыдущем шаге, измените на скачкообразный варианты управления анимацией параметра самосвечения для материала желтых и зеленых лампочек. Воспроизведите анимацию в окне проекции, перетаскивая ползунок таймера. Теперь все должно идти так, как нужно. На протяжении первых 10 кадров «горят» в полную силу красные лампочки, после десятого кадра они «гаснут», но «загораются» желтые. В кадре № 20 желтые лампочки «гаснут», но тут же «вспыхивают» зеленые. Наконец, в кадре № 30 зеленые лампочки «гаснут», но опять «загораются» красные.
10. Остается только «размножить» ключи лампочек каждого цвета. К счастью, так как анимация относится к материалу, используемому всеми лампочками одного цвета, копирование ключей тоже можно сделать для какой-то одной лампочки, обеспечив распространение результата на все объекты, совместно использующие этот материал. Итак, выделите какую-то из красных лампочек. С помощью рамки выделите два последних из трех ключей в строке треков. Удерживая клавишу Shift, перетащите пару ключей так, чтобы первый из ключей-дубликатов переместился в кадр № 40. Тем самым вы распространите действие анимации на интервал с нулевого по шестидесятый кадр. Затем повторите копирование пары ключей еще два раза, обеспечив действие анимации до конца сегмента. В заключение скопируйте единственный ключ из кадра № 70 в кадр № 100, иначе красные лампочки, загоревшись в кадре № 90, будут гореть до конца анимации.
|
ЗАМЕЧАНИЕ Попробуйте сами разобраться в том, почему достаточно копировать не все три, а только два последних ключа. С этой целью еще раз проанализируйте логику развития действия нашей анимации. Подсказываю: свойства ключей чередуются. Первый включает лампочку, второй выключает, третий опять включает... |
11. Проделайте аналогичные действия для желтых и зеленых лампочек. Выделите второй и третий ключи и трижды скопируйте их, каждый раз перемещая копии ровно на 30 кадров вправо. Готово! Если теперь запустить воспроизведение анимации в окне проекции, то огоньки будут бесконечно взбегать вверх по нитке гирлянды. Чтобы увидеть этот эффект, возможно, придется временно скрыть из виду саму елку, так как ее прорисовка сильно тормозит работу программы.
12. Выполните визуализацию анимации и сохраните ее в файле. Сопоставьте то, что у вас получилось, с готовым файлом данной анимации. Такой файл под именем Girlianda01.max имеется в папке Scenes\Glava_16 компакт-диска, прилагающегося к книге. В папке Animations\Glava_16 того же диска вы найдете визуализированную анимацию вспышек огней гирлянды в формате avi.
Попробуйте в качестве задания на самостоятельную проработку выполнить анимацию огней гирлянды в принудительном режиме.
Создаем падающий снег в сцене «МАХ-кафе»
Так как время действия создаваемого нами проекта «МАХ-кафе» по сценарию приходится на зимний период, неплохо было бы дополнить сцену падающим с неба легким снежком, который будет попадать в поле зрения камеры, установленной снаружи перед фасадом кафе «МАХ». Пример изображения сцены с падающими снежинками вы могли видеть ранее в главе 1 (см. рис. 1.20).
Чтобы сымитировать падающий снег, выполните следующие действия:
1. Откройте ранее сохраненный файл MAX-kafe05.max, содержащий здание кафе с проемами для окна и двери, или загрузите файл MAX-kafe05.max из папки Scenes\Glava_07 компакт-диска, прилагающегося к книге. Сохраните файл с инкрементированием имени. Активизируйте окно проекции Тор (Вид сверху).
2. Щелкните на кнопке категории Geometry (Геометрия) командной панели Create (Создать) и выберите вариант Particle Systems (Системы частиц) в раскрывающемся списке разновидностей объектов. Щелкните на кнопке Snow (Снег) в свитке Object Type (Тип объекта).
3. Переместите курсор в окно проекции Тор (Вид сверху), щелкните кнопкой мыши примерно в точке (-500; -390) и растяните по диагонали прямоугольник значка источника частиц примерно до точки (500; -740). Частицы испускаются со всей поверхности источника, так что размеры его значка определяют размеры области пространства, в пределах которой будут наблюдаться снежинки. Хотя и нет необходимости задавать размеры значка источника частиц с высокой точностью, проделаем это в учебных целях. Прокрутите область свитков командной панели Create (Создать) вверх, чтобы стал виден раздел Emitter (Источник). Задайте следующие размеры значка источника частиц: Width (Ширина) = 1000 см, Length (Длина) = 350 см. Затем выберите инструмент Select and Move (Выделить и переместить) и при все еще выделенном значке источника введите в поля отсчета координат строки состояния требуемые значения координат положения центра источника частиц-снежинок: (0; -565; 620). Итоговый вид источника частиц типа Snow (Снег) в составе сцены «МАХ-кафе» показан на рис. 7.53.

Рис. 7.53. Правильное размещение системы частиц типа Snow в составе сцены «МАХ-кафе»
4. Чтобы падающий снег выглядел более естественно, создадим еще один источник таких же частиц, но разместим его под некоторым углом, чтобы испускаемые им частицы падали не строго вертикально, а так, как будто их слегка сдувает ветром. Снова щелкните на кнопке Snow (Снег) в свитке Object Type (Тип объекта) командной панели Create (Создать). Выделите значок источника первой системы частиц и, нажав и удерживая клавишу Shift, перетащите его вправо примерно на 100 см, создав независимую копию. Затем опустите значок источника вниз также примерно на 100 см и поверните его вокруг глобальной оси Y примерно на 20°. Правильное положение второго источника частиц в составе сцены показано на рис. 7.54.

Рис. 7.54. Правильное размещение второй системы частиц в составе сцены «МАХ-кафе»
5. Итак, два источника снега созданы, но где же снежинки? Все просто. Перетащите вправо-влево ползунок таймера анимации, и вы увидите, как снежинки начнут сыпаться с плоскостей значков источников. По умолчанию снежинки изображаются в окнах проекций крестиками. Теперь самое время настроить обе системы частиц. Выделите значок источника системы частиц Snow01 (Снег01) и перейдите на командную панель Modify (Изменить). Первое, что следует сделать, — это настроить временные характеристики частиц. Чтобы создавалось впечатление, что снег начал падать давно, уже в первом кадре анимации должно быть видно достаточно снежинок. Установите в счетчике Start (Начало) раздела Timing (Расчет времени) значение -200. Это будет означать, что в первом кадре анимации система снежинок будет иметь такой вид, как будто они сыплются из источника уже на протяжении двухсот кадров. В счетчике Life (Время жизни) укажите величину 200. Эта величина задает время жизни (в кадрах) каждой частицы с момента ее испускания до момента исчезновения. Теперь снежинки будут видны даже при крайнем левом положении ползунка таймера анимации. Не сбрасывайте флажок Constant (Постоянный темп), чтобы темп выпадения частиц оставался постоянным на всем интервале времени анимации.
6. Теперь настройте параметры раздела Particles (Частицы). В счетчике Viewport Count (Число в окне), задающем максимальное число частиц, отображаемых в каждом из окон проекций в любой момент времени, оставьте установленную по умолчанию величину 100. Зато в счетчике Render Count (Число видимых), определяющем максимальное число частиц, видимых в каждом отдельном кадре итоговой визуализации, установите вместо значения 100 число 10 000. Задайте размер каждой частицы в счетчике Flake Size (Размер снежинки) равным порядка 1,3 см. Уменьшите принятое по умолчанию значение средней начальной скорости падения частиц в счетчике Speed (Скорость) до величины 2,5, а значение степени различий начальных скоростей и направлений распространения частиц, задаваемое в счетчике Variation (Вариации), увеличьте до 3,0. В заключение укажите, какой вид должны иметь частицы после визуализации, используя переключатель раздела Render (Конечный вид). Установите его в положение Facing (Грани), при этом частицы визуализируются в виде квадратных граней, размеры которых равны размерам частицы. Это дает возможность нанести на частицы материал с маской прозрачности, придающей каждой частице форму снежинки.
7. Настройте аналогичным образом и вторую систему частиц. Только задайте для снежинок этой системы несколько более высокую скорость падения Speed (Скорость) = 3,0 и меньшее значение разброса скорости и направлений распространения Variation (Вариации) = 1,0. Итоговый вид сцены с падающим снегом на момент начального кадра анимации показан на рис. 7.55.

Рис. 7.55. В сцене «МАХ-кафе» пошел снег
8. Активизируйте окно проекции Perspective (Перспектива), щелкните на
кнопке Play Animation (Воспроизвести анимацию) и полюбуйтесь медленно падающими снежинками. Для завершения воспроизведения анимации падающего снега снова щелкните на той же кнопке, которая теперь называется Stop Animation (Остановить анимацию). Насмотревшись на снежинки, выделите оба источника частиц и скройте их от просмотра, чтобы до поры до времени снежинки не мешали нам продолжать работу над сценой. В заключение сохраните файл сцены под заданным в начале упражнения именем MAX-kafe06.max.
Как видите, чтобы вызвать в виртуальном мире осадки в виде снега, требуется не так уж много усилий.
в каждой главе вам будут
Почти в каждой главе вам будут встречаться упражнения, цель которых — подкрепить полученные теоретические познания твердыми практическими навыками. Чтобы сделать эти упражнения более осмысленными, большая часть из них будет связана единым замыслом воплощения в виде трехмерной модели некоторого графического проекта, о котором вы узнаете из первой главы.
Настоятельно рекомендую вам выполнять эти упражнения, если вы действительно хотите научиться пользоваться программой 3ds max 7.5, а не просто познакомиться с ней.
Некоторые из упражнений достаточно сложны, и нужно время, чтобы разобраться в нюансах и правильно воспроизвести описанные действия. Не жалейте этого времени — оно не будет потрачено напрасно. Не забывайте о том, что многочисленные инструменты трехмерной графики и анимации — не более чем карандаши и кисти для художника или стеки для скульптора. Пока вы не овладеете ими на практике в такой мере, чтобы технические трудности перестали мешать воплощению художественных замыслов, ваша работа в трехмерной графике не перейдет из области азов ремесла в область творчества. Так что упорство и еще раз упорство — и желанное мастерство обязательно придет!
Чтобы облегчить работу над упражнениями, трехмерные модели всех объектов, над которыми будет вестись работа, набор материалов, необходимых для визуализации этих моделей, а также примеры анимаций помещены на сопровождающий книгу компакт-диск. Разбирая эти модели и примеры «по косточкам», анализируя их параметры и пытаясь самостоятельно воспроизвести их, можно ускорить путь к освоению азов мастерства.
Утилита reactor
Сервисная программа-утилита reactor (Реактор) расположена на командной панели Utilities (Утилиты). Если по умолчанию кнопка reactor (Реактор) будет отсутствовать на панели Utilities (Утилиты), то следует щелкнуть на кнопке More (Дополнительно) и в появившемся окне дважды щелкнуть на строке reactor (Реактор). На панели Utilities (Утилиты) появятся свитки параметров утилиты reactor (Реактор): Preview & Animation (Просмотр и анимация), World (Реальность), Collisions (Столкновения), Display (Дисплей), Utils (Утилиты) и Properties (Свойства) (рис. 17.2).

Рис. 17.2. Свитки параметров модуля reactor на командной панели Utilities
Увеличение и уменьшение масштаба всего изображения
Диапазон масштабов изображений, которые можно просматривать в окне проекции, огромен. При наибольшем увеличении размер участка сцены, который будет виден в окне, составляет всего лишь около 0,35x0,5 мм, а при наименьшем увеличении — приблизительно 70x100 км, Нетрудно подсчитать, что разница в размерах объектов, которые могут целиком отображаться в окне проекции, составляет 200 миллионов раз! Вполне хватит, чтобы охватить взглядом Маленького принца вместе с его небольшой планетой, как показано на рис. 3.8, даже если эта планета будет размером с Землю (попробуйте сами — сцена, показанная на рисунке, хранится в папке Scenes\Glava_03 компакт-диска, прилагающегося к книге, файл Ris3-08.max).

Рис. 3.8. Изменяя масштаб изображения, в окне проекции можно в подробностях рассмотреть как малыша, шагающего по своей маленькой планете {слева), так и его планету целиком (справа)
| ЗАМЕЧАНИЕ Кстати, хранение в памяти объектов большого и даже очень большого размера не составляет для max 7.5 никакого труда. Например, объем памяти, требуемый для хранения сферы диаметром 1 мм, совершенно не отличается от объема памяти, требуемого для хранения сферы диаметром, скажем, 1 000 000 мм, если и у той и у другой сферы будет одинаковое число вершин, граней и ребер. |
Чтобы изменить масштаб изображения в окнах проекций, поступайте следующим образом:

Если нужно изменить масштаб только в отдельном окне, то щелкните на кнопке Zoom (Масштаб) в группе кнопок управления окнами проекций в правой нижней части окна max 7.5. Если же требуется одновременно изменить масштаб изображения во всех окнах ортографических проекций и в окне Perspective (Перспектива), то щелкните на кнопке Zoom All (Масштаб всех окон). Кнопка зафиксируется и подсветится желтым цветом.

| СОВЕТ Для переключения в режим Zoom (Масштаб) достаточно нажать клавиши Alt+z. Для выключения режима изменения масштаба следует щелкнуть правой кнопкой мыши. |
Для изменения масштаба в отдельном окне проекции переместите курсор в это окно, и он примет вид значка на кнопке. Для изменения масштаба сразу всех окон курсор можно поместить в любое из окон проекций. Щелкните кнопкой мыши и, удерживая ее, переместите курсор вверх для увеличения масштаба или вниз — для уменьшения. Мах 7.5 поддерживает автоматический перенос курсора, означающий следующее. Выполняя увеличение масштаба окна проекции, вы перетаскиваете курсор вверх. Когда курсор достигает верхнего края экрана, он автоматически переносится к его нижнему краю. Это позволяет продолжать непрерывно перетаскивать курсор вверх для дальнейшего увеличения масштаба.
|
СОВЕТ Менять масштаб изображения в окне проекции лучше всего с помощью мыши, имеющей колесико вместо средней кнопки. Поместите курсор в окно проекции, щелкните на колесике и вращайте его к себе для уменьшения масштаба или от себя — для увеличения. |
|
ЗАМЕЧАНИЕ Для изменения масштаба изображения в окне проекции совсем не обязательно, чтобы в этом окне присутствовали какие-то объекты. О смене масштаба пустого окна можно судить по изменениям размеров клеток координатной сетки. |
В чем состоит автоматизация анимации и зачем нужны контроллеры
Автоматизация процесса анимации состоит в том, что пользователю требуется задать значения анимируемых параметров только в некоторых кадрах, называемых ключевыми {keyframes). Ключевые кадры могут разделяться десятками промежуточных {in-betweens) кадров. Например, для создания анимации продолжительностью в 300 кадров, изображающей простейшее перемещение объекта, бывает достаточно задать положение объекта всего в двух ключевых кадрах: в начале и в конце анимации. Значения анимируемых параметров в ключевых кадрах называются ключами анимации {animation keys). Значения этих параметров в промежуточных кадрах max 7.5 рассчитывает автоматически. В каждом кадре ключи анимации могут быть заданы для произвольного числа объектов сцены, а каждый из объектов может иметь ключи анимации для любых своих параметров.
Можно обойтись и без ключевых кадров, если указать программе max 7.5 алгоритм изменения анимируемого параметра. Способ управления изменением параметров (посредством настройки формы графика изменений, путем задания траектории изменений, за счет описания изменений алгоритмическим выражением и т. п.), а также характер этих изменений (равномерно в интервале между ключевыми кадрами, с ускорением в начале или в конце интервала и т. п.) определяется выбором контроллера анимации {animation controller). Max 7.5 поддерживает большое количество (более 25) разнообразных контроллеров анимации. Для каждого параметра и преобразования max 7.5, которые допускают анимацию, определен тип контроллера анимации, назначаемый им по умолчанию. Учиться заменять контроллеры и настраивать некоторые из них мы будем в следующей главе.
Варианты раскраски объектов трехмерного мира
Для определения яркости и цвета каждой точки поверхностей объектов в трехмерной графике используются различные алгоритмы тонированной раскраски (shading) сетчатых оболочек. Программа 3D Studio MAX версии 2.5 поддерживала четыре типа раскраски: постоянная (constant), по Фонгу (Phong), no Блинну (Blinn) и металлическая (metal). В 3ds max 7.5 вариантов раскраски стало гораздо больше, но подробнее об этом вы узнаете из главы 12.
При постоянной раскраске каждая грань оболочки объекта изображается как плоская площадка, яркость которой зависит от ориентации нормали грани по отношению к направлению лучей падающего света и направлению взгляда наблюдателя (рис. 1.17).

Рис. 1.17. Так выглядят трехмерные объекты при использовании алгоритма постоянной раскраски
| ЗАМЕЧАНИЕ В 3ds max 7.5 вместо алгоритма постоянной раскраски применяется режим Faceted (Огранка), который можно включать при использовании любого из имеющихся алгоритмов раскраски. |
Поскольку, как указывалось ранее, оболочки трехмерных объектов разбиты на треугольные грани искусственно, необходимо принимать специальные меры, обеспечивающие сглаживание ребер между гранями, принадлежащими к одной и той же группе сглаживания. В различных алгоритмах раскраски сглаживание ребер при выключенном режиме Faceted (Огранка) реализуется по-разному. Например, при раскраске по Фонгу сглаживание достигается за счет того, что ориентация нормали в каждой точке плоской грани считается переменной и рассчитывается как промежуточная между исходными ориентациями нормали данной грани и трех соседних. Такой подход обеспечивает достаточно высокое качество сглаживания ребер, как показано на рис. 1.18. Различия во внешнем виде объектов, связанные с выбором того или иного алгоритма тонированной раскраски, мы рассмотрим в главе 12, когда будем осваивать настройку материалов объектов.

Рис. 1.18. При использовании раскраски по Фонгу происходит сглаживание ребер между гранями сетчатой оболочки
используются два вида проекций:
В 3ds max 7. 5 используются два вида проекций: параллельные (аксонометрические) и центральные (перспективные). При построении аксонометрической проекции трехмерного объекта его отдельные точки сносятся на плоскость проекции параллельным пучком лучей (рис. 1.14, слева), а при построении центральной проекции — пучком лучей, исходящих из одной точки, соответствующей положению глаза наблюдателя (рис. 1.14, справа).

Рис. 1.14. Аксонометрическая проекция строится с помощью параллельных лучей (слева), а центральная — с помощью лучей, исходящих из одной точки (справа)
Плоскость аксонометрической проекции располагается перпендикулярно всей совокупности проекционных лучей, а плоскость центральной проекции — перпендикулярно только одному, центральному лучу, соответствующему линии визирования сцены. При аксонометрической проекции не происходит искажения горизонтальных и вертикальных размеров, но искажаются размеры, характеризующие «глубину» объекта. При центральной проекции оказываются искаженными все размеры объекта. На рис. 1.15 показано, как выглядит куб на экране 3ds max 7.5 при использовании аксонометрической и центральной проекций.

Рис. 1.15. Размеры объекта, параллельные плоскости аксонометрической проекции, передаются без искажений (слева); при центральной проекции искажаются все размеры (справа)
Частным случаем аксонометрических проекций являются проекции ортографи-ческие, при построении которых плоскость проекции выравнивается параллельно одной из координатных плоскостей трехмерного пространства, в котором размещена сцена. К ортографическим проекциям относятся хорошо знакомые вам «вид сверху», «вид слева» и т. п. Примером перспективной проекции может служить любая фотография, сделанная обычным фотоаппаратом.
Перспективная проекция окружающего мира привычна и естественна для наших глаз, так как в жизни мы все предметы видим в перспективе. При такой проекции, чем дальше объект расположен от глаз наблюдателя, тем меньше он кажется по размерам. При параллельной проекции размеры объектов на изображении не зависят от их удаления от глаз наблюдателя. Это непривычно, но очень удобно: можно точно сопоставлять размеры объектов, на каких бы расстояниях они ни находились. Говоря о трехмерных объектах, мы уже упоминали слова «длина», «ширина», «высота». Теперь к ним добавились еще понятия «вид сверху», «вид слева». Что означают эти понятия применительно к виртуальному трехмерному миру, существующему только в памяти компьютера? Это определяется выбором системы координат.
Визуализация с прорисовкой контуров
Помимо оптических эффектов, средства свитка Camera Effects (Эффекты камеры) вкладки Renderer (Визуализатор) позволяют реализовывать визуализацию с прорисовкой контуров объектов (рис. 15.19).

Рис. 15.19. Визуализация модели с прорисовкой только контуров объектов (слева) и в режиме тонированной раскраски без прорисовки контуров (справа)
С помощью группы элементов управления Contours (Контуры) можно заставить модуль mental ray выполнять визуализацию изображений объектов с обводкой их контуров линиями заданного стиля.
Необходимым условием получения оконтуренных изображений объектов является соответствующая подготовка материалов этих объектов в свитке mental ray Connection (Подключение mental ray) Редактора материалов. Подготовка сводится к помещению одного из доступных шейдеров mental ray, таких как Simple (Простой), Combi (Комбинированный), Width from Color (Толщина по цвету), Width from Light (Толщина по освещению) и т. п., в раздел Countur (Контур) этого свитка. За счет выбора шейдера можно управлять стилем линий контуров.
Чтобы включить визуализацию контуров, установите флажок Enable (Включить) в разделе Contours (Контуры) свитка Camera Effects (Эффекты камеры). С помощью трех кнопок Contour Contrast (Контраст контуров), Contour Store (Хранение контуров) и Contour Output (Вывод контуров) производится выбор шейдеров для поддержки соответствующей функции визуализатора.
Включение и выключение сетки
Сетка координат очень полезна в процессе создания объектов, но иногда мешает рассматривать готовые объекты. Впрочем, это не проблема — изображение сетки в окне проекции можно в любой момент выключить и снова включить. Для выключения сетки достаточно всего лишь вызвать меню окна проекции одним из уже известных вам способов и выбрать команду Show Grid (Показывать сетку). Чтобы вновь включить показ сетки, повторите эти же действия.
| СОВЕТ Еще более простым способом удаления и восстановления линий сетки в активном окне проекции является нажатие клавиши G. |
Настройка координатной сетки позволяет использовать режим привязки создаваемых объектов к узлам сетки (точкам пересечения линий) в целях повышения точности построения геометрических моделей объектов. О том, как пользоваться привязками, наш следующий разговор.
Включение режима активной раскраски
Для включения режима активной раскраски в окне проекции необходимо выполнить одно из следующих действий:
активизировать нужное окно проекции и выполнить команду меню Rendering > ActiveShade Viewport (Визуализация > Активная раскраска в окне проекции);
щелкнуть на заголовке активного окна проекции правой кнопкой мыши и выбрать в подменю Views (Проекции) меню окна команду ActiveShade (Активная раскраска).
Сразу же вслед за этим окно проекции заливается цветом, установленным в данный момент в качестве фонового, то есть по умолчанию черным, и начинается процесс визуализации, за ходом которого можно следить по сообщениям в строке состояния mах 7.5. Сформированное изображение выводится в окно проекции не построчно, как в случае итоговой визуализации, а сразу целиком. При последующих обновлениях картинки в окне активной раскраски следить за ходом этого процесса также можно по сообщениям в строке состояния, как показано на рис. 15.10. Кроме того, процесс инициализации изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей красного цвета вдоль верхнего края окна. Ход этапа обновления изображения сопровождается отображением прогресс-индикатора в виде одной строки пикселей зеленого цвета вдоль правого края окна. По завершении визуализации в строке состояния появляется сообщение о затраченном на эту операцию времени в миллисекундах.

Рис. 15.10. Идет обновление изображения сцены, сформированного в режиме активной раскраски в окне проекции, о чем можно судить по сообщению в строке состояния
| ЗАМЕЧАНИЕ Окно проекции, в котором включен режим активной раскраски, не имеет заголовка и его нельзя развернуть во весь экран. В окне проекции, развернутом во весь экран, режим активной раскраски установить нельзя. |
Для включения режима активной раскраски в отдельном плавающем окне необходимо выполнить команду меню Rendering > ActiveShade Floater (Визуализация > Плавающее окно Активная раскраска) или щелкнуть на кнопке Quick Render (ActiveShade) (Быстрая визуализация (Активная раскраска)) главной панели инструментов. Эта кнопка расположена на раскрывающейся панели инструмента Quick Render (Production). Отдельное окно ActiveShade (Активная раскраска) имеет панель инструментов, ничем не отличающуюся от панели окна виртуального буфера кадров, с которым мы подробно познакомимся ниже в разделе «Заглядываем в окно визуализированного кадра». Рассмотрим особенности управления режимом активной раскраски в окне проекции или в отдельном окне.
| ЗАМЕЧАНИЕ Размер изображения в отдельном окне ActiveShade (Активная раскраска) определяется установкой соответствующего параметра в окне диалога Render Scene (Визуализация сцены). |
Включение в сцену внешних ссылок на объекты
Чтобы включить в текущую сцену ссылки на объекты из имеющихся сцен, выполните следующие действия:
1. Выберите команду главного меню File > XRef Objects (Файл > Ссылки на объекты). Появится окно диалога XRef Objects (Ссылки на объекты), показанное на рис. 3.32.

Рис. 3.32. Окно диалога XRef Objects позволяет включать в текущую сцену ссылки на объекты из готовых файлов трехмерных сцен
2. Щелкните на кнопке Add (Добавить) и выберите в появившемся окне диалога Open File (Открытие файла) файл сцены, на объекты которой будут установлены внешние ссылки. Щелкните на кнопке Open (Открыть), и появится новое окно диалога - XRef Merge (Присоединение ссылок), подобное окну Select Objects (Выделение объектов), которое мы рассмотрим в главе 4, «Учимся выделять, дублировать и преобразовывать объекты». В списке этого окна диалога перечисляются все объекты выбранной сцены, на которые можно установить ссылки.
3. Выделите в списке нужные объекты и щелкните на кнопке ОК. Имя выбранной сцены появится в списке XRef Files (Файлы ссылок), а имена объектов — в списке XRef Objects (Ссылки на объекты) окна диалога настройки ссылок, как показано на рис. 3.32. Щелкните па кнопке Close (Закрыть), и объекты, выбранные в качестве ссылок, появятся в составе текущей сцепы.
В случае если имена каких-то из выбранных в качестве ссылок объектов совпадают с именами объектов, уже имеющихся и составе сцепы, появится окно диалога Duplicate Name (Совпадающее имя), показанное ранее на рис. 3.30. Если, далее, какие-то из присоединяемых в качестве ссылок объекты имеют материалы, наименования которых совпадают с именами материалов, уже имеющихся в составе сцены, появится окно диалога Duplicate Material Name (Совпадающее имя материала), показанное ранее на рис. 3.31. В предыдущем разделе, где мы рассматривали порядок присоединения к сцепе готовых объектов, подробно описано, как нужно поступать в таких случаях.
Включение в сцену внешних ссылок на сцены и объекты
В max 7.5 реализована возможность включения в текущую разрабатываемую сцену внешних ссылок (eXtemal References — XRefs) на существующие сцены или отдельные объекты из таких сцен. Сцены, включенные в текущую сцену в качестве внешних ссылок, наблюдаются в окнах проекций, их можно дополнять новыми объектами, но ни один объект сцены-ссылки нельзя не только изменить, но даже выделить. Вот несколько причин, по которым это бывает удобно:
если работа над сложной сценой ведется группой разработчиков, один из команды может создавать фон сцены, а остальные — заниматься анимацией персонажей на этом фоне, присоединив его в качестве внешней ссылки и не опасаясь случайно внести изменения в фоновые объекты;
объекты сцен-ссылок не включаются в текущую сцену, а значит, не увеличивают ее объем. Таким образом, создав один раз удачную сцену, вы можете широко использовать ссылки на нее в других своих проектах;
при изменении сцены-ссылки ее вид в текущей сцене, в которую включена эта ссылка, также обновляется (по умолчанию это происходит автоматически).
Объекты, присоединенные к сцене в качестве внешних ссылок, можно выделять, перемещать, поворачивать, масштабировать и даже применять к ним различные модификаторы. Нельзя только внести изменения в те параметры объектов-ссылок, которые были присвоены им до использования ссылки.
Включение в сцену внешних ссылок на сцены
Для включения в текущую сцену внешних ссылок на уже существующие файлы трехмерных сцен проделайте следующее:
Выберите команду главного меню File > XRef Scenes (Файл > Ссылки на сцены). Появится окно диалога XRef Scenes (Ссылки на сцены), подобное окну, показанному ранее на рис. 3.32, но без списка XRef Objects (Ссылки на объекты) в нижней части.
Щелкните на кнопке Add (Добавить) и выберите в появившемся типовом окне диалога Open File (Открытие файла) файл сцены, на который будет сделана ссылка. Щелкните на кнопке Open (Открыть). Имя выбранной сцепы появится в списке XRef Files (Файлы ссылок) окна диалога XRef Scenes (Ссылки на сцены).
Для завершения процедуры присоединения внешней ссылки щелкните на кнопке Close (Закрыть).
Вникаем в тонкости модуля Cloth
Как вы уже смогли убедиться, существует достаточно много ситуаций, когда при решении той или иной задачи в max 7.5 не обойтись без имитации взаимодействий ткани с другими объектами. Рассмотренные нами выше упражнения являются достаточно простыми примерами подобных взаимодействий. Пользователи, работающие с max 7.5 на более серьезном уровне (к которым, я надеюсь, скоро можно будет причислить и вас, уважаемые читатели), нередко сталкиваются и с более сложными проблемами. И хотя возможности модуля reactor (Реактор) достаточно широки, все же иногда их не хватает. Это относится, например, к решению такого серьезного задания, как анимация одежды трехмерного персонажа. Проблема заключается в том, что одежда должна стать как бы частью персонажа и, с одной стороны, вести себя как настоящая ткань, а с другой — двигаться в соответствии с движениями персонажа. Модуль reactor (Реактор), который, кстати, впервые появился в 3ds max 5, располагает довольно ограниченными по возможности инструментами для воссоздания подобных ситуаций. Именно поэтому в состав последней версии max 7.5 был включен еще один модуль для имитации поведения ткани в трехмерных сценах — Cloth (Ткань). Он представлен двумя модификаторами: Garment Maker (Создатель одежды) для превращения сплайнов в подобие ткани и Cloth (Ткань) для имитации динамики ткани.
«Пошив» одежды для трехмерных персонажей и анимация ее в движении — вот основные задачи этого модуля. Однако он позволяет также решить ряд других, более простых заданий, связанных с имитацией поведения ткани. Поскольку рассмотрение возможностей 3ds max, которые касаются создания персонажной анимации, выходит за рамки этого издания, то и процесс создания одежды для персонажа тут рассматриваться не будет. Вы можете попытаться освоить эту тему самостоятельно, используя справочную систему max 7.5. Команда Cloth Extension Help (Справка по расширению Ткань) находится в окне диалога, появляющемся после выбора команды меню Help > Additional Help (Справка > Дополнительная справка). В рамках этого раздела рассмотрим пример использования модуля Cloth (Ткань) для имитации развевающегося на ветру флага.
Вода
С помощью модуля reactor (Реактор) можно имитировать деформацию поверхности воды и эффект плавучести тел с учетом их удельного веса, включая возникновение реалистичных волн на воде, взаимодействие волн между собой и действие их на плавающие объекты.
Воспроизведение эффектов внешней среды
Мах 7.5 позволяет в ходе визуализации имитировать четыре типа природных явлений, называемых иногда атмосферными эффектами:
однородный туман (Fog) — использование этого эффекта позволяет имитировать обычный однородный туман типа дымки или смога, который постепенно скрывает объекты по мере их удаления от наблюдателя, или создавать слой тумана, располагающегося на заданной высоте над основанием сцены. Пример такого тумана можно было видеть на рис. 1.19 первой главы. Ниже нам предстоит научиться его моделировать;
объемный туман (Volume Fog) — распределение такого тумана не является однородным в пределах трехмерного пространства сцены, что делает его изображение более реалистичным, чем эффект однородной дымки;
объемное освещение (Volume Light) — это пучок световых лучей, которые распространяются как бы в туманной атмосфере, благодаря чему светится вся область пространства, занимаемого лучами, как показано на рис. 15.43. Если вас заинтересовал этот эффект, не упустите шанс освоить его при выполнении приведенного ниже упражнения;

Рис. 15.43. Конус света от источника-прожектора высвечивает туманную атмосферу осеннего вечера
горение {Fire Effect) — может применяться для имитации языков пламени, клубов дыма или вспышек взрывов. Поскольку для воспроизведения данного эффекта не требуется никаких геометрических моделей, то расход оперативной памяти оказывается минимальным, а визуализация происходит намного быстрее, чем, скажем, при использовании систем частиц. С помощью данного эффекта нам предстоит смоделировать огонь в камине, способный придать еще больший уют нашему кафе «МАХ».
Для выбора типов природных явлений, подлежащих имитации в составе текущей сцены, а также управления порядком их визуализации служит свиток Atmosphere (Атмосфера) окна диалога Environment and Effects (Внешняя среда и эффекты).
Возможности редактирования NURBS-кривых и поверхностей на уровнях подобъектов
В mах 7.5 реализовано очень много инструментов для редактирования NURBS-кривых и поверхностей. Так, инструменты для правки NURBS-кривых на уровне объектов сгруппированы в целых шесть свитков: Rendering (Визуализация), General (Общие параметры), Curve Approximation (Аппроксимация кривой), Create Points (Создать точки), Create Curves (Создать кривые) и Create Surfaces (Создать поверхности). При редактировании NURBS-поверхностей на уровне объектов свиток Rendering (Визуализация) не появляется, но зато к перечисленным выше свиткам добавляются еще два: Display Line Parameters (Параметры отображения линий) и Surface Approximation (Аппроксимация поверхности).
При редактировании NURBS-кривых и поверхностей на уровне различных подобъектов на командной панели Modify (Изменить) могут появляться свитки CV, Point (Точка), Soft Selection (Плавное выделение), Point Curve (Точечная кривая), CV Curve ( CV-кривая), Curve Common (Кривая в целом), Surface Common (Поверхность в целом), Material Properties (Свойства материала) и т. д.
Подробному рассмотрению этих инструментов следовало бы посвятить отдельную книгу. Поэтому, как и в случаях ознакомления с возможностями правки других объектов mах 7.5, только перечислим некоторые инструменты редактирования NURBS-кривых и поверхностей на уровнях подобъектов. В главе 10, «Продолжаем постигать секреты NURBS-моделирования», вам будет дана возможность ознакомиться с некоторыми из перечисляемых ниже инструментов на практике в ходе выполнения упражнений по NURBS-моделированию.
В свитке General (Общие параметры), показанном на рис. 8.64, содержатся следующие инструменты:

Рис. 8.64. Свиток General с инструментами редактирования NURBS-поверхностей
Attach (Присоединить) — позволяет присоединить к выделенному NURBS-объекту любой объект сцены, a Attach Multiple (Присоединить несколько) — несколько новых объектов любого типа, которые при этом преобразуются к типу NURBS;
NURBS Creation Toolbox (Инструменты создания NURBS-объектов) — вызывает появление плавающей палитры NURBS, которой вам уже приходилось пользоваться в главе 6. Многие кнопки свитков Create Points (Создать точки), Create Curves (Создать кривые) и Create Surfaces (Создать поверхности) дублируются соответствующими инструментами данной палитры.
В свитке Create Points (Создать точки), показанном на рис. 8.65, вы найдете следующие инструменты:

Рис. 8.65. Свиток Create Points
Point (Точка) — позволяет добавлять к кривой или поверхности новые независимые точки, через которые потом можно построить новые кривые или поверхности;
Curve-Curve (Кривая-кривая) — позволяет создавать зависимые точки в местах пересечения кривых;
Surf-Curve (Кривая-поверхность) — позволяет создавать зависимые точки, являющиеся точками пересечения поверхности и кривой.
В свитке Create Curves (Создать кривые), показанном на рис. 8.66, имеются, в частности, следующие инструменты:

Рис. 8.66. Свиток Create Curves включает инструменты для создания различных NURBS-кривых
CV Curve (CV-кривая) — позволяет создать независимую CV-кривую;
Point Curve (Точечная кривая) — позволяет создать независимую точечную кривую;
Blend (Переходная) — позволяет создать зависимую кривую, соединяющую конец одной выделенной кривой с началом другой;
Offset (Смещенная) — позволяет создать зависимую кривую, представляющую собой линию обводки контура исходной кривой;
Mirror (Зеркальная) — позволяет создать зависимую кривую, представляющую собой зеркальную копию исходной кривой.
В свитке Create Surfaces (Создать поверхности), показанном на рис. 8.67, содержатся среди прочих следующие инструменты:

Рис. 8.67. Свиток Create Surfaces содержит инструменты для построения NURBS-поверхностей
CV/Point Surf (CV/Точечная поверхность) — позволяет создавать независимые CV- и точечные поверхности;
Blend (Переходная) — позволяет создать зависимую поверхность, соединяющую край одной выделенной поверхности с другой;
Offset (Смещенная) — позволяет создать зависимую поверхность, повторяющую форму исходной поверхности и смещенную относительно нее на заданное расстояние;
Mirror (Зеркальная) — позволяет создать зависимую поверхность, представляющую собой зеркальную копию исходной поверхности;
Extrude (Выдавленная) — позволяет создать зависимую поверхность методом выдавливания контура, заданного NURBS-кривой;
Lathe (Тело вращения) — позволяет создать зависимую поверхность методом вращения контура, заданного NURBS-кривой;
U Loft/UV Loft (Тело U-лофтинга/UV-лофтинга) — позволяет создать зависимую поверхность методом интерполяции огибающей множества сечений, заданных кривыми вдоль локальной оси U (этот инструмент вам уже приходилось использовать) или вдоль осей U и V.
В свитке Curve Common (Кривая в целом), показанном на рис. 8.68, имеются следующие инструменты:

Рис. 8.68. Свиток Curve Common содержит инструменты для модификации NURBS-кривых
Delete (Удалить) — удаляет выделенную кривую;
Break (Разбить) — разбивает выделенную кривую в указанной точке на две отдельные кривые;
Detach (Отделить) -- позволяет отделить выделенную кривую, превратив ее в самостоятельный объект;
Join (Прикрепить) — позволяет соединить концевую вершину одной кривой с концевой вершиной другой кривой.
В свитке Surface Common (Поверхность в целом), показанном на рис. 8.69, содержатся следующие инструменты:

Рис. 8.69. Свиток Surface Common содержит инструменты для модификации NURBS-поверхностей
Break Row (Разбить строку), Break Col (Разбить столбец), Break Both (Разбить строку и столбец) — позволяют разбить выделенную поверхность на две части «по строке» (по оси U), «по столбцу» (по оси V) или на четыре части «по строке» и «по столбцу» в указанной точке;
Extend (Растянуть) — позволяет растянуть поверхность за счет изменения ее размеров.
В свитке Material Properties (Свойства материала), показанном на рис. 8.70, вы найдете следующие инструменты:

Рис. 8.70. В свитке Material Properties размещаются инструменты для настройки идентификаторов материала NURBS-поверхностей
Material ID (Идентификатор материала) — позволяет контролировать и изменять идентификаторы материала выделенных частей поверхности для применения многокомпонентных материалов;
Select By ID (Выделить по идентификатору) — обеспечивает выделение участков поверхности с одинаковыми идентификаторами материала;
Gen. Mapping Coords. (Проекционные координаты) — установка этого флажка обеспечивает генерацию проекционных координат для выделенной поверхности.
За подробными сведениями о всех инструментах редактирования NURBS-кривых и поверхностей на уровнях различных подобъектов и о методах работы с ними вам следует обратиться к электронной справочной системе max 7.5.
Возможности редактирования полисеток на уровнях подобъектов
Перечисленные выше инструменты доступны и при работе с полисетками. Однако, как уже говорилось, полисетки по сравнению со стандартными сетками имеют ряд дополнительных инструментов для редактирования подобъектов разного типа.
В частности, на уровне подобъектов-полигонов в свитке Edit Polygons (Правка полигонов), показанном на рис. 8.31, появляются следующие полезные инструменты:

Рис. 8.31. Свиток Edit Polygons с дополнительными инструментами правки полигонов редактируемых полисеток
Outline (Контур) — позволяет уменьшить или увеличить размер ребер, образующих внешнюю границу группы смежных выделенных полигонов. При этом размер всех полигонов, лежащих внутри этой границы, не меняется, что отличает данную операцию от простого масштабирования группы выделенных смежных полигонов. Эту операцию часто применяют после выдавливания полигонов;
Inset (Врезка) — создает внутри выделенного полигона уменьшенный дубликат цепочки ребер, образующих внешнюю границу полигона. В результате полигон как бы приобретает рамку вдоль краев;
Hinge From Edge (Качка на ребре) — позволяет повернуть выделенный полигон вокруг любого из его ребер, как будто он подвешен к ребру на петлях наподобие двери или створки окна. При этом между остальными ребрами поворачиваемого полигона и остальной неподвижной частью сетки формируются новые грани, чтобы целостность сетки не разрушалась;
Extrude Along Spline (Выдавить вдоль сплайна) — позволяет выдавить выделенный полигон или совокупность выделенных полигонов вдоль траектории, задаваемой сплайном. При этом можно дополнительно обеспечить уменьшение или увеличение масштаба полигона по мере выдавливания (рис. 8.32), а также закрутить выдавленный выступ винтом.

Рис. 8.32. Журнальный столик в стиле барокко, ножки которого выдавлены из полигонов столешницы вдоль двух зеркальных сплайнов, показанных белым цветом (слева), вполне мог бы вписаться в интерьер нашего кафе «МАХ» (справа)
Свиток Subdivision Surface (Разбиение поверхности), как уже указывалось, содержит инструменты сглаживания угловатой конструкции полисетки, получающейся после редактирования на уровне подобъектов. Для сглаживания полисетки нужно установить флажок Use NURMS Subdivision (Разбиение типа NURMS) и задать число итераций разбиения в счетчике Iterations (Итераций). Чем больше число итераций сглаживания, тем более гладкой становится сетка, но тем сложнее для компьютера становится задача прорисовки объекта и его визуализации. Как правило, бывает достаточно указать в этом счетчике число 2.
| ЗАМЕЧАНИЕ Подробнее о сглаживании сеток мы поговорим в главе 9, «Осваиваем секреты моделирования». |
Возможности редактирования сеток кусков Безье на уровнях подобъектов
Перечислим некоторые полезные инструменты из свитка Geometry (Геометрия), позволяющие редактировать сетки кусков Безье:
Subdivide (Подразделить) — увеличивает детальность поверхности, состоящей из кусков Безье;
Add Tri (Добавить треугольный) — позволяет добавить треугольный кусок Безье, a Add Quad (Добавить четырехугольный) — добавить четырехугольный кусок к выделенному ребру текущего куска;
Detach (Отделить) — превращает выделенную часть поверхности (один или несколько кусков Безье) в отдельный объект, которому можно назначить свое имя;
Attach (Присоединить) — позволяет присоединить к выделенной сетке кусков Безье любой другой объект mах 7.5, который при этом преобразуется в редактируемую сетку кусков Безье;
Delete (Удалить) — удаляет выделенную часть объекта, составленного из кусков поверхности Безье;
Selected (Выделенные), Target (С указанной) — две кнопки из раздела Weld (Слить), позволяют выполнять слияние вершин двух различных кусков Безье. Перед щелчком на кнопке Selected (Выделенные) требуется выделить пару вершим. После щелчка на кнопке Target (С указанной) требуется щелкнуть на одной вершине, перетащить курсор к другой и отпустить кнопку мыши;
Extrude (Выдавить) — позволяет выдавить выделенные куски Безье, Bevel (Скос) — выдавить и обеспечить скос боковых граней за счет изменения масштаба куска.
За подробными сведениями о всех инструментах редактирования подобъектов сеток кусков Безье и методах работы с ними вам следует обратиться к электронной справочной системе mах 7.5. Некоторые из перечисленных инструментов будут опробованы нами на практике при выполнении упражнений главы 9, «Осваиваем секреты моделирования».
Возможности редактирования сплайнов на уровнях подобъектов
К сожалению, в связи с ограниченным объемом материала нашей книги мы не можем рассмотреть все возможные операции редактирования сплайнов на уровне подобъектов и методы их практического осуществления. За такими подробностями вам придется обратиться к справочной системе max 7.5.
Вместо этого мы вкратце перечислим некоторые инструменты, находящиеся в свитке Geometry (Геометрия), и назовем операции, которые можно выполнять с их помощью при редактировании сплайнов на уровнях подобъектов. При выполнении практических упражнений этой, а также следующей глав вам будет предоставлена возможность испытать в деле некоторые из следующих инструментов:
Create Line (Создать линию) — позволяет создавать новые линии, которые будут добавляться к текущей онлайновой форме;
Break (Разбить) — позволяет разбить любую, кроме концевых, вершину сплайна на две совпадающие, но не соединяющиеся вершины, тем самым разомкнув замкнутый сплайн или разбив разомкнутый сплайн на два новых;
Attach (Присоединить) — позволяет присоединить к выделенной сплайновой форме один из существующих сплайнов, a Attach Multiple (Присоединить несколько) — несколько готовых сплайнов. Такое присоединение необходимо, например, чтобы иметь возможность применить к нескольким сплайнам одну из булевских операций или модификаторы выдавливания либо вращения;
Insert (Вставить) — позволяет вставить вершину в некоторой точке сплайна, переместить ее в новое положение и продолжить добавление новых вершин и сегментов сплайна;
Refine (Уточнить) — позволяет вставить дополнительную вершину в произвольной точке сплайна без изменения его формы. Это часто бывает нужно при создании сплайновых каркасов, о которых пойдет речь в главе 9;
Connect (Соединить) — позволяет соединить две вершины на концах разомкнутого сплайна прямой линией;
Weld (Слить) — позволяет слить две концевые вершины или несколько расположенных близко друг от друга вершин сплайна в одну. Этот инструмент часто используется для удаления излишней сегментации сетки после ее редактирования на уровне подобъектов-вершин;
Outline (Контур) — позволяет построить замкнутый сплайн, представляющий собой линию обводки внешнего контура выделенного сплайна;
Boolean (Булевские операции) — позволяет выполнить над двумя замкнутыми сплайнами, являющимися составными частями одной и той же двумерной формы, одну из трех логических операций: Intersection (Пересечение), Union (Объединение) пли Subtraction (Исключение);
Mirror (Отразить) — позволяет выполнить операцию зеркального отражения выделенного сплайна или его дубликата;
Delete (Удалить) — позволяет удалить одну или несколько выделенных вершин и объединяет сегменты, на стыке которых они располагались, в один сегмент. Эта операция также очень часто используется при создании сплайновых каркасов;
Close (Замкнуть) — позволяет замкнуть выделенный разомкнутый сплайн, состоящий из двух и более сегментов, соединяя его начальную и конечную вершины сегментом в виде прямой линии;
Detach (Отделить) — позволяет отделить сегмент сплайна, превратив его в самостоятельный объект.
Комбинирование методов редактирования сплайнов на уровне различных подобъектов позволяет взять простой сплайн, наподобие стандартного прямоугольника или круга, и преобразовать его практически в любую плоскую форму. Подобный метод рисования часто рекомендуется в руководствах по использованию пакетов векторной графики, подобных программе CorelDRAW.
Возможности редактирования стандартных сеток на уровнях подобъектов
Мы уже упомянули инструмент Cut (Разрезать), применяемый на уровне подобъекта Edge (Ребро) для разрезания существующих и создания новых ребер. Перечислим некоторые другие инструменты свитка Edit Geometry (Правка геометрии) и операции, которые с их помощью можно выполнять над сетками и полисетками на уровнях различных подобъектов. В ходе выполнения упражнений этой и следующей глав нам будет предоставлена возможность использовать на практике некоторые из следующих инструментов:
Create (Создать) — на уровне вершин позволяет создавать изолированные, то есть не принадлежащие никаким граням, вершины на текущей координатной плоскости, а на уровне граней, полигонов и элементов позволяет создавать новые грани, прикрепляемые к имеющимся или вновь создаваемым вершинам;
Delete (Удалить) — удаляет выделенную вершину или группу вершин, выделенное ребро или группу ребер с удалением всех граней, которым они принадлежали. На уровне граней, полигонов или элементов удаляет все выделенные Подобъекты;
Attach (Присоединить) — позволяет присоединить к текущей сетке любой объект сцены, a Attach Multiple (Присоединить несколько) — несколько новых объектов любого тина, которые при этом преобразуются к типу Editable Mesh (Редактируемая сетка) или Editable Poly (Редактируемая полисетка);
Detach (Отделить) — позволяет отделить выделенную вершину или группу вершин вместе с гранями, которым принадлежат эти вершины, превратив набор граней в отдельный объект. На уровне граней, полигонов или элементов отделяет все выделенные Подобъекты, также превращая их в отдельные объекты;
Break (Разбить) — разбивает каждую выделенную вершину на новые совпадающие в пространстве вершины по числу граней, которым принадлежала выделенная вершина, позволяя тем самым свободно перемещать углы граней;
Divide (Разделить) — разбивает выделенное ребро на два отдельных ребра;
Bridge (Мост) — соединяет полигоны, находящиеся на расстоянии друг от друга, выстраивая, таким образом, своеобразный «мостик» между ними;
Extrude (Выдавить) — позволяет выдавить выделенные грани или ребра сетки, a Bevel (Скос) — выдавить и обеспечить скос боковых граней за счет изменения масштаба выдавливаемой грани;
Weld (Слить) — группа инструментов, позволяющих выполнить слияние вершин сетки двумя способами: Selected (Выделенные) — обеспечивает слияние выделенных вершин, удаленных друг от друга на расстояние, меньшее заданного в счетчике справа от кнопки; Target (С выбранной) — позволяет слить две любые вершины;
Tessellate (Разбить) — позволяет разбить выделенные грани на более мелкие части;
Remove Isolated Vertices (Удалить изолированные вершины) -- удаляет все изолированные вершины в составе объекта вне зависимости от текущего выделения;
Create Shape from Edges (Создать форму из ребер) — создает кривую, повторяющую форму совокупности выделенных ребер;
View Align (Выровнять по окну) — позволяет выровнять нормали выделенных вершин или граней перпендикулярно плоскости активного окна проекции;
Make Planar (Привести к плоскости) — превращает поверхность, состоящую из выделенных вершин, граней или ребер, в плоскость;
Collapse (Свернуть) — сворачивает выделенные грани, сливая все их вершины в одну центральную вершину.
Свиток Surface Properties (Свойства поверхности) на уровне работы с гранями или полигонами также содержит ряд полезных инструментов. Например, в группе Normals (Нормали) расположены следующие инструменты:
Flip (Перевернуть) — изменяет направление нормалей выделенных граней на противоположное;
Unify (Выровнять) — заставляет нормали выделенного набора граней указывать в одном и том же направлении, как правило, от центра объекта наружу.
|
СОВЕТ Чтобы сделать видимыми нормали граней, отображаемые в виде исходящих из центра граней отрезков голубого цвета, выделите нужные грани и установите флажок Show Normals (Показать нормали) в свитке Selection (Выделение). |
Set ID (Установить идентификатор) — задает идентификатор материала для выделенного набора граней, о чем подробнее будет рассказано ниже при выполнении упражнения 10;
Select ID (Выделить по идентификатору) — позволяет выделять наборы граней объекта, имеющие определенный идентификатор материала.
За подробными сведениями о всех инструментах редактирования подобъектов стандартных сеток и методах работы с ними вам следует обратиться к электронной справочной системе max 7.5.
Вспомогательные объекты
С помощью вспомогательных объектов модуля reactor (Реактор) в составе сцены создаются коллекции, позволяющие отнести объекты геометрической модели трехмерной сцены к типу жестких или деформируемых тел (см. раздел «Понятие коллекций модуля reactor»), а также ограничители, предназначенные для ограничения движений и поворотов жестких тел. Прочие вспомогательные объекты служат для имитации сил и решения специфических задач наподобие разрушения тел при столкновении или моделирования автомобиля с крутящимися колесами.
Для доступа к инструментам создания двадцати вспомогательных объектов модуля reactor можно щелкнуть на кнопке Helpers (Вспомогательные объекты) командной панели Create (Создать) и выбрать в появившемся списке строку reactor (Реактор). После этого становится доступным свиток Object Type (Тип объекта) (рис. 17.1). Помимо данного свитка для создания этих объектов можно использовать команды подменю Create Object (Создать объект) меню reactor (Реактор) и кнопки панели инструментов reactor (Реактор).

Рис. 17.1. Свиток Object Type командной панели Create с инструментами для создания вспомогательных объектов модуля reactor
Если заранее выделить объекты геометрической модели сцены, которые должны быть поставлены в соответствие вспомогательному объекту модуля reactor (Реактор), то значок вспомогательного объекта создается автоматически сразу же после выбора нужной команды подменю Create Object (Создать объект) меню reactor (Реактор) или после щелчка на нужной кнопке панели инструментов reactor (Реактор).
Если в составе геометрической модели сцены нет выделенных объектов, то для создания вспомогательного объекта модуля reactor (Реактор) после выбора нужной команды или кнопки требуется просто щелкнуть кнопкой мыши в нужной точке любого из окон проекций.
Значки всех вспомогательных объектов модуля reactor (Реактор) в окнах проекций max 7.5 выглядят как символическое изображение с соответствующей кнопки панели инструментов reactor (Реактор), заключенное в круглую рамку. Такие значки не являются визуализируемыми объектами и не включаются в изображение трехмерной сцены, формируемое в ходе визуализации.
Встроенное освещение
В главе 3 вы уже узнали о том, что пока не создан хотя бы один осветитель, max 7.5 освещает сцену в окнах проекций невидимыми встроенными источниками света, которых может быть один, как принято по умолчанию, или два. Порядок включения одного или двух встроенных источников света в окнах проекций описан в разделе «Выбор освещения, используемого по умолчанию» главы 3. Одиночный встроенный источник освещает сцену как бы из-за спины наблюдателя. При таком освещении некоторые поверхности сцены выглядят слишком контрастно и не очень естественно, как видно на рис. 11.2, слева. Однако считается, что при этом обеспечивается более высокая скорость перерисовки окна проекции.

Рис. 11.2. Освещение сцены одним встроенным источником (слева) выглядит менее естественно, чем двумя (справа)
При использовании двух встроенных источников лучи одного из них падают на объекты спереди из левого верхнего угла сцены, а другого — сзади из правого нижнего угла. Такое освещение выглядит мягче и естественнее, как показано на рис. 11.2, справа. Считается, что ценой этого является более длительная перерисовка изображения в тонированных режимах просмотра. Должен, однако, сказать, что ощутить это замедление при реальном быстродействии современных компьютеров практически не удается.
Встроенные источники не способны формировать тени от объектов, поэтому создаваемое ими освещение никогда не будет выглядеть полностью достоверно. Их основное назначение — обеспечивать хоть какую-то видимость предметов в абсолютно темном трехмерном виртуальном мире на этапе формирования геометрии сцены. Итоговая визуализация, претендующая на достоверность воспроизведения реальности, всегда нуждается в создании, по крайней мере, двух-трех осветителей.
Как только создается новый осветитель, встроенное освещение отключается. При удалении всех осветителей восстанавливается освещение сцены встроенными источниками света. Можно заставить max 7.5 использовать принятые по умолчанию источники света даже при наличии в сцене осветителей, чтобы, например, «почувствовать разницу» в исходном и привнесенном освещении. Это делается следующим образом:
1. Выберите команду главного меню Customize > Viewport Configuration (Настройка > Конфигурация окон проекций) или щелкните на имени любого окна проекции правой кнопкой мыши и выберите в меню окна команду Configure (Конфигурировать). В появившемся окне диалога выберите вкладку Rendering Method (Метод визуализации).
2. Установите флажок Default Lighting (Исходное освещение), и max 7.5 будет использовать встроенные источники даже после того, как вы создадите собственные осветители.
3. Чтобы указать, на какие окна проекций должен распространяться выбранный режим освещения, установите переключатель Apply To (Применять к) в одно из трех положений: Active Viewport Only (Только активное окно), All Viewports (Все окна проекций) или All but Active (Все, кроме активного). Завершив настройку, щелкните на кнопке ОК.
Впрочем, исходное освещение сцены не ограничивается только двумя встроенными источниками света. Не забывайте о том, что кроме них существует подсветка, к рассмотрению которой мы и переходим.
Уважаемый читатель! Спасибо за то,
Уважаемый читатель! Спасибо за то, что вы выбрали эту книгу — пособие по эффективной работе с последней версией всемирно известной программы трехмерной графики и анимации, которая родилась на свет как 3D Studio, затем носила имя 3D Studio MAX, а теперь называется 3ds max.
Для работы с книгой вам понадобится 3ds max версии 7.5. Чтобы такая программа появилась на вашем компьютере, необходимо сначала установить себе программу 3ds max 7, затем пакет обновлений (service pack) для нее — 3ds max 7 SP1. После этого требуется установить еще один пакет обновлений — 3ds max 7.5 Update. Он добавляет в состав программы 3ds max 7 новые модули, такие как Hair and Fur (Волосы и мех) для имитации волос, меха, травы и иных подобных объектов, обновленный высококачественный модуль визуализации mental ray версии 3.4, а также некоторые новые инструменты, заимствованные из программы Autodesk VIZ и предназначенные для решения задач архитектурной и ландшафтной визуализации с помощью программы 3ds max. Наконец, необходимо установить расширение программы, именуемое Cloth Extension for 3ds max 7 и добавляющее в состав программы 3ds max новый встроенный модуль Cloth (Ткань), предназначенный для реалистичной анимации тканей. Кстати, после установки всех этих обновлений в строке заголовка окна программы все равно остается надпись 3ds max 7, так что не удивляйтесь.
Книга рассчитана не только на начинающих пользователей, однако написана она таким образом, что приступить к ее изучению и освоению программы 3ds max 7.5 может каждый, кто знаком с порядком запуска и исполнения программ в операционной системе Windows 2000 или Windows XP.
Данная книга представляет собой результат основательной переработки и существенного дополнения пособия по эффективной работе с 3ds max 5. Отзывы, полученные автором и издательством, говорят о том, что это пособие нашло своего читателя и многим помогло сделать первые шаги в освоении непростой, но столь увлекательной области трехмерной компьютерной графики. Одновременно эти отзывы помогли внести пояснения во фрагменты текста, оказавшиеся сложными для восприятия, а также исправить некоторые неточности. На базе материалов, составивших основу книги, был поставлен и уже ряд лет читается курс трехмерной графики и анимации на факультете информационных технологий и ме-диадизайна Санкт-Петербургского университета культуры и искусств. Опыт общения со студентами, получающими образование по специальности «Инфор-матик-медиадизайнер» и в большинстве своем начинающими изучение 3ds max «с нуля», помог убедиться в правильности выбранной последовательности изложения, полноте и достаточности освещаемого материала, а также дал возможность скорректировать и дополнить практические упражнения.
В работе над книгой нашим девизом будет не столько «подробно обо всем», сколько «от начала до конца своими руками». Освоив книгу, вы, может быть, и не станете сразу же профессионалом трехмерной графики, однако научитесь создавать отнюдь не примитивные трехмерные сцены, применять к ним материалы, выполнять визуализацию и анимацию. Кроме того, будем надеяться, что приобретенные знания и навыки составят надежный фундамент для дальнейшего самостоятельного совершенствования вашего мастерства.
В книге достаточно подробно рассматриваются новинки 3ds max 7.5, касающиеся интегрированных модулей для создания одежды, шерсти и волос, новых инструментов для работы с полисетками, встроенного визуализатора mental ray 3.4. В связи с этим надеемся, что данная книга заинтересует не только начинающих пользователей, но и тех, кто уже имеет опыт работы с предыдущими версиями программы 3ds max.
Выбираем единицы измерения
Единицы измерения — основа правильного определения расстояний и размеров в max 7.5. Выбор единиц измерения определяет цену деления измерительной шкалы. По умолчанию принимается, что одна единица системной шкалы равна одному дюйму. Это значит, что числа, появляющиеся в полях отсчета координат строки состояния при перемещении курсора в окнах проекций, а также величины параметров в счетчиках размеров будут указывать значения координат и размеров в дюймах. Мы привыкли работать с метрической системой единиц, поэтому давайте настроим max 7.5 на использование привычных единиц измерения.
Выбор алгоритма визуализации
Выбор текущего алгоритма визуализации производится в свитке Assign Renderer (Назначить визуализатор), показанном на рис. 15.13.

Рис. 15.13. Свиток Assign Renderer окна диалога Render Scene
Свиток Assign Renderer (Назначить визуализатор) служит для выбора одного из доступных модулей визуализации, который будет использоваться в итоговом режиме визуализации (Production), в режиме активной раскраски (Active Shade), а также в Редакторе материалов (Material Editor). Наименование текущего визуализатора отображается в текстовом поле соответствующей строки свитка. По умолчанию во всех трех режимах используется алгоритм Default Scanline Renderer (Исходный сканирующий визуализатор). Для смены визуализатора щелкните на кнопке со значком в виде многоточия справа от наименования текущего модуля визуализации. Выберите нужный модуль визуализации в списке появившегося окна Choose Renderer (Выбор визуализатора).
Если вы не производили установку каких-то дополнительных модулей, то помимо сканирующего визуализатора, применяющегося по умолчанию, этот свиток позволяет выбрать еще два модуля визуализации — VUE File Renderer (Визуализатор в файл VUE) и mental ray renderer (Визуализатор mental ray). Первый модуль создает вовсе не картинку, а текстовый файл с перечнем визуализируемых объектов сцены, осветителей и камер. Такой файл может использоваться для управления внешними модулями визуализации. Кстати, этот визуализатор не может применяться в режиме ActiveShade (Активная раскраска). Визуализатор mental ray будет рассмотрен ниже в этой главе.
Выбор фильтров оптических эффектов
Процесс выбора и настройки фильтров графических эффектов очень похож на аналогичную процедуру выбора и настройки эффектов внешней среды. Для выбора фильтров оптических эффектов, которые требуется смоделировать, выполните следующие действия:
1. Выполните команду Rendering > Effects (Визуализация > Эффекты) основного меню. Появится окно диалога Environment and Effects (Внешняя среда и эффекты), показанное на рис. 15.53 и раскрытое на вкладке Effects (Эффекты). Эта вкладка содержит единственный свиток с таким же названием. Как вы можете видеть, верхняя часть этого свитка совершенно не отличается от рассмотренного выше свитка Atmosphere (Атмосфера) вкладки Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты). Кнопки, расположенные справа от списка Effects (Эффекты), и текстовое поле Name (Имя) под ним имеют то же самое назначение и используются таким же образом, как аналогичные элементы свитка Atmosphere (Атмосфера).

Рис. 15.53. Свиток Effects содержит средства для выбора фильтров оптических эффектов и подобен свитку Atmosphere
2. Выбор оптических эффектов, которые требуется смоделировать, выполняется точно таким же образом, как и выбор эффектов внешней среды, и начинается со щелчка на кнопке Add (Добавить). Появится окно диалога Add Effect (Добавление эффекта), содержащее список фильтров для имитации оптических эффектов, установленных в max 7.5. По умолчанию таких фильтров девять: Lens Effects (Линзовые эффекты), Blur (Смаз), Brightness and Contrast (Яркость и контраст), Color Balance (Цветовой баланс), Depth of Field (Глубина резкости), File Output (Вывод в файл), Film Grain (Зернистость пленки), Motion Blur (Смаз от движения) и Hair and Fur (Волосы и мех). Выделите строку нужного фильтра и щелкните на кнопке ОК. Имя выбранного фильтра будет включено в список Effects (Эффекты), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появятся свитки параметров выбранного фильтра.
Параметры раздела Preview (Просмотр) служат для управления предварительным просмотром оптических эффектов, реализуемых с помощью фильтров. При установке переключателя Effects (Эффекты) в положение All (Все) будут визуализироваться для предварительного просмотра все эффекты, включенные в список, а при выборе позиции Current (Текущий) будет подготовлен для просмотра только эффект текущего выделенного фильтра. Чтобы увидеть, как будет выглядеть сцена без применения фильтров, щелкните на кнопке Show Original (Показать оригинал). Изображение сцены будет синтезировано и показано в обычном окне виртуального буфера кадров. Для просмотра результата действия фильтров щелкните на той же кнопке, название которой изменится на Show Effects (Показать эффекты).
Выбор и настройка параметров текстуры фона сцены
Проецирование карт текстур на воображаемый задник сцены позволяет использовать различные изображения для реалистичной имитации внешней среды, в которой размещаются объекты. Например, проецируя отсканированную фотографию на задник сцены, можно визуализировать трехмерные объекты на фоне городского пейзажа, лесной опушки или создать анимацию на фоне реального неба.
Выбор имени и цвета объекта
Что ж, примите поздравления! Вы только что создали свой первый трехмерный объект. Каждому «новорожденному» объекту max 7.5 дает имя. Имя, чтобы не мудрствовать лукаво, составляется программой из названия типа объекта и порядкового номера объекта данного типа в сцене (например, как в данном случае, Sphere01 - Сфера01) и указывается в свитке Name and Color (Имя и цвет) командной панели Create (Создать). Имя объекта можно изменить в любой момент. Для смены имени поместите курсор в текстовое поле свитка Name and Color (Имя и цвет), щелкните кнопкой мыши и введите новое имя.
Настоятельно рекомендую изменять маловыразительные системные имена на более конкретные, чтобы можно было быстро отыскать нужный объект в списке всех объектов сложной сцены. К примеру, если создается модель комнаты, имеющей четыре стены, пол и потолок, в качестве которых создаются объекты типа Box (Параллелепипед), то все они приобретают при создании имена Вох01, Вох02 и т. д., до Вох06. Попробуй, разберись! Чтобы иметь возможность определять, что есть что, измените эти имена на Pol, Potolok, LevStena и т. д.
| ЗАМЕЧАНИЕ Можно применять для именования объектов и буквы кириллицы, но здесь есть два «но». Первое состоит в том, что max 7.5 не в полной мере поддерживает кириллические имена объектов. То есть они будут нормально читаться в свитке Name and Color (Имя и цвет) или в списке окна выделения объектов по имени. Но, скажем, в поле всплывающей подсказки, появляющейся в окнах проекций, когда курсор указывает на тот или иной объект трехмерной сцены, кириллические имена не читаются. Второе «но» заключается в том, что, как я уже говорил во введении, не у всех пользователей установлена на компьютере русифицированная операционная система. Так что лучше применять для объектов имена, звучащие по-русски, но набранные латиницей. |
Продумайте определенную систему именования, которая позволяла бы легко выделять объекты по их именам. О том, как это делать, вы узнаете в следующей главе. Например, можно применять префиксы, то есть одинаковые приставки к именам всех объектов, относящихся к определенной совокупности. Скажем, если в сцене есть два дома, то элементы конструкции первого можно назвать Dom1_ Pol, Dom1_Potolok, Dom1_LevStena и т. п., а второго - Dom2_Pol, Dom2_Potolok, Dom2_LevStena и т. п. При таком подходе имена всех объектов, относящихся к одному дому, в списке окажутся расположенными подряд. Имена основных объектов можно начинать с заглавной буквы, а вспомогательных - со строчной и т. д. Все это облегчит задачу сортировки имен объектов с целью их выделения, с приемами которого вы познакомитесь в следующей главе. Кстати, max 7.5 допускает, чтобы объекты имели одинаковые имена, и никак не сигнализирует, если вы назначаете какому-то объекту уже использованное имя. Так что наведение порядка в именах многочисленного семейства объектов целиком ложится на вас, уважаемые любители ЗD-графики.
Помимо имени каждый новый объект приобретает цвет, позволяющий на глаз отличить его от других объектов в окнах проекций. Этим цветом раскрашивается как тонированная оболочка, так и каркас объекта. Если объекту не присвоен материал, то этот же цвет используется для раскраски объекта при визуализации изображения сцены. Цвет нового объекта выбирается программой max 7.5 случайным образом из палитры допустимых цветов, но можно изменить его и вручную. Для смены цвета созданного объекта щелкните на поле образца цвета в свитке Name and Color (Имя и цвет). Появится окно диалога Object Color (Цвет объекта), показанное на рис. 3.3.

Рис. 3.3. Окно диалога Object Color
Ячейка текущего цвета выделяется в окне черной рамкой. Чтобы выбрать новый цвет из готовой палитры, просто щелкните на одной из ячеек.
Выбор качества отображения прозрачности
Мах 7.5 позволяет делать выбор качества отображения полупрозрачных объектов в окнах проекций. Необходимость в этой настройке может возникать после применения к объектам материалов, обладающих свойством прозрачности. Отображение прозрачности с высоким качеством требует, соответственно, большего времени на перерисовку экрана.
| ЗАМЕЧАНИЕ Качество отображения прозрачности в окнах проекций max 7.5 никоим образом не влияет на то, как будут выглядеть полупрозрачные объекты после визуализации, то есть на сформированном программой итоговом изображении сцены. |
Для управления качеством отображения прозрачности вызовите уже знакомое вам окно диалога Viewport Configuration (Конфигурация окон проекций) и раскройте вкладку Rendering Method (Метод визуализации). Установите переключатель Transparency (Прозрачность) в одно из трех положений:
None (Нет) — прозрачность в окнах проекций не будет отображаться;
Simple (Упрощенно) — прозрачность в окнах проекций будет отображаться упрощенно с использованием штриховки различной плотности;
Best (Улучшенно) — обеспечивает наилучшее возможное качество отображения прозрачности в окнах проекций (рис. 3.17).

Рис. 3.17. Прозрачность материала в окнах проекций может не отображаться (слева), отображаться упрощенно (в центре) или с высоким качеством (справа)
Выбор канала проекционных координат
К одному и тому же объекту можно применить до 99 типов проекционных координат. Это может понадобиться, скажем, затем, чтобы спроецировать текстуру цвета диффузного отражения в одной системе координат, а текстуру рельефа — в другой. Установить номер канала проекционных координат можно с помощью счетчика Channel (Канал). При автоматической генерации проекционных координат в момент создания объекта они всегда помещаются в канал № 1. Для назначения объекту нового набора координат необходимо установить номер канала в счетчике Channel (Канал) и вновь применить модификатор UVW Map (UVW-проекция).
Рассмотрим теперь порядок применения карт текстуры для имитации свойств материала.
Выбор категории выделяемых объектов
Mах 7.5 позволяет задавать категорию объектов, на которые будет распространяться действие команд и инструментов выделения. При этом исключается возможность случайного выделения объектов других категорий. Это особенно удобно, скажем, при необходимости выделения мишеней камер или источников света, изображаемых значками небольшого размера на фоне других объектоп сцены.
Для выбора категории выделяемых объектов сцены выполните следующие действия:
1.

Раскройте список Selection Filter (Фильтр выделения) панели инструментов. По умолчанию в нем устанавливается вариант All (Все), обеспечивающий выбор объектов всех возможных категорий.
2. Выберите одну из категорий объектов — Geometry (Геометрия), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты) или Warps (Объемные деформации). Если выбрать, например, категорию Lights (Источники света), то курсор инструмента Select Object (Выделить объект) будет принимать форму крестика только над объектами-источниками света, обеспечивая возможность выделения только данной категории объектов. При использовании рамки из всех охваченных ею объектов тоже будут выделены только источники света.
3. При работе над анимацией выберите один из идентификаторов классов объектов, перечисленных в нижней части списка Selection Filter (Фильтр выделения): Bone (Кость), IK Chain Object (Объект IK-цепочки) или Point (Точка), чтобы получить возможность производить выделение только объектов выбранного типа. Это бывает очень удобно, в частности, при необходимости выделить кости скелета, которые обычно находятся внутри сетчатой оболочки. Если выбран вариант Bone (Кость), то при щелчке на любой из костей сетка выделяться не будет.
4. Если выбрать в списке вариант Combos (Комбинации), появится окно диалога Filter Combinations (Комбинации фильтров), с помощью которого можно заготовить ряд комбинаций из различных категорий выделяемых объектов.
5. Создайте комбинацию объектов, установив нужные флажки категорий в разделе Create Combination (Создание комбинации). Щелкните на кнопке Add (Добавить), чтобы добавить созданную комбинацию в список Current Combinations (Текущие комбинации). Имя комбинации составляется из первых букв категорий объектов, например GSW — геометрические модели (Geometry), формы (Shapes) и объемные деформации (Warps). После щелчка на кнопке ОК созданные комбинации категорий выделяемых объектов будут помещены в нижнюю часть списка Selection Filter (Фильтр выделения) и могут выбираться наряду со «штатными» категориями объектов. Для удаления комбинации категорий выделите ее имя в списке Current Combinations (Текущие комбинации) и щелкните на кнопке Delete (Удалить).
6. Добавьте, при необходимости, новые идентификаторы классов выделяемых объектов в нижнюю часть списка Selection Filter (Фильтр выделения), выделив нужные идентификаторы в ноле All Class ID (Все идентификаторы классов) окна диалога Filter Combinations (Комбинации фильтров) и щелкнув на кнопке Add (Добавить). Для удаления тех или иных идентификаторов классов выделяемых объектов выберите их имена в списке Current Class ID Filter (Текущий фильтр идентификаторов классов) и щелкните на кнопке Delete (Удалить).
Выбор набора визуализируемых кадров
В разделе Time Output (Интервал вывода) производится выбор интервала времени или диапазона номеров кадров, которые предстоит визуализировать. По умолчанию визуализируется только единственный текущий кадр, что определяется установкой переключателя в положение Single (Текущий кадр). Можно произвести визуализацию всего временного сегмента анимации, продолжительность которого по умолчанию равна 100 кадрам, установив переключатель Active Time Segment (Активный временной сегмент). Если установить переключатель в положение Range (Диапазон), появится возможность произвести визуализацию серии последовательных кадров из диапазона, задаваемого с помощью двух счетчиков. Наконец, можно заставить max 7.5 визуализировать только отдельные кадры анимации с заданными номерами, установив переключатель в положение Frames (Кадры). При этом диапазоны кадров задаются в текстовом поле справа от переключателя начальным и последним номерами через тире, а отдельные диапазоны и номера кадров разделяются запятыми. Например, запись 1,3,5-12 запустит визуализацию кадров с номерами 1 и 3, а также диапазона кадров с 5-го по 12-й.
Выбор освещения, используемого по умолчанию
В окнах проекций max 7.5 объекты могут освещаться одним или двумя источниками света, которые действуют по умолчанию до тех пор, пока вы не разместите в сцене собственные осветители. Первоначально используется один источник света, лучи которого падают на сцену «из-за спины» наблюдателя. Такой вариант освещения обеспечивает более быструю перерисовку объектов в окнах проекций, хотя выглядит не вполне естественно. При использовании двух источников света один из них считается расположенным в левом верхнем углу сцены и освещает объекты спереди, со стороны зрителя, а второй — в правом нижнем углу сцены (он освещает объекты сзади, навстречу взгляду зрителя). Исходное освещение можно настраивать индивидуально для каждого окна проекции или применить ко всем окнам сразу. Для того чтобы включить во всех окнах проекций по два встроенных источника света, проделайте следующее:
Выберите команду главного меню Customize > Viewport Configuration (Настройка > Конфигурация окон проекций) или щелкните на имени любого окна проекции правой кнопкой мыши и выберите в меню окна команду Configure (Конфигурировать). В появившемся окне диалога выберите вкладку Rendering Method (Метод визуализации).
По умолчанию при перезагрузке max 7.5 для каждого окна проекции в разделе Rendering Options (Параметры визуализации) устанавливается переключатель 1 Light (1 источник), расположенный под флажком Default Lighting (Исходное освещение), что означает использование одного встроенного источника света для освещения сцены в окне проекции. Чтобы заставить max 7.5 использовать два встроенных источника света, установите переключатель в положение 2 Lights (2 источника).
Чтобы использовать встроенные осветители даже в том случае, когда в состав сцены введены виртуальные источники света программы max 7.5, достаточно установить сброшенный по умолчанию флажок Default Lighting (Исходное освещение).
По умолчанию режим освещения сцены двумя встроенными осветителями будет действовать только в текущем окне проекции, так как исходным положением переключателя Apply To (Применять к) в левом нижнем углу вкладки является Active Viewport Only (Только активное окно проекции). При необходимости настроить аналогичным образом освещение во всех окнах проекций поочередно проделайте описанные действия в каждом из окон. Устанавливать переключатель Apply To (Применять к) в положение All Viewports (Все окна проекций) не следует, так как при этом на все окна проекций распространится не только действие двух встроенных осветителей, но и всех прочих режимов отображения, выбранных на вкладке.
Более подробно об освещении сцены вы узнаете в главе 11, «Расставляем и настраиваем осветители и съемочные камеры».
Выбор параметров для принудительной установки ключей
Разумеется, параметров, допускающих анимацию, в max 7.5 гораздо больше, чем флажков в окне диалога Set Key Filters (Выбор фильтров ключей). При необходимости более детального выбора анимируемых параметров (или треков, как их принято называть в документации max 7.5) следует сделать это с помощью окна диалога

Track View — Curve Editor (Просмотр треков — Редактор кривых). Чтобы раскрыть это окно, нужно щелкнуть на кнопке Curve Editor (Open) (Редактор кривых (открыть)) главной панели инструментов max 7.5. Подробнее об инструментах появляющегося при этом окна диалога Track View — Curve Editor (Просмотр треков — Редактор кривых) вы узнаете позже, прочтя раздел «Знакомимся с окном диалога Track View» этой главы. Пока же следует просто щелкнуть на кнопке Show Keyable Icons (Показать значки ключей) панели инструментов окна. В результате этого в левой части окна Редактора кривых слева от наименований всех параметров, допускающих анимацию, появятся значки в виде ключиков красного цвета, как показано на рис. 16.37. Такими значками обозначаются все треки анимации, для которых будут устанавливаться ключи в режиме Set Key (Задать ключ).

Рис. 16.37. Значки в виде ключиков красного цвета указывают треки анимируемых параметров в левой части окна диалога Track View — Curve Editor

Чтобы отменить установку ключей для того или иного трека, щелкните на значке ключика слева от имени нужного параметра. Значок примет вид перечеркнутого ключика черного цвета, такого же, как на кнопке Show Keyable Icons (Показать значки ключей), как показано на рис. 16.38. Чтобы скрыть значки в виде ключиков, следует еще раз щелкнуть на упомянутой кнопке.

Рис. 16.38. Для трех треков Rotation и трека Scale выключен режим установки ключей вручную, на что указывают значки в виде перечеркнутых ключиков
Итак, вы приобрели определенные навыки создания анимаций. Однако до сих пор мы просматривали анимации только в окнах проекций. На самом деле цель создания анимации состоит в том, чтобы сохранить ее в виде файла, который можно просматривать уже независимо от программы max 7.5, стандартными средствами системы Windows. В виде таких файлов формата avi, часто называемых видеоклипами, можно сохранять как анимации, визуализированные с итоговым чистовым качеством, так и эскизы анимаций.
Выбор шага линий сетки
Раз уж мы перешли к метрическим единицам измерения, имеет смысл настроить соответствующим образом шаг линий координатной сетки. Дело в том, что по умолчанию шаг сетки равен 10 системным единицам, то есть 10 дюймам. После выбора в качестве единицы измерения, скажем, сантиметров шаг линий сетки окажется равным 25,4 см (1 дюйм - 2,54 см), что явно неудобно.
Измените шаг линий координатной сетки следующим образом:
Выберите команду Grid and Snap Settings (Настройка сетки и привязок) меню Customize (Настройка) и щелкните па корешке вкладки Home Grid (Исходная сетка) окна диалога Grid and Snap Settings (Настройка сетки и привязок), показанного на рис. 3.25.

Рис. 3.25. Вкладка Home Grid окна диалога Grid and Snap Settings служит для настройки исходной сетки координат
| СОВЕТ Для вызова окна диалога Grid and Snap Settings (Настройка сетки и привязок) достаточно щелкнуть правой кнопкой мыши на одной из кнопок активизации привязок, расположенных на главной панели инструментов max 7.5. |
Задайте нужную величину шага между вспомогательными линиями исходной координатной сетки в счетчике Grid Spacing (Шаг сетки). В зависимости от размера объектов, которые предстоит моделировать, удобно сделать шаг равным 10, 5, 2 или 1 текущей единице измерения.
В счетчике Major Lines every Nth Grid Line (Главные линии через N линий сетки) укажите, с какой периодичностью должны следовать главные линии сетки. При использовании метрической системы единиц этот параметр обычно устанавливают равным 5 или 10.
| ЗАМЕЧАНИЕ Величина шага сетки, отображаемая в поле Grid = строки состояния, зависит от масштаба изображения в окнах параллельной проекции. В тот момент, когда из-за изменения масштаба вспомогательные линии удаляются, а главные превращаются во вспомогательные, значение отсчета в поле Grid = меняется в число раз, равное параметру Major Lines every Nth Grid Line (Главные линии через N линий сетки). |
Задайте размер сетки для окон перспективной проекции в счетчике Perspective View Grid Extent (Протяженность сетки в перспективном окне). Число в этом счетчике означает половину размера сетки, выраженного в количестве расстояний между вспомогательными линиями, которое задается в упомянутом выше счетчике Grid Spacing (Шаг сетки). Фактически, параметр Perspective View Grid Extent (Протяженность сетки в перспективном окне) задает половину числа клеток сетки в окне перспективной проекции. Итак, если шаг сетки составляет 10 единиц, а протяженность сетки в окне перспективной проекции равна 7, то полный размер сетки в этом окне составит 7x10x2 - 140 единиц.
Следует отметить, что координатная сетка в окне перспективной проекции и в окнах параллельных проекций по-разному ведет себя при изменении масштаба изображения. Скажем, если уменьшать масштаб, то линии сетки в окнах параллельных проекций начинают сгущаться, и в определенный момент во избежание их слияния вспомогательные линии удаляются, а главные превращаются во вспомогательные. В предыдущих версиях программы координатная сетка в окне перспективной проекции тоже была адаптивной. Это значило, что при укрупнении масштаба в окне Perspective (Перспектива) ячейки сетки по достижении определенного размера автоматически разбивались на более мелкие, а при уменьшении масштаба заданное число соседних ячеек, которые становились слишком мелкими, заменялось на одну крупную. Теперь по умолчанию такого автоматического изменения числа ячеек сетки в окне перспективной проекции не происходит (рис. 3.26) и ее масштаб меняется вместе с масштабом объектов трехмерной сцены.

Рис. 3.26. В окне Perspective программы max 7.5 масштаб сетки меняется вместе с масштабом объектов сцены: слева — вид сцены до изменения масштаба; справа — после
Разработчики max 7.5 посчитали, что такое поведение сетки должно помочь ощутить глубину пространства и истинный масштаб сцены, тем самым заставляя перспективную проекцию выглядеть «еще перспективнее». В итоге сетка в окне перспективной проекции теперь довольно быстро исчезает при изменении масштаба как в сторону уменьшения — в этом случае от нее остается только перекрестье координатных осей, так и в сторону увеличения, когда ячейки приобретают размер, превышающий размер окна.
|
СОВЕТ Чтобы вернуть сетке в окне перспективной проекции привычную по прежним версиям манеру поведения в процессе изменения масштаба, когда ячейки сетки автоматически дробятся на более мелкие или объединяются в более крупные, просто сбросьте флажок Inhibit Perspective View Grid Resize (Запретить изменение размера сетки в перспективном окне) в окне Grid and Snap Settings (Настройка сетки и привязок). |
Выбор текстуры фона
Для имитации фона сцены можно применять любые типы карт текстур, имеющиеся в max 7.5: Bitmap (Растровая карта), Gradient (Градиентная), Mask (Маска) и т. п. Выбор типа карты текстуры фона и настройку ее параметров можно произвести двумя способами.
Первый способ начинается с использования Редактора материалов.
1. Раскройте и расположите рядом без перекрытия окна диалога Environment and Effects (Внешняя среда и эффекты) с раскрытой вкладкой Environment (Внешняя среда) и Material Editor (Редактор материалов), активизируйте свободную ячейку образца материала и щелкните на кнопке Get Material (Получить материал). В появившемся окне диалога Materila/Map Browser (Просмотр материалов и карт текстур) дважды щелкните на наименовании нужного типа карты текстуры. В результате карта будет загружена в ячейку образца непосредственно, а не как составная часть какого-то материала. При этом она не будет нанесена на образцовый объект-сферу, а просто займет всю ячейку, как показано на рис. 15.33.

Рис. 15.33. Во вторую ячейку Редактора материалов карта текстуры загружена не в составе материала, а самостоятельно
2. Настройте характеристики выбранной текстуры. Настройка параметров карт текстуры внешней среды в Редакторе материалов производится совершенно так же, как и для любых других типов карт, о чем подробно рассказывалось в предыдущей главе. Завершив настройку, щелкните на ячейке образца с картой текстуры, перетащите ее из ячейки образца на вкладку Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты) и положите поверх кнопки Environment Map (Карта текстуры фона). Как только кнопка мыши будет отпущена, появится окно диалога Instance (Copy) Map (Образец (копия) карты), в котором следует оставить переключатель Method (Метод) в положении Instance (Образец) и щелкнуть на кнопке ОК. На кнопке Environment Map (Карта текстуры фона) появится надпись, указывающая номер использованной карты в текущей сцене Map #... (Карта №...) и в скобках — тип карты текстуры или имя файла, если использована текстура типа Bitmap (Растровая карта). Кроме того, автоматически устанавливается флажок Use Map (Использовать карту текстуры), включающий режим использования выбранной текстуры в качестве фона сцены.
Второй способ начинается с работы с окном диалога Environment and Effects (Внешняя среда и эффекты).
1. Раскройте и расположите рядом без перекрытия окна диалога Material Editor (Редактора материалов) и Environment and Effects (Внешняя среда и эффекты) с раскрытой вкладкой Environment (Внешняя среда). Щелкните на кнопке Environment Map (Карта текстуры фона) в разделе Background (Природный фон) окна диалога Environment and Effects (Внешняя среда и эффекты). Появится окно Materila/Map Browser (Просмотр материалов и карт текстур). Дважды щелкните на наименовании нужного типа карты, после чего наименование типа появится на кнопке Environment Map (Карта текстуры фона). Если будет выбрана карта типа Bitmap (Растровая карта), то одновременно появится окно диалога Select Bitmap Image File (Выбор файла растровой текстуры), позволяющее выбрать файл растровой текстуры.
2. Для настройки параметров текстурной карты загрузите выбранную карту в одну из ячеек образцов окна Редактора материалов. С этой целью снова щелкните на кнопке Environment Map (Карта текстуры фона) с надписью, указывающей на тип выбранной текстуры, и перетащите курсор в свободную ячейку образца Редактора материалов. Как только кнопка мыши будет отпущена, появится окно диалога Instance (Copy) Map (Образец (копия) карты), в котором следует установить переключатель Method (Метод) в положение Instance (Образец).
При использовании любого из этих способов изменения, вносимые в карту текстуры в Редакторе материалов, будут автоматически перенесены на карту фона внешней среды.
Выбор типов имитируемых эффектов
Перед тем как приступить к практической отработке моделирования тумана, рассмотрим порядок действий по выбору типов природных явлений. Для выбора эффектов, которые требуется смоделировать, выполните следующие действия:
1. Щелкните на кнопке Add (Добавить) свитка Atmosphere (Атмосфера), располагающегося на вкладке Environment (Внешняя среда) окна диалога Environment and Effects (Внешняя среда и эффекты), показанного ранее на рис. 15.31. Появится окно диалога Add Atmospheric Effect (Добавление атмосферного эффекта), в котором перечислены все типы атмосферных явлений, реализуемых установленными на данный момент программными модулями. Как вам уже известно, входящие в комплект поставки max 7.5 модули позволяют имитировать четыре типа атмосферных явлений: горение (Fire Effect), однородный туман или дымку (Fog), объемный туман (Volume Fog) и объемное освещение (Volume Light).
2. Выделите строку атмосферного явления нужного типа и щелкните на кнопке ОК. Наименование выбранного эффекта появится в списке Effects (Эффекты) свитка Atmosphere (Атмосфера), а в нижней части окна диалога Environment and Effects (Внешняя среда и эффекты) появятся свитки параметров эффекта, частично описываемые ниже в следующих разделах главы. Аналогичным образом добавьте в список Effects (Эффекты) другие типы атмосферных явлений. Все включенные в список эффекты будут воспроизведены на этапе визуализации сцены в порядке очередности, сверху вниз по списку.
3. Для управления составом атмосферных эффектов в списке Effects (Эффекты) используйте следующие элементы управления:
Delete (Удалить) — удаляет выделенный атмосферный эффект из списка;
Active (Активен) — флажок, позволяющий включить/выключить действие каждого отдельного эффекта из списка. Если флажок для выделенного эффекта сброшен, этот эффект не будет визуализироваться на изображении сцены;
Move Up/Down (Переместить вверх/вниз) — перемещает строку выделенного эффекта вверх/вниз по списку, изменяя порядок визуализации эффектов;
Merge (Присоединить) — позволяет присоединить к текущей сцене атмосферные эффекты из других сцен max 7.5, вызывая окно диалога Merge Atmospheric Effects (Присоединение атмосферных эффектов);
Name (Имя) — текстовое поле, позволяющее переименовать любой эффект в списке.
|
ЗАМЕЧАНИЕ Для наблюдения атмосферного эффекта любого типа сцена непременно должна визуализироваться в окне центральной проекции Perspective (Перспектива) или Camera (Камера). |
Выбор уровня качества показа объектов
До сих пор мы сталкивались только с тремя вариантами отображения объектов в окнах проекций: в виде каркасов, в виде граненой оболочки (вспомните главу 1) и в виде сглаженной тонированной оболочки. На самом деле в max 7.5 поддерживается 8 разных вариантов показа объектов, различающихся уровнем качества изображения. Чем ниже качество, тем меньше вычислительных затрат на прорисовку изображения и тем быстрее происходит отображение, а это важно при отладочном просмотре анимации в окнах проекций.
Вот эти варианты в порядке улучшения качества изображения:
Bounding Box (Габаритный контейнер) — объекты изображаются в виде описанных вокруг них параллелепипедов со сторонами, параллельными плоскостям глобальной системы координат (рис. 3.13, а);
Wireframe (Каркас) — объекты изображаются в виде «проволочных каркасов», образованных видимыми ребрами между соседними гранями, не лежащими в одной плоскости (рис. 3.13, б);
Lit Wireframes (Освещенные каркасы) — объекты изображаются в виде каркасов, тонированных в соответствии с направлением источников света (рис. 3.13, б);
Flat (Однородная поверхность) — объекты изображаются в виде нетонирован-ного диффузного цвета, который не зависит от расположения источников света в сцене (рис. 3.13, г);
Facets (Грани) — объекты изображаются в виде совокупности тонированных плоских граней (рис. 3.13, д);
Facets + Highlights (Грани + блики) — объекты изображаются в виде совокупности тонированных плоских граней с добавлением бликов (рис. 3.13, е);
Smooth (Сглаживание) - объекты изображаются в тонированном виде со сглаживанием переходов между плоскими гранями (рис. 3.13, ж);
Smooth + Highlights (Сглаживание + блики) — объекты изображаются в тонированном виде со сглаживанием переходов между плоскими гранями и с добавлением бликов (рис. 3.13, з).
В любом из режимов тонированной раскраски можно дополнительно показывать контуры граней каркаса (рис. 3.13, и). При выборе вариантов Smooth (Сглаживание) и Smooth + Highlights (Сглаживание + блики) в окнах проекций могут демонстрироваться текстуры материалов, назначенных объектам, как показано на рис. 3.13, к, если применительно к данным материалам в Редакторе материалов будет включен режим Show Map in Viewport (Показать текстуру в окне проекции). О том, как это сделать, вы узнаете из главы 13, «Осваиваем создание материалов и применение их к объектам».

Рис. 3.13. В окнах проекций можно устанавливать разные уровни качества отображения объектов: Габаритный контейнер (а); Каркас (б); Освещенные каркасы (в); Однородная поверхность (г), Грани (д); Грани + блики (е); Сглаживание (ж); Сглаживание + блики (з); контуры граней каркаса (и); текстуры (к)
В каждом окне проекции может устанавливаться свой уровень качества отображения объектов (только текстуры будут видны сразу во всех окнах с тонированным режимом отображения). Для выбора нужного варианта качества отображения используйте меню окна проекции, действуя следующим образом:
Раскройте меню окна проекции, щелкнув на имени окна правой кнопкой мыши.
Выберите в верхней части окна команду Smooth + Highlights (Сглаживание + блики) или Wireframe (Каркасы), чтобы включить соответствующие режимы просмотра. Для установки остальных пяти уровней качества выполните команду Other (Другие) и выберите нужную команду в подменю, показанном на рис. 3.14.

Рис. 3.14. Команды выбора режимов отображения находятся в меню окна проекции
|
СОВЕТ Для быстрого переключения между режимами каркасного и тонированного отображения объектов в активном окне проекции используйте «горячую» клавишу F3. |
|
СОВЕТ Для быстрого включения и выключения режима показа ребер каркаса вместе с тонированной оболочкой объектов в активном окне проекции используйте «горячую» клавишу F4. |
В верхней части вкладки 14
В верхней части вкладки 14 значков изображают разные варианты разбиения экрана max 7.5 на окна проекций, а в нижней части крупно изображается выбранная схема компоновки. Как видите, область окон проекций может быть разбита на четыре, три или два окна, а может и вовсе состоять из одного большого окна проекции. Чтобы выбрать любую из компоновочных схем, просто щелкните на соответствующем значке.
Схемы компоновки задают размер и положение окон проекций, но не определяют их типы. Типы проекций, назначенные каждому из окон в данный момент, обозначены своими названиями на укрупненной схеме в нижней части вкладки. Чтобы изменить тип окна, щелкните на соответствующем поле укрупненной схемы. Появится список типов проекций в виде меню, из которого следует выбрать нужную проекцию (о том, какие типы проекций можно назначать окнам, вы узнаете в следующем разделе главы).
Итак, компоновка окон проекций настроена в соответствии с типом разрабатываемой сцены. Но в процессе работы может оказаться так, что заготовленные заранее типы проекций не позволяют рассмотреть сцену с нужной стороны. Пусть, например, на экране располагаются окна проекций Тор (Вид сверху), Front (Вид спереди), Left (Вид слева) и Perspective (Перспектива), а вам совершенно необходимо рассмотреть сцену справа и сзади. В этом случае пригодится умение изменять типы проекций в окнах.
Выбор варианта расположения окон проекций
При первом запуске max 7.5 на экране появляются четыре одинаковых по размерам окна проекций, как показано на рис. 2.1 предыдущей главы. Однако исходные размеры и расположение этих окон могут быть и другими. Например, если сцена растянута в горизонтальном направлении, ее удобнее рассматривать в вытянутом горизонтальном окне, занимающем нижнюю или верхнюю часть области окон проекций. В оставшейся половине при этом можно разместить три остальных окна меньших размеров, как показано на рис. 3.5.

Рис. 3.5. Один из возможных вариантов расположения окон проекций, удобный для рассмотрения сцен, вытянутых по горизонтали
Как вы уже знаете из главы 2, размеры и пропорции окон проекций можно менять, просто перетаскивая границы, разделяющие эти окна. Однако таким
способом никак нельзя привести исходный вариант расположения окон проекций к виду, показанному на рис. 3.5. В max 7.5 имеется 14 заранее заготовленных вариантов размещения, или компоновки (layout), таких окон на экране. Выбрав один из готовых вариантов компоновки, вы можете затем менять пропорции и размеры отдельных окон так, как было описано в главе 2. Таким образом, выбор фиксированной компоновки окон проекций и возможность изменять пропорции и размеры окон в рамках выбранной компоновки гибко дополняют друг друга, позволяя настроить окна в трехмерный мир оптимальным образом.
Чтобы настроить компоновку окон проекций, проделайте следующие действия: В основном меню щелкните на пункте Customize (Настройка) и выберите команду Viewport Configuration (Конфигурация окон проекций) или щелкните на имени любого окна проекций правой кнопкой мыши и выберите команду Configure (Конфигурировать), располагающуюся в самом низу появляющегося при этом меню окна проекции. В результате появится окно диалога Viewport Configuration (Конфигурация окон проекций), содержащее пять вкладок. Щелкните на корешке вкладки Layout (Компоновка), чтобы она расположилась поверх остальных вкладок, как показано на рис. 3.6.

Рис. 3.6. Вкладка Layout окна диалога Viewport Configuration
Выбор варианта визуализации
Раскрывающийся список Render Type (Вариант визуализации) позволяет выбрать один из следующих вариантов визуализации сцены, ее фрагментов или отдельных объектов:
View (Проекция целиком) — ведет к визуализации всей проекции сцены в активном окне, как показано на рис. 15.2;

Рис. 15.2. При выборе варианта View (визуализируется вся проекция сцены в активном окне
Selected (Выделенные объекты) — означает визуализацию только выделенных объектов. Этот вариант очень удобно использовать при выполнении тестовой визуализации в целях ее ускорения. На рис. 15.3 показан результат визуализации двух выделенных кресел переднего плана той же сцены, что на рис. 15.2;

Рис. 15.3. При выборе варианта Selected вместо всей сцены визуализируются только выделенные объекты
Region (Область) — позволяет визуализировать часть проекции сцены, обозначенную с помощью рамки в виде черной пунктирной линии с восемью маркерами, как показано на рис. 15.4.

Рис. 15.4. Маркерная рамка и кнопка ОК, появляющиеся в режимах Region, Crop и Blowup, позволяют выделить участок проекции для визуализации
Этот вариант применяют для тестовой визуализации отдельных прямоугольных фрагментов изображения. Рамку, появляющуюся в окне проекции после щелчка на кнопке Render Scene (Визуализировать сцену) или Quick Render (Быстрая визуализация), можно перетаскивать и масштабировать с помощью мыши. После того как размер и положение рамки определены, для запуска процесса визуализации следует щелкнуть на кнопке ОК, появляющейся в правом нижнем углу окна проекции. Размер формируемого при этом изображения остается таким же, как при обычной визуализации, но края изображения за пределами рамки будут иметь цвет фона сцены, задаваемый в окне диалога Environment and Effects (Внешняя среда и эффекты). По умолчанию таким цветом является черный, как видно на рис. 15.5;

Рис. 15.5. При выборе варианта Region визуализируется область сцены, выделенная рамкой, показанной на рис. 15.4, а все остальное изображение заливается фоновым цветом
Crop (Обрезка) — вариант визуализации, аналогичный варианту Region (Область). Однако при обрезке рамка в окне проекции определяет не только область визуализации, но и размер выходного изображения (рис. 15.6). Если есть потребность сохранить тестовую картинку, выбор этого варианта позволит избежать необходимости хранить вместе с изображением сцены широкую черную рамку. Размеры и положение появляющейся рамки устанавливаются такими, какими они были заданы при последнем использовании рамки, и при необходимости снова могут быть изменены;

Рис. 15.6. При визуализации в режиме Crop создается только изображение области, выделенной рамкой, показанной на рис. 14.4
Blowup (Увеличение) — вариант, аналогичный варианту Region (Область), но получаемое при этом изображение области сцены увеличивается после визуализации до размеров полного окна с сохранением пропорций исходного изображения (рис. 15.7). При этом программа не позволяет производить произвольного изменения размеров рамки, ее длина и ширина изменяются одновременно, чтобы обеспечить сохранение пропорций картинки;

Рис. 15.7. При визуализации в режиме Blowup изображение области, выделенной рамкой, увеличивается до размеров полной картинки
Box Selected (Габаритный контейнер) — позволяет выполнить визуализацию только прямоугольной области окна проекции, описанной вокруг габаритного контейнера выделенного объекта или контейнеров нескольких выделенных объектов, по умолчанию устанавливая пропорции выходного изображения равными пропорциям этой прямоугольной области и позволяя задать размеры выходного изображения. Для примера на рис. 15.8, слева показан результат визуализации в режиме Box Selected (Габаритный контейнер) области сцены, границы которой определены двумя выделенными объектами-креслами (рис. 15.8, справа).

Рис. 15.8. Изображение области сцены (слева), ограниченной двумя выделенными креслами (справа), визуализировано в режиме Box Selected
На рис. 15.9 показано окно диалога, которое появляется в этом режиме после щелчка на кнопке Quick Render (Production) (Быстрая визуализация (итоговая)) и позволяет указать требуемый размер выходного изображения;

Рис. 15.9. Окно диалога, позволяющее задать размер выходного изображения при визуализации в режиме Box Selected
Region Selected (Область с выделенными объектами) — обеспечивает визуализацию области, определяемой габаритными контейнерами выделенных объектов, как и в режиме Box Selected (Габаритный контейнер), однако возможность изменять размеры итоговой картинки не предоставляется. Края изображения за пределами области приобретают цвет фона сцены;
Crop Selected (Обрезка выделенных объектов) — то же, что Region Selected (Область с выделенными объектами), но без черной каймы по краям, так как размеры выходного изображения устанавливаются равными размерам области.
Выбор вида результата визуализации
По умолчанию результат визуализации изображения сцены помещается в окно виртуального буфера кадров, предназначенное для просмотра сформированной картинки на экране монитора. Одновременно с этим можно заставить max 7.5 записать результат визуализации в файл на одном из дисков компьютера.
Для записи результатов визуализации в файл щелкните на кнопке Files (Файлы) в разделе Render Output (Вывод визуализации) и выберите нужный формат в раскрывающемся списке List files of type (Тип файла) окна диалога Render Output File (Выходной файл визуализации). Данное окно не отличается от окна диалога Select Bitmap Image File (Выбор файла растровой текстуры), рассмотренного в предыдущей главе. Введите имя выходного файла в поле File Name (Имя файла). После щелчка на кнопке ОК в окне диалога Render Output File (Выходной файл визуализации) имя выходного файла вместе с маршрутом доступа появится в текстовом поле справа от кнопки Files (Файлы). Чтобы обеспечить запись результатов визуализации в файл, имя которого указано в текстовом поле справа от кнопки Files (Файлы), проследите за установкой флажка Save File (Сохранять в файл).
| СОВЕТ При визуализации отдельного кадра синтезированное изображение можно сохранить в файл прямо из окна виртуального буфера кадров, не выполняя никаких настроек в разделе Render Output (Вывод визуализации) окна диалога Render Scene (Визуализация сцены). А вот при визуализации анимации, о чем речь пойдет в главе 16, «Пробуем выполнять анимацию объектов», задание имени файла и установка флажка Save File (Сохранять в файл) становятся критическими условиями успеха. Если флажок будет сброшен, все результаты продолжительной визуализации окажутся утраченными, за исключением последнего кадра, который останется в окне виртуального буфера кадров. |
Кнопка Devices (Устройства), расположенная под кнопкой Files (Файлы), служит для записи изображений или анимаций на внешний носитель информации, подобный цифровому магнитофону. Разумеется, при этом на компьютере должен быть установлен драйвер такого устройства.
Не сбрасывайте установленный по умолчанию флажок Virtual Frame Buffer (Виртуальный буфер кадра), чтобы помимо записи результата визуализации в файл или на указанное устройство изображение выводилось на экран монитора в окно, называемое виртуальным буфером кадра.
Выделение объектов кистью
Для выделения объектов кистью выполните следующие действия:
1. Активизируйте инструмент Select Object (Выделить объект) или один из пяти комбинированных инструментов выделения и воздействия на объект, щелкнув на соответствующей кнопке главной панели инструментов или просто нажав одну из клавиш q, w, е или r.
2. Выберите инструмент выделения кистью, действуя так же, как описано выше применительно к рамке произвольной формы. Кнопка Paint Selection Region (Область выделения кистью) расположена в самом низу дополнительной панели инструмента Rectangular Selection Region (Прямоугольная область выделения).
3. Щелкните в любом месте окна проекции и перетащите курсор в произвольном направлении. Вы увидите, что в области курсора появилась круглая область. Перемещайте курсор, не отпуская кнопку мыши. Все объекты, которые попадают в эту область, будут выделены (рис. 4.8). Для завершения выбора объектов выделения отпустите кнопку мыши.
Пользоваться этим способом выделения особенно удобно, когда в сцене имеется очень большое количество объектов.

Рис. 4.8. Выделение объектов кистью
Выделение объектов по именам
Всем объектам max 7.5 в момент их создания присваиваются уникальные имена. В главе 3 мы говорили о важности смыслового именования объектов, помогающего ориентироваться в перечне их имен и облегчающего выделение объектов по именам.
Способ выделения по именам является очень полезным и удобным, особенно для сложных сцен, содержащих в своем составе множество объектов. Для выделения объектов по их именам, выбираемым из списка, служит окно диалога Select Objects (Выделение объектов) или полностью аналогичное ему окно диалога Selection Floater (Плавающая палитра Выделение объектов). Разница между окном диалога и плавающей палитрой состоит в том, что пока на экране находится окно диалога Select Objects (Выделение объектов), вы не можете работать с окнами проекций max 7.5 и находящимися в них объектами, а присутствие на экране плавающей палитры не мешает работе с объектами и элементами интерфейса программы.
Дополнительные возможности выделения объектов по именам обеспечиваются тем, что в список окна диалога Select Objects (Выделение объектов) могут помещаться имена объектов только заданных категорий. Список может быть упорядочен по нескольким признакам, включая алфавит имен, тип, цвет и размеры объектов. Кроме того, данное окно диалога позволяет выделять объекты, иерархически связанные с текущим выделенным объектом или находящиеся в определенной зависимости от него.
Для выделения объектов с помощью окна диалога Select Objects (Выделение объектов) выполните следующие действия:
1.

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

Рис. 4.9. Окно диалога Select Objects
| СОВЕТ Запомните, что для вызова на экран окна диалога Select Objects (Выделение объектов) можно просто нажать клавишу h. |
2. Выделите имя нужного объекта сцены в списке окна, щелкнув на нем кнопкой мыши. Чтобы выделить несколько имен, расположенных в списке не подряд, щелкните на них при нажатой клавише Ctrl. Чтобы выделить группу идущих подряд имен, щелкните на первом и на последнем имени при нажатой клавише Shift. Чтобы выделить в списке все имена объектов, начинающиеся с определенной буквы, просто введите ее в текстовое поле в левой верхней части окна. В это поле можно вводить шаблоны имен с использованием символов «*» и «?». Для выделения имен объектов можно также применять кнопки, расположенные под полем списка:
All (Все) — кнопка выделения всех объектов в списке;
None (Ничего) — кнопка сброса выделения в списке объектов;
Invert (Обратить) — кнопка инверсии выделения в списке объектов, то есть сброса всех выделенных и выделения всех невыделенных объектов.
3. Закончив выделение имен нужных объектов, щелкните на кнопке Select (Выделить). Для отмены выделения щелкните на кнопке Cancel (Отмена).
4. Если объектов в сцене слишком много, можно «расчистить» список имен окна диалога, указав определенные категории объектов, имена которых будут помещены в список. Для этого служат элементы управления группы List types (Включать в список):
Geometry (Геометрия), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты) и Space Warps (Объемные деформации) — флажки, установка которых ведет к включению в список объектов соответствующих типов;
Groups/Assemblies (Группы/Сборки) - флажок включения в список объектов, входящих в группы или в новый тип объединений — персонажные сборки (character assemblies). Если он сброшен, то в список включаются только имена групп объектов или персонажных сборок, заключаемые в скобки;
XRefs (Внешние ссылки) — флажок включения в список внешних ссылок на объекты из других файлов сцен.
Если в сцене есть объекты, имена которых отличаются только регистром символов, то для их различения можно установить дополнительно флажок Case Sensitive (Учитывать регистр).
Закончив выделение имен нужных объектов в списке окна, щелкните на кнопке Select (Выделить). Для отмены выделения щелкните на кнопке Cancel (Отмена).
При необходимости можете настроить различные режимы отображения списка имен объектов, используя следующие флажки:
Display Subtree (Показывать иерархию) — включает режим показа списка имен объектов в иерархическом порядке с обозначением уровней иерархии отступами имен вправо. Если флажок сброшен, имена всех объектов выравниваются но левому краю списка;
Select Subtree (Выделять поддеревья) — установка данного флажка в режиме показа иерархии ведет к тому, что выделение имени объекта в списке вызывает автоматическое выделение имен всех его дочерних объектов, расположенных на более низких уровнях иерархии;
Select Dependents (Выделять зависимые) — флажок, установка которого ведет к тому, что выделение имени объекта в списке вызывает автоматическое выделение имен всех связанных с ним зависимых объектов, таких как образцы, экземпляры и объекты, имеющие общий с выделенным объектом модификатор.
Чтобы облегчить поиск и выделение имен объектов в списке окна, можете задать способ сортировки списка имен с помощью переключателя Sort (Сортировка), доступного только при сброшенном флажке Display Subtree (Показывать иерархию):
Alphabetical (По алфавиту) — список упорядочивается по алфавиту имен объектов;
By Type (По типу) — список упорядочивается по типам объектов в порядке следования флажков в разделе List types (Включать в список);
By Color (По цвету) — объекты в списке сортируются по цвету их каркасов. Этот вид сортировки приводит всего лишь к тому, что объекты сходных оттенков располагаются в списке рядом друг с другом;
By Size (По размеру) — объекты в списке сортируются по возрастанию числа граней в их оболочке.
При наличии именованных наборов выделенных объектов (см. далее раздел «Использование наборов выделенных объектов») можно выбрать имя нужного набора в раскрывающемся списке Selection Sets (Выделенные наборы). Выбор имени набора ведет к выделению в списке окна имен всех объектов, входящих в данный набор.
Выделение объектов: почему это важно
Практически невозможно построить трехмерную сцену, пусть даже состоящую из малого числа объектов, обойдясь без перемещения этих объектов, их поворота или изменения размера. Эти простейшие операции над объектами — перемещение {move), поворот (rotate) и изменение размеров, или масштабирование (scale), — называют в max 7.5 преобразованиями. Без преобразований не обойтись не только на этапе создания геометрической модели сцены, но и при настройке композиции и анимации объектов.
Перед тем как применить к объектам сцены какое-либо преобразование, а также перед выполнением целого ряда других операций, таких как модификация объекта или связывание его с источником объемной деформации, следует выделить (select) объекты, над которыми будет производиться действие. В связи с этим выделение объектов становится важной частью процесса работы над сценой. Потребность в выделении объектов возникает столь часто, а сделать это иногда бывает настолько непросто, что в max 7.5 предусмотрен целый набор средств и способов, которые призваны облегчить выделение объектов и будут рассмотрены ниже.
Для отработки навыков выделения объектов нам понадобится «испытательный полигон» — трехмерная сцена наподобие той, какую вы создавали в главе 3, но с большим числом объектов. Используя два уже знакомых вам инструмента командной панели Create (Создать) — Sphere (Сфера) и Teapot (Чайник), — постройте в окне проекции Тор (Вид сверху) сцену, похожую на показанную на рис. 4.1. Все объекты здесь имеют радиус порядка 20 текущих единиц измерения.

Рис. 4.1. Вид сверху на сцену для отработки методов выделения объектов
| ЗАМЕЧАНИЕ Файл такой сцены под именем Ris4-02.max имеется в папке Scenes\Glava_04 компакт-диска, прилагающегося к книге. Общий вид этой сцены в цвете можно увидеть на изображении, записанном в файле Ris4-02.tif и хранящемся в папке lmages\Glava_04 этого диска. |
Выделение объектов рамкой произвольной формы
Иногда удобнее бывает выделять объекты не прямоугольной, а круглой рамкой или рамкой иной формы.

Для выбора формы выделяющей рамки служит кнопка Rectangular Selection Region (Прямоугольная область выделения) панели инструментов. Раскрывающаяся панель данного инструмента содержит кнопки выбора еще четырех типов рамок — Circular Selection Region (Круглая область выделения), Fence Selection Region (Произвольная область выделения), Lasso Selection Region (Область выделения «лассо») и Paint Selection Region (Область выделения кистью). Для выбора рамки нужного типа можно просто последовательно нажимать клавишу q.
Выделение объектов круглой рамкой выполняется так же, как и выделение прямоугольной рамкой.
Для выделения объектов рамкой произвольной формы выполните следующие действия:
Щелкните на кнопке Select Object (Выделить объект) или на кнопке одного из пяти комбинированных инструментов выделения и воздействия на объект.
Щелкните на кнопке Rectangular Selection Region (Прямоугольная область выделения) и слегка задержите курсор. Когда раскроется панель инструмента, перетащите курсор до кнопки Fence Selection Region (Произвольная область выделения) и отпустите кнопку мыши. С той же целью можете несколько раз нажать клавишу q, пока на месте кнопки Rectangular Selection Region (Прямоугольная область выделения) не появится кнопка Fence Selection Region (Произвольная область выделения). В max 7.5 форму выделяющей рамки можно также выбрать с помощью команды Edit > Select By > Fence Region (Правка > Выделить по > Произвольная область) основного меню.
Щелкните в окне проекции вне объектов и перетащите курсор, рисуя первый сегмент рамки. За курсором потянется пунктирная линия. Отпустите кнопку мыши, фиксируя первый сегмент. Переместите курсор в точку, где должен оканчиваться второй сегмент рамки, и щелкните кнопкой мыши. Продолжайте перемещать курсор и щелкать кнопкой мыши, строя рамку вокруг нужной области окна проекции, как показано на рис. 4.6.

Рис. 4.6. Рисование выделяющей рамки произвольной формы
Для замыкания рамки переместите курсор в точку начала первого сегмента. Курсор примет вид тонкого перекрестья, указывая на возможность замыкания. Щелкните кнопкой мыши, и рамка будет замкнута, а все объекты, попавшие в ее пределы и пересеченные ею, окажутся выделенными. Можно замкнуть рамку, дважды щелкнув кнопкой мыши в любой момент рисования. В этом случае замыкание будет произведено по кратчайшему расстоянию между текущим положением курсора и началом первого сегмента.
Для отмены режима рисования рамки щелкните правой кнопкой мыши или нажмите клавишу Esc.
Выделение объектов рамкой типа «лассо»
Для выделения объектов рамкой типа «лассо» выполните следующие действия:
1. Активизируйте инструмент Select Object (Выделить объект) или один из пяти комбинированных инструментов выделения и воздействия на объект, щелкнув на соответствующей кнопке главной панели инструментов или просто нажав одну из клавиш q, w, е или r.
2. Выберите рамку типа «лассо», действуя так же, как описано выше применительно к рамке произвольной формы.
3. Переместите курсор в нужное окно проекции и щелкните кнопкой мыши в точке, где должно закрепиться начало петли «лассо». Не отпуская кнопку мыши, перемещайте курсор по произвольной траектории. За курсором потянется «резиновая» пунктирная линия, повторяя все изгибы линии перемещения, как показано на рис. 4.7. Для завершения построения области выделения просто отпустите кнопку мыши. Замыкать область не требуется: она замкнута изначально. В зависимости от того, какой используется режим выделения — оконный или пересекающий, — выделенными окажутся либо только объекты, целиком попавшие в рамку, либо в том числе и частично пересеченные ею.
Следует признать, что пользоваться рамкой типа «лассо» при выделении объектов довольно удобно.

Рис. 4.7. Рисование выделяющей рамки типа «лассо»
Выделение объектов с помощью рамки
Когда в составе сцены имеется много объектов, выделять эти объекты, щелкая на каждом из них по отдельности, оказывается затруднительно. В этом случае удобно выделять объекты с помощью рамки. В max 7.5 имеется пять типов выделяющих рамок: выбираемая по умолчанию прямоугольная (rectangular), круглая (circular), произвольной формы (fence), лассо (lasso) и кисть (paint).
Выделение объектов стандартной прямоугольной рамкой
Для выделения объектов, находящихся в прямоугольной области окна проекции, выполните следующие действия:
1. Щелкните на кнопке Select Object (Выделить объект), на кнопке одного из пяти комбинированных инструментов выделения и воздействия на объект или нажмите одну из клавиш q, w, е или r.
2. Щелкните в окне проекции вне объектов и перетащите курсор по диагонали, рисуя выделяющую рамку, которая по умолчанию имеет прямоугольную форму, как показано на рис. 4.5.

Рис. 4.5. Рисование прямоугольной выделяющей рамки
| ЗАМЕЧАНИЕ Выделяющую рамку можно рисовать в любом окне проекции, включая окна перспективной проекции Perspective (Перспектива) или Camera (Камера). |
3. Отпустите кнопку мыши. По умолчанию будут выделены все объекты — как целиком попавшие в рамку, так и пересеченные ею.
| СОВЕТ Используйте рамку, когда требуется выделить сразу все перекрывающиеся объекты, даже если они полностью скрыты «за спиной» крупного объекта переднего плана и в тонированном режиме совершенно не видны. С помощью рамки также легко выделить все объекты, видимые в окне проекции: просто постройте рамку размером во все окно, от одного угла до диагонально противоположного. |
Существуют два режима выделения объектов с помощью рамки. При пересекающем (crossing) режиме выделения (принимается по умолчанию) выделяются объекты как целиком попавшие в рамку, так и пересеченные ею. При использовании оконного (window) режима выделенными оказываются только объекты, целиком попавшие в рамку. Вы можете изменить как форму выделяющей рамки, так и режим выделения объектов с помощью рамки.
Если при выделении объектов с помощью рамки удерживать клавишу Ctrl, то вновь выделенные объекты будут добавлены к ранее выделенным. Для сброса выделения отдельных объектов с помощью рамки следует нажать и удерживать клавишу Alt.
Выделение отдельного объекта
Для выделения отдельного объекта выполните следующие действия:
Щелкните на кнопке Select Object (Выделить объект), на кнопке одного из пяти комбинированных инструментов выделения и воздействия на объект или просто нажмите одну из клавиш q, w, е или r. Переместите курсор в любое окно проекции, где он примет вид стрелки.
Установите курсор над объектом, который должен быть выделен. Выделение становится возможным, когда курсор изменяет свой вид с наклонной стрелки на белый крестик. Для объектов в виде каркасов курсор нужно устанавливать на любое из видимых ребер каркаса. Для объектов в тонированном виде курсор можно располагать над любой частью тонированной оболочки.
Щелкните кнопкой мыши для выделения объекта. При этом произойдет сброс выделения всех ранее выделенных объектов. Выделенный объект в виде каркаса окрашивается белым цветом, а выделенный тонированный объект помечается восемью белыми метками, изображающими углы габаритного контейнера объекта, как показано выше на рис. 4.2.
Если для выделения использовался один из пяти комбинированных инструментов, то после выделения объекта курсор принимает вид значка, соответствующего выбранному типу преобразования. Это указывает на готовность программы к тому или иному преобразованию, и вы можете сразу же приступать к его выполнению. Порядок выполнения преобразований над выделенными объектами с помощью инструментов Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать) будет рассмотрен в этой главе далее, а порядок связывания выделенных объектов с источниками объемных деформаций или с другими объектами сцены при использовании инструментов Bind to Space Warp (Связать с воздействием) и Select and Link (Выделить и связать) — в главах 15, «Осваиваем тонкости визуализации сцены и внешней среды», и 16, «Пробуем выполнять анимацию объектов».
Выделение, отмена и инверсия выделения всех объектов
Чтобы выделить псе объекты сцены, выполните команду меню Edit > Select All (Правка > Выделить все) или просто нажмите общепринятую во всех приложениях системы Windows комбинацию клавиш Ctrl+a.
В max 7.5 предусмотрена возможность распространять действие этой команды только на все объекты определенной категории, скажем, на все геометрические модели или все источники спета. Выбор категории выделяемых объектов производится в раскрывающемся списке Selection Filter (Фильтр выделения) главной панели инструментов, рассматриваемом ниже в разделе «Выбор категории выделяемых объектов». По умолчанию в нем устанавливается вариант All (Все), обеспечивающий выбор объектов всех возможных категорий.
Для сброса (отмены) выделения всех объектов сцены выполните одно из следующих действий:
при выбранном инструменте Select Object (Выделить объект) или одном из пяти комбинированных инструментов выделения и воздействия на объект щелкните кнопкой мыши и любой точке окна проекции, где нет объектов;
выберите команду меню Edit > Select None (Правка > Отменить выделение) или просто нажмите клавиши Ctrl+d.
| СОВЕТ Часто выделение объектов приходится делать в одном окне (скажем, окне вида сверху), а их преобразование — в другом (например, окне вида спереди или слева), которое требуется при этом активизировать. Чтобы активизировать необходимое окно проекции и при этом не отменить сделанного выделения, нужно щелкнуть в любой точке окна правой кнопкой мыши. Правой кнопкой можно щелкнуть даже поверх выделенных объектов, но только не на заголовке окна, иначе произойдет вызов меню окна. Для активизации нужного окна без сброса текущего выделения объектов можно использовать и левую кнопку, но в этом случае требуется щелкнуть как раз на заголовке окна. Используйте любой из этих способов, но, на мой взгляд, более удобным из них является щелчок правой кнопкой в любой точке окна проекции. |
Иногда бывает необходимо инвертировать (обратить) выделение, то есть отменить выделение всех выделенных в данный момент объектов и выделить псе объекты, которые не были выделены. Например, чтобы переместить, изменить масштаб или удалить все объекты сцены, кроме одного, удобно выделить этот объект, а затем обратить выделение. Для обращения состава выделенных объектов просто выберите команду меню Edit > Select Invert (Правка > Обратить выделение) или нажмите клавиши Ctrl+I.
Выделение перекрывающихся объектов
Чтобы выделить один из перекрывающихся объектов, проще всего выбрать такое окно проекции, в котором объекты не перекрываются. Бывают, однако, ситуации, когда геометрические модели расположены так плотно (например, как в окне проекции Front (Вид спереди) нашей учебной сцены, показанной на рис. 4.1 и 4.2), что трудно найти подходящий ракурс для выделения нужного объекта. В таких случаях для выделения перекрывающихся объектов выполните следующие действия:
Выберите инструмент Select Object (Выделить объект) или один из пяти комбинированных инструментов выделения и воздействия на объект. Щелкните кнопкой мыши в любом из окон проекций на перекрывающихся объектах. Выделится объект, ближайший к наблюдателю.
Не перемещая курсора, снова щелкните кнопкой мыши. Выделится перекрытый объект заднего плана. Если перекрывающихся объектов несколько, то, продолжая щелкать кнопкой мыши, вы будете выделять объекты, расположенные все дальше по координате глубины сцены.
Отработайте этот прием, используя тестовую сцену, показанную на рис. 4.1 и 4.2, и пробуя выделять объекты в окне проекции Front (Вид спереди), где они сильно перекрываются. После выделения последнего перекрытого объекта очередной щелчок кнопкой мыши приведет снова к выделению объекта переднего плана, и далее процедура выделения будет повторяться.
Выделение подобъектов
Преобразования могут применяться не только к объектам, но и к их составным частям — подобъектам, поэтому умение выделять подобъекты различных уровней играет существенную роль в окончательной доводке формы геометрических моделей. Подобъектами (subobjects) в max 7.5 называют составные части объектов сцены: вершины и сегменты сплайнов; вершины, ребра, грани и полигоны сетчатых оболочек трехмерных тел; опорные точки и управляющие вершины NURBS-кривых и поверхностей и т. п. Название «подобъект» применяют также к составным элементам специальных инструментов — модификаторов, широко используемых в max 7.5 для различных целей, в частности для редактирования формы объектов. Отдельные модификаторы могут иметь такие подобъекты, как габаритный контейнер (Gizmo), центр (Center), ось (Axis) и т. п. С некоторыми типами подобъектов вы уже познакомились в главе 1, о других вам еще только предстоит узнать.
| ЗАМЕЧАНИЕ Подробнее о модификаторах и их использовании вы узнаете из главы 8, «Совершенствуем навыки модификации объектов». |
Для выделения подобъектов применяются те же средства и приемы, что и для выделения объектов. Подобъекты можно выделять, последовательно щелкая на них кнопкой мыши при выбранном инструменте Select Object (Выделить объект) или рисуя вокруг совокупности подобъектов выделяющую рамку. Однако существенной особенностью выделения подобъектов является то, что для этого должен быть включен режим, разрешающий выделение подобъектов того или иного уровня.
Подобъекты допускают выделение (без каких-либо дополнительных мер) только для некоторых типов объектов, в частности для сплайнов-линий, а также для кривых и поверхностей типа NURBS. Для всех остальных объектов категорий Geometry (Геометрия) и Shapes (Формы) прямой доступ к подобъектам невозможен и требует выполнения одного из следующих действий:
преобразования объекта к одному из редактируемых типов, таких как Editable Mesh (Редактируемая сетка), Editable Patch (Редактируемый кусок), Editable Poly (Редактируемая полисетка) или Editable Spline (Редактируемый сплайн);
преобразования объекта в кривую или поверхность типа NURBS;
применения к объекту одного из модификаторов, таких как Edit Spline (Правка сплайна) для линий, Edit Mesh (Правка сетки), EditPoly (Правка полисетки) или Edit Patch (Правка куска) для трехмерных тел.
Со способами преобразования объектов к редактируемым формам, а также с типами и порядком применения модификаторов к объектам мы будем знакомиться по мере необходимости.
Для выделения подобъектов в общем случае нужно выполнить следующие действия:
1. Выделить объект, являющийся сплайном типа Line (Линия), кривой или поверхностью типа NURBS или одним из объектов редактируемого типа. Перейти на командную панель Modify (Изменить). В текстовом поле командной панели Modify (Изменить), расположенном под раскрывающимся списком Modifier List (Список модификаторов) и называемом окном стека модификаторов (modifier stack), появится дерево подобъектов. Дерево изначально свернуто, о чем говорит значок «плюс» в квадратике слева от наименования выделенного объекта, как показано на рис. 4.12.

Рис. 4.12. Чтобы развернуть дерево подобъектов, нужно щелкнуть на квадратике со знаком «плюс» слева от имени объекта
|
ЗАМЕЧАНИЕ Нам приходится оперировать понятием стека модификаторов, с которым вам предстоит познакомиться только в главе 8, «Совершенствуем навыки модификации объектов». Пока что достаточно представлять себе, что стек модификаторов — это сохраняемая в файле сцены «история жизни» объекта, в которую последовательно заносятся записи обо всех модификаторах, применяемых к объекту в ходе его редактирования. В начале стека помещается наименование типа объекта. На командной панели Modify (Изменить) стек по мере добавления модификаторов растет снизу вверх, так что наименование типа объекта оказывается в самом низу. |
2. Чтобы развернуть дерево доступных подобъектов, щелкните в окне стека модификаторов командной панели Modify (Изменить) на квадратике со значком «плюс» слева от наименования типа выделенного объекта. Это наименование представляет собой заголовок дерева подобъектов. Например, для объектов типа Editable Mesh (Редактируемая сетка) доступными подобъектами являются Vertex (Вершина), Edge (Ребро), Face (Грань), Polygon (Полигон) или Element (Элемент), как показано на рис. 4.13.

Рис. 4.13. Выбор одной из ветвей дерева подобъектов равносилен щелчку на соответствующей кнопке выделения подобъектов командной панели Modify
Выберите строку с наименованием нужного подобъекта, при этом она подсветится желтым цветом. Для выбора нужного уровня выделения подобъектов можно с тем же успехом воспользоваться кнопками, расположенными в верхней части свитка Selection (Выделение), значки которых символически изображают доступные типы подобъектов (см. рис. 4.13). Кроме того, те же самые подобъекты можно выделить с помощью команд подменю Sub-objects (Подобъекты) раздела tools1 (инструменты1) четвертного меню, вызываемого по щелчку на объекте правой кнопкой мыши и показанного для примера на рис. 4.14 применительно к редактируемой сетке. Все три названных способа выделения подобъектов совершенно равноправны и взаимозаменяемы.

Рис. 4.14. Команды выбора подобъектов содержатся в разделе tools1 четвертного меню
3. Щелкните на кнопке Select Object (Выделить объект), на кнопке одного из трех комбинированных инструментов выделения и. преобразования объектов — Select and Move (Выделить и переместить), Select and Rotate (Выделить и повернуть) и Select and Uniform Scale (Выделить и равномерно масштабировать) или просто нажмите одну из клавиш q, w, е или r. Переместите курсор в окно проекции и выделите один или несколько подобъектов, выбранных в списке Selection Level (Уровень выделения), щелкая на каждом из них кнопкой мыши или применяя выделяющую рамку. При этом как объекты в целом, так и подобъекты других типов будут заблокированы от выделения.
4. Выполните необходимые преобразования подобъектов. Чтобы вернуться с уровня выделения подобъектов на уровень объектов, щелкните в поле стека модификаторов на заголовке дерева подобъектов или щелкните на объекте правой кнопкой мыши и выберите команду Top Level (Верхний уровень) в подменю Sub-objects (Подобъекты) раздела tools1 (инструменты1) четвертного меню.
Выполняем анимацию методом ключей
Простейшая анимация создается в max 7.5 в автоматическом режиме с помощью средств управления анимациями, рассмотренных выше, — ползунка таймера анимации, кнопок управления воспроизведением анимаций и кнопки Auto Key (Автоключ). Режим принудительной анимации, реализуемый при нажатой кнопке Set Key (Задать ключ), требует определенной подготовительной работы, которая окупается большей простотой и производительностью самого процесса анимации. С этим режимом вы познакомитесь в разделе «Режим принудительной анимации».
После того как базовая анимация построена, можно переходить к ее редактированию, о чем речь пойдет ниже в разделе «Редактирование ключей анимации».
Выравнивание объектов
Необходимость в выравнивании одних объектов сцены относительно других возникает довольно часть и является важным элементом обеспечения требуемой точности моделирования. К сожалению, пока что 3ds max не умеет выполнять команды наподобие таких: «а поставь-ка этот чайник на вот тот стол», поэтому вся ответственность за размещение объектов сцены ложится на вас. Производить выравнивание вручную неудобно, да и, к тому же, при этом вы не сможете добиться высокой точности.
Для выравнивания положения и (или) ориентации выделенного исходного объекта относительно другого объекта используется инструмент Align (Выравнивание). Объект, относительно которого производится выравнивание, называется опорным.
Для выполнения выравнивания объектов выполните следующие действия:
1.

Выделите объект или несколько объектов, которые должны быть выровнены, после чего выберите команду меню Tools > Align (Сервис > Выровнять) или нажмите клавиши Alt+a. Курсор приобретает вид значка на кнопке.
2. Назначьте опорный объект, для чего установите на него курсор и, когда возле курсора появится перекрестие, как показано на рис. 4.44, щелкните кнопкой мыши.

Рис. 4.44. Перекрестие курсора указывает на возможность выравнивания
3. Появится окно диалога Align Selection (Выравнивание выделения), в заголовке которого указывается в скобках имя опорного объекта (рис. 4.45).

Рис. 4.45. Окно Align Selection
4. В разделе Align Position (World) (Выравнивание положения (В глобальных координатах)) установите один из флажков X, Y, Z Position (Положение по X, Y, Z), указывающих, вдоль какой из трех координат будет происходить выравнивание. Используется текущая система координат. Вы также можете установить несколько флажков, если параметры выравнивания вдоль координат совпадают.
5. Задайте характерные точки выравниваемого и опорного объектов, положение которых будет совмещено по заданным координатам. Для этого установите переключатели Current Object (Текущий объект) и Target Object (Опорный объект) в одно из четырех положений: Minimum (Минимум) — крайняя точка габаритного контейнера объекта с минимальным значением координаты но выбранной оси; Center (Центр) — центр габаритного контейнера объекта; Pivot Point (Опорная точка) — опорная точка объекта; Maximum (Максимум) — крайняя точка габаритного контейнера объекта с максимальным значением координаты по выбранной оси.
6. Определите требования по согласованию ориентации локальной системы координат выравниваемого объекта относительно опорного по каждой из трех осей координат. Для этого установите нужные флажки X, Y, Z Axis (Ось X, Y, Z) в разделе Align Orientation (Local) (Выровнять ориентацию (Локально)). Выравнивание ориентации не зависит от выравнивания по положению.
7. Задайте требования по согласованию масштабов выравниваемых и опорного объектов. Для этого установите нужные флажки X, Y, Z Axis (Ось X, Y, Z) в разделе Match Scale (Согласовать масштаб). Согласование масштабов не обязательно ведет к совпадению размеров выравниваемых объектов с размером опорного объекта и оказывает действие на выравниваемые объекты только в том случае, если к опорному объекту в ходе его редактирования применялось преобразование масштаба. Масштаб выравниваемых объектов будет изменен во столько раз, во сколько раз был изменен масштаб опорного объекта.
Z-буфер и G-буфер — что это такое?
Зачем же понадобилось включать подобные фильтры в программу max 7.5, и без того насыщенную массой средств, имеющих специфическое назначение, — служить инструментарием для моделирования и анимации трехмерных сцен? Дело в том, что по части фильтрации готовых изображений трехмерных сцен max 7.5 обладает рядом неоспоримых преимуществ по сравнению с традиционными графическими редакторами.
Обычный графический редактор имеет дело с изображением, которое для него, как правило, представляется просто набором разноцветных точек. Чтобы применить фильтрацию не ко всему полю этих точек, а выборочно, необходимо сформировать так называемые маски, что чаще всего приходится делать вручную. Мах 7.5 знает о сформированных им самим изображениях трехмерных сцен гораздо больше, так как имеет возможность запоминать вместе с изображениями информацию о глубине расположения объектов. Эта информация представляет собой содержимое так называемого Z-буфера (Z Buffer) (наименование скорее историческое, ведь в max 7.5 координатой глубины сцены является Y) и может использоваться для выборочной фильтрации только тех областей изображения сцены, объекты в которых располагаются на заданном удалении от зрителя. Содержимое Z-буфера можно просматривать как обычное изображение, где яркость отсчетов характеризует расстояние по глубине сцены: чем ближе объект к зрителю, тем он ярче, а чем дальше, тем темнее. Z-буфер формируется программой автоматически, также автоматически передается модулям фильтрации и его содержимое.
| ЗАМЕЧАНИЕ В max 7.5 предусмотрена возможность визуализации содержимого Z-буфера в виде черно-белого полутонового изображения. Эта возможность реализована в свитке Render Elements (Визуализация элементов) окна диалога Render Scene (Визуализация сцены). |
Кроме того, max 7.5 позволяет присваивать объектам и материалам объектов сцены специальные идентификаторы — номера каналов буфера графики, или G-буфера {Graphics Buffer, или просто G-Buffer). Эти идентификаторы также могут служить основой для выборочной фильтрации только тех областей изображения, которые представляют собой проекции заданных объектов или относятся к заданному материалу. Я уже не говорю о том, что можно фильтровать и все изображение в целом, как в обычных графических редакторах.
Если объекту или материалу назначен номер канала G-буфера, отличный от 0, то max 7.5 формирует маску, защищающую от фильтрации все изображение сцены, кроме проекции выбранного объекта или области, относящейся к выбранному материалу. Такая маска может сохраняться вместе с изображением в виде отдельного слоя при использовании графических файлов формата rla или rpf.
Любое количество объектов могут иметь одинаковые номера каналов G-буфера. При этом ко всем из них будут применяться одни и те же фильтры оптических эффектов, реализованные в данном канале. Чтобы к разным объектам можно было применить разные фильтры, эти объекты должны иметь различные номера каналов G-буфера. Все сказанное относится и к номерам каналов G-буфера, назначаемым материалам max 7.5.
По умолчанию max 7.5 позволяет назначать объектам до 10 каналов G-буфера, однако максимальное число таких каналов в max 7.5 равно 1000. Максимальное число каналов, назначаемых материалам max 7.5, составляет 15.
|
СОВЕТ Для изменения максимального числа каналов G-буфера выполните команду меню Customize > Preferences (Настройка > Параметры). В окне диалога Preference Settings (Настройка параметров) раскройте вкладку Rendering (Визуализация) и задайте нужное число каналов в счетчике Maximum Number (Максимальное число) раздела GBuffer Layers (Слои G-буфера). |
Задание размера визуализируемого изображения
По одному и тому же окну проекции можно в ходе визуализации сформировать изображения различных размеров — от миниатюры размером с этикетку спичечного коробка до крупноформатных кадров размером во весь экран и даже более. Большие по размеру изображения оказываются выше по качеству визуального восприятия и обладают большим количеством деталей, но платой за увеличение размеров является рост времени визуализации. Задание размера выходного изображения производится в разделе Output Size (Размер кадра) свитка Common Parameters (Общие параметры).
Раскрывающийся список в верхней части раздела позволяет выбрать вариант Custom (Специальный) либо один из ряда стандартных размеров кино-, фото-и видеокадров. При выборе варианта Custom (Специальный) можно задавать величины параметров Aperture Width (Ширина апертуры), Image Aspect (Пропорции изображения) и Pixel Aspect (Пропорции пикселя). При выборе одного из стандартных форматов все эти параметры автоматически принимают нужные значения, которые блокируются от изменений.
Если вы хотите задать произвольную высоту или ширину выходного кадра в пикселях, к вашим услугам счетчики Width (Ширина) и Height (Высота). Шесть кнопок с надписями, соответствующими типовым значениям разрешающей способности (320x200, 256x243 и т. д.), позволяют задать типовые значения высоты и ширины изображения в пикселях. По умолчанию производится визуализация изображения размером 640x480 пикселей.
Большинство изображений, представленных в этой книге, визуализировались при значении параметров Width (Ширина) - 400 и Height (Высота) - 300. Чтобы сохранить типовое значение параметра Image Aspect (Пропорции изображения) = 1,33333, перед вводом новых значений в счетчики нужно щелкнуть на кнопке блокировки пропорций (с изображением замочка) справа от параметра Image Aspect (Пропорции изображения). Когда эта кнопка нажата, ввод значения в один из счетчиков Width (Ширина) или Height (Высота) вызывает автоматическое изменение значения в другом счетчике.
когда вы уже имеете некоторое
Теперь, когда вы уже имеете некоторое представление о том, для чего нужна и на что способна программа 3ds max 7.5, есть смысл перейти с ней «на ты» и называть в дальнейшем просто max 7.5.
Многие элементы окна max 7.5, такие как строка меню или строка состояния, являются типовыми для любых приложений Windows. Но есть и особенные элементы, с какими вам, возможно, еще не приходилось сталкиваться, например окна проекций, командные панели, строка треков или четвертные меню. Рассмотрим назначение основных элементов окна max 7.5.
Заглядываем в окно визуализированного кадра
По умолчанию в ходе визуализации в реальном масштабе времени производится построчное отображение формируемого изображения в окне диалога, называемом окном визуализированного кадра (Rendered Frame Window). С этим окном вы уже познакомились ранее в главе И, но оно еще раз воспроизведено на рис. 15.17.

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

Save Bitmap (Сохранить изображение) — позволяет сохранить изображение, демонстрируемое в окне визуализированного кадра, в файл, вызывая для этого окно диалога Browse Images for Output (Просмотр изображений для вывода), не отличающееся от окна диалога Select Bitmap Image File (Выбор файла растровой текстуры), рассмотренного в главе 13;

Clone Virtual Frame Buffer (Дублировать виртуальный буфер кадра) — вызывает появление копии окна визуализированного кадра вместе с изображением, содержащимся в исходном окне. Дублирование окна полезно в тех случаях, когда производится настройка материалов или освещения, так как позволяет сравнивать результаты визуализации до и после внесения изменений в сцену.
| СОВЕТ Если вы машинально закрыли окно визуализированного кадра, не сохранив синтезированное изображение, на визуализацию которого была затрачена масса времени, не отчаивайтесь: еще не все потеряно. На то он и виртуальный буфер, что синтезированное изображение хранится в памяти компьютера. Просто выберите команду меню Rendering > Show Last Rendering (Визуализация > Показать последнюю визуализацию), и окно визуализированного кадра с последним визуализированным изображением снова появится на экране. |
Затухание света
Освоим еще один параметр осветителей — затухание света. Обычно при освещении комнаты огнем печи или камина в ее углах продолжает скрываться тьма — огонь не настолько ярок, чтобы осветить удаленные углы. Пока что этот эффект не проявляется, так как по умолчанию свет любого источника max 7.5 совершенно не ослабевает с расстоянием. Из школьного курса физики вы, вероятно, помните, что у реальных осветителей интенсивность света ослабевает с удалением от источника пропорционально квадрату расстояния. Однако осветители max 7.5 — это совсем не то же самое, что реальные источники света. Для виртуальных осветителей можно применять два варианта затухания: пропорционально первой или второй степени расстояния от источника. Как правило, использование обоих этих вариантов дает не вполне удовлетворительные результаты: создается впечатление, что свет затухает слишком быстро. В качестве решения max 7.5 предлагает еще один способ, который уж совсем не имеет ничего общего с реальной физикой, но, как ни странно, позволяет получить наиболее визуально правдоподобные результаты. Можно волевым решением назначать границы областей, в пределах которых интенсивность световых лучей будет нарастать, оставаться постоянной и убывать. Элементы управления этими границами сосредоточены в свитке Intensity/ Color/Attenuation (Интенсивность/цвет/затухание), показанном ранее на рис. 11.9. В свитке Intensity/Color/Attenuation (Интенсивность/цвет/затухание) имеются две группы однотипных элементов управления: Near Attenuation (Затухание вблизи) и Far Attenuation (Затухание вдали). Они позволяют установить и использовать начальную и конечную границы ближней зоны, где интенсивность света будет нарастать от нуля до постоянной величины, и дальней зоны, где она будет спадать до нуля. Для этого используются однотипные счетчики Start (Начало) и End (Конец). Таким образом, за счет использования четырех счетчиков интенсивность света можно заставить меняться таким образом:
от точки расположения источника до границы, заданной в счетчике Start (Начало) группы Near Attenuation (Затухание вблизи), интенсивность света нулевая;
между границами Start (Начало) и End (Конец) ближней зоны интенсивность нарастает от нуля до значения, указанного в счетчике Multiplier (Усилитель);
между границами End (Конец) ближней зоны и Start (Начало) группы Far Attenuation (Затухание вдали) интенсивность света не меняется с расстоянием;
между границами Start (Начало) и End (Конец) дальней зоны интенсивность равномерно спадает от значения, указанного в счетчике Multiplier (Усилитель), до нуля.
Установка флажков Use (Применить) позволяет включить эффект затухания и сделать видимыми границы зон в окнах проекций, а флажков Show (Показать) — только обозначить границы зон затухания в окнах проекций. Для всенаправленных источников такие границы имеют вид сфер различного цвета, а для направленных и прожекторов изображаются в виде колец на конусе (цилиндре) светового пучка.
Попробуем применить эффект затухания света к осветителю, изображающему огонь камина, с которым мы работали в предыдущем упражнении. Выделите источник света Omni05 и перейдите на командную панель Modify (Изменить). Оставьте в счетчиках группы Near Attenuation (Затухание вблизи) принятые по умолчанию значения и не устанавливайте флажки Use (Применить) и Show (Показать). В счетчике Start (Начало) группы Far Attenuation (Затухание вдали) укажите величину 450 см — на таком удалении от источника начнется снижение интенсивности света. В счетчике End (Конец) этой группы установите значение 700 см. За пределами этой области света от данного источника не будет совсем. Установите флажок Use (Применить) этой группы параметров. На рис. 11.33 показано, как выглядят изображения границ затухания в дальней зоне, а рис. 11.34 демонстрирует результат действия затухания света.

Рис. 11.33. Так выглядят в окне проекции изображения границ области затухания света Всенаправленного источника в дальней зоне

Рис. 11.34. В результате затухания свет огня камина не может рассеять мрак по углам комнаты
Закончив настройку осветителя, имитирующего огонь камина, выключите его, чтобы до поры не создавать помех настройке основного освещения кафе. Снова включите действие всех остальных осветителей. Сохраните файл сцены под тем же именем MAX-kafe10.max.
Жесткие тела
Жесткие тела при столкновениях не проникают друг сквозь друга и не деформируются, а соударяются с возможным последующим отскоком или проскальзыванием одного тела относительно другого. Можно также имитировать разрушение жестких тел при столкновении. Жесткие тела требуют настройки таких физических свойств, как масса, коэффициент трения и эластичность. Если масса жесткого тела задается равной нулю, то такое жесткое тело считается неподвижным и на него не действует сила тяжести. Можно ограничить свободу перемещения или поворота жестких тел при помощи вспомогательных объектов-ограничителей (constraints). Простые жесткие тела можно объединять в составные (compound bodies).
Знакомимся с азами анимации сцен
Перед тем как приступить к практической реализации простейших, а также и не совсем простых вариантов анимации, по традиции ознакомимся с основными понятиями, знание которых необходимо, чтобы говорить на одном языке с max 7.5.
Знакомимся с имитацией проявлений внешней среды
«Имитация проявлений внешней среды» — под этим церемонным названием скрывается очень интересная возможность воспроизводить на этапе визуализации сцены различные явления, свойственные природной среде, такие как дымка, туман или горение открытого огня, а также использовать реальные изображения природных пейзажей или архитектурных ландшафтов в качестве фона сцены. Использование таких эффектов позволяет привнести в изображение сцены реальное ощущение пространства, погодных условий и создать необходимую атмосферу, повышающую визуальное правдоподобие изображения.

Рис. 15.30. Список параметров визуализации из командной строки
Чтобы получить доступ к средствам моделирования эффектов внешней природной среды, выберите команду Rendering > Environment (Визуализация > Внешняя среда) основного меню. Появится окно диалога Environment and Effects (Внешняя среда и эффекты), показанное на рис. 15.31, с которым вам уже приходилось работать в главе 11. Вкладка Environment (Внешняя среда) этого окна содержит три свитка: свиток Common Parameters (Общие параметры) с разделами Background (Фон) и Global Lighting (Общая освещенность), свиток Exposure Control (Управление экспозицией), а также свиток Atmosphere (Атмосфера).

Рис. 15.31. Вкладка Environment окна диалога Environment and Effects содержит полный набор средств для управления эффектами внешней среды
| СОВЕТ Для вызова этого окна можно просто нажать цифровую клавишу 8. |
Помимо уже знакомых вам по одиннадцатой главе функций настройки подсветки и управления экспозицией, это окно диалога обеспечивает также возможность настройки цвета фона сцены или выбора растрового изображения, которое будет представлять собой фон сцены, а также настройки параметров и имитации различных природных эффектов, таких как туман, объемный свет или горение.
В реальном мире не так
В реальном мире не так уж много объектов имеют однотонную окраску, которую так несложно воспроизвести с помощью простейших образцов стандартных материалов, подобных рассмотренным в предыдущей главе. Окраска большинства объектов имеет характерный рисунок, образующий подобие регулярного узора или имеющий вид набора пятен со случайным образом меняющимися формами и размерами, но вполне определенным подбором расцветок и яркостей. Такие характерные рисунки носят название текстур. Именно благодаря знакомой с детства текстуре мы легко узнаем на вид поверхность обработанной древесины, кожи, ткани или взволнованной воды, отличаем мрамор от гранита или известняка, бетон — от асфальта, а траву — от ковра из опавших листьев.
Для того чтобы вооружить разработчика трехмерной графики возможностью имитировать все это текстурное многообразие реального мира, в max 7.5 применяют текстурные карты. Программа имеет в своем составе 35 типов разнообразных карт текстур, а сами карты обладают таким количеством настраиваемых параметров, что оказывается возможным выполнить имитацию практически любого материала, имеющегося в природе или существующего только в вашем воображении.
|
ЗАМЕЧАНИЕ Текстурные карты, несмотря на название, не имеют никакого отношения ни к игральным, ни к географическим картам. Впрочем, с последними у них все же есть некое сходство: наличие координат. Хотя эти координаты и не обозначены явно на карте текстуры, считается, что они есть, и именно благодаря этим координатам программа оказывается способной правильно нанести текстуру на поверхность объекта. Текстурными координатами можно управлять, о чем вы узнаете в этой главе. |
Знакомимся с командной панелью Create
В предыдущей главе вы уже обращались к командной панели Create (Создать). Теперь настало время познакомиться с ней более подробно.
Командная панель Create (Создать), показанная на рис. 5.3, содержит инструменты для создания всех типов объектов mах 7.5.

Рис. 5.3. Командная панель Create с нажатой кнопкой Box
Панель включает следующие элементы:
Кнопки выбора категорий объектов. Расположены в верхней части панели и снабжены значками, иллюстрирующими их назначение. Щелчок на любой из этих кнопок вызывает набор инструментов для создания объектов соответствующей категории: Geometry (Геометрия), Shapes (Формы), Lights (Источники света), Cameras (Камеры), Helpers (Вспомогательные объекты), Space Warps (Объемные деформации) и Systems (Системы).
Раскрывающийся список разновидностей объектов. Его содержимое меняется соответственно выбранной категории. К примеру, если нажата кнопка Geometry (Геометрия), в списке содержится одиннадцать разновидностей геометрических объектов: Standard Primitives (Стандартные примитивы), Extended Primitives (Улучшенные примитивы), Compound Objects (Составные объекты), Particle Systems (Системы частиц), Patch Grids (Сетки кусков), NURBS Surfaces (NURBS-поверхности), Doors (Двери), Windows (Окна), Dynamics Objects (Динамические объекты), АЕС Extended (Улучшенные объекты для архитектурных, инженерных и конструкторских работ) и Stairs (Лестницы).
Свиток Object Type (Тип объекта). Содержит кнопки выбора типов объектов той разновидности, которая указана в раскрывающемся списке. Состав кнопок меняется соответственно выбранной разновидности объектов. При щелчке на любой кнопке свитка Object Type (Тип объекта) она фиксируется и подсвечивается желтым светом, а в нижней части панели появляются свитки характеристических параметров объекта выбранного типа.
Свиток Name and Color (Имя и цвет). Содержит текстовое поле имени и образец цвета выбранного объекта. С этим свитком вы уже работали в предыдущей главе.
| ЗАМЕЧАНИЕ Состав свитков в нижней части командной панели Create (Создать) и их содержимое меняется в зависимости от конкретного типа создаваемых объектов. |
В этой главе мы будем работать только с объектами из категории Geometry (Геометрия), которые составляют основу создания геометрических моделей трехмерных сцен.
Знакомимся с модулем Particle Flow
Наряду с простыми системами частиц в max 7.5 имеется также более сложный инструмент для создания эффектов, связанных с частицами, — Particle Flow (Поток частиц). Основное его отличие от других систем частиц mах 7.5 состоит в том, что он позволяет гибко управлять поведением частиц. Если при использовании обычных систем частиц все частицы ведут себя одинаково, по установленным для всех правилам, то с помощью Particle Flow (Поток частиц) ими можно управлять, основываясь на событиях (events). В составе каждого события присутствуют операторы (operators). Они определяют способ отображения частиц в окнах проекций, их форму, скорость, направление движения, наличие вращения и т. д. Обычно при настройке поведения частиц при помощи Particle Flow (Поток частиц) используется не одно, а несколько событий, которые объединяются в поток (flow). Для объединения событий служат специальные элементы — тесты (tests). Последние представляют собой критерии, по которым производится отбор частиц для перехода от одного события к другому. Тесты определяют условия перехода, например достижение определенной скорости, приближение на указанное расстояние к выбранному объекту и т. д. Если для частицы выполняется условие, которое задает тест, она переходит к следующему событию и ведет себя уже так, как определяют операторы этого события.
Таким образом, используя подобные гибкие элементы управления, можно создавать достаточно сложные сцены с частицами. Например, при достижении определенного возраста частицы могут изменять свою форму, а затем, набрав скорость, менять цвет.
Для того чтобы иметь возможность работать с потоками частиц, необходимо создать в окне проекции объект PF Source (Источник потока частиц) (рис. 7.56). Он создается точно так же, как и другие системы частиц, с которыми вы уже успели познакомиться. Для настройки потоков частиц используется окно Particle View (Просмотр частиц), которое можно вызвать щелчком по кнопке с таким же названием в свитке Setup (Настройка) объекта PF Source (Источник потока частиц), выбором команды меню Graph Editors > Particle View (Графические редакторы > Просмотр частиц) или нажатием клавиши 6.

Рис. 7.56. Значок PF Source в окне проекции
Окно диалога Particle View ( Просмотр частиц) можно условно разделить на четыре части:
панель событий, на которой отображаются события и связи между ними;
панель параметров, на которой отображаются настройки выбранного оператора или теста;
панель описания, на которой отображается действие выбранного элемента;
библиотека элементов, которая содержит все доступные операторы и тесты, которые можно использовать для управления потоком частиц.
Событие отображается на панели в виде прямоугольника, в котором можно увидеть названия всех операторов и тестов, которые в него входят (рис. 7.57). Любое событие можно отключить, щелкнув по значку лампочки в правом углу. Второй щелчок по этому значку вновь включит событие. Точно так же можно отключать отдельные операторы и тесты, которые входят в состав события. Для этого нужно щелкнуть по значку, который находится слева от названия оператора или теста. Отключенное событие, оператор или тест выделяется серым цветом (рис. 7.58).

Рис. 7.57. Окно диалога Particle View

Рис. 7.58. Оператор Speed отключен
Первым в списке событий всегда является глобальное событие {global event), именуемое так же, как источник потока частиц: PF Source 01 (Источник потока частиц 01), PF Source 02 (Источник потока частиц 02) и т. д. Глобальным оно называется потому, что все помещенные в его состав операторы оказывают действие на все без исключения частицы потока. Глобальное событие — единственное, которое имеет выход в виде квадратного выступа в левой нижней части рамки, а потому может быть связано с другим событием напрямую, без использования теста.
Все остальные события, кроме первого, называют локальными (local event) и именуются просто Event 01 (Событие 01), Event 02 (Событие 02) и т. д. Каждое локальное событие имеет вход в виде квадратного выступа в левой верхней части рамки, но не имеет выхода. Поэтому локальные события не могут связываться друг с другом напрямую. Для обеспечения такой связи в состав локального события обязательно должен быть включен хотя бы один тест. События могут размещаться на панели событий в любом порядке. Очередность их исполнения задается при помощи тестов, соединяющих события между собой. События соединяются тонкими линиями, каждая из которых одним концом указывает на тест одного события, а другим — на вход второго события. Если выделить один из элементов события, на панели параметров появятся его настройки. Для удобства основной параметр каждого оператора помещается в скобках после его названия. Так, для оператора Display (Отображение) этим параметром является способ отображения частиц. Настройка потока событий предполагает выполнение следующих операций:
настройку параметров отдельных операторов и тестов в свитках на панели параметров окна диалога Particle View (Просмотр частиц), для чего требуется предварительно выделить имя оператора (теста) в составе события;
добавление новых действий в состав имеющихся событий или удаление действий из состава событий;
изменение или удаление связей между событиями;
добавление новых событий и назначение их связей с имеющимися.
Добавление новых операторов или тестов в состав события можно выполнить несколькими способами;
путем перетаскивания из библиотеки элементов с помощью мыши (рис. 7.59);
с помощью меню события;
с помощью меню Edit (Правка) окна диалога Particle View (Просмотр частиц).

Рис. 7.59. Добавление нового теста в состав события
Если оператор или тест разместить вне любого из имеющихся событий, то на его основе будет автоматически образовано повое событие (рис. 7.60). В состав нового события помимо выбранного оператора или теста автоматически добавляется событие Display (Дисплей) (рис. 7.61).

Рис. 7.60. Размещение оператора Speed на свободном участке панели событий

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

Рис. 7.62. Связывание событий: курсор изменил форму при помещении его на выход теста
Затем следует перетащить курсор ко входу второго связываемого события и установить его на кружок над входом. Курсор снова примет вид четырехконечной стрелки (рис. 7.63).

Рис. 7.63. Связывание событий: курсор изменил форму при помещении его на вход события
Затем нужно отпустить кнопку мыши, и выход теста первого события будет связан со входом второго события (рис. 7.64).

Рис. 7.64. События связаны
Знакомимся с модулем reactor
Дополнительный модуль reactor (Реактор) компании Havok входит в комплект поставки программы max 7.5 и устанавливается с этой программой автоматически, не требуя каких-либо специальных действий. Если установлена программа max 7.5, значит, установлен и модуль reactor (Реактор). Модуль не требует отдельной авторизации.
Модуль reactor (Реактор) позволяет:
имитировать визуально правдоподобные взаимодействия трехмерных тел с учетом таких воображаемых физических свойств объектов, как масса, упругость, жесткость, коэффициент трения и т. п., а также действия на объекты таких сил, как тяжесть, ветровое давление, сопротивление воздуха, вращающий момент, архимедова сила и т. п.;
учитывать начальные условия движения тел, заданные средствами традиционной анимации, на момент начала имитационных расчетов, то есть обеспечивать стыковку традиционной анимации с имитацией модуля reactor (Реактор);
предварительно просматривать созданную анимацию в специальном окне, обладающем интерактивными возможностями;
автоматически генерировать ключи анимации для объектов трехмерной сцены, после чего можно просматривать готовую анимацию в окнах проекций или выполнить ее визуализацию стандартными средствами max 7.5.
Знакомимся с модулем визуализации mental ray
При выборе в качестве текущего визуализатора модуля mental ray в окне диалога Render Scene (Визуализация сцены) исчезает вкладка Raytracer (Трассировщик), но появляются новые вкладки Indirect Illumination (Непрямое освещение) и Processing (Обработка). Кроме того, полностью меняется содержимое вкладки Renderer (Визуализатор).
Подробное рассмотрение настроек визуализатора mental ray выходит за рамки этой книги. Здесь мы рассмотрим только некоторые его возможности, которые касаются имитации различных эффектов визуализации.
Знакомимся с окном диалога Track View
Окно диалога Track View (Просмотр треков) является основным инструментом настройки анимаций и служит для редактирования параметров любых ключей анимации, имеющихся в сцене в пределах временного сегмента. Оно дает возможность назначать или менять контроллеры ключей анимации, управлять скоростью и характером изменения анимируемых параметров, положением существующих ключей на шкале времени, а также создавать, удалять, копировать, перемещать и вставлять ключи анимаций. Кроме того, окно Track View (Просмотр треков) предоставляет полный перечень всех элементов сцены, позволяет добавлять к анимации звуковую дорожку, добавлять и редактировать комментарии, а также управлять видимостью объектов сцены.
Это окно представлено в max 7.5 в двух разновидностях: Track View — Curve Editor (Просмотр треков — Редактор кривых) и Track View — Dope Sheet (Просмотр треков — Диаграмма ключей).
Окно Track View — Curve Editor (Просмотр треков — Редактор кривых) специализировано для просмотра и редактирования функциональных кривых анимации. Окно Track View — Dope Sheet (Просмотр треков — Диаграмма ключей) также позволяет редактировать анимацию, представленную, однако, не в виде кривых, а в виде треков с размещенными на них значками анимационных ключей или в виде диапазонов действия этих ключей. Обе разновидности окна Track View (Просмотр треков) могут свободно переключаться из режима редактирования кривых в режим диаграммы ключей, и наоборот, то есть являются полностью взаимозаменяемыми. Фактически это два воплощения одного и того же окна, два его обновленных лика.
Знакомимся с Редактором материалов
Вся работа по настройке параметров материалов в max 7.5 выполняется с использованием единого универсального инструмента — окна диалога Material Editor (Редактор материалов).
Редактор материалов — это немодальное окно диалога, снабженное удобным интерфейсом, обеспечивающим высокую продуктивность работ по созданию и редактированию материалов.

Для вызова окна Редактора материалов следует выполнить команду меню Rendering > Material Editor (Визуализация > Редактор материалов) или щелкнуть на кнопке Material Editor (Редактор материалов) панели инструментов.
Основными элементами окна диалога Material Editor (Редактор материалов), показанного на рис. 13.3, являются ячейки образцов материалов, кнопки инструментов управления Редактором материалов и свитки параметров.

Рис. 13.3. Окно диалога Material Editor
Знакомство с прочими вспомогательными объектами модуля reactor
Помимо коллекций и ограничителей в число прочих вспомогательных объектов модуля reactor (Реактор) входят:
Plane (Плоскость) — позволяет создать невизуализируемую плоскость, которая служит преградой для перемещения жестких тел, если они перемещаются в направлении навстречу нормали плоскости. У этой плоскости можно настраивать свойства коэффициента трения и эластичности. Несмотря на ограниченный размер значка, размеры плоскости считаются неограниченными в пространстве;
Motor (Мотор) — служит источником крутящего момента, который вызывает вращение жесткого тела, связанного с данным объектом, вокруг заданной оси с заданной угловой скоростью;
Wind (Ветер) — служит источником ветра, который может деформировать объекты геометрической модели, включенные в коллекции тканей и нитей. Ветер имеет множество анимируемых параметров, таких как скорость, наличие и сила порывов, ограничение зоны действия и т. п.;
Toy Car (Машинка) — предназначен для анимации моделей автомобилей, имеющих кузов и колеса. Несмотря на то что модель автомобиля можно настроить и с помощью ограничителя Car-Wheel Constraint (Ограничитель Машина-колесо), вспомогательный объект Toy Car (Машинка) позволяет сделать это быстрее и проще. Совокупность геометрических объектов, изображающих кузов и колеса автомобиля, после связывания со вспомогательным объектом Toy Car (Машинка) ведет себя как игрушечная машина без мотора. Такая модель может реалистично скатываться с горки или катиться по плоской поверхности по инерции, если перед началом расчетов модулем reactor придать ей движение методом традиционной анимации;
Fracture (Обломки) — служит для создания анимаций, в которых жесткое тело разваливается на заранее подготовленные части при столкновении с другим жестким телом.
Отдельные параметры вспомогательного объекта Wind (Ветер) будут рассмотрены далее в разделе «Имитация тканей модулем reactor». Подробное рассмотрение всех прочих вспомогательных объектов выходит за рамки данного издания. При необходимости обращайтесь к справочной системе 3ds max.
Бизнес в интернете: Сайты - Софт - Языки - Дизайн
- Киберсантинг
- Киберсантинг как бизнес
- Виды Киберсантинга
- Создание игр
- Дизайн как бизнес
- Dreamweaver
- PHP
- Homesite
- Frontpage
- Studio MX
- Сайтостроительство
- Citrix MetaFrame
- Стили сайта
- ActiveX на сайте
- HTML как основа сайта
- Adobe GoLive
- Что такое WEB
- Мобильные WAP сайты
- 3D графика на сайтах
- 3DS MAX графические решения
- Графика в 3D Studio MAX и на сайте































