4

我正在尝试在 Three.js 中的导入模型(通过 Collada 加载器)中选择特定材料。我知道这可以通过该getChildByName方法完成,但它对我不起作用。我也找不到包含此方法的任何工作示例。

我在这里做错了什么?

loader = new THREE.ColladaLoader();
loader.load('myModel.dae', function ( collada ) {
    model = collada.scene;

    var myMaterial = model.getChildByName( 'materialName', true );
    myMaterial.material = new THREE.MeshBasicMaterial( { wireframe: true } );
});
4

1 回答 1

4

我想这就是你所追求的。

collada.scene.traverse( function ( child ) {

    if ( child.material && child.material.name === 'materialName' ) {

        child.material = new THREE.MeshBasicMaterial( { wireframe: true } );

    }

} );
于 2012-06-19T19:18:52.120 回答