当我使用具有.jpg纹理的Collada模型时,Three.js似乎在纹理上覆盖了线框网格。 我的问题-有没有办法删除线框?

一个例子在这里; http://movealpha.com/dae/test1.html

这与删除Collada纹理以显示基础线框的示例相同; http://movealpha.com/dae/test2.html

这是一个问题还是有一种简单的方法来删除线框覆层?

ps。 感谢mrDoob提供了一个真正的极好的JavaScript库-我们集体不值得!

===============>>#1 票数:0

它通过为collada.scene中的所有(!)子级设置material.overdraw = 0.5来为我工作。 就我而言,孩子里面有孩子。

var loader = new THREE.ColladaLoader();
loader.load( 'model.dae', function ( collada ) {
var dae = collada.scene;
for (var i=0; i<dae.children.length; i++) {
        for (var j=0; j<dae.children[i].children.length; j++) {
            dae.children[i].children[j].material.overdraw=0.5;
        }
    }
scene.add(dae);    
}

===============>>#2 票数:0

mrdoob在github上回答了这个问题; https://github.com/mrdoob/three.js/issues/885

这是他的回答的副本

这是CanvasRenderer的限制。 设置material.overdraw = true可能会有所改善。 通过执行以下操作,可以找到具有要更改材质的对象:

var object = collada.scene.getChildByName( 'object_name', true );
object.material.overdraw = true;

  ask by gts101 translate from so

未解决问题?本站智能推荐: