问题标签 [threecsg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
174 浏览

javascript - 计算threecsg网格的UV坐标

对于一个大学项目,我在 ThreeJS 中创建了一个 threecsg 减法。我想为这个网格应用纹理。但是处理后缺少的uv坐标给我带来了一些麻烦。这需要是一个threecsg,因为这是一个项目要求。

这是网格现在的样子:screenshot link

我在这里找到了一些代码:THREE.js generate UV coordinate

它确实让我更接近解决方案。侧面现在以正确的方式面向应用的纹理:截图链接

正面有许多奇怪的面孔。我尝试使用 THREE.SimplifyModifier 来获得更少的面孔,这样我就可以自己计算和设置 uv 坐标,但我失败了。

我认为这可能是一种解决方案,可以“仅迭代”上下,并在边界处“切割”纹理,就像网格是立方体一样。网格有大约 350 个面,我可能可以设置角顶点,但如果可以计算中间顶点的 uv 坐标会很好 - 但我不知道如何做到这一点。我不介意圆柱体被切断的一侧,因为最后你不会看到它。

太感谢了!

0 投票
0 回答
358 浏览

javascript - 什么是“未捕获 RangeError:超出最大调用堆栈大小”

我正在尝试实现一个threecsg库,但是当尝试使用实现的函数时,我收到一条错误消息:“Uncaught RangeError: Maximum call stack size exceeded at Plane.splitPolygon (code.html:229)”

代码是:

0 投票
1 回答
158 浏览

javascript - Three.js - 为什么 csg.js 不能用于布尔运算?

我是three.js 和csg.js 的新手。我创建了一个这样的基本场景:

我试图从飞机上减去一个圆。

(最后我有这个,从相机渲染场景。)

three.js 部分(使用 `scene.add()' 渲染平面和圆的工作原理,我在 HTML 中附加了 three-js-csgcsgthree-2-csg以希望得到一些东西工作。有什么明显的错误吗?

谢谢。

0 投票
1 回答
78 浏览

reactjs - React threejs 合并两个管子以创建一个 CSG 未按预期工作的 T 形件

我正在尝试创建一个适合管道领域的 T 恤。它由 2 个合并在一起的管子组成,并有 3个开口,如图所示。

我在threejs中编写了一些代码,我试图创建一个管网1和另一个管网2,然后尝试将它们与库@enable3d/three-graphics/jsm/csg联合到mesh3中——感谢@Marquizzo。使用函数 CSG.union 并将网格添加到场景中后,我可以看到我得到了一个 T 形球,但它还在几何 1 中创建了一个洞,这是意料之外的。您可以在此处看到正确孔(绿色)和错误创建孔(红色)的图片:

这个

相反,它应该看起来像这样,并且是一个几何图形。

在此处输入图像描述

谁能告诉我 CSG 是如何工作的以及为什么我在第一个几何图形的背面有一个额外的孔?

enter code here?