Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Model 将three.js模型转换为svg_Model_Svg_3d_Three.js - Fatal编程技术网

Model 将three.js模型转换为svg

Model 将three.js模型转换为svg,model,svg,3d,three.js,Model,Svg,3d,Three.js,我正在尝试构建一个工具,允许设计师导入家具零件的3d模型(在3ds max中创建并转换为three.js json),并通过移动这些零件来组装家具。组装完成后,我需要将最终的家具模型(几何体、材质等)导出为svg图像,以便在2d home designer工具中显示在我的网站上。如何将three.js模型(一个或多个)转换为svg。我需要在3d home designer工具中执行同样的操作,因为用户可以自己重新组装家具,并且在重新组装完成后需要动态更新svg。是否有three.js插件、示例、

我正在尝试构建一个工具,允许设计师导入家具零件的3d模型(在3ds max中创建并转换为three.js json),并通过移动这些零件来组装家具。组装完成后,我需要将最终的家具模型(几何体、材质等)导出为svg图像,以便在2d home designer工具中显示在我的网站上。如何将three.js模型(一个或多个)转换为svg。我需要在3d home designer工具中执行同样的操作,因为用户可以自己重新组装家具,并且在重新组装完成后需要动态更新svg。是否有three.js插件、示例、示例代码或外部javascript库,允许我在浏览器中将一个或多个three.js模型转换为svg。非常感谢您的帮助。

碰巧,Three.js有三个.svgrender()。除了可能的细微兼容性更改之外,您应该能够使用几乎任何Three.js演示,只需将Three.WebGLRenderer或Three.CanvasRenderer替换为Three.SVGRenderer即可

要从渲染器DOM获取结果SVG,请参见此处:


显然,结果将与WebGL或画布输出不同,但它将是真正的矢量图形。除非将基于位图的图像数据嵌入到更复杂的着色WebGL场景中,否则将其转换为SVG几乎是不可能的,这与SVG和矢量图形的用途背道而驰。在这种情况下,最好使用PNG图像,您可以直接从THREE.WebGLRenderer和THREE.CanvasRenderer中获取PNG图像

碰巧,Three.js有三个.svgrender()。除了可能的细微兼容性更改之外,您应该能够使用几乎任何Three.js演示,只需将Three.WebGLRenderer或Three.CanvasRenderer替换为Three.SVGRenderer即可

要从渲染器DOM获取结果SVG,请参见此处:


显然,结果将与WebGL或画布输出不同,但它将是真正的矢量图形。除非将基于位图的图像数据嵌入到更复杂的着色WebGL场景中,否则将其转换为SVG几乎是不可能的,这与SVG和矢量图形的用途背道而驰。在这种情况下,最好使用PNG图像,您可以直接从THREE.WebGLRenderer和THREE.CanvasRenderer中获取PNG图像

Rajeev,据我所知,您正在考虑顶视图、左视图、右视图、前视图等。您应该在three.js中查看正交摄影机以实现这一点

Rajeev,据我所知,您正在考虑顶视图、左视图、右视图、前视图等。您应该在three.js中查看正交摄影机以实现这一点

您建议的解决方案将在SVG中渲染整个场景,但它仍然是一个3D场景(仍然是一个三维场景)。我想做的是将JSON对象转换为svg图像。这就像我在3DS max中打开一个3D模型,然后从某个角度导出一个png图像。功能类似于导出模型的图像,但我需要SVG格式的图像,而不是PNG。我不想在SVG中渲染场景,但我需要将单个3D模型(加载JsonLoader)动态导出为SVG,并在其他使用SVG进行图形渲染的查看器中进行渲染。您建议的解决方案将在SVG中渲染整个场景,但它仍然是一个3D场景(仍然存在三维)。我想做的是将JSON对象转换为svg图像。这就像我在3DS max中打开一个3D模型,然后从某个角度导出一个png图像。功能类似于导出模型的图像,但我需要SVG格式的图像,而不是PNG。我不想在SVG中渲染场景,但我需要将单个3D模型(使用JsonLoader加载)动态导出为SVG,并在其他使用SVG进行图形渲染的查看器中进行渲染。