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