0
我試圖使用javafx將.svg文件轉換爲3d(.obj文件)。是否有可能將SVGPath轉換爲javafx中的網格
我可以將Shape - Cylinder,Box等圖元轉換爲Mesh。是否有可能轉換SVGPath轉換爲任何特定的網格。
我試圖使用javafx將.svg文件轉換爲3d(.obj文件)。是否有可能將SVGPath轉換爲javafx中的網格
我可以將Shape - Cylinder,Box等圖元轉換爲Mesh。是否有可能轉換SVGPath轉換爲任何特定的網格。
的開源庫FXyz有你在尋找什麼:給定一個2D SVGPath
(或它的內容的字符串)一個SVG3DMesh
類將返回3D TriangleMesh,擠出2D圖形到一定高度。
稍後,您可以將該網格導出到obj文件。
這是你如何使用它的代碼片段:
SVG3DMesh svg3DMesh = new SVG3DMesh("M40,60 C42,48 44,30 25,32", 10);
您可以顯示網格:
svg3DMesh.setDrawMode(DrawMode.LINE);
svg3DMesh.setCullFace(CullFace.NONE);
或顯示了堅實的3D物體的顏色你想要:
svg3DMesh.setTextureModeNone(Color.RED);
對於網格導出到OBJ:
OBJWriter writer=new OBJWriter((TriangleMesh) ((TexturedMesh) svg3DMesh.getMeshFromLetter("")).getMesh(), "svg");
writer.setMaterialColor(Color.RED);
writer.exportMesh();
它會產生svg.obj和svg.mtl。
Pereda,非常感謝您的意見。這將幫助我理解轉換背後的過程。 – Sharan
@José是否也可以創建一個扁平(非擠壓)網格? – mipa
@mipa是的,的確,這是3D網格生成的第一部分:2D封閉路徑使用Poly2Tri生成2D網格。您需要添加一些API才能從SVG3DMesh中獲取網格... –