2011-11-26 140 views
5

加载Collada(dae)模型时,如何在THREE.js中设置材质?如何在加载Collada(dae)模型时在THREE.js中设置材质?

我有以下代码:

new THREE.ColladaLoader().load('models/cylinder.dae', 
function(collada) { 
    var model = collada.scene; 
    model.scale.set(10.0, 10.0, 10.0); 

    // attempt to set a material - doesn't work... 
    collada.dae.materials[0] = new THREE.MeshBasicMaterial({ color: 0xff0000, wireframe: true }); 

    scene.add(model); 
}); 

感谢您的帮助。

回答

5
var loader = new THREE.ColladaLoader(); 
loader.options.convertUpAxis = true; 
loader.load('./models/cylinder.dae',function colladaReady(collada) { 

model = collada.scene; 
model_geometry = collada.scene.children[ 0 ].geometry; 
model_material = collada.scene.children[ 0 ].material; 

model.scale.set(10.0, 10.0, 10.0); 
model.updateMatrix(); 
}); 

如果你正在model_material为“未定义”,然后看看COLLADA对象

console.log(collada); 

有时里面有小孩儿,所以你可能不得不这样做:

model_material = collada.scene.children[ 0 ].children[ 0 ].material; 

看看collada模型,然后相应地修改。

相关问题