ThreeJS r75 - TypeError:THREE.Animation不是构造函数

时间:2016-04-01 11:54:42

标签: javascript animation three.js

我正在使用ThreeJS的最新版本(发布日期)。我正在尝试导入带有操纵动画的ThreeJS Blender模型。我在网上遇到的所有教程都提到了THREE.AnimationHandlerTHREE.Animation。但我得到的错误是说没有这样的构造函数。

在线浏览文档时,我可以看到它们:

Animation

AnimationHandler

他们都没有被剥夺权利。查看src文件时,我也不会在那里看到它们。 我在这里错过了什么吗?

1 个答案:

答案 0 :(得分:3)

我几天前遇到过同样的问题。我发现新动画系统已在最近的版本中实现。这篇文章帮助了我 - New skinned mesh animation system in three.js。似乎文档还没有更新。

所以在我的情况下,我需要在json中导入模型并启动动画,代码如下所示:

 var loader = new THREE.ObjectLoader(),
     clock = new THREE.Clock(),
     mixer;

 loader.load('models.json', function (object) {
    // Get object animation
    var sceneAnimationClip = object.animations[0];

    // Create animation mixer and pass object to it
    mixer = new THREE.AnimationMixer(object);

    // Create animation action and start it
    var sceneAnimation = mixer.clipAction(sceneAnimationClip);
    sceneAnimation.play();

    scene.add(object);

    render()
});

function render() {
    requestAnimationFrame(render);

    // Update animation   
    var delta = clock.getDelta();
    if( mixer ) {
        mixer.update( delta );
    }

    renderer.render(scene, camera);
}