如何在三个js中加载多材料.dae?

时间:2016-05-04 17:25:16

标签: javascript three.js

我试图加载我用多种材料制作的模型,我想知道如何访问材料数组。在这里我的方法

loader.load('./dae/tenis.DAE', function ( collada){
    dae = collada.scene;
    dae.scale.x = dae.scale.y = dae.scale.z = 0.5;

    dae.traverse(function(child){
        if(child instanceof THREE.Mesh)
        {
            var text = textLoader.load('./dae/part1/part1_DIF00000.png');
            child.MultiMaterial.materials[0] = text;
        }
    });

    dae.updateMatrix();
    init();
    animate();
});

但它不起作用,即使我需要以单独的方式加载材料的纹理,我也无法在此之后访问它。一些提示?

1 个答案:

答案 0 :(得分:0)

我可以通过姓名或身份证访问所有资料,我的做法是错误的。 您可以在.dae模型文件中查看所有材料名称。 这是正确的方式:

 dae.traverse(function(child){
    if(child instanceof THREE.Mesh)
    {
        var text = textLoader.load('./dae/part1/part1_DIF00000.png');
        if(child.material.name == "materialName")
        {
          //do something
        }
    }
});