1

我知道有skinning_blending模型,但由于它具有 gui 控件(dat.gui 与所有其他threejs 示例一样),因此代码变得过于复杂,我无法获得像以前的旧threejs 那样的简单方法像这样的版本:

                var loader = new THREE.JSONLoader();
                loader.load('../assets/models/simpleManMesh2.json', function (model, mat) {

                   var mat = new THREE.MeshLambertMaterial({color: 0xF0C8C9, skinning: true});
                    mesh = new THREE.SkinnedMesh(model, mat);


                    // register the animation
                   THREE.AnimationHandler.add(model.animation);

                   var animation = new THREE.Animation(mesh, "saluuut");

                    scene.add(mesh);

                    // start the animation
                    animation.play();

                }, '../assets/models');

对于这和其他许多人一样,我得到了错误:

THREE.AnimationHandler.add() 已被弃用。

所以我要求的是一个相同的简单代码(没有任何 gui 控制),但它在最新版本中工作。此致。

4

1 回答 1

2

刚才是THREE.Animation()

loader.load('yourfile.json',function(geometry,materials){
    for(var i in materials)materials[i].skinning=true;

    mesh=new THREE.SkinnedMesh(
        geometry,
        new THREE.MeshFaceMaterial(materials)
    );
    scene.add(mesh);

    animation=new THREE.Animation(mesh,geometry.animations[0]);

    animation.play();
});
于 2015-08-15T11:35:37.420 回答