Анимация, управляемая шагами
Рядом с некоторыми автобусными остановками в Сиэтле находятся металлические подошвы, впечатанные в тротуар. Эти подошвы отражают последовательность шагов из популярных танцев, так что во время ожидания автобуса вы можете наступать на подошвы и упражняться в танго или вальсе. Biped основан на точно таком же принципе.Вы размещаете перед двуногим подошвы.Когда подошвы активизируются. Biped следует за шагами, адаптируясь к указанному виду движения - ходьбе, бегу или прыжкам. Подошвы можно размещать вручную. Лучше всего это подходит при создании чего-то подобного танцу, содержащему множество зигзагов и поворотов. Или же можно размещать подошвы автоматически, используя диалог Create Multiple Footsteps. Посредством данного диалога легко сгенерировать столько шагов, сколько необходимо. Здесь же можно управлять ускорением или замедлением Biped по ходу выполнения последовательности шагов.Авто-матически сгенерированные шаги ложатся по прямой линии, однако в последствии их можно поворачивать. Кроме того, можно двигать и поворачивать отдельные шаги. Рисунок 16.5 показывает кадр последовательности ходьбы по умолчанию сгенерированной Biped. Обратите внимание на то, что шаги окрашены (легко заметить разницу даже в оттенках серого: справа - зеленый, слева - голубой) и пронумерованы (правые шаги - нечетные, левые - четные).
Последовательность шагов по умолчанию, генерируемая Biped, очень реалистична. Если посмотреть на траекторию центра тяжести двуногого объекта (обозначенного маленьким восьмигранником в области таза), можно увидеть, что его движение следует волнообразному пути, отражающему небольшую разницу в подъеме центра тяжести в точках касания пяток и поднятия на носки (см. рис. 16.6).
Центр тяжести объекта (также называемого корневым объектом двуногого) важен для вычисления правильной позиции и баланса двуногого во время движения. После создания и активизации шагов двуногого, центр тяжести объекта вместе с ногами ведет себя совершенно по-иному, чем прежде. Активизация шагов генерирует ключи для центра тяжести и для ног, вынуждая данные объекты следовать внутренним правилам Biped для интерполяции ключевых кадров. Рисунок 16.7 показывает одного двуногого перед активизацией шагов (слева) и другого двуногого после активизации (справа). У обоих двуногих центр тяжести объекта повернут по оси X, оси Y и оси Z. Первый двуногий повернут полностью, а второй сохраняет контакт с поверхностью, вполне реалистично вращая туловище.
Подобным образом, если выбрать и переместить корневой объект вниз, то двуногое без шагов просто пройдет сквозь поверхность, а двуногое с активными шагами согнет колени и останется в правильном отношении с поверхностью (см. рис. 16.8).
Таким образом двуногие полностью управляются своими шагами. Это вовсе нс означает, что нет возможности создавать впечатляющие анимации.Движение, генерируемое Biped, следует взять за некий "набросок движения" и адаптировать его, настроив шаги и добавив ключи для верхней части тела, для рук и для головы. Biped не ограничивает эти ключи, как он ограничивает те, которые предназначены для ног и центра тяжести. Кроме того, можно отключить эффект шагов, создав между шагами "свободные" области. В таких свободных областях двуногое не касается земли и анимация может выполняться в любой позиции.
Шаги двуногого обладают своим собственным треком в 3DS МАХ Track View (см. рис. 16.9). Здесь шаги отображаются как цветные блоки: бледно-голубые для левой ноги и бледно зеленые - для правой. Отображается также номер каждого шага (полужирным шрифтом) и начальный и конечный кадры. В данном примере, который показывает ту же самую прогулочную последовательность по умолчанию, что и рисунок 16.5, шаги слегка перекрываются - то есть начальный кадр каждого шага начинается перед конечным кадром предыдущего. Такое перекрытие называется периодом двойной поддержки и является характеристикой прогулочной походки. Если вы сейчас же встанете и неторопливо пройдетесь, то сами почувствуете период двойной поддержки. Двойная поддержка отсутствует при беге или прыжках, где шаги разделяются воздушным периодом.
Ниже трека шагов Biped показаны треки для левой и правой nor (Biped рассматривает все части ноги от бедра до кончиков пальцев как один модуль, поэтому для каждой ноги определяется только один трек.) Все ключи в треках Biped генерирует автоматически после активизации шагов. Некоторые ключи помечены красной точкой. Это означает, что они заблокированы. Biped блокирует ключи для треков ног для того, чтобы успеть правильно выполнить вычисления. Если повернуть ногу в заблокированном ключевом кадре, то нога просто вернется в исходное положение. Внутри Track View заблокированные ключи можно разблокировать, но это делается на свой страх и риск. В Track View шаги можно удлинять, укорачивать и пр. При этом Biped пересчитывает отношения между шагами и генерирует новые ключи. Внутренне Biped обнаруживает столкновения между ногой и плоскостью поверхности и использует точку контакта в качестве основы для вычисления других положений ноги. На любом кадре в анимации каждая нога может находиться в одном из следующих четырех состояний (см. рис. 16.10):
- Касание (Touch). Кадр, в котором пятка ноги контактирует с землей
- Опора (Plant). Кадры, во время которых нога контактирует с землей, включая кадры, где вес тела поддерживается ногой
- Подъем (Lift). Кадр, немедленно следующий перед тем, как нога отрывается от земли
- Движение (Move). Кадры, во время которых нога висит в воздухе (не имеет контакта с землей)
Цикл шага - это время в кадрах, которое требуется для выполнения одного шага. По умолчанию цикл шага состоит из 15 кадров (полсекунды) для ходьбы и бега и 20 кадров для прыжков. Biped измеряет цикл шага от кадра касания одного шага до кадра касания следующего. Если снова посмотреть на цикл ходьбы, показанный в Track View (см. рис. 16.9), можно найти этому подтверждение. Заблокированные ключи появляются в положениях касания и подъема, т.е. в первом и последнем кадре шага. Поскольку кадры пронумерованы, легко заметить, сколько кадров в каждом цикле. Например цикл ходьбы - с правой ноги на левую после того, как фигура полностью разошлась, проходит 45, 60, 75, 90 и т.д. Чувство цикла полезно при сопоставлении шагов с конкретным движением, захваченным с видео. Четыре состояния для правой и левой ног помечены на командной панели прямо под свитком General. Метки во время шага сдвигаются, но отредактировать их за счет ввода новых значений нельзя.