2016-11-09 78 views

回答

0

的开源库FXyz有你在寻找什么:给定一个2D SVGPath(或它的内容的字符串)一个SVG3DMesh类将返回3D TriangleMesh,挤出2D图形到一定高度。

稍后,您可以将该网格导出到obj文件。

这是你如何使用它的代码片段:

SVG3DMesh svg3DMesh = new SVG3DMesh("M40,60 C42,48 44,30 25,32", 10); 

SVG3DMesh

您可以显示网格:

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。

+0

Pereda,非常感谢您的意见。这将帮助我理解转换背后的过程。 – Sharan

+0

@José是否也可以创建一个扁平(非挤压)网格? – mipa

+0

@mipa是的,的确,这是3D网格生成的第一部分:2D封闭路径使用Poly2Tri生成2D网格。您需要添加一些API才能从SVG3DMesh中获取网格... –

相关问题