Выдержка из текста работы
Моделирование персонажей, трехмерное моделирование, 3ds max, группы сглаживания, полигоны, наложение скелета, анимация, графический редактор Adobe Fhotoshop, текстурирование, освещение, визуализация сцены.
Цель работы:
Моделирование трех персонажей мультфильма, подготовленных к последующей анимации;
Получить результаты визуализации сцен максимально приближенные к реалистичному виду;
Изучение новых возможностей программы трехмерного моделирования 3ds max 8.
Метод исследования
В дипломной работе рассматривается создание трехмерных моделей персонажей. Описываются все стадии работы — от подготовки материала, до текстурирования и финальной визуализации.
Дипломная работа состоит из реферата, введения, шести параграфов, заключения, списка использованной литературы и приложения.
Для получения качественно выполненного короткометражного мультфильма используется следующие методы 3ds max: моделирование самих персонажей с помощью различных модификаторов, наложение скелетов с помощью внедренного плагина CAT, а также дополнительные плагины программы 3ds max 8.
В целом в выпускной работе рассматривается моделирование сложных трехмерных объектов с использованием многих возможностей пакета 3ds max и визуализатора VRay.
Введение
Дипломная работа посвящена созданию и визуализации короткометражного мультфильма с помощью программного комплекса 3D Studio MAX 9. Короткометражный мультфильм может использоваться в киноиндустрии, отдельно взятые персонажи могут быть задействованы в различных компьютерных играх. Так же этот ролик применим для рекламы или раскрутки проведенной зимой 2011 года Азиатских игр в Алматы и Астане.
3Ds Max является на сегодняшний день самым востребованным средством для разработки трехмерных моделей любого плана, таких как объекты, окружающие нас каждый день, техника, анимация, архитектура, интерьеры, ландшафты и прочее.
Пакет 3D Studio Max обретает все большую популярность среди дизайнеров и модельеров из-за продуманного интерфейса и поистине неограниченных возможностей. Для 3Ds Max единственным ограничением является умение и фантазия дизайнера. С каждой новой версий программный комплекс обрастает новыми возможностями, облегчающими работу и открывающими еще большие просторы для создания трехмерных моделей. Поэтому 3D Studio Max всегда актуален и отвечает современным требованиям рынка. Наиболее востребована трехмерная компьютерная графика в киноиндустрии, игровой индустрии и при визуализации научных и деловых данных.
Мультипликация, анимация, мультипликационное кино, анимационное кино — вид киноискусства, произведения которого создаются методом покадровой съёмки последовательных фаз движения рисованных (графическая или рисованная мультипликация) или объёмных (объёмная или кукольная мультипликация) объектов.
В отличие от «настоящего» кинематографа с живыми актёрами, в мультипликационном фильме возможности нарисованного персонажа ограничиваются только фантазией автора. Поэтому возникло специальное слово для обращения к мультипликационным персонажам — мультяшка (англ. toon) — персонаж со стилизованной гротескной внешностью и специфическими особенностями, отличающими его от людей.
В работе подробно описан каждый шаг на пути к созданию короткометражного мультфильма. Создаётся и тщательно продумывается его сценарий.
1. Программа 3DsMax
Autodesk 3ds Max (ранее 3D Studio MAX) — полнофункциональная профессиональная программная система для создания и редактирования трёхмерной графики и анимации, разработанная компанией Autodesk. Содержит самые современные средства для художников и специалистов в области мультимедиа. Работает в операционных системах Microsoft Windows и Windows NT (как в 32_битных, так и в 64_битных).
Первая версия пакета под названием 3D Studio DOS была выпущена в 1990 году. Разработками пакета занималась независимая студия Yost Group, созданная программистом Гари Йостом.
Список всех версий 3ds Max:
Версия |
Платформа |
Имя |
Год выпуска |
|
3D Studio |
MS-DOS |
THUD |
1990 |
|
3D Studio 2 |
MS-DOS |
1992 |
||
3D Studio 3 |
MS-DOS |
1993 |
||
3D Studio 4 |
MS-DOS |
1994 |
||
3D Studio MAX 1.0 |
Windows |
Jaguar |
1996 |
|
3D Studio MAX R2 |
Windows |
Athena |
1997 |
|
3D Studio MAX R3 |
Windows |
Shiva |
1999 |
|
Discreet 3dsmax 4 |
Windows |
Magma |
2000 |
|
Discreet 3dsmax 5 |
Windows |
Luna |
2002 |
|
Discreet 3dsmax 6 |
Windows |
2003 |
||
Discreet 3dsmax 7 |
Windows |
Catalyst |
2004 |
|
Autodesk 3ds Max 8 |
Windows |
Vesper |
2005 |
|
Autodesk 3ds Max 9 |
Windows |
Makalu |
2006 |
|
Autodesk 3ds Max 2008 |
Windows |
Gouda |
2007 |
|
Autodesk 3ds Max 2009 |
Windows |
2008 |
||
Autodesk 3ds Max 2010 |
Windows |
2009 |
||
Autodesk 3ds Max 2011 |
Windows |
2010 |
||
Autodesk 3ds Max 2012 |
Windows |
2011 |
3ds Max располагает обширными средствами по созданию разнообразных по форме и сложности трёхмерных компьютерных моделей реальных или фантастических объектов окружающего мира с использованием разнообразных техник и механизмов, включающих следующие:
полигональное моделирование в которое входят Editable mesh (редактируемая поверхность) и Editable poly (редактируемый полигон) — это самый распространённый метод моделирования, используется для создания сложных моделей и низкополигональных моделей для игр.
Как правило моделирование сложных объектов с последующим конвертированием в Editable poly начиналось с построения параметрического объекта «Box» и поэтому способ моделирования общепринято называется «Box modeling»;
моделирование на основе неоднородных рациональных B-сплайнов (NURBS);
моделирование на основе порций поверхностей Безье (Editable patch) — подходит для моделирования тел вращения;
моделирование с использованием встроенных библиотек стандартных параметрических объектов (примитивов) и модификаторов.
Методы моделирования могут сочетаться друг с другом.
Моделирование на основе стандартных объектов, как правило, является основным методом моделирования и служит отправной точкой для создания объектов сложной структуры, что связано с использованием примитивов в сочетании друг с другом как элементарных частей составных объектов.
Стандартный объект «Чайник» входит в этот набор в силу исторических причин: он используется для тестов материалов и освещения в сцене, и, кроме того, давно стал своеобразным символом трёхмерной графики.
Визуализация является заключительным этапом работы над моделируемой сценой. Только после визуализации становятся видны все свойства материалов объектов и проявляются эффекты внешней среды, применённые в составе сцены. Для вывода конечного изображения на экран выбирают необходимый модуль визуализации (МВ). Большинство МВ являются отдельными программами, встраиваемыми как дополнение в 3ds Max.
2. Герои мультфильма
Лулу — символ Азиатских игр 2007 года в Чангчуне (Китай).
Барсик — символ Азиатмких игр 2011 года в Алма-Аты и Астане (Казахстан).
Ная — выдуманная героиня мультфильма.
3. Моделирование персонажей
3.1 Формулирование туловища Барсика
Рисунок 1 — Примитив цилиндра
На рисунке 1 продемонстрирована модель персонажа Барсик. Модель начата с формирования туловища из примитива Цилиндр, который был переведён в режим редактируемого полигонального объекта. Все изменения объекта с помощью масштабирования позже будут сброшены через утилиту reset xform.
Для симметричности персонажа левая часть полигонов удаляется. В стек модификаторов накидывается модификатор symmetry, который зеркалит все изменения в нашем случае левой части тела на правой части тела. Также применяется модификатор turbosmooth для сглаживания объекта, т.е. модель изначально делается в низкополигональном виде из соображения простоты редактирования формы, простоты расчёта топологии сетки. Симметричный объект удобно моделировать в следующем порядке. Моделируется половина. Затем она зеркально отражается инструментом, который должен уметь объединять вершины на плоскости отражения. В 3ds Max это модификатор Symmetry, в Maya — это, например, инструмент Mirror Geometry. Вы получаете полную модель, к которой можно применить сглаживание. В 3ds Max это делает, например, модификатор TurboSmooth, в Maya — команда Smooth. Если применить сглаживание перед созданием зеркальной копии, инструмент отражения (при недостаточно тщательном подборе значения порога расстояния слияния (treshold)) может объединить лишние вершины.
Рисунок 2 — Зеркальное отображение тела
Рисунок 3 — Фрагмент панели Modify в 3ds Max
Рисунок 4 — Формирование рук и ног
Рисунок 5 — Формирование рукавиц и коньков. Всё формы относительно упрощены
Рисунок 6 — Моделирование головы с созданием круговой топологий вкруг глаз
Глаза. Соотношение размера глаз и лица определяет впечатление, производимое героем на зрителя. Если глаза Барсика маленькие и похожи на бусинки, то он может показаться наглым или злым. Большие глаза ассоциируются с наивностью и умом. Расположение глаз также имеет значение. Если они размещены относительно низко будет выглядеть пожилым и мозговитым, поскольку у него высокий лоб. Передвинув глаза повыше, вы значительно «омолодите» своего героя. Небольшая асимметричность в расположении глаз делает модель чуть более реалистичной. Можно также изменять разрез глаз. Если вы хотите сделать глаза большего размера, чем обычно, необходимо сразу сконструировать их такими.
3.2 Моделирование головы Барсика
Рисунок 7 — Формирование головы
На рисунке 7 модель головы также формируется с применением модификатора symmetry.
Выбираем модель и назначаем модификатор Symmetry.
Переходим в стеке модификаторов на уровень Editable Poly (или на тот, где нужно редактировать объект) и нажимаем кнопку Show end result on/off toggle (Отображать или нет конечный результат). Теперь, можно редактировать симметричную модель.
Достоинства метода:
половинки модели автоматически сшиваются;
ненужно готовить модель к отзеркаливанию: правильно удалять другую половинку, формировать ровный стык половинок и т.д.
Рисунок 8 — Формирование области носа и лба
На рисунке 8 сформирована область носа и лба. В места заострений добавлены дополнительные рёбра.
Основы уровня ребер:
Свиток Edge до сих пор является простейшим из уровней выборок. Ребра подчиняются тем же правилам выборок окном и областью пересечения, что и выборка граней. Однако можно обнаружить, что если все ребра не отображаются, выбрать только то, что нужно, оказывается затруднительным. В особенности это справедливо при создании выборок областей внутри каркаса. В то время как выборка граней имеет опцию By Vertex, выборка ребер подобной опции не имеет. При определении области уже первый щелчок мышью выполняет выборку, по этому высока вероятность попадания на нежелательное невидимое ребро.
Притом нужно быть внимательным при использовании для ребер опции Select All. В отличие от скрытых граней и вершин, Select All выбирает также и невидимые ребра. Любая модификация ребер, применяемая после Select All, оказывает влияние на видимые и невидимые ребра, что часто приводит к нежелательным последствиям.
Рисунок 9
Рисунок 10 — Формирование задней части головы Формирование пасти
Рот (в данном случае пасть) формируется в открытом состояний для удобства моделирования морфоцелей в дальнейшем.
В методе вставки большинство черт лица персонажа — отдельные объекты, поэтому нет необходимости в построении и анимации сложной модели.
Отдельные компоненты модели можно создать из элементарных фигур. Для глаз подойдут сферы, рот формируется из обновления. Анимацию простых объектов, несложно выполнить в большинстве пакетов.
Еще один метод моделирования заключается в том, что черты лица накладываются в виде текстуры, которая также участвует в анимации. В результате задача моделирования становится тривиальной — в качестве модели головы можно задействовать даже элементарную сферу.Черты лица наносятся на карту и «оживляются» вручную или при помощи пакета двумерного рисования.
Рисунок 11 Рисунок 12
При формировании сетки модели количество треугольных полигонов сведены к минимуму. Но так как модель объёмная и сглаженная, плюс используется круговая топология в определённых местах, присутствие треугольников бывает неизбежным. В данном случае правильное соединение некоторых полигонов передней части лица (морды) компенсировано за счёт треугольников на затылочной области.
Рисунок 13 — Голова соединена с туловищем
Группы сглаживания — это свойство, которое имеет каждый треугольник (face) любой полигональной модели в 3D Studio MAX. Знакомство с группами сглаживания лучше всего провести на примере Editable Mesh.
Для этого нужно создать любой примитив, например, Box, и преобразовать его в Editable Mesh. В закладке Modify выбираем любой подобъект поверхности (Face, Polygon или Element), например, Face. При этом в свиток добавится дополнительная панель свойств поверхности (Surface Properties). Здесь меня интересовал раздел, называющийся Smoothing Groups. Этот раздел как раз и работает с группами сглаживания.
Рисунок 14 — Группа сглаживания
С помощью кнопок с числами от 1 до 32 я построил различные комбинации группы сглаживания для выделенных треугольников редактируемой полигональной модели. Выделил различные треугольники на сторонах Box’а. Кнопки на панели, соответствующие битам группы сглаживания, держал в нажатом состоянии. Для хранения информации об одном совпадении группы сглаживания достаточно одного бита. Для комбинации таких совпадений используется одно 32-х битовое число (DWORD). Кнопка на панели, например, с номером 18 отвечает за 18-й бит этого числа. Больше никаких ритуальных соображений по этому поводу не существует. Отсюда можно заметить, что сами числа на кнопках ничего конкретного для модельера не символизируют, используются они только для ориентира.
Рисунок 15 — Сглаживание Рисунок 16 — Формирование шарфа
Здесь изображен тот же рисунок, что и №13, только применяя сглаживание.
Шарф моделируется из примитива Tube. В данном случае после удаления части полигонов формируется узел.
Рисунок 17 — Формирование узла
По окончанию формирования узла модель шарфа просто подгоняется под шею модели Барсика.
Для готовой низкополигональной модели делается развёртка для наложения текстур, нарисованных в графических программах (преимущественно это — Photoshop). Развёртка выполняется модификатором Unwrap UVW. Проводятся швы. И полигоны между швами — в данном случае это полигоны составляющие туловище, полигоны составляющие руки, рукавицы и т.д. — проецируются на подходящий шаблон (цилиндр, плоскость и т.д.) либо растягиваются инструментом pelt, который имитирует растяжение шкуры. Отображаемый образец checker, показывающий чёрно-белые квадраты на модели помогает предотвратить растяжения текстур.
3.3 Развертка модели Барсика
Рисунок 18 — Развертка головы Барсика
Затем занимаюсь разверткой головы Барсика. Для этого проводим швы выше переносицы через заднюю часть, вокруг ушей, ниже ушей вокруг носа, поперек рта. UV полигоны растянуты pelt-ом и расслаблены relax-ом.
Рисунок 19 — Раскладка для модели Барсика
Раскладка для модели Барсика полностью выполнена и упакована для сохранения. Оставлен промежуток для шарфа.
Рисунок 20 — Упаковка для сохранения
Рисунок 21 — Развертка шарфа закончена
Рисунок 22 — UV карта упакована и сохранена
3.4 Наложение скелета
Рисунок 23 — Создание скелета
На рисунке 23 создаём скелет для персонажа Барсик. Для этого используем внедрённый плагин (дополнительный модуль) CAT (Character animation toolkit) которым можно создать готовый скелет пригодный для анимации. Одним из достоинств системы CAT является то, что можно создать скелет с нуля для персонажа любой сложности а также гибкость для редактирования связей посредством языка сценариев Maxscript.
Рисунок 24 — Подгонка скелета, добавление костей для хвоста
На рисунке 25 подгоняем скелет под суставы тела персонажа. Добавляем хвост состоящий 5-ти костей.
Рисунок 25 — Сегментация костей
Для правильного сгиба в местах запястья повышаем сегментацию кости до двух, то есть сгиб будет спадать от запястья к локтю плавнее.
Рисунок 26 — Для анимации шарфа добавляем дополнительные кости
Рисунок 27 — Добавление в стек модификатор Skin
Чтобы заставить модель двигаться вместе со скелетом добавляем в стек модификатор «Skin». Через кнопку «Add» добавляем в список все кости нашего скелета включая хвост и кости для шарфа.
Рисунок 28 — Распределение веса
Нажав на кнопку «Envelopes» внутри модификатора skin и поставив птичку напротив «vertices», которая дает возможность выбирать вершины, можно начинать распределять веса между костями.
Рисунок 29 — Дополнительные настройки
При распределений весов между костями в области подмышек и плеч появляются зоны, требующие дополнительной настройки.
Рисунок 30 — Создание морфоцели для сгиба
Модификатор «Skin morph» позволяет получить нужную форму при сгибе при помощи создания морфоцели, т.е. для определённого направления и угла сгиба кости мы придаём части поверхности модели (в данном случае подмышки) нужную нам форму. Для этого нужно включит в список кость, создающую деформацию, создать морфоцель и поставить вершины модели в нужные нам места. Для области подмышек создаём три морфоцели сгиба вниз, вверх и вперёд)
Рисунок 31 — Морфоцель для сгиба руки вперёд
Теперь деформации корректны.
3.5 Настройка глаз Барсика
Рисунок 32 — Система управления для глаз
Создаём систему управления для глаз. Для этого помещаем вспомогательные объекты «dummy» в центры глазных яблок. Привязываем их к кости головы. Создаём две окружности, каждую выравниваем по объектам dummy соответственно.
Рисунок 33 — Объект dummy
Назначаем на каждый объект dummy по ограничителю LookAt Constraint. Этот ограничитель назначается контроллером вращения на объект dummy и говорит ему, куда должна быть направлена его ориентация, т.е. куда он должен смотреть, при этом ось ориентации можно выбрать.
Рисунок 34 — Добавление окружности
В список целей для этого ограничителя добавляем лежащую с ней на одной оси окружность. Делаем то же самое для второго объекта dummy.
Рисунок 35 — Привязывание окружности к эллипсу
Для того чтобы обе цели т.е. обе окружности двигались одновременно привязываем эти окружности к эллипсу который отцентрирован посередине между ними.
Рисунок 36 — Операция «Freeze Transform»
Если эти окружности по какой-то причине разойдутся или один вылезет за пределы эллипса нужно, чтобы была возможность вернуть эти их на место. Для этого выполняем операцию «Freeze Transform», которая обнуляет положение объекта. А так как мы привязали окружности к эллипсу, то после этой операций нулевая точка окружности передвигается в её нынешнее расположение внутри эллипса, и эта нулевая точка будет передвигаться вместе с эллипсом. При нежелательном смещении окружности можно вернуть её на место посредством операции «Transform To Zero».
3.6 Настройка выражений лица Барсика
Рисунок 37 — Создание выражения лица
Начинаем создавать выражения лиц. Для этого в стэке модификаторов под модификатор skin добавляем модификатор morpher. Этот модификатор позволяет модели перетекать из исходной формы в заданный. Копируем тело и скрываем голову. Из этой головы создаём морфоцель для исходного состояния с закрытым ртом, так как изначально рот у модели приоткрыт. Нажимая на кнопку Pick object from the scene, выбираем форму с закрытым ртом.
Рисунок 38 — Перевод ползунка
После захвата морфоцели переводим ползунок на значение 100, чтобы закрыть рот.
Рисунок 39 — Операция Collapse To
Запекаем это состояние с закрытым ртом через операцию Collapse To для того чтобы не запечь остальные модификаторы, которые находятся выше.
Рисунок 40 — Создание различных морфоцелей
Начинаем создавать различные морфоцели для лица с закрытыми глазами (в местах, где веко проваливается сквозь глазное яблоко создаём промежуточные морфоцели для более корректного перехода), опущенными бровями, поднятыми бровями, с улыбкой.
Рисунок 41 — Выражение лица
Комбинируя различные морфоцели в различной степени можно получать разные выражения лиц.
Рисунок 42 — Мимика лица Рисунок 43 — Мимика лица
Рисунок 44 — Создание морфоцелей для платья Наи
Остальные два персонажа (Ная, Лулу) моделируются абсолютно аналогичным способом, за исключением того, что для персонажа Ная были сделаны морфоцели платья. В каждой морфоцели кусок модели изменён под сгиб от взаимодействия с ногой. Шаг между углами поворота ноги 45 градусов. Морфоцели загоняются в тот же модификатор Morpher где захвачены выражения лица.
3.7 Текстурирование персонажей и ледовой площадки
Текстуры для персонажей создаются с использованием графического
редактора Adobe Fhotoshop.
Барсик
Рисунок 45 — Текстурирование Барсика
Layer 0 — это UVW развертка, полученная с помощью с помощью команды Unwrap UVW программы 3ds max, я располагаю слой с разверткой поверх редактируемого слоя и изменяю прозрачность слоя настолько, сколько нужно для того чтобы были видны линии развертки
Рисунок 46 — Графический редактор Adobe Fhotoshop
Текстуры для персонажей создаются с использованием графического редактора Adobe Fhotoshop.
Карта specular для тела Барсика делается в основном черной и лишь в местах где находятся координаты полигонов коньков и ботинок заливка светло серая и серая, для того чтобы ботинки и коньки отражали свет.
Лулу
Рисунок 47 — Тестурирование Лулу
Чтобы было удобнее можно в соседнем окне открыть изображение персонажа текстуру, которого нам надо выполнить и с помощью пипетки выбирать и импортировать необходимые цвета.
Рисунок 48 — Текстурирование головы
Рисунок 49 — Глаз
Найя
Рисунок 50 — Текстурирование Найи
Рисунок 51 — Платье Найи
Во время изготовления текстур в программе 3Ds max одновременно проверяю их на наличие ошибок прямо на персонажах.
Рисунок 52 — Применение программы Photoshop
Для этого периодически сохраняем изображение текстуры полученной в Photoshop и примеряем ее на модель.
Рисунок 53 — Сканирование оболочки моделей
Так как я текстурировал модели после скининга, я просто скопировал оболочки моделей, и на копиях удалил скиннинг, после чего вновь применил к ним команду Unwrap UVW. Это хорошо тем, что можно подредактировать развертку в проблемных местах, чего не рекомендуется делать на отскиненных рабочих моделях, связанных с возможной потерей данных модификатора Skin, так как его придется отключать на время работы с Unwrap UVW. зато с копии модели можно спокойно скопировать отредактированный Unwrap UVW на рабочую модель причем поместить его в самый низ стека, не отключая Skin. Этим я воспользовался когда изменил UVW координаты на модели Барсика.
Рисунок 54 — Текстура ледовой площадки
Для текстуры ледовой площадки были использованы логотипы реально размещенные на льду дворца спорта Казахстан в г. Астана.
При настройке материала льда в сцене я использовал для смешивания с этой текстурой текстуру шлифованного металла для имитации не совсем чистого льда.
Бортики также имеют логотипы спонсоров
Все остальные материалы на объектах стадиона раскрашиваются с помощью процедурных карт.
Рисунок 55 — Раскрашивание с помощью процедурных карт
4. Анимация
4.1 Анимация персонажей
После того как все персонажи и стадион сведены в одну сцену, приступаю к анимации. Сначала создаем скользящую походку человека катающегося на коньках. начинаю с Лулу. Выбираю любую кость Лулу. Переходим на закладку Motion. Создадим специальный слой анимации, который предназначен именно для этого.
Включаем воспроизведение и видим, что персонаж уже движется. Совсем не так, как нам нужно, для этого нужно заняться настройкой его походки. Вся настройка полностью параметрическая, т.е. все внесённые изменения можно вернуть, исправить и добавить. При этом не нужно ставить ни одного ключа анимации. Для того, чтобы быстрее создать походку, нужно как можно более чётко представлять желаемый результат. Ещё один немаловажный момент: процесс создания походки схож с обычным художественным процессом. Т.е. сначала вставляем крупные, более заметные штрихи, а затем переходите к более мелким. В тоже время вы всегда можете вернуться и поправить то, что перестало вам нравиться.
Сначала определяем основные детали движения. Это будут «крупные штрихи», а потом добавим деталей.
Основные детали этой походки:
1) персонаж скользит на всей ступне (чтобы лезвие не отрывалось от льда)
2) расставляет ноги широко в стороны в в момент отрыва ноги ото льда
3) при каждом шаге позвоночник наклоняется немного вперёд для обеспечения равновесия
4) шаг длинный и медленный (из-за того, что персонаж едет а не идёт)
5) руки широко назад и впёрёд (тоже для равновесия),
6) при каждом шаге он немного приседает
7) колени немного согнуты (принцип катания на коньках).
Все размеры в CAT привязаны к высоте персонажа, а все временные интервалы привязаны к времени шага персонажа. Т.е. время измеряется не в кадрах, а в частях времени, которое затрачивается на один шаг. Поэтому так же безболезненно, как можно изменять высоту персонажа, мы можем менять скорость движения персонажа.
Для редактирования походки необходимо войти в окно редактирования походки.
Появляется окно редактирования параметров ходьбы.
Рисунок 56 — Окно редактирования параметров ходьбы
В левой части окна можно выбирать, что мы будем редактировать, а в правой — вносить необходимые изменения. Коротко о левой части. Первая строка меню, как видно из названия, это готовые походки (Presets), ниже — глобальные настройки. На картинке выше: начало и конец анимации, время шага, его максимальная длина и т.д.
В меню LimbPhases можно управлять временем начала цикла для каждой конечности. Можно, например, заставить персонаж двигать правой рукой вместе с правой ногой (если это вдруг понадобится). И ещё 3 строки меню для разных разделов персонажа: для нижних конечностей и таза, для позвоночника и рук, и для головы.
Давайте посмотрим на походку нашего персонажа. С чего же начать? Каждый это может делать по-своему, а я начну с того, что замедлю походку. Персонаж едет, а не идет при этом движется медленно. Поэтому переходим на закладку Globals и меняем время шага:
“Лулу” замедлил своё движение.
У нашего персонажа ноги расставлены не слишком широко. Переходим на закладку PelvisGroup>Legs>FootPlatform>OffsetPos (сдвиг) и меняем значение Z. Ноги раздвигаются.
Этот параметр (OffsetPos) один из неанимируемых (он просто указывает начальное положение).
Другой анимируемый параметр, который может двигать ноги вправо-влево в зависимости от цикла шага — Swerve.
И тут уже есть возможность изменять величину параметра в зависимости от цикла шага. Светло-зелёная часть графика обозначает время, когда ноги находятся на земле, а тёмно-зелёная -когда в воздухе. По-умолчанию график линейный, т.е. расстояние между ступнями в ширину не меняется. Поэтому нужно просто перетащить точку в середине шага на требуемую величину или ввести цифры.
Все изменения тут же отображаются в окне просмотра. Теперь в конце шага персонаж отодвигает ногу в сторону. Можно также использовать маркеры Безье для получения более точного результата. Очень облегчает задачу анимирования то что во время редактирования совсем не обязательно выключать воспроизведение. Редактируем и моментально проверяем результат.
Теперь сделаем шаги длинными и скользящими. (Он едет на коньках).
Переходим к параметру LiftPlantMod. Увеличиваем его значение.
Получаем скользящую походку.
Переходим к параметру Pelvis>Lift. Он отвечает за поднятие и опускание таза во время ходьбы. У него целых 4 точки редактирования — две на шаг левой и две на шаг правой.
Рисунок 57 — Параметр LiftPlantMod
В результате персонаж в начале каждого шага чуть приподнимается, а потом опускается на подставленную ногу.
Теперь добьёмся, чтобы позвоночник сгибался в такт шагам (вперёд-назад).
Редактируем параметр Ribcage>Pitch таким образом, чтобы позвоночник сгибался и разгибался на каждом шаге.
Теперь займёмся руками. Персонаж не должен размахивать ими для того, чтобы выглядеть как новичек на льду. Для этого переходим к параметру Ribcage>Arms>Swing и уменьшаем значение.
Рисунок 58 — Параметр Ribcage>Arms>Swing
Далее редактируем остальные параметры, пока не добиваемся приемлемого результата.
Ниже справочник, которым я пользовался.
Справочник
(Неанимируемые параметры действуют постоянно и неизменно в течение всего цикла. Их лучше использовать для помещения кости в начальное нулевое положение. Анимируемые параметры меняют своё воздействие в зависимости от цикла шага.)
PelvisGroup
Pelvis
Twist -поворачивает таз по X (вслед за ногой);
oll -поворачивает таз по Y (переваливается с ноги на ногу);
Pitch -поворачивает таз по Z;
Lift -перемещает таз вверх-вниз;
Push -перемещает таз вперёд-назад;
WeightShift -перемещает таз вправо-влево;
OffsetPos -перемещает по всем осям (неанимируемый);
OffsetRot -поворачивает по всем осям (неанимируемый).
Legs
KneeAngle -изменяет угол колена;
Twist -поворачивает ногу по X;
CrossSwing -поворачивает ногу по Y;
Swing -поворачивает ногу по Z;
OffsetRot -поворачивает ноги по всем осям (не аним.);
LiftPlantMod -управляет отношением между временем, когда нога на земле и временем, когда она в воздухе.
Ankle
DigitSpreadAngle -растопыривает пальцы ноги в стороны ;
DigitRollAngle -вращает пальцы ноги;
DigitCurlAngle -сгибает пальцы руки;
OffsetRot -поворачивает ладонь по всем осям (не аним.);
HandTwist -вращает ладонь по Z;
HandFlopY -вращает ладонь по Y;
HandFlopX -вращает ладонь по X.
HeadGroup
Head
Twist -поворачивает голову вправо-влево;
Roll — наклоняет голову вправо-влево;
Pitch — поворачивает голову вверх-вниз;
Lift -сдвигает голову вверх-вниз;
Push — сдвигает голову вперёд-назад;
WeightShift — сдвигает голову вправо-влево;
OffsetPos -сдвигает голову по всем осям (не аним.);
OffsetRot -поворачивает голову по всем осям (не аним.).
4.2 Путь следования Лулу
Tеперь нам нужно создать путь следования Лулу.
Для того, чтобы заставить персонаж двигаться, нужно прикрепить его к объекту (например, Point) и двигать этот объект. Для удобства можно создать сплайн и применить к Point ограничение по пути (Path Constraint). Он будет двигаться по сплайну. В результате редактирования вершин сплайна можно визуально наблюдать за созданием пути персонажа. Используя небольшое количество вершин и маркеры Безье можно создавать довольно сложные по форме, нo простые по управлению сплайны.
Создаём сплайн. Создаём Point. Применяем ограничение по пути Path Constraint.
И указываем, что Point должен менять ориентацию в зависимости от направления сплайна. Параметр Follow.
Это сделано для того, чтобы Point, а с ним и персонаж поворачивались в зависимости от направления движения.
Теперь нужно «прикрепить» персонаж к Point. Для этого переходим на закладку Globals и в разделе Walk Mode указываем наш Point.
Рисунок 59 — Прикрепление персонажа к Point
В результате персонаж движется за объектом Point. (Для того чтобы он не двигался лежа нужно повернуть поинт)
Теперь редактируя сплайн можно легко изменять направление и траекторию движения персонажа.
Эту же походку я решил скопировать на второй персонаж Найю.
4.2 Анимация Найи
Для Найи копируем также сплайн вместе с поинтом, имеющимся у Лулу. Привязываем походку Найи к новому поинту, теперь Ная движется по своей траектории.
Рисунок 60 — Привязывание походки Найи к новому поинту
Теперь можно добавлять новые слои анимации нашим персонажам. Cat предоставляет возможность создавать множество слоёв анимации. Они будут располагаться в окне Layer Manager друг под другом. А выполняться сверху вниз.
Рисунок 61 — Окно Layer Manager
Сначала выполняется слой походки. На эту анимацию накладывается анимация из «зелёного» слоя. Потом ниже и ниже. Для того чтобы редактировать определённый слой, нужно его выделить. В данном случае будет редактироваться «зелёный» слой. Для перемещения слоёв вверх-вниз по стеку предназначены кнопки с зелёными стрелками. Если нужно временно выключить определённый слой, воспользуемся значком Ignore. А если выбрать Solo -обратный результат: будет выполняться только этот слой.
«Локальный» слой добавляет свою анимацию к уже существующей анимации. Поэтому его используют для правки готовой анимации. В дальнейшем я воспользуюсь «локальным» слоем для того, чтобы заставить персонаж поворачивать голову и торс во время езды. На готовую анимацию «наденутся» изменения.
«Абсолютный» слой создаёт совершенно новую анимацию. Этой возможностью я воспользуюсь когда он столкнется с бортом. В это время нам не нужна анимация походки. Он не должен махать руками и т.д. Он должен биться головой о бортик.
Названия слоёв по-умолчанию: «Абсолютный» слой называется Animation Layer (слой анимации), а «локальный» — Adjustment Layer (поправочный слой).
Параметр Global Weight (глобальный вес) указывает, насколько сильно влияет этот слой на предыдущие (вышележащие). Если Global Weight = 0 то слой не действует на анимацию. Если Global Weight = 100, то действует максимально. Например, «абсолютный» слой полностью перекроет все вышележащие слои. Анимация параметра Global Weight даёт возможность плавного входа в слой и выхода из него.
Для визуального контроля за весом слоя выберите кнопку с изображением разноцветных ромбов (вверху свитка Layer Manager см. рис.) В результате персонаж будет менять свой цвет на цвет «абсолютного» слоя. А при переходе и цвет будет постепенно меняться.
Local Weight подобен глобальному весу, но действует только на определённую часть тела персонажа. Т.е. Global Weight действует на весь персонаж целиком, а Local Weight на часть тела.
Рисунок 62 — Анимирование бортика
Бортик для пущей убедительности столкновения также анимирован.
Рисунок 63 — Использование Soft selection
В месте столкновения я разбил модель бортика на дополнительные сегменты, и анимировал вершины с использованием Soft selection (мягкого выделения вершин).
Когда Лулу падает на лед в дополнительных слоях добавляю движения рук ног и головы (ножки подергиваются, рука тянется к ушибленной голове, голова склоняется к руке).
4.3 Анимация Барсика
В начале он просто стоит и наблюдает за происходящим на льду. Создаем абсолютный слой и создаем ему непринужденную позу — руки скрещены на груди, ноги тоже скрещены, вес тела на правой ноге, плечем он упирается в дверной проем бортика. Так он будет стоять до второй части анимации, когда он бросится помогать Лулу.
Рисунок 64 — Стойка Барсика
Во второй части анимации я не стал создавать походку Барсику, а всю анимацию сделал в абсолютном слое, начиная от момента где он стоит у бортика. Это не очень трудно, так как в основном в анимации участвуют тазовая кость (pelvis), которая является родительской по отношению ко всем остальным костям кроме ног, и Base HumanLPlatform и Base HumanRPlatform (таргет-мишени для ног). Кстати эти мишени можно отключать и весь скелет будет подчиняться Pelvis, этим я воспользовался в четвертой части анимации, когда Лулу совершала тройной тулуп. Но для анимации скольжения лучше чтобы ноги были под контролем мишеней. Барсик покачивает головой (дополнительный локальный слой) перекидывает левую ногу (до этого ноги были скрещены) ею же отталкивается и начинает движение к сидящему на льду Лулу. Возле Лулу он тормозит двумя ногами, одновременно разворачиваясь и наклоняясь. Это фиксируется с одной камеры, с другой камеры фиксируется момент, когда Барсик уже выводит Лулу за пределы катка. Этим я избежал фиксации момента подъема Лулу со льда, так как у персонажей не по размеру большие головы, что затрудняет их близкий контакт, даже когда Барсик выводит Лулу, его голова в какие-то моменты провалена в голову Лулу. Эта проблема решалась подбором ракурса камеры.
Рисунок 65 — Барсик с Лулу
4.4 Анимация взаимодействия Барсика Наей
В третьей части анимации Барсик едет к Найе, приглашая ее на танец. В этой части я скопировал ему походку у Найи и добавил сплайн и поинт для обеспечения собственной траектории движения.
Рисунок 66 — Добавление сплайна и поинта
Также ему немного отредактировал походку , она стала немного агрессивнее, с помощью редактирования сплайна закруглил ему траекторию вокруг проезжающей мимо Найи, и ввел новый локальный слой с момента когда он поравнялся с Найей.
В этом слое его ноги расставлены в стороны носки врозь таз развернут в сторону центра описываемой окружности. Aнимирую Global Weight чтобы персонаж плавно перешел из одного состояния в другое. В этой же части делаю крупный план для расстроенного и озадаченного Лулу, сопровождаемое небольшим поворотом головы и плеч (Cat — абсолютный слой), плюс моргание и открывание рта в конце анимации, все это анимировалось с помощью морфинг мишеней модели.
Для Найя практически ничего не изменял, только подправил сплайн для изменении анимации.
В четвертой части мне предстояло выполнить с парой Барсик +Найя какой-нибудь трюк из фигурного катания. Многие трюки пришлось отбросить, например подъемы и поддержки, т.к. причина та же большая голова — короткие руки Барсика.
Я разбил отрывок из выступления по кадрам, и на их основе составил анимацию для финальной сцены. Для удобства я использовал основным слоем Cat motion слой, так как легко было выстроить с помощью него траекторию движения пары, а в новом абсолютном слое изменил движения ног и таза. Движения остальных частей тела передал в дополнительном локальном слое анимации.
За основу брался один из кадров захваченного видео и выставлялась поза для персонажей в соответствующем кадре промежуток между ключевыми — три четыре кадра, поочередно в каждом слое проставлялись ключи.
Рисунок 67 — Анимация прокручивания
Далее Анимация прокручивается и исправляются ошибки возникающие в промежуточных кадрах, путем выставления дополнительных ключей анимации (проваливающиеся коньки сквозь лед, например, или проходящие сквозь друг друга части тел персонажей).
Рисунок 68 — Анимация прокручивания
В момент отрыва Найи ото льда я анимировал параметры привязки костей ног к мишеням Base Human Platform, чтобы Найя свободно вращалась вокруг продольной оси вместе с ногами. В противном случае ступни ног при вращении таза постоянно норовили бы вывернуться в сторону мишеней, чтобы этого избежать пришлось бы анимировать каждую мишень практически в каждом кадре.
В данном же случае мне осталось только создать ключи для Base Human Platform в месте приземления каждой ноги, и Найя мягко приземлилась как настоящая фигуристка).
Рисунок 69 — Момент отрыва Найи ото льда
Рисунок 70 — Момент отрыва Найи ото льда
5. Визуализация
анимация визуализация трехмерный графика
Так как поначалу я хотел использовать визуализатор Vray, материалы сцены я использовал в основном Vray, но при рендере сцены столкнулся с проблемой нехватки ресурсов компьютера, которая заключалась в большом времени рендера одного кадра и периодических зависаниях компьютера. Сначала пришлось отказаться от Indirect illumination (непрямого освещения в сцене), путем установки дополнительных источников света для его имитации, это немного сократило время рендера, но все равно не устраивало меня по времени. Я переделал все материалы в стандартные и вместо Vray источников света тоже установил стандарные, чтобы можно было использовать сканлайн рендерер используемый по умолчанию. Это существенно сократило время рендера. Хотя непрямое освещение как и многие другие вещи пришлось имитировать. Например тени на льду дают только два прожектора из 8 используемых в сцене. В некоторых случаях для экономии времени просчета тени отключены и у них. Я изменял характеристики льда чтобы скрыть этот недостаток добавляя неоднородности в диффузный слой материала льда с помощью карт Mix. В конце концов в большинстве реального видео которое я просмотрел с выступлений фигуристов тени на льду практически незаметны.
Vray рендер (тени от источников света Vray light практически не видны).
Рисунок 71 — Vray рендер
Зато очень хорошо видны отражения на льду искаженные из-за карты Bump.
В связи с ограниченностью ресурсов от отражений также было решено отказаться, симметрировав слегка грязный (неочищенный лед).
Кроме того в сцену добавлен эффект Lens Effects Glow, примененный ко всей сцене с голубоватым оттенком он немного смягчил картинку, одновременно добавив яркости и мультяшности.
Рисунок 72 — Эффект Lens Effects Glow
Отрендеренные кадры я сохранял в виде секвенций формата RLA, так как там есть возможность сохранять канал Z depth, с помощью которого можно регулировать глубину резкости после рендера, во время сборки видео.
Рисунок 73 — Сохранение кадров
Рисунок 74 — Сборка видео
Сборку видео производил в программе Adobe AfterEffects.
6. Наложение звука
Рисунок 75 — Наложение звука
Звук накладывал на готовое видео в программе Adobe Premier
Рисунок 76 — Наложение звука
В качестве основного саунд трека использовал песню российских исполнителей Потапа и Насти Каменской в формате mp3, кроме того, использовал звуки столкновений, находящихся в бесплатном доступе в интернет.
Заключение
В процессе сбора материалов, подготовки и выполнения дипломной работы на тему «3D мультипликация» были освоены и использованы такие возможности 3Ds max как — создание персонажей, наложение на них скелета, тектурирование персонажей, работа со стеком модификаторов, применение встроенных инструментов и работа с ними, подготовка сцены к рендерингу.
Так же были пересмотрены множество подобных короткометражных мультфильмов, различные трюки профессиональных фигуристов на льду для последующей грамотной анимации персонажей, изучен рендеринг и его настройка с помощью программного комплекса VRay.
В итоге был создан и визуализирован короткометражный мультфильм. Создав его, я получил важные умения и навыки, необходимые для создания сложных анимационных видеороликов в формате 3D.
Моделирование 3D мультфильма относится к области продвинутого моделирования. Эта отрасль трехмерной анимации очень востребована и популярна в наше время. Множество ресурсов в интернете посвящено трехмерной анимации и, в частности, созданию короткометражных мультфильмов. Существуют сообщества и порталы, посвященные 3D анимацией. Она очень актуальна, востребована, и уже давно стала неотъемлемой частью нашей цивилизации.
Список использованной литературы
1. Стиренко А.С. 3ds Max 2009 / 3ds Max Design 2009, Самоучитель — М.: ДМК Пресс, 2008, — 544 с.
2. Келли Д. Анимация персонажей в 3ds Max 8 — СП.: Диалектика, 2007. — 553 с.
3. Верстак В. 3ds Max 9. Секреты мастерства — СПб.: Питер, 2007, — 736 с.
4. Верстак В. 3ds Max 2008. Трюки и эффекты — СПб.: Питер, 2009, — 480 с.
5. Робертс С. Анимация 3D персонажей — М.: ИТ Пресс, 2006 — 264 с.
6. Маров М. Тонкости настройки и работы в 3ds max — М.: НТ Пресс, 2009 — 1072 с.
7. Чумаченко И.Н. 3ds Max 9 на 200% — М.: НТ Пресс, 2008 — 592 с.
8. Вильямс, 3ds Max 2010. Библия пользователя, Диалектика, 2010 г. -1312 с.
Размещено на