Показать сообщение отдельно
Старый 11.12.2008, 16:07   #16
viper86
Нуждающийся
 
Аватар для viper86
 
Регистрация: 19.11.2008
Адрес: Украина, Луганск
Сообщений: 72
Написано 34 полезных сообщений
(для 123 пользователей)
Ответ: Комбинация клавиш

Задам ещё один вопрос. Мне тяжело будет его обьяснить, но я попытаюсь.
Когда мы экспортируем анимацию через b3dPipeline, все обьекты являются детями Scene Root. И когда мы используем команды предвижения, вращения и тд, то они применяются к Scene Root. Поэтому, если у нас анимация ходьбы (не на месте, как родной блицевский робот, а с премещением в пространстве), то когда мы запустим анимацию в Блитце, персонаж тоже будет перемещатся в пространстве. Но Scene Root нет, он останется в точке 0,0,0 (естественно, если мы не двигали обьект). И вот что получается: когда анимация заканчивается и мы запускаем другую (или опять эту), то персонаж опять начинает движение с центра, а не там, где закончилась предыдущая анимация. Это потому, что все обьекты привязаны к Scene Root и анимация тоже. Вот и получается, что если зациклить ходьбу, то персонаж будет всё время доходить до определённого места и опять перемещатся в центр. Конешно вы скажете, что нужно сделать анимацию без перемещения в пространстве (как робот блитцевский), и использовать MoveEntity. Но скорость движения тогда будет линейная, а шагают персонажи не линейно. Вы скажете, что можно задать движение по синусоиде (точнее его скорость). Да можно, но это только для ритмичных движений. А для остальных? Особенно со сложной и меняющейся траекторией.

В итоге я хочу, чтобы SCENE ROOT двигался вместе с обьектом, согласно анимации. Тогда и анимация будет нормальная, где законилась предыдущая, там же и следующая начинается. Тогда можно к Scene Root связывать обьекты для коллизий и физики.

Для большей наглядности прикрепляю пример.
Вложения
Тип файла: zip Primer.zip (660.8 Кб, 910 просмотров)
__________________
Лечим заражение... одна пуля - один больной.
(Offline)
 
Ответить с цитированием