Collada纹理上的线框覆盖 - three.js

时间:2011-12-11 19:04:36

标签: textures collada three.js wireframe

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

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

这是移除Collada纹理以显示底层线框的相同示例; http://movealpha.com/dae/test2.html

这是一个问题,还是有一种简单的方法可以删除线框覆盖?

PS。感谢mrDoob提供了一个真正令人敬畏的JavaScript库 - 我们总是不值得!

2 个答案:

答案 0 :(得分: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;

答案 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);    
}