Программа 3ds max 7 позволяет анимировать практически все свойства и параметры различных трехмерных объектов: отображение, деформацию, перемещение, прозрачность и т. д.
В трехмерном редакторе есть несколько способов анимировать неподвижное изображение. Самым простым из них является анимация при помощи ключевых кадров, которая имеет множество способов тонкой настройки. Следующий тип — анимация на основе связанных объектов, когда создается анимационная иерархия (цепочка) объектов, состоящая из подчиненных (дочерних) и родительских объектов. Объекты в иерархии, связанные между собой, называются узлами, а также имеют корень — объект, который не связан с другими, но с ним связаны все дочерние. Причем дочерний объект может наследовать родительские преобразования как полностью, так и частично. Например, родительский объект вращается и перемещается, а дочерний может только вращаться или только перемещаться — это называется ограничением преобразования. Следующий тип анимации — создание персонажных сборок, которые представляют собой наборы моделей костей и цепочки объектов. Также известен такой метод, как анимация с помощью специальных модификаторов анимации. Еще один вид анимации — анимация физических свойств объектов при помощи модуля Reactor (Реактор). Подключаемый модуль Character Sudio может быть использован для анимации персонажей.
Преобразуйте все объекты в редактируемую сетку, присоединив командой Attach (Присоединить) колеса к осям. Расположите все объекты согласно схеме . Присвойте объектам какие-либо стандартные материалы, входящие в поставку 3ds max 7. Назовите модели осей Osy и Osy1, а верхней частл тележки — Panel.
3. Нажмите кнопку Auto Key (Автоматический ключ) на панели треков. Введите в поле Animation Playback Control (Управление анимацией) число 50, создав второй ключевой кадр. Указатель текущего кадра переместится на пятидесятый кадр. Сместите объект Panel на несколько сантиметров по направлению движения модели (по оси X). Теперь введите в окно число 100 — указатель кадра переместится на сотый (последний в линейке) кадр. Верните объект Panel на место, где он находился. Разблокируйте кнопку Auto Key (Автоматический ключ) и запустите анимацию. Теперь объект Panel за время анимации будет перемещаться по оси X вперед и возвращаться назад.
4. Теперь нажмите кнопку Select and Link (Выбрать и связать). Наведите курсор на одну из осей, он примет вид двух соединенных квадратов. Нажав кнопку мыши и не отпуская ее, установите курсор на вторую ось модели. Объект на секунду окрасится белым цветом — это означает, что связь между объектами установлена. Следом выделите вторую ось и точно так же свяжите ее с объектом Panel. Таким образом, объект Panel станет родительским объектом в цепочке, и два дочерних унаследуют его перемещение. Можно создать эффект качения колес, повернув их вокруг своих центров на ключевых кадрах модели осей с колесами.
5. Запустите анимацию, сохранив ее в файле Linl_obj1.avi. Теперь, чтобы посмотреть иерархическую структуру связей, нажмите кнопку Schematic View (Схематический вид) панели инструментов. Отобразится структура сцены в виде схемы со связями. В ней можно просмотреть всю сцену или только связанные объекты. Кроме того, с помощью этого диалогового окна можно создавать и разрывать связи, а также создавать и перемещать точку опоры преобразования объектов.
Для управления различными видами анимации в программе 3ds max 7 существуют контроллеры. Они предназначены для ограничения преобразования одного объекта относительно других (поэтому их иногда называют ограничителями). Контроллеры обусловливают схему управления анимацией объектов. Например Rotation XYZ — это один из простейших контроллеров, управляющий вращением объекта анимации относительно трех осей координат. Контроллеры могут управлять как одним треком анимации, так и одновременно несколькими.
Для присвоения контроллера какому-либо параметру объекта нужно открыть подменю Animation ► Constraint (Анимация ► Контроллеры и ограничители) и из предложенного списка выбрать нужный ограничитель. Кроме того, контроллер может быть присвоен с помощью вкладки Motion (Движение). Выделив анимированный объект и перейдя на эту вкладку, нужно открыть свиток Assign Controller (Присвоение контроллера). Далее необходимо щелкнуть левой кнопкой мыши на имени трека преобразования (а не на значке трека) и нажать кнопку со знаком вопроса Assign Controller (Присвоить контроллер) . Откроется окно со списком всех доступных контроллеров. При выборе нужного его имя отобразится в списке треков.
Назначить контроллер можно также открыв окно Dope Sheet (Монтажный стол) или Curve Editor (Редактор кривых): в нем нужно выделить соответствующий трек анимации объекта, щелкнуть правой кнопкой мыши и выбрать в контекстном меню команду Controller ► Assign (Контроллер ► Назначить).
О некоторых видах контроллеров стоит рассказать поподробнее.
D Контроллер Bezier (Безье) назначается некоторым анимируемым параметрам объекта по умолчанию. Он включает настройку значений между ключевыми кадрами при помощи кривой Безье, которая имеет две касательные с маркерами и позволяет плавно регулировать кривую значений.
□ Контроллер ТСВ также работает с кривыми анимационных путей, однако кроме всего прочего позволяет управлять формой кривой при помощи параметров Tension (Напряженность), Bias (Наклон) и Continuity (Непрерывность). Изменение этих параметров соответствующим образом отражаются на форме кривой .
D Noise (Шум) служит для присвоения случайных значений параметрам трека. Установки Frequency (Частота), Seed (Начальное значение) и Strength (Сила) определяют величину неравномерности, случайности и значения шума вдоль каждой оси соответственно .
□ Контроллер Audio (Звук) позволяет добиться интересных эффектов анимации, управляя значениями контроллер можно использовать, например, для анимации вибраций диффузора динамика в такт звуку, доносящемуся из пего.
□ Path Constraint (Ограничитель пути) используется для задания сплайнового пути, по которому будет двигаться объект. Объект можно жестко привязать к определенному сплайну, после чего он будет повторять своим движением его первоначальную форму, даже после изменения сплайна. Объект передвигается по пути таким образом, что его точка опоры всегда находится на указанном пути. Поэтому лучше заранее расположить точку опоры объекта в нужном месте.
LookAt (Следить за) — этот контроллер оказывает воздействие на все треки анимации объекта, и одна из его локальных осей будет всегда направлена на выбранный объект. Для этого, назначив объекту соответствующий контроллер, необходимо указать ось следящего объекта, которой он будет направлен на выбранный. Использовать такой ограничитель можно, например, в случае анимации слежения прожектора за движущимся объектом. Необходимо помнить, что если точка цели контроллера LookAt (Следить за) будет проходить выше или ниже опорного центра объекта, то объект перевернется.
□ Ограничитель Link (Связь) может быть использован для управления иерархическими связями. Например, с его помощью можно поменять положение связи «дочерний — родительский объект» прямо в процессе анимации. Связь, созданная назначением этого контроллера, меняется в заданном кадре с помощью значения Start Time (Начальный момент).
О других контроллерах, описание которых выходит за рамки данной книги, можно прочитать в справочном руководстве по 3ds max 7.
Для закрепления материала — несколько практических примеров. Следующая сцена демонстрирует применение ограничителя Link Constraint (Ограничитель связи).
1. Для работы с контроллером создайте сцену из четырех примитивов типа Tube (Труба) и одного цилиндра. Назначьте им какие-либо текстуры из числа стандартных материалов, входящих в поставку 3ds max 7.2. Последовательность анимации будет состоять из двухсот кадров, поэтому внесите соответствующие изменения во временные параметры Time Configuration (Конфигурация времени). С помощью анимации, основанной на автоматических ключах, заставьте созданные кольца вращаться с первого по последний кадр.
Связать объекты в программе 3ds max 7 можно при помощи кнопки Select and Link (Выбрать и связать), а разъединить при помощи кнопки Unlink Selection (Разбить выделение). После связывания дочерний объект (тот, который выделен первым) наследует преобразования родительского. Объект, выделенный последним, является корнем цепочки связанных объектов н не наследует преобразования других объектов цепочки. На компакт-диске в папке Glava5\Animation можно найти пример анимации связанных объектов — файл Link_obj.avi. Для закрепления понятия об анимации связанных объектов можно разобрать небольшой пример. 1. Создайте в 3ds max 7 простейшую сцену из примитива Box (Параллелепипед),
четырех объектов Chamfer Cyl (Срезанный цилиндр) и двух Cylinder (Цилиндр)!
Соберите их так, чтобы они представляли собой модель тележки с четырьмя
колесами на двух осях.
Редактор трехмерной графики 3ds max 7 предлагает к использованию два вида программных камер.
□ Free Camera (Свободная камера) создается без точки нацеливания и обладает рядом параметров, включая набор стандартных линз , а также возможность вручную изменять фокусное расстояние.
□ Target Camera (Нацеленная камера) имеет те же параметры, что и свободная, но, кроме того, у нее есть точка нацеливания, благодаря которой камеру можно направлять на конкретный объект, меняя при этом положение камеры в пространстве.
Параметр Lens (Объектив) в свитке Parameters (Параметры) определяет фокусное расстояние виртуального объектива, а в поле FOV (Поле зрения) можно изменить угол обзора камеры.
Чтобы установить камеру в сцену, на вкладке Create (Создать) командной панели нужно щелкнуть левой кнопкой мыши на кнопке Cameras (Камеры),
далее в свитке с параметрами, нажав нужную кноп--ку, выбрать тип камеры — Target (Нацеленная) или Free (Свободная), а затем щелкнуть левой кнопкой мыши, установив курсор в любое из видовых окон сцены. Причем для установки нацеленной камеры придется указать точку нацеливания, не отпуская кнопку мыши.
Чтобы в видовом окне получить вид из камеры, нужно щелкнуть правой кнопкой мыши, подведя курсор к названию окна, и из контекстного меню выбрать нужный вид .
Один из следующих параметров камеры, которые могут понадобиться при создании и съемке виртуальных интерьеров, — Clipping Planes (Плоскости отсечения). Находится он в списке параметров камеры 3ds max 7. С помощью этого инструмента можно отсечь ненужную при визуализации часть сцены, указав ближнюю и дальнюю границы отсечения . Например, если необходимо визуализировать сцену закрытого помещения без существенных перспективных искажений, а размеры сцены и угол обзора камеры не позволяют этого сделать, приходится либо скрывать одну из стен модели помещения, чтобы на открывшееся пространство поместить камеру, либо использовать плоскости отсечения. При использовании отсекающих плоскостей необходимо установить флажок Clip Manually (Ручное отсечение).
Камерой в программе 3ds max 7 можно управлять, как и любым другим объектом, то есть перемещать и вращать ее стандартными инструментами. Кроме того, у камер есть свои элементы управления, позволяющие поворачивать камеру относительно линии горизонта, уменьшать или увеличивать эффект перспективы и вращать камеру по орбите вокруг объекта. Эти элементы управления появляются в правом нижнем углу основного окна программы, если камера выбрана в видовом окне.
Нельзя не упомянуть о таком параметре виртуальной камеры в программе 3ds max 7, как Depth of Field (Глубина резкости). Использование этого эффекта приближает изображение, полученное путем визуализации в редакторе трехмерной графики, к реальному фотографическому путем размывания объектов, расположенных слишком близко или слишком далеко от камеры. Чтобы включить этот эффект, нужно установить флажок Enable (Активировать) в области Multi-Pass Effect (Многопроходные эффекты) и из раскрывающегося списка выбрать Depth of Field (Глубина резкости).
NURBS-поверхности и кривые являются отдельными объектами программы 3ds max 7. Что же такое NURBS-поверхности? NURBS (Non-Uniform Rational B-Splines — неоднородные рациональные В-сплайны), как уже было сказано выше,хорошо подходят для создания органических поверхностей, дают возможность неплохого интерактивного контроля над объектом, хотя и не так просты в использовании. Применение NURBS-поверхностей позволяет достичь лучших результатов при моделировании объектов со сглаженными формами, нежели приемы полигонального моделирования.
В программе 3ds max 7 NURBS-объекты представлены двумя видами поверхностей и кривых.
□ CV-кривые (кривые с контрольными вершинами) — содержат управляющую решетку с вершинами, с помощью которых можно изменять форму отдельной кривой или всей поверхности.
О Точечные кривые — подобно обычным кривым, строятся по контрольном точкам, которые позволяют более тонко, чем в случае с обычными сплайнами, управлять формой кривой или поверхности.
Точно так же поверхности NURBS подразделяются на точечные и CV (с контрольными вершинами), сохраняя свои свойства аналогично кривым. Они состоят из набора NURBS-кривых, связанных между собой. В NURBS-объекты можно преобразовывать сплайны и стандартные примитивы 3ds max. Например из плоскости, преобразованной в NURBS-поверхность, как и из NURBS-поверхности, можно создать симпатичный кусок ткани, например, платок .
Как NURBS-поверхности и кривые, объект Editable Mesh (Редактируемая сетка) довольно часто используется для моделирования определенного вида объектов. В данной книге, так как она предназначена в основном для начинающих, описан совсем простой пример использования редактируемой сетки. В следующем примере используется модификатор Edit Mesh (Редактировать стеку); трехмерный объект, к которому он применен, обладает всеми свойствами редактируемой сетки, но если преобразовать объект в Editable Mesh (Редактируемую сетку), то все модификации, которые осуществлялись с ним ранее, окажутся недоступны. При назначении модификатора, напротив, к любому из модификаторов есть возможность вернуться, так как они не исчезают из стека.
Объект Editable Mesh (Редактируемая сетка) предназначен для создания основных форм трехмерных моделей. Он не является параметрическим объектом, то есть у него нет параметров, как, например, у примитивов. Модификация объектов Editable Mesh (Редактируемая сетка) осуществляется с помощью подобъектов Vertex (Вершина), Edge (Ребро), Face (Грань), Polygon (Многоугольник), Element (Элемент). Подобъекты доступны на вкладке Modify (Модификация) командной панели при открытии списка. Практически любой трехмерный объект можно преобразовать в редактируемую сетку. После преобразования его можно использовать для полигонального моделирования.
Одна из особенностей работы с редактируемой сеткой — использование так называемого мягкого выделения (Soft Selection). Оно применяется для создания сглаженных кривых на каркасном объекте. Мягкое выделение создается как область влияния вокруг выделенного объекта. Размер области влияния задается параметром Falloff (Спад), форма спада — параметрами Bubble (Пузырь) и Pinch (Сжатие). Недостатком мягкого выделения является то, что все выполненные с его помощью преобразования являются необратимыми.
Было бы нелишним немного улучшить для будущей визуализации витрину бара. Ее стеклянная часть создана из цельного куска и после назначения ей стеклянного материала она не будет смотреться пустой внутри. Для устранения этого недостатка можно воспользоваться булевыми объектами.
1. Откройте файл Full_Bar_Dec.max или загрузите его с компакт-диска из папки Office_Cafe\Exercises\Glava2. Выделите группу Bar&Win и откройте ее. Далее выделите сгруппированную витрину (Win_Bar) и также откройте ее. Выделите объект GI_Win, создайте его копию и нажмите кнопку Select and Uniform Scale (Выбрать и изменить масштаб) в главной панели инструментов, затем клавишу F12. В открывшемся диалоговом окне Scale Transform Type-In (Ввод данных преобразования масштабирования) в поле Offset: Screen (Смещения: экран) введите значение 99,5. Копия уменьшится на 0,5 % от размера оригинала.
2. На вкладке Create (Создать) командной панели нажмите кнопку Geometry (Геометрия) и выберите из списка пункт Compound Objects (Составные объекты), выделите в сцене объект GI_Win и нажмите кнопку Boolean (Булевы операции). В свитке параметров щелкните левой кнопкой мыши на кнопке Pick Operand В (Указать операнд В) и щелкните мышью в сцене на объекте Gl_Win0l. В поле Operation (Операция) установите переключатель в положение Substraction A-B (Вычитание А-В). Объект GI_Win01 будет вычтен из GI_Win, и останется пустая внутри форма толщиной около 0,3 см. После назначения материала это будет видно. При этом стекло витрины станет булевым объектом. Закройте обе группы объектов и сохраните файл как Full_Bar_Dec1.max.
Рассмотрим еще один способ моделирования трехмерных объектов — булевы операции. Они находятся в списке составных объектов и позволяют производить операции вычитания, объединения и другие между двумя и более объектами. Для описываемого проекта дизайна кафе эти операции пригодятся при создании потолка помещения. Нам нужно создать трехмерную модель двухуровнего подвесного потолка примерно 25 см высотой. По периметру помещения расположен короб, ближе к бару находится круглая вставка из натяжного потолка и далее в глубине будет второй уровень прямоугольной части потолка. Потолок удобнее создать в отдельном файле, а затем присоединить к главной сцене, чтобы пока не загромождать ее. Для моделирования потолка проделайте следующее.
1. Откройте файл Index.max. В окне вида Тор (Сверху) создайте примитив Box (Параллелепипед) длиной 905 см, шириной 560 см, высотой 25 см. Координаты его расположения (0; 0; 0). Это будет основа потолка, дайте ей название Ceil_Base. Теперь в том же видовом окне создайте примитив Cylinder (Цилиндр) радиусом 180 см и высотой 50 см. Назовите созданный цилиндр Bool_Oper — это будет операнд, с помощью которого, применяя булеву операцию вычитания, создается отверстие в основе потолка. Выделив объект Bool_Oper, разместите его на потолочном коробе так, чтобы по осям X и Y цилиндр находился посередине примитива . Далее переместите цилиндр по оси Z так, чтобы он вдвинулся в параллелепипед потолка, выступая с двух сторон . Затем выделите параллелепипед основания потолка, нажав кнопку Geometry (Геометрия) на вкладке Create (Создать) командной панели, выберите из списка пункт Compound Objects (Составные объекты) и нажмите кнопку Boolean (Булевы объекты). Имя выделенного примитива отобразится в поле Name and Color (Имя и цвет). Нажмите в свитке параметров кнопку Pick Operand В (Указать операнд В) и, наведя указатель в любом видовом окне на цилиндр, нажмите левую кнопку мыши, проследив, чтобы в поле Operation (Операция) переключатель стоял в положении Substraction А-В (Вычитание А-В). Объект станет булевым, операнд, который вычитался, исчезнет, а в месте его расположения образуется отверстие размером с него.
2. Создайте в окне Тор (Сверху) стандартный примитив Tube (Труба), уточнив параметры в панели модификации. Дайте объекту название Dec_Cel — это будет элемент декора потолка. Расположите его по горизонтали в центре вырезанного отверстия буле-вого объекта, а по вертикали так, чтобы он на половину своей высоты поднимался над основой потолка.
3. Теперь можно добавить украшение круглого выреза в потолке в виде молдинга. Он будет создан как объект лофтинга, выдавленный по круглому пути. На виде Тор (Сверху) постройте замкнутый сплайн по ширине примерно 13,5 см, а по высоте 19,5 см. Дайте ему название For_L_Ceil. На том же виде в качестве пути лофтинга создайте сплайн Circle (Окружность) радиусом 184 см, назовите его Path_L_Ceil. Выделите форму лофтинга, выберите на вкладке Create (Создать) командной панели категорию объектов Compound Objects (Составные объекты) и нажмите кнопку Loft (Опорные сечения). В свитке параметров щелкните на кнопке Get Shape (Указать форму) и на любом виде (удобнее вид сверху) выберите, щелкнув кнопкой мыши, путь лофтинга в виде окружности. В свитке Skin Parameters (Параметры кожи) в поле Path Steps (Шаги пути) области Options (Опции) введите значение 15. Благодаря этому форма молдинга станет более сглаженной. Назовите полученный
объект Dec_Corn и поместите его в отверстие на основе потолка так, чтобы его верхняя грань совпадала с верхней гранью основы .
Второй уровень потолка моделируется из примитива типа Box (Параллелепипед) и прямого молдинга в виде объекта лофтинга. В окне Тор (Сверху) создайте примитив Box (Параллелепипед) шириной 560 см, длиной 255 см и высотой 20 см. Назовите примитив Lev_T_Ceil и расположите его на той части основы потолка, которая будет находиться над баром,двинув вниз по оси Z на свою высоту, чтобы он касался потолочной основы. Далее из замкнутого сплайна создайте объект лофтинга, выдавленный по прямой , и поместите в угол между объектом Lev_T_Ceil и основой потолка. Назовите созданный объект Dir Mol.
Завершающую часть потолочной конструкции — тонкий молдинг по периметру первого уровня — попробуйте смоделировать самостоятельно методом лофтинга. Сечение сделайте 2,5 см в ширину и 3,5 см в высоту . Форму, по которой будет происходить выдавливание, постройте из открытого сплайна и расположите по периметру потолка в виде
буквы П. Новый объект назовите Th_Mol. Сохраните файл как Ceiling_Bar.max
и закройте программу.
Следующее действие — моделирование витринного стекла. Форма стекла строится как замкнутый сплайн типа Line (Линия), состоящий из восьми сегментов (и соответственно из восьми точек) (рис. 2.48). Вершины 1, 2, 3, 4 имеют тип Corner (Угол), вершины 5, 7, 8 — тип Bezier (Безье), а вершина 6 — тип Smooth (Сглаживание). После этого, применяя модификатор Extrude (Выдавить), получите объемную фигуру из сплайна величиной 96 см. Назовите модель GI_Win, установите флажок Generate Mapping Coords (Генерировать координаты карты). Объект получился внутри не полым. Далее в других разделах описываются инструменты, с помощью которых можно сделать модель витрины полой внутри. В данном случае нет надобности строить более детальные модели, поскольку практически все объекты сцены будут расположены на определенном расстоянии от камеры, к тому же задача состояла в том, чтобы создать трехмерные модели, сходные с оригинальной мебелью лишь по форме. Кроме того, сцена будет достаточно насыщена объектами, и если строить модели со стопроцентной реалистичностью, то есть вероятность продолжительное время ждать визуализации даже на компьютерах с хорошей производительностью.
4. Теперь осталось отстроить боковые стенки витрины, передние накладки на стекло и полки, расположенные внутри витрины. Выделив в панели модификации сплайн GI_Win, дублируйте его, присвойте копии имя L_GI_Pan и с помощью модификатора Extrude (Выдавить) получите трехмерный объект толщиной 1 см. Клонируйте вновь созданную модель, дайте полученной копии
имя R_GI_Pan и разместите обе боковые стенки витрины по правую и левую стороны от объекта Gl_Win между ним и боковой панелью.
5. Накладки на стекло моделируются двумя примитивами Box (Параллелепипед): Br_Bot — шириной 98 см, высотой 15 см и толщиной 2 см; Br_Fr — шириной 98 см, высотой 10 см и толщиной 2 см. Поместите модели накладок на модель витрины и совместите друг с другом так, чтобы между ними не было зазора.
6. Последний штрих в создании витрины — моделирование стеклянных полок, которые будут находиться внутри нее. На виде сверху создайте два параллелепипеда. Толщина у обоих будет 1 см, а ширина — 94 см. Один будет иметь глубину 50 см, а второй — 67 см. Поместите новые объекты внутрь витринного стекла. Следующим действием примените к каждому из созданных примитивов модификатор Edit Mesh (Редактирование сетки). Раскрыв список подобъектов, выделите Vertex (Вершина) и инструментом Select and Move (Выделить и переместить) путем перемещения вершин примитива совместите грани моделей полок с гранями витрины . Закройте список подобъектов. Назовите объекты Win_GI_Shelf 1 и Win_GI_ Shelf 2. Визуализируйте сцену, посмотрите результат. Выделив все объекты, из которых состоит витрина, создайте из них группу Win_Bar. Сохраните файл как Gl_Win._Bar.max, закройте программу. Файл GI_Win_Bar.max с готовой моделью витрины находится на компакт-диске в папке Office_Cafe\ Exercises\Glava2.