【问题标题】:Is there a way to draw only certain lines in wireframe of Plane Mesh in Three.js?有没有办法在 Three.js 的平面网格线框中只绘制某些线?
【发布时间】:2025-12-18 21:30:02
【问题描述】:

我希望能够显示或隐藏我的 PlaneGeometry 网格线框中的对角线,以及能够显示或隐藏垂直或水平线。有没有办法做到这一点并在我的网格中保留三角形?我已经在材质上设置了“线框:真”并且可以对其进行着色。过去我可以使用 OpenGL 做到这一点,是否可以使用 Three.js?

【问题讨论】:

  • 一种选择是使用THREE.Line 手动绘制您想要的线框。您可以从现有的几何图形开始,然后将顶点按适当的顺序放入路径中。

标签: opengl-es three.js webgl glsl


【解决方案1】:

您可以根据自己的喜好使用或修改src/extras/helpers/GridHelper.js

还有src/extras/helpers/WireframeHelper.js

http://threejs.org/examples/webgl_helpers.html

编辑:THREE.EdgesHelper 已添加到库中。它不会渲染平面的对角线。

三个.js。 r.65

【讨论】:

  • 我不明白这有什么帮助。我已经构建了一个网格,它有一个 GLSL 顶点着色器来置换顶点。当我将以下代码添加到我的场景中时,它所做的只是生成另一个线框网格。如何将现有网格的线框更改为仅显示垂直线? ' var helper = new THREE.WireframeHelper(mesh); helper.material.depthTest = false; helper.material.opacity = 1.0; helper.material.transparent = true;场景.add(助手);'
  • 我有一个设置为“wireframe: true”的 ShaderMaterial,我在哪里可以增加应用于网格的这种材质的线框?
  • 正如我在回答中所说,您必须修改其中一个助手以仅渲染您想要查看的面部边缘。在three.js中没有其他选项可以达到你想要的效果。
  • 您的“接受”率为零。请记住通过单击答案旁边的复选标记来接受答案。也为回答了您问题的其他人这样做。
  • 这个答案并没有让我找到解决问题的方法。