我是关于three.js的新手,我对导入的几何体(3dsmax的js文件,包括所有材质和纹理)和CanvasRenderer都有问题。 CanvasRenderer显示导入几何的三角形边,WebGLRenderer运行良好。
Canvas示例: http://der-n.square7.ch/threejs/examples/teapot_canvas.html
WebGL示例: http://der-n.square7.ch/threejs/examples/teapot_webgl.html
在three.js库中,我找到了一个选项“overdraw:true”,用于修复此行为的材质,但很明显,材质+纹理是由上面提到的导出的3dsmax js文件定义的。
对于测试,我使用“misc_camera_trackball”示例进行小改动(我添加了JSONLoader,更改了一些相机和轨迹球参数,更改了一些浅色,添加了CanvasRenderer)
任何提示如何解决这个问题? 谢谢你的帮助。
祝你好运 Oggy
答案 0 :(得分:0)
在加载程序回调中,您将所有已加载的材质放在数组geometry.materials
中。您可以遍历这些材料,并为每个材料设置overdraw
属性为true
。
据我所知,THREE.MeshFaceMaterial
只是一个传递材质,表示“面具有指向要从几何体材质数组中使用的材质实例的索引”,因此设置{{1的属性没有任何影响。