Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DirectX. Продвинутая Анимация (2004) [rus].pdf
Скачиваний:
367
Добавлен:
16.08.2013
Размер:
8.39 Mб
Скачать

Глава 4

Работа со скелетной анимацией

Как только темнота окутает мой персонаж, я уже не смогу ему помочь, но я немного хихикнул.

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

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

Вы можете создать все эти особенности анимации (и даже намного больше), используя так называемую скелетную анимацию, наверное, самую привлекательную технологию анимирования, которую вы только можете использовать в ваших проектах. Работать с этой технологией определенно проще, чем это может показаться сначала. Посмотрев примеры таких игр как "Splinter Cell" фирмы Tom Clancy , показывающих миру возможности скелетной анимации, вы точно не захотите пропустить эту тему. Данная глава поможет вам начать. Здесь все: от начала работы со структурами скелетов до скелетных мешей.

126

Глава 4

Вы этой главе вы научитесь:

Работать со скелетными иерархиями;

Использовать скелетные меши;

Загружать иерархии фреймов и скелетные меши из .X файлов;

Перестраивать иерархии костей и скелетных мешей.

Начало скелетной анимации

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

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

Использование структур скелетов и иерархий костей

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

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

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

Соседние файлы в предмете Программирование на C++