Создание анимаций передвижения персонажа с заданной фиксированной скоростью.
В этой статье я не буду рассказывать о том, как сделать бег или ходьбу (это тема для отдельной статьи). Я расскажу о том, как удобно и качественно сделать любое передвижение персонажа с нужной вам скоростью на месте (и так чтобы ноги не скользили потом в игре). Конечно, кто-то скажет, что в character studio есть in place mode, но он может быть удобен только в том случае, когда у вас каждая анимация записана в отдельном файле (а это не очень удобно для экспорта и для внесения изменений в персонажа). Я предлагаю замену in place mod’у в виде dummy, к которому мы привяжем наш biped. В нуле координатной системы мы создадим dummy. На dummy мы первым делом устанавливаем linear controller на position (жмём на кнопочку с вопросиком и выбираем из списка). Это нужно, потому что движение идёт с постоянной скоростью, и для того чтобы вам не лазить и не убивать continuity в каждом ключе. Потом мы привязываем biped рутом к dummy. Дальше просто анимируем dummy так, чтобы он двигался с нужной нам скоростью, но только в направлении противоположном движению персонажа (проще говоря, создаём два ключа - один в начале анимации, другой в конце). Не забудьте настроить скорость проигрывания анимации (кадры в секунду). Затем уже можно анимировать сам biped как вам вздумается. Такой подход позволяет использовать ключи sliding и planted (как это и должно делать) и в то же время вы можете в других анимациях в этом же файле не анимировать dummy и делать простые анимации на месте, со смещением рутовой кости. Чтобы посмотреть, как будет двигаться персонаж в игре, можно просто отодвинуть два соответствующих ключа назад или вперёд по фреймовой шкале. Потом их легко можно будет притянуть обратно, выделение на них сохранится. И ещё один незаметный, на первый взгляд, плюс такой системы состоит в том что, анимируя через dummy, вы можете задавать дополнительное смещение назад/вперёд для рутовой кости, чего нельзя выполнить в in place mode.
Освоив данный метод, вы легко будете создавать циклы бега и ходьбы с нужной вам скоростью. И вашим программистам не придётся, например, вычитать из вашей анимации заложенное в неё горизонтальное смещение рутовой кости (мало того, что это просто лишняя работа, так ещё и чревато разными глюками при переходах между анимациями в движке и т.д.).