1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > threejs 导出obj_Three.js保存导出.ply .obj .GLTF等格式三维模型

threejs 导出obj_Three.js保存导出.ply .obj .GLTF等格式三维模型

时间:2020-02-09 03:49:12

相关推荐

threejs 导出obj_Three.js保存导出.ply .obj .GLTF等格式三维模型

Three.js保存导出.ply、.obj、.GLTF等格式三维模型

无论Three.js加载的任意格式三维模型,还是通过Threejs的API创建的一个三维模型,都可以导出为一个文件保存三维场景的数据。

你可以自定义提取保存Three.js中任何的三维场景信息,比如Threejs中的光源数据保存,threejs中的几何体顶点数据提取保存,你也可以按照一定的标准导出特定格式的三维模型,比如导出.obj格式、.GLTF格式、.ply格式....

.toJSON()方法

通过Three.js各个对象的.toJSON()方法可以保存Threejs自己格式的JSON文件,比如你通过Threejs开发一个三维建模软件,想保存Threejs中创建个立方体、球体等三维模型的顶点、材质等数据,就可以通过.toJSON()方法实现。

可以在控制台查看导出的几何体数据

var geometry = new THREE.BoxGeometry(36, 25, 78);

console.log(geometry);

console.log(geometry.toJSON());

// JSON对象转化为字符串

console.log(JSON.stringify(geometry.toJSON()));

// JSON.stringify()方法内部会自动调用参数的toJSON()方法

console.log(JSON.stringify(geometry));

导出一个层级模型的所有数据

console.log(group.toJSON());

// JSON格式转化为字符串

console.log(JSON.stringify(group.toJSON()))

其它格式

通过Threejs保存为非Threejs自身格式的其它通用格式,比如常见的obj、ply等格式模型,比如Web3D应用常用的GLTF格式模型。

Threejs数据保存为通用格式其它的WebGL或OpenGL三维引擎都可以很方便解析调用。

在three.js-master官方文件包的\examples\js\loaders目录下提供了各种各样的针对特定格式三维模型加载器的

,同样three.js-master提供有加载器js库,也有一些导出器的js库,具体参考目录\examples\js\exporters,比如用于导出.GLTF格式三维模型的js库GLTFExporter.js,用于导出.obj格式三维模型的js库OBJExporter.js,用于导出.ply格式三维模型的js库PLYExporter.js,用于导出.stl格式三维模型的js库STLExporter.js。

GLTFExporter.js、PLYExporter.js等库的应用可以参考three.js-master\examples目录下的一些案例。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。