【问题标题】:How to setup materials in THREE.js when loading Collada (dae) models?加载 Collada (dae) 模型时如何在 THREE.js 中设置材质?
【发布时间】:2012-01-07 01:49:41
【问题描述】:

加载 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);
});

感谢您的帮助。

【问题讨论】:

    标签: collada three.js


    【解决方案1】:
    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模型,然后进行相应的修改。

    【讨论】:

      猜你喜欢
      • 2015-06-02
      • 2013-04-04
      • 1970-01-01
      • 2012-08-18
      • 2012-10-06
      • 2014-12-28
      • 2013-07-30
      • 2017-08-22
      • 2018-02-26
      相关资源
      最近更新 更多