Перенос баз данных с одного SQL Server на другой Изменения в системе защиты SQL Server Новые средства разработки Новые элементы программирования на языке Visual Basic Редактирование и анализ данных с помощью запросов

Компьютерная анимация Компьютерная анимация

Анимация ходьбы


Упражнение 2. Анимация цикла ходьбы методом прямой кинематики

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

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

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

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

 

3. Перейдите к кадру 1 после окончания цикла (кадр 33) и скопируйте ключи из первого кадра. Он является целевым для промежуточных кадров во второй половине цикла.

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

5. В виде спереди поверните таз вокруг оси z, чтобы правое бедро было выше левого. Поправьте положение позвоночника и плеч, чтобы линия позы получилась плавной, и положение плеч зеркально отражало положение таза.

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

7. Поправьте положение позвоночника в кадрах 1 и 25 так, чтобы он был наклонен вперед и плавно изогнут.

8. Вернитесь к каждому из ключевых кадров и поправьте положение ног и рук: они должны быть расположены вертикально.

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

10. Теперь займитесь движением ног и стоп - возможно, самой сложной частью процесса. Вначале задайте крайние позиции. Перейдите к кадру 1 в виде сбоку и задайте первую позицию, в которой ноги-максимально разнесены. Скопируйте ключи в конец цикла (кадр 33).

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

12. Чтобы создать направляющую, постройте параллелепипед и поместите его под стоящей на полу передней ногой персонажа. Поскольку параллелепипед находится ниже уровня пола, зритель не увидит направляющую после рендеринга. Можно также использовать и нулевой объект.

13. Перейдите к кадру 1 и переместите направляющую в горизонтальном направлении в то место, в котором стопа касается земли.

14. Перейдите к середине цикла (кадр 17) и расположите направляющую у носка стопы, как это вы делали в кадре 1.

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

16. Теперь следует скорректировать позу. Позиция стопы уже задана, поэтому сосредоточьтесь на ногах. Примерно на одной четвертой первого шага (кадр 5) находится положение отдачи, в котором нога поглощает толчок и максимально сгибается. Опустите таз так, чтобы голень повернулась вперед, и нога согнулась в колене.

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

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

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

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

20. Поверните руки в кадре 1, придав им нужное положение. Правая нога выдвинута вперед, правая рука отведена назад, а левая - вперед.

21. Проследите за перемещением рук в крайние позиции с кадра 2 по 5. В кадре 5 поверните предплечье правой руки назад, а левое предплечье - немного вверх.

22. Просмотрите несколько кадров (со 2 по 5) после начала второго шага и выполните зеркальное отражение крайней позиции из предыдущего шага. И, наконец, скопируйте ключи из кадра 1 в последний кадр, чтобы рука раскачивалась в цикле взад-вперед.

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

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

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

В рисунках, относящихся к пунктам 20 и 22 упражнения, допущена ошибка по вине издательства New Riders. Положение рук и ног следует заменить на зеркальное. -Прим. ред.

В данном примере переместите поверхность земли. Если при анимации применялись направляющие, задача решится очень просто. Найдите абсолютное положение первой направляющей в кадре 1, а затем положение остановки в середине цикла. В рассмотренном примере направляющая движется вдоль оси х. Первая позиция направляющей вдоль оси х соответствует 300 единицам. В кадре 17 направляющая находится на 100 единицах; нога персонажа продвигается на 200 единиц при каждом шаге (300 - 100 = 200). Это значение называется длиной шага. Удвоив его, получим, что длина полного цикла равна 400 единицам. В кадре 1 поместим пол в точку отсчета. В последнем (кадр 33) переместим пол на 400 единиц вдоль оси х. Зададим линейное значение перемещения пола в промежуточных кадрах. Вот и все. Сцена готова.

Дизайн, инженерная и Web графика