2017-08-24 47 views
1

我使用csg.js與three.js,它似乎只支持3D CSG。 檢查 thisThree.js 2D CSG - 相交,聯合,相減

我想交叉和聯合2D(three.js)幾何。 有沒有什麼辦法可以用three.js做2D CSG?

+0

嗯,你嘗試了嗎?結果是什麼? – Marquizzo

+0

是的,我嘗試過。當試圖相交時,沒有結果,並且在嘗試結合時,它使自己不與參數結合。 – hyewon330

回答

1

你必須考慮的是飛機無限薄。所以當兩個平面相交時,你會得到一個一維線,它沒有可渲染的面。如果你使用一個2D實體,它可能仍然不起作用,因爲其中一個輸入不是固定的,插件名稱表明它可以在實體上工作。

統籌考慮,你會得到什麼類型的輸出,當兩個類型的幾何體相交:

如果要的面作爲輸出,我建議你相交的非常薄的盒子,例如2×2×0.01,而不是使用真正的2D平面。把它想象成一個cookie-cutter

此外,請確保您使用的不是非流形幾何體,你可以在這裏讀到:https://blender.stackexchange.com/questions/7910/what-is-non-manifold-geometry

+0

我試圖將2D幾何體作爲結果幾何體,並使用三維幾何體中的ExtrudedGeometry使其具有一定高度的三維幾何體。要做到這一點,首先我應用了高度和相交,但對於幾何中的曲線來說不太準確。就像你說的,如果我給2D幾何體賦予可忽略的高度並使其成爲3D幾何體,那麼我可以將結果3D幾何體轉換回2D幾何體?謝謝。 – hyewon330

+0

對不起,我試圖幫助你,但很難在沒有看到一些例子的情況下直觀顯示你想要達到的目標。你能用圖像更新你的問題嗎?另外,如果你想要的是平坦的形狀,你是否嘗試過這個例子中的方法:https://threejs.org/examples/?q=shape#webgl_geometry_shapes?它開始聽起來像所有你需要的是一個'THREE.Shape'對象。 – Marquizzo