Как вручную управлять анимацией покадрово? - PullRequest
0 голосов
/ 26 октября 2018

Что касается этого примера Three.js https://threejs.org/examples/#webgl_animation_keyframes Я смог загрузить свою собственную модель и воспроизвести анимацию в цикле. Однако я хочу сделать «слайдер», который позволит пользователю управлять анимацией покадрово. Как я могу добиться этого с AnimationMixer? Допустим, анимационный ролик имеет длительность 4 с. Я хотел бы контролировать текущее время анимации от 0 до 4 с.

1 Ответ

0 голосов
/ 26 октября 2018

Ответ находится прямо в коде примера, который вы связали:

mixer = new THREE.AnimationMixer( model );
mixer.clipAction( gltf.animations[ 0 ] ).play();

// ...

function animate() {
    var delta = clock.getDelta();
    mixer.update( delta );

    renderer.render( scene, camera );

    requestAnimationFrame( animate );
}

mixer.update( delta ); - это то, что обновляет анимацию на 0,0166 секунды в каждом кадре (при 60FPS). Если вы хотите перейти к определенному моменту, просто присвойте свойству .time любую нужную секунду.

См. Здесь для получения дополнительной документации по AnimationMixer.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...