#three.js
#three.js
Вопрос:
У меня есть старые анимированные модели, в которых анимация ключевого кадра означает, что все анимации (бездействие, прогулка, атака) находятся в одном действии. Я попытался разделить это на несколько действий в Blender, но я не могу заставить это работать (я не 3D-дизайнер). Итак, мой вопрос заключается в том, как использовать новую систему анимации для воспроизведения только части действия (например, от ключевого кадра 25 до 50), а затем плавно переключаться на следующую анимацию (от ключевого кадра 50 до 75).
У меня есть что-то вроде этого для начала:
MONSTER_ANIMATION_ALL = monster.animations[0];
action = mixer.clipAction(MONSTER_ANIMATION_ALL);
action.enabled = true;
action.setEffectiveTimeScale( 1 );
action.setEffectiveWeight( 1);
action.time = 0;
action.play();
Ответ №1:
На самом деле вы можете разделить один анимационный клип на несколько с помощью AnimationUtils.subclip(). Из документации:
Создает новый клип, содержащий только сегмент исходного клипа между заданными кадрами.
Итак, единственное, что вам нужно знать, это начальный и конечный кадры для каждой анимации. Когда у вас есть анимационный клип на анимацию, можно выполнять плавные переходы, используя интерфейс AnimationAction. Значение fadeIn / fadeOut или crossfade.
Комментарии:
1. Это идеально! Именно то, что мне было нужно. Спасибо!