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目錄下的一些案例。
總結
以上是生活随笔為你收集整理的threejs 导出obj_Three.js保存导出.ply、.obj、.GLTF等格式三维模型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python tkinter 实现录屏软
- 下一篇: 阿弥陀佛么么哒 - 笔记