[發明專利]一種面向WEBGL應用的三維模型輕量化方法有效
| 申請號: | 202010068718.X | 申請日: | 2020-01-21 |
| 公開(公告)號: | CN111275814B | 公開(公告)日: | 2023-10-13 |
| 發明(設計)人: | 徐同明;劉衛民;湯繼生;舒鵬飛;焦學瑞;黃廣健;王少剛;于兆洋;李伯釗;喬峰;高懷金 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06T17/00 | 分類號: | G06T17/00;G06T19/00 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 webgl 應用 三維 模型 量化 方法 | ||
本發明公開了一種面向WEBGL應用的三維模型輕量化方法,本發明包括如下步驟:將所述三維模型轉存為OBJ格式,獲得OBJ文件和MTL材質文件;將所述OBJ文件信息和MTL材質文件信息按零件進行分解;將分解后的OBJ文件和相對應的MTL材質文件進行匹配,獲得每個細分零件模型;將OBJ文件和MTL材質文件按既定規則進行重命名和關聯;將每個細分零件模型采用Draco壓縮。本發明通過將裝配體生成的OBJ文件按零件進行分解,在網頁端采用并行加載的方式,方便了網頁讀取加載,在網頁加載速度上和模型加載速度上均存在明顯的改進,提高了模型加載的順暢性,優化了用戶的使用體驗。
技術領域
本發明涉及三維輕量化展示技術領域,具體地說是一種面向WEBGL應用的三維模型輕量化方法。
背景技術
隨著WEBGL技術標準被廣泛接受和推廣應用,目前出現了許多基于WEBGL的開源三維引擎,如three js、scene js等,其中基于three js的應用開發尤為廣泛,一方面由于其開發過程便捷,另一方面是其支持主流的三維模型中間格式,如stl、obj、3ds、fbx、drc等。使用three js可以快速搭建WEB端模型瀏覽應用,在此過程中,對于一般文件容量較小的三維模型,瀏覽器加載渲染的速度及體驗感在可接受范圍內,而對于較大的裝配模型,加載渲染性能極差,甚至由于計算能力和內存限制等方面的影響造成WEB端崩潰,難以滿足實際的可視化需求,因此,在對大模型的處理上需對模型的數據組織和加載方式須做出優化策略,即使用三維模型輕量化技術對模型進行深度處理。
另外,目前模型來源方面,使用機械行業主流的設計工具如Solidworks、Pro/E、UG等建模工具設計的三維模型,其數據文件容量一般比較大,裝配體甚至達到幾百MB或幾GB的存儲空間,隨著模型復雜度增加,數據文件的容量更是成倍增長,給三維模型的WEB端加載、渲染及可視化帶來極大的困難。
發明內容
本發明的目的是針對以上不足,提供一種面向WEBGL應用的三維模型輕量化方法,改善模型由于數據量過大導致WEB端加載過慢及運行卡頓問題。
本發明所采用技術方案是:
一種面向WEBGL應用的三維模型輕量化方法,包括如下步驟:
S1、創建三維模型;
S2、將所述三維模型轉存為OBJ格式,獲得OBJ文件和MTL材質文件;
S3、將所述OBJ文件信息和MTL材質文件信息按零件進行分解;
S4、將分解后的OBJ文件和相對應的MTL材質文件進行匹配,獲得每個細分零件模型;
S5、將OBJ文件和MTL材質文件按既定規則進行重命名和關聯;
S6、將每個細分零件模型采用Draco壓縮;
S7、Web端采用并行加載的方式,對所有細分模型及相應材質進行渲染加載。
具體的,本發明的步驟S1中,用于創建三維模型的軟件包括Solidworks、Solidedge、CATIA、Pro/E和UG中的其中一種或幾種組合。
作為進一步的優化,本發明在步驟S2中,所述將三維模型轉存為OBJ格式的步驟包括:
將三維模型在當前創建軟件下保存為零件格式的模型文件;
將所保存的零件格式的模型文件通過OBJ轉存軟件打開,然后導出為OBJ格式文件,三維模型的材質信息保存于MTL格式文件中。
作為進一步的優化,本發明將所保存的零件格式的模型文件通過3D MAX軟件打開后,將模型調整至原點坐標處。
具體的,本發明的步驟S3中,將所述OBJ文件信息按零件進行分解的步驟包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010068718.X/2.html,轉載請聲明來源鉆瓜專利網。





