Threejs设置动画剪辑时间(和混合器时间)不更改动画

时间:2019-03-06 19:26:58

标签: animation three.js

我正在尝试通过更改时间比例,帧频等来交互地控制动画。刚才提到的那些我可以使用调音台正常工作。但是,当我尝试设置当前动画的位置时,似乎无法正常工作。设置混合器时间以及动画动作时间对动画没有任何作用。 这就是我要尝试的方式。

function animate(){
    var delta = sampling > 0 ? clock.getDelta() : 0;
    requestAnimationFrame(animate);
    if(mixer)
    {
        mixer.time += delta; // does nothing. Using constants does nothing either
        mixer.update(delta); // Must have it or else the animation will bug. 
        action.time += delta; // does nothing. Using constants does nothing either
    }
    renderer.render(scene, camera);
}

1 个答案:

答案 0 :(得分:0)

尝试删除这些行:

mixer.time += delta;

action.time += delta;

运行mixer.update(delta)应该自动更新timemixer的{​​{1}}属性。

还有更多的事情,然后手动更改时间属性。通常,似乎不支持手动更新action(s)time的{​​{1}}属性。

如果仍然无法正常运行,请在渲染循环中尝试mixer并确认它不为零。