当我使用具有.jpg纹理的Collada模型时,Three.js似乎在纹理上覆盖了线框网格。 我的问题-有没有办法删除线框?
一个例子在这里; http://movealpha.com/dae/test1.html
这与删除Collada纹理以显示基础线框的示例相同; http://movealpha.com/dae/test2.html
这是一个问题还是有一种简单的方法来删除线框覆层?
ps。 感谢mrDoob提供了一个真正的极好的JavaScript库-我们集体不值得!
当我使用具有.jpg纹理的Collada模型时,Three.js似乎在纹理上覆盖了线框网格。 我的问题-有没有办法删除线框?
一个例子在这里; http://movealpha.com/dae/test1.html
这与删除Collada纹理以显示基础线框的示例相同; http://movealpha.com/dae/test2.html
这是一个问题还是有一种简单的方法来删除线框覆层?
ps。 感谢mrDoob提供了一个真正的极好的JavaScript库-我们集体不值得!
它通过为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);
}
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;