Анимация и моделирование трехмерного объекта в Autodesk 3ds max 2009

Вестник Сыктывкарского университета. С ер Л. Вып.15.2012

УДК 519.6

АНИМАЦИЯ И МОДЕЛИРОВАНИЕ ТРЕХМЕРНОГО ОБЪЕКТА В АиТОБЕБК ЗБв МАХ 2009

Н. К. Попова, Т. А. Огирчук

Описывается процесс трехмерного моделирования живого объекта в среде Агйос^к Зс18 Мах 2009 . В качестве персонажа был выбран символ города Сыктывкара - бурый медведь. В рамках решения задачи потребовалось: изучить внешний облик и движение персонажа; создать трехмерный объект; реализовать внешние особенности; выполнить анимацию объекта.

Ключевые слова: трехмерное моделирование, анимация.

1. Изучение внешнего облика.

Бурый медведь имеет мощное тело с высокой холкой; голова массивная с небольшими ушами и глазами. Хвост короткий - 65-210 мм, едва выделяющийся из шерсти. Лапы сильные с мощными, невтяжными когтями длиной 8-10 см, пятипалые, стопоходящие. Шерсть густая, равномерно окрашенная. Из-за длинной шерсти и обильных жировых запасов медведь кажется неуклюжим, но может быть стремительным и ловким.

При необходимости способен быстро и долго бежать со скоростью до 56 км/ч, прекрасно плавает, преодолевает бурлящие горные реки и морские проливы, хорошо лазает по деревьям. Окраска бурого медведя очень изменчива. Цвет меха варьирует от светло-палевого до синеватого и почти чёрного. Самой обычной является бурая форма. [4]

Схема строения тела четвероногого животного напоминает мост (рис.1). Передние опоры состоят из плеч и передних ног, а задние -из таза и задних ног. Таз расположен с наклоном вниз (рис. 2).

Попова Н. К., Огирчук Т. А., 2012.

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

Передние лапы медведя обладают большей свободой движений, позволяющей им отводить лапы в сторону. Плечевая кость поворачивается в плечевом суставе, позволяя атаковать удар сбоку. На рисунке 4 показана схематичная передняя лапа медведя. Тело медведя расположено горизонтально и опирается на землю четырьмя ногами. [3] Рис.4

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

2. Средства разработки

2.1. Создание примитивных объектов. Термин объект

в Autodesk 3ds Max 2009 (далее 3ds Max ) относится к любым элементам виртуального трехмерного мира, к которым могут применяться преобразования и модификаторы. Стандартными примитивами 3ds Мах являются объекты категории Геометрии (Geometry), к которым относятся тела правильной геометрической формы: параллелепипед, сфера, пирамида, конус, тор, цилиндр, капсула и другие.[2]

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

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

Например, используя модификатор Изгиб

(Bend), изгибающий объект относительно заданной координатной оси, преобразуем конус в коготь (рис. 5). Широкие возможности для преобразования стандартных примитивов дает модификатор Правка полисетки (Edit Poly).

Рис.5

2.2. Моделирование при помощи вершин. Создавая примитивные объекты, указывает не только длину, высоту и ширину объекта, но и количество сегментов по длине и ширине (Length Segs и Width Segs). Эти параметры задают количество полигонов. Полигон (polygon) — множество из одной или более смежных граней, лежащих в одной плоскости. Сетчатые оболочки множества трехмерных тел состоят из треугольных граней и называются просто сетками (mesh).

Вершины Ребра Грани Полигоны Поверхности

Рис.6

Сетку, составленную из полигонов, называют полигональной сеткой, или полисеткой, или каркасом.

Вершина (vertex) — это точка, в которой соединяется друг с другом конечное число ребер. Ребро (edge) — линия границы грани. Грань (border) — это участок плоскости треугольной формы, являющийся элементарной ячейкой поверхности.

Переведение объекта в режим п Правка полисеткип (Edit Poly) позволяет редактировать каркас объекта на уровне вершин, ребер, граней и полигонов. Любой параметрический трехмерный объект 3ds Мах из категории Geometry может быть переоведен в режим Edit Poly. При этом такой объект перестает быть параметрическим и в дальнейшем

модифицируется как полисетка.

Манипуляции вершинами — это основной

элемент управления каркасом. Трансформация вершин приводит к перемещению, вращению и масштабированию граней и ребер. В итоге получили каркас схожий с формами медведя (рис. 7). [1] Рис.7

