日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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等格式三维模型的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。