多边形之间的Three.js画布渲染器接缝

多边形之间的Three.js画布渲染器接缝,three.js,Three.js,我已经对这个图书馆感到很舒服了,但是这个已经让我很累了: 当我试图简单地渲染一个没有任何纹理的网格,从blender导出到.obj(启用三角剖分、平滑组)时,WebGL渲染器可以很好地做到这一点,但我还需要使用画布渲染器使之成为可能,麻烦来了;多边形边之间有接缝,部分可见 为了清楚起见,提供屏幕截图 WebGL渲染器 画布渲染器 网格非常复杂,~7k个三角形当使用画布渲染器时,需要设置 material.overdraw = 0.5; // or some number between 0

我已经对这个图书馆感到很舒服了,但是这个已经让我很累了:

当我试图简单地渲染一个没有任何纹理的网格,从blender导出到.obj(启用三角剖分、平滑组)时,WebGL渲染器可以很好地做到这一点,但我还需要使用画布渲染器使之成为可能,麻烦来了;多边形边之间有接缝,部分可见

为了清楚起见,提供屏幕截图

WebGL渲染器

画布渲染器


网格非常复杂,~7k个三角形

当使用
画布渲染器
时,需要设置

material.overdraw = 0.5; // or some number between 0 and 1
这将有助于缓解问题

注意:
透支
过去是布尔值;它现在是一个浮动


three.js r.63

这不起作用,仍然有接缝。加载程序代码:
var loader2=new THREE.OBJLoader();loader2.load('models/cevje.obj',function(object){object.material=new THREE.MeshLambertMaterial({color:0xffffffff,shading:THREE.FlatShading,overdraw:0.5});sceneobjectparent2.add(object);})与这里的代码相同您使用的是three.js版本r.63?我在r62上,更新到R63后没有区别您将Lambert材质指定给加载的对象,而不是对象的子网格。执行此操作:
object.children[0]。material.overdraw=0.5你能提供你的代码的一个实例吗?当然,你可以了