2011-11-26 84 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模型,然後相應地修改。

相關問題