Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Three.js中创建缓冲几何体轮廓的最佳方法_Javascript_Three.js - Fatal编程技术网

Javascript 在Three.js中创建缓冲几何体轮廓的最佳方法

Javascript 在Three.js中创建缓冲几何体轮廓的最佳方法,javascript,three.js,Javascript,Three.js,我想在我的缓冲几何体中制作一个特定的轮廓。目标是创建一个填充多边形和周围的线 现在,我尝试使用MultiMaterialObject,但线与正方形相交: 但我不需要交叉线。在本例中,我使用正方形,但在我的项目中有数千个多边形(五角大楼、六边形等)。 在没有交叉线的情况下,做完美轮廓的最佳方法是什么 制作两个独立的“缓冲几何体”?(一个使用具有不同顶点位置序列的LineBasicMaterial,另一个使用具有实际序列的MeshBasicMaterial) 其他的 谢谢如果要高亮显示几何体的边

我想在我的缓冲几何体中制作一个特定的轮廓。目标是创建一个填充多边形和周围的线

现在,我尝试使用MultiMaterialObject,但线与正方形相交:

但我不需要交叉线。在本例中,我使用正方形,但在我的项目中有数千个多边形(五角大楼、六边形等)。 在没有交叉线的情况下,做完美轮廓的最佳方法是什么

  • 制作两个独立的“缓冲几何体”?(一个使用具有不同顶点位置序列的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 )