Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #64, МАРТ 2006 г.

dead can dance

ФЛЕНОВ МИХАИЛ AKA HORRIFIC

Спецвыпуск: Хакер, номер #064, стр. 064-052-1


(WWW.VR-ONLINE.RU)

СКЕЛЕТНАЯ АНИМАЦИЯ ОПТОМ И В РОЗНИЦУ

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

моделирование

Все начинается с создания персонажа. С помощью программы 3D-моделирования мы должны создать 3D-модель человека/монстра, подлежащего анимированию. Я привык к классике — 3D Studio Max (в народе 3DS). Эта классика тяжеловесная и стоит дорого, но очень удобна и люба моему сердцу еще со времен MS DOS-варианта.

Сама программа 3D Studio Max позволяет моделировать сетку персонажа, но тут возможности не заканчиваются. Далее должны быть созданы кости, к ним должны быть привязаны вершины сетки — когда двигается какая-нибудь кость, все связанные с ней вершины также должны перемещаться и изгибаться. Для создания скелета в 3DS есть модуль Character Studio, который еще недавно был отдельной программой. Сейчас он встроен непосредственно в оболочку в меню Character. Чтобы создать реалистичный персонаж, будет маловато знаний одних программных пакетов, потребуются еще и хорошие знания в области анатомии и физики, иначе никто не поверит в реалистичность движений твоего персонажа.

Мы не будем изучать процесс создания моделей и скелетов, так как подобному вопросу должна быть посвящена отдельная статья или даже книга. Если хочешь разобраться в этой теме поглубже, рекомендую прочитать книгу «3DS MAX 6 и Character Studio 4. Анимация персонажей» (авторы Ю. Кулагин и Б. Морозов; http://bhv.ru/books/book.php?id=3888). Отличная книга! Но чтобы понять ее, ты должен иметь начальные знания по самой программе 3DS. Авторы описывают только то, что касается анимации персонажей, и опускают базовые понятия моделирования.

Зачем же я завел разговор о моделировании, если не собираюсь рассматривать его? Создание персонажа — это отдельная тема, а сейчас нам нужно понять, что должно быть создано и, соответственно, чем мы будем оперировать в собственной программе.

скелет

Посмотрим, из чего состоит скелет. Для иллюстрации и примера я взял один из файлов книги «3DS MAX 6 и Character Studio 4. Анимация персонажей». Найди иллюстрацию в этой статье с дамочкой и стоящим рядом скелетом. Дама — это то, что слева, а скелет — справа. По крайней мере, мне так кажется :). Скелет 3D-модели похож на настоящий скелет человека и состоит из костей, связанных между собой. Если повернуть плечо, то повернется вся рука вплоть до кончиков пальцев. Когда поворачивается кисть руки, поворачиваются и все ее пальцы.

Когда вращаются кости, движутся и связанные точки сетки персонажа. Одна точка сетки может быть привязана к нескольким костям. В этом случае точка сетки смещается в соответствии с указанным весом точки. Если вершина принадлежит двум костям, то по умолчанию вес в обоих случаях будет равен 0,5, то есть при вращении кости на 90 градусов вершина изменит положение только на 45. Так происходит только по умолчанию. В идеале мы можем настраивать вес самостоятельно (если позволит используемая программа 3D-графики). Если вершина принадлежит одной кости, то вес ее преобразований равен 1, то есть она будет трансформироваться на все 100%.

Содержание  Вперед на стр. 064-052-2