Software Journal:
Theory and Applications

Send article

Entrance Registration

Разработка методики моделирования анимации объекта низкополигональной трехмерной модели

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

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

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

Для разработки 3D-моделей используются различные специализированные программы и програм-мные пакеты трехмерного моделирования. В последние годы устойчивыми лидерами в этой области являются такие коммерческие продукты, как Autodesk 3ds Max, Autodesk Maya, Autodesk Softimage, Cinema 4D, Houdini и др. Кроме того, существуют и открытые продукты, распространяемые свободно, например, пакет Blender, программы K-3D и Wings3D. Применение перечисленных программных продуктов при визуализации полигональных 3D-моделей позволяет получать качественные изображения, которые можно использовать при разработке иллюстраций, сложной пространственной анимации, различных видов технической продукции.

Именно разнообразие специализированного ПО подталкивает к разработке универсального алгоритма моделирования и анимации объекта низкополигональной трехмерной модели.

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

Разработка алгоритма моделирования анимации объекта
низкополигональной трехмерной модели

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

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

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

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

Практическая реализация алгоритма

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

Моделирование началось с анализа симметрии объекта. В данном случае объект симметричен, следовательно, создаем половину начального трехмерного объекта
и применяем функцию «зеркало». На рисунке 2 показана половина 3D-модели с использованием данной функции.

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

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

Развертка необходима для создания различных дополнительных текстурных карт, например карты теней. Данную карту необходимо обработать специальной функцией «запечь карту теней» трехмерного редактора (рис. 5).

После создания карты теней сохраняем полученное изображение в любом графическом формате. Далее идет этап раскрашивания (рис. 6).

На следующем этапе добавляем функцию передачи графических свойств и полученную текстуру цвета к низкополигональной модели (рис. 7).

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

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

На рисунке 10 можно видеть низкополигональную модель с добавленными на нее текстурами цвета и геометрии.

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

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

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

Далее создаем анимацию движений объекта. Для этого выставляем начальное состояние всех костей и запоминаем его. Через определенное количество кадров на временной шкале каждая кость сдвигается
в новое состояние. Это состояние запоминается и будет начальным для данного кадра (рис. 12, 13).

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

Заключение

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

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

Разработанный алгоритм универсален, его можно применять, например, в учебном процессе для обучения студентов трехмерному моделированию в различных 3D-программах.

Литература

  1. Мильчин Ф.М. Неофициальное пособие по созданию трехмерных анимированных объектов на персональном компьютере. М.: Бук-пресс и К, 2005. 368 с.
  2. Робертс С. Анимация 3D-персонажей. М.: НТ Пресс, 2006. 264 с.
  3. Джамбруно М. Трехмерная графика и анимация. М.: Вильямс, 2002. 640 с.
  4. Соловьев М.М. 3DS Max 7 и 8. Волшебный мир трехмерной графики (+ 2 CD-ROM). М.: Солон-Пресс, 2006. 528 c.
  5. Luhta E. How to cheat in Maya 2010: Tools and techniques for the Maya Animator. Focal Press, М., 2010, 328 p.
  6. Ганеев Р.М. 3D-моделирование персонажей в Maya. М.: Горячая линия–Телеком, 2012. 284 c.
  7. Прахов А.А. Самоучитель Blender 2.7. СПб: БХВ-Петербург, 2016. 400 с.

Comments

There are no comments