Javascript 在Three.js中创建缓冲几何体轮廓的最佳方法
我想在我的缓冲几何体中制作一个特定的轮廓。目标是创建一个填充多边形和周围的线 现在,我尝试使用MultiMaterialObject,但线与正方形相交: 但我不需要交叉线。在本例中,我使用正方形,但在我的项目中有数千个多边形(五角大楼、六边形等)。 在没有交叉线的情况下,做完美轮廓的最佳方法是什么Javascript 在Three.js中创建缓冲几何体轮廓的最佳方法,javascript,three.js,Javascript,Three.js,我想在我的缓冲几何体中制作一个特定的轮廓。目标是创建一个填充多边形和周围的线 现在,我尝试使用MultiMaterialObject,但线与正方形相交: 但我不需要交叉线。在本例中,我使用正方形,但在我的项目中有数千个多边形(五角大楼、六边形等)。 在没有交叉线的情况下,做完美轮廓的最佳方法是什么 制作两个独立的“缓冲几何体”?(一个使用具有不同顶点位置序列的LineBasicMaterial,另一个使用具有实际序列的MeshBasicMaterial) 其他的 谢谢如果要高亮显示几何体的边
- 制作两个独立的“缓冲几何体”?(一个使用具有不同顶点位置序列的LineBasicMaterial,另一个使用具有实际序列的MeshBasicMaterial)
- 其他的
谢谢如果要高亮显示几何体的边,可以使用
EdgeHelper
:
var helper = new THREE.EdgesHelper( mesh, 0x00ffff );
helper.material.linewidth = 2; // optional
scene.add( helper )
如果网格具有其他材质,则可以使用EdgesHelper
获得z形格斗瑕疵。解决方法包括polygonOffset
。看见还请注意它在下面更新的小提琴中的用法
但是,您的几何体存在问题。端面缠绕顺序必须为逆时针方向。这是另一个问题
更新小提琴:
three.js r.71在链接处,在黑色窗口上单击鼠标可看到一个正方形。尝试
var helper=new three.edgehelp(网格,0x00ffff)代码>谢谢!!工作正常,但我做了一些更改:var material=new THREE.LineBasicMaterial({vertexColors:THREE.vertexColors,side:THREE.DoubleSide})代码>看最后一个例子:谢谢@WestLangley!!我不知道画面的逆时针顺序。最后一个例子:
var helper = new THREE.EdgesHelper( mesh, 0x00ffff );
helper.material.linewidth = 2; // optional
scene.add( helper )