MOLIER ART STUDIO
Суббота, 11.05.2024, 06:00
Приветствую Вас Гость | RSS
 
Главная Каталог статейРегистрацияВход
Форма входа
Меню сайта
Категории раздела
Уроки по WME [30]
Уроки Photoshop [5]
Уроки 3D Studio MAX [32]
Полезные программы [38]
Статьи [19]
Видео с YouTube [26]
Поиск
Подпишись
QUEST
Наша кнопка


[ Получить код баннера]
Реклама

Теги
Друзья сайта
Он лайн книга
форум по WME
Moя Фото Коллекция
Самоделкин, всё для творческих людей
Коллекция Звуков для игр
Моя библиотека
3koroba
Herzeleid
Дракон №3
Игродел
Мир анимашек
mgd-blog
WOlist.ru - каталог качественных сайтов Рунета
Создание игр, Конструкторы игр, Игровые движки
Коллекция Всё Для Игр
Коллекция картинок
Он лайн книга
Новости
Главная » Статьи » Уроки 3D Studio MAX

Привязка к костям и создание анимации персонажей для игр. часть 1
Привязка к костям и создание анимации персонажей для игр.  часть 1

Введение.

Начиная работать аниматором для игр, мне пришлось учиться на своих ошибках.

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

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

Основное правило: неважно как это сделано, главное как это смотрится!!!

Это правило относится не только к анимации, а ко всему, что можно увидеть в игре.

В игре типа стратегии, или РПГ, где персонажи основную часть времени находятся на очень отдаленном расстоянии, надо соблюдать следующие подправила:

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

Правило второе, детальней надо, детальней:

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




С 3D игрой все несколько, сложнее, не каждый движок позволяет делать анимацию одежды, да и не каждую одежду получиться анимировать. Как правило, это связано с ограничением, по количеству костей. Вот один из примеров анимации одежды для 3D движка:



Здесь анимация «юбочных висюлек» сделана отдельными костями. Я, последовательно проверяя на пересечения висюлек с ногами и телом каждый кадр, поворачивал каждую косточку, затем перепроверял, поворачивал, где нужно. Можно было бы соврать, и сказать, что анимация всего остального делалась бипедом, но это не так, ее делал другой человек, и по одному ему ведомым причинам, обычными костями. Отмечу, что в Максе, кости для «висюлек» все же использовать не стоит, сделайте лучше боксы, управлять ими более просто, и они менее глючны, по сравнению с одиночными косточками. Мне пришлось переделывать кости для висюлек, т.к. они по загадочным причинам не двигались совсем, а потом сводить многокадровые анимации из нескольких файлов, чтобы в них не менялся скелет.

3D Анимация.

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

Траектория и скорость этого движения зависит от выбранного вами типа интерполяции, для видео клипов можно использовать любые типы интерполяции, например: интерполяция по Безье, линейная, квадратичная и т.д.  Однако для игр, как правило, используется линейная интерполяция. Из названия видно, что скорость изменения положения, вращения или масштабирования, при такой интерполяции меняться не будет. Вот и первый нюанс анимации для игр, если выгрузчик считывает не каждый кадр анимации, а только ключевые, то при необходимости изменения скорости движения, придется добавлять ключи. Даже в том случае, когда у вас нет необходимости менять скорость движения, но в программе у вас установлена не линейная интерполяция, результат при выгрузке может несколько отличатся от исходной анимации. По идее, это должно ложится на совесть программистов, но зачастую, переделывать приходится все равно вам. Благо в этом нет ничего сложного. Лечится расстановкой ключей в каждом кадре.

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

В чем их отличие?

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

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

Костная – создается скелет, который деформирует целую модель, или ее часть.

Анимация для игр.

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

Какой пакет выбрать для анимации?

Если вы раньше не работали в 3Д программах, то тем более нет никакой разницы, а если работали, то анимацию лучше делать в том пакете, с которым работали до этого.

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

А раз разницы никакой нет, то для примера возьмем 3D Studio MAX r6.

Какой тип анимации выбрать?

Это напрямую зависит от того, какую анимацию поддерживает ядро вашей игры (движок).

Если же вы еще не определились, какую же анимацию поддерживать, то я приведу некоторые плюсы и минусы для всех типов:

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

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

Костная. Плюсы: простота создания непосредственно анимации, простой перевод в любой тип анимации. Простота использования «Моушен кэпчура». Минусы: не очень простая привязка к костям. Ограничение по количеству костей (не всегда, но очень часто). Медленнее обрабатывается движком, чем другие типы.

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

Итак, у нас есть модель девушки, для нее необходимо сделать анимацию.




Для начала выберем каким скелетом нам пользоваться. Делать ли его вручную или использовать бипед.

