Three.js(r71)-数据初始化问题

Three.js(r71)-数据初始化问题,three.js,initialization,Three.js,Initialization,我得到一个错误: TypeError:undefined不是对象(正在计算“data.initialized”) 有人知道怎么修吗?我使用的是three.js(r71),它已经修复了#5831。直接查看json文件:geometry.animation是否存在几何。动画更可能?在这种情况下,它可能是一个数组,因此正确的参数是几何体。动画[0]您能告诉我们引发此错误的代码吗?我如何像@saravanakumar那样将代码放入框中?我不知道如何将灰色高亮显示在代码中,因此我将解释:var anima

我得到一个错误:

TypeError:undefined不是对象(正在计算“data.initialized”)


有人知道怎么修吗?我使用的是three.js(r71),它已经修复了#5831。

直接查看json文件:
geometry.animation
是否存在<代码>几何。动画更可能?在这种情况下,它可能是一个数组,因此正确的参数是
几何体。动画[0]

您能告诉我们引发此错误的代码吗?我如何像@saravanakumar那样将代码放入框中?我不知道如何将灰色高亮显示在代码中,因此我将解释:var animation=new THREE.animation(objeto,geometry.animation);animation.play();它在三个.animation(objeto,geometry.animation)函数上出现错误。在问问题之前只需阅读代码格式?这将教会你们所有人:)是的,我没有想到。不,它不存在。只有“animations”数组,没有“geometry.animation”或“geometry.animations”。我的确切意思是它不存在:)几何体是整个json文件。因此,您得到了答案:将
几何体.animation
替换为
几何体.animations[0]
我已更改为geometry.animations[0],现在它工作了,但动画没有显示。我认为JSON文件没有加载。它肯定正在加载,因为否则浏览器和threejs会有一个404。但是,在您的代码中还有两个我没有看到的错误:-
setReceiveShadow
is
receiveShadow
,-您必须在开始时为(材质中的var i){materials[i]创建一个“for”循环。skinning=true;materials[i]。morphTargets=true;}json异步相关问题实际上与javascript有关,如果控制台仍然不工作,请查看控制台。
loader = new THREE.JSONLoader();  
loader.load( 'models/SL-MD-avatar_erica68.json', addModel );

var helpset;
function addModel( geometry,  materials ){
    materials[0].skinning = true;
    objeto= new THREE.SkinnedMesh( geometry, new  THREE.MeshFaceMaterial(materials));
    objeto.setCastShadow = true;
    objeto.receiveShadow = true;

    scene.add(objeto);

    helpset = new THREE.SkeletonHelper(objeto);
    helpset.visible = false;
    scene.add(helpset);

    // Instantiate the animation

    var animation = new THREE.Animation(objeto, geometry.animation);

    // Start playing the animation
    animation.play();
}