2.3. Группировка объектов. При объединении объектов образуются скрытые части, не участвующие в представление каркаса. Например, при объединении головы и носа часть объекта скрывается, и не учуствуют в дальнейших операциях с объектом (рис. 8а). Трехмерная графика очень ресурсоемка и, если такие скрытые части не удалять, то память будет использоваться не рационально. Для удаления скрытых частей используются объекты типа Boolean. К булевым операциям в 3ds Мах относятся: объединение, исключение (отрицание), пересечение, вырезка, расщепление, уточнение. Для удаления части носа используется булева операция - исключение, (А—В, где А — это нос, а В — это голова) (рис. 86).

Рис.8а

Рис.86

2.4. Создание шерсти с помощью модификатора Hair and

Fur. Яркой внешней особенностью медведя является густая, длинная шерсть. Моделирование волосяного покрова — процесс очень сложный. Реализовать эту задачу вручную практически невозможно ни одним из известных способов моделирования. Каждый волосок будет являть собой отдельную трехмерную кривую. Придется создать огромное количество сплайнов и разместить их в нужном порядке. [2]

Модуль Hair and Fur (Волосы и шерсть)1 имитирует поведение волос. Основываясь на заданных параметрах длины волос, области размещения волосяного покрова, направления роста волос, программа сама просчитает геометрию и даже динамику массы волос.

После назначения модификатора Hair and Fur объект будет окружен некоторым количеством кривых, которые показывают приблизительное расположение будущих волос на поверхности модели (рис.9). Настраиваем параметры шерсти с использованием числовых значений счетчиков в настройках модификатора Hair and Fur, а так же с использованием инструментов окна Style (Стиль).

С помощью настроек задаем цвет кончиков волос, цвет корней волос, их количество.

3. Анимация персонажа

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

3.1. Анимация по методам прямой и обратной кинематики.

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

1 Модуль Hair and Fur (Shave And A Haircut) создал Джозеф Альтер. В настоящее время данный модуль встроен в ЗБ-редактор Softimage XSI, а также выпускается как дополнение для программы Мауа.

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

Прямая кинематика (Forward Kinematics) — метод управления движением объектов, связанных в иерархическую цепочку, при котором движение задается перемещением объекта-предка и распространяется на все дочерние объекты. Обратная кинематика (Inverse

Kinematics) — метод управления движением иерархически связанных объектов, при котором движение задается перемещением самого младшего объекта-потомка и распространяется на все родительские объекты вплоть до объекта-ограничителя (terminator).[1]

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

3.2. Создание скелета. Инструмент Кости (Bones) позволяет создавать иерархически связанные цепочки костей, используемых при анимации моделей живых существ. Инструмент Двуногий (Biped) позволяет создавать модель скелета двуногого существа с полным набором иерархических связей между его элементами и реализовать механизма обратной кинематики. Построение скелета с помощью Biped максимально упрощено. [1]

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

Настраивая различные параметры инструмента Biped, можно получить практически любой тип существа (рис. 10).

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

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

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

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

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

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

3.4. Анимация движения.

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

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

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

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

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

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

типа Внедренный ключ (Planted Key).

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

Процесс визуализации анимации занимает большое количество ресурсов и времени, так как проводится большое количество вычислений за счет модификатора Hair and Fur. Так компьютер с характеристиками: ADM Sempron Processor 2600+ , 1.61.ГГц, 2.000Гб ОЗУ, Service Pack 3 обрабатывает 1 кадр за 15 мин. Видео состоящее из 400 кадров займет 16 секунд (т.к. в 1 секунде 25 кадров) потребует 100 часов (4 дня) работы. Для того, чтобы ускорить процесс, было использовано два компьютера и визуализировался каждый второй кадр. Таким образом процесс занял только 1 день. При этом продолжительность видео сократилась в 2 раза. С помощью стандартной программы Windows Movie Maker можно увеличить продолжительность видео, замедляя каждый кадр в 6 раз.

На рисунке 13а приведена фотография медведя (источник), а на рис. 136 - созданная модель. Анимация представлена на сайте Шр://www.youtube.com/watc^l?v=0N87XSFdZRc.

Литература

1. Бурлоков М. 3ds max 2009: Изд-во СПб., 2009г.

2. Маров М. Энциклопедия 3ds тахб: Изд-во СПб., 2006г.

3. Рис С. АНИМАЦИЯ ПЕРСОНАЖЕЙ В 3D Studio МАХ: Изд-во СПб., 2004г.

4. http://ru.wikipedia.org/wiki/ Бурый медведь;

Summary

Popova N. К., Ogirchyik Т. А. 3D animation and simulation of an object with Autodesk 3ds Max 2009

In given article the process of animation of the three-dimensional character is described. As the character a brown bear, the symbol of the city Syktyvkar, has been chosen. Simulation was required to study exterior and movement of the character, to create three-dimensional object, to execute object animation.

Keywords: three-dimensional object, animation.

Сыктывкарский государственный университет

Поступила 14-05.2012