Я выбираю бипед. Потому как, на мой взгляд, это наиболее удобный в управлении скелет, мало того у него уже настроена инверсная кинематика.

Что значит наиболее удобный?

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





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



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

Скелет выбрали теперь надо его подогнать под модель.

Подготовка к анимации.

Создаем бипед, открываем закладку "Motion” (см. рисунок) переключаемся в "Figure mode”, потому как только в этом режиме на бипедовские кости действует масштабирование, и это же служит "initial Pose” — позой привязки.
Теперь поворачиваем и масштабируем кости таким образом, что бы они совпали с нашей моделью, когда это сделано, подгонка скелета завершена.

Совет: для еще большего удобства управления, создайте «Named Selection Set» для Bip01 и всех используемых костей, например Cm (центр тяжести) и Biped (скелет)

В нашем случае это выглядит следующим образом:




и без модели девушки:



Переходим к следующему этапу.

"Skinning” – Привязка модели к костям.

Привязка модели к костям — это определение того, какие кости влияют на какую часть модели и как они влияют.
В Максе существует несколько модификаторов и способов привязки к костям: модификатор Skin,
модификатор Physique, модификатор от сторонних производителей BonesPro, метод привязки при помощи набора модификаторов LinkedXform и т.д.

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

Набор модификаторов LinkedXform: Плюсы – стандартность и наличие еще в максе 2 и возможно в максе 1 этого я просто уже не помню, а минусы – как минимум по одному модификатору на каждую кость, проблема с заданием весов, очень медленно, скорее всего, не перенесется в другие пакеты, не рассчитывался для такой привязки.

Physique: Плюсы – очень много встроенных возможностей. Минусы – сложно, а может и не возможно, четко цифрами настроить веса, излишняя навороченность, медленнее Skin’ a, необходимость лишней кости на окончаниях «костных цепочек».

Skin: Плюсы – Аскетичная простота, относительно высокая скорость работы, возможность рисовать веса, возможность задавать их цифрами. Минусы – сохраняет только сферы влияния костей без точной повертексной настройки.

Выбор очевиден – Skin

Натравливаем Skin, добавляем нужные кости



Привязка проинициализировалась, но она еще не точна. Чтобы произвести более точную привязку, выключите "Figure mode” теперь в таком состоянии поставьте ключи в нулевом кадре, это может потом потребоваться как "initial Pose” несмотря на то, что она у нас останется в фигуре моде, кто знает этих программистов :)
Теперь «раскорячьте» девушку как-нибудь так, как на следующем рисунке, видите сильные искажения сетки? Да, их надо исправлять расстановкой весов.



Для начала спрячьте бипед, чтобы он вам не закрывал обзор.

Теперь выберите модель, и войдите в модификатор скин, дальше выбираете нужную вам кость и вертексы, как показано на рисунке, в поле «Abs Effect» задаете значение веса вертексов от 0 до 1. Соответственно 1 — это привязано только к выбранной кости. Если вам надо чтобы на вертекс влияло несколько костей, выберите первую и нужные вертексы, поставьте вес единицу. Затем выберите вторую, и поставьте нужный вес, при этом у первой кости он отнимется, Например, если у второй кости вес будет 0.3, то у первой станет 0.7. Предположим, вам надо, чтоб первая кость влияла на 0.6 вторая и третья по 0.2. Для этого надо снять флажок «Normalize», проставить нужные веса, и желательно включить его обратно.
Таким образом, подбирая веса, настройте левую половину модели. Также посмотрите таблицу весов, довольно полезная и удобная вещь.



С левой половиной модели все в порядке? Теперь надо скопировать веса для правой половины. Модель у нас симметричная (для асимметричных моделей не пробовал, может быть тоже работает), стало быть, нам подойдет зеркальное отображение. Входим в «Mirror Mode» и жмем «Paste Green to Blue Verts».





часть 2

часть 3




Автор: Alexey S. Kruchinin
28 сентября 2004
источник GameDev.ru


Источник: http://GameDev.ru
Категория: Уроки 3D Studio MAX | Добавил: Molier (11.08.2010)
Просмотров: 4081


Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Моя книга
$пасибо
Поддержите сайт
Мини-чат
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Форум по WME
  • Moя Фото Коллекция
  • Всё для дачников
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Кто on-line?
    Кто нас сегодня посетил
    Пользователи
    Гости
    Статистика стран
    web counter
    free counters
    Глобус
    ClustrMaps
    Счетчики
    Рейтинг@Mail.ru
    Рейтинг сайтов

    Copyright MyCorp © 2024
    !!! На сайте могут находиться статьи, которые, честно и не помню, откуда они у меня появились, одним словом нет информации о первоисточнике и авторе, если на них наткнётся автор, просьба к нему написать мне, чтобы я смог поставить ссылку на источник. !!!