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 に答える