本發(fā)明涉及三維模型輕量化,具體地,涉及基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化方法及系統(tǒng)。
背景技術(shù):
BIM中的設(shè)計(jì)模型是一種精確的邊界描述(B-rep)模型,含有大量的幾何信息,在現(xiàn)有的計(jì)算機(jī)軟硬件條件下,使用設(shè)計(jì)模型直接建立大型復(fù)雜系統(tǒng)裝配、維修仿真模型是不可能的,因此需要使用輕量化的模型建立仿真模型,以達(dá)到對仿真模型的快速交互、渲染。
使用現(xiàn)有技術(shù)中的模型展示技術(shù)在移動(dòng)端展示模型時(shí),如果模型體量超過一定范圍則會(huì)出現(xiàn)移動(dòng)設(shè)備內(nèi)存不夠而無法加載模型,加載模型是后進(jìn)行三維操作反應(yīng)極慢甚至卡死等問題。實(shí)際中,模型體量基本上均超過移動(dòng)設(shè)備的配置能力。
技術(shù)實(shí)現(xiàn)要素:
針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化方法及系統(tǒng)。
根據(jù)本發(fā)明提供的一種基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化方法,包括:
構(gòu)件信息獲取步驟:獲取多個(gè)構(gòu)件的信息文件;
構(gòu)件生成步驟:將多個(gè)構(gòu)件的信息文件導(dǎo)入三維引擎中,得到多個(gè)構(gòu)件;
構(gòu)件合并步驟:將所述多個(gè)構(gòu)件合并為若干個(gè)構(gòu)件,記為合并后構(gòu)件;
構(gòu)件信息更新步驟:生成合并后構(gòu)件的信息文件;
上色轉(zhuǎn)換步驟:將所述合并后構(gòu)件的信息文件導(dǎo)入三維引擎中進(jìn)行上色并轉(zhuǎn)換成模型。
優(yōu)選地,在構(gòu)件合并步驟中,將所述多個(gè)構(gòu)件合并為一個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件合并步驟中,將所述多個(gè)構(gòu)件合并為多個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件信息更新步驟中,所述合并后構(gòu)件的信息文件中包括來自于所述多個(gè)構(gòu)件的信息文件中與所述合并后構(gòu)件相關(guān)的信息。
優(yōu)選地,還包括:
展示響應(yīng)步驟:在展示界面中僅展示合并后構(gòu)件,并響應(yīng)對合并后構(gòu)件的操作。
優(yōu)選地,所述多個(gè)構(gòu)件的信息文件,可以是指一個(gè)對應(yīng)多個(gè)構(gòu)件的信息文件,即多個(gè)構(gòu)件的整體信息文件。
根據(jù)本發(fā)明提供的一種基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化系統(tǒng),包括:
構(gòu)件信息獲取裝置:獲取多個(gè)構(gòu)件的信息文件;
構(gòu)件生成裝置:將多個(gè)構(gòu)件的信息文件導(dǎo)入三維引擎中,得到多個(gè)構(gòu)件;
構(gòu)件合并裝置:將所述多個(gè)構(gòu)件合并為若干個(gè)構(gòu)件,記為合并后構(gòu)件;
構(gòu)件信息更新裝置:生成合并后構(gòu)件的信息文件;
上色轉(zhuǎn)換裝置:將所述合并后構(gòu)件的信息文件導(dǎo)入三維引擎中進(jìn)行上色并轉(zhuǎn)換成模型。
優(yōu)選地,在構(gòu)件合并裝置中,將所述多個(gè)構(gòu)件合并為一個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件合并裝置中,將所述多個(gè)構(gòu)件合并為多個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件信息更新裝置中,所述合并后構(gòu)件的信息文件中包括來自于所述多個(gè)構(gòu)件的信息文件中與所述合并后構(gòu)件相關(guān)的信息。
優(yōu)選地,還包括:
展示響應(yīng)裝置:在展示界面中僅展示合并后構(gòu)件,并響應(yīng)對合并后構(gòu)件的操作。
優(yōu)選地,所述多個(gè)構(gòu)件的信息文件,可以是指一個(gè)對應(yīng)多個(gè)構(gòu)件的信息文件,即多個(gè)構(gòu)件的整體信息文件。
與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
1、通過本發(fā)明,在加載超大的三維模型時(shí)使用的內(nèi)存可控,解決了內(nèi)存溢出的問題;
2、本發(fā)明能夠大大加快超大模型渲染速度;
3、本發(fā)明大大加快了超大模型三維操作的反應(yīng)速度,例如選中、平移、縮放等等操作反應(yīng),從而得到流暢的操作體驗(yàn)。
附圖說明
通過閱讀參照以下附圖對非限制性實(shí)施例所作的詳細(xì)描述,本發(fā)明的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1為本發(fā)明提供的基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化方法的步驟流程圖。
圖2為本發(fā)明提供的基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)說明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本發(fā)明,但不以任何形式限制本發(fā)明。應(yīng)當(dāng)指出的是,對本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變化和改進(jìn)。這些都屬于本發(fā)明的保護(hù)范圍。
根據(jù)本發(fā)明提供的一種基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化方法,包括:
構(gòu)件信息獲取步驟:獲取多個(gè)構(gòu)件的信息文件;
構(gòu)件生成步驟:將多個(gè)構(gòu)件的信息文件導(dǎo)入三維引擎中,得到多個(gè)構(gòu)件;
構(gòu)件合并步驟:將所述多個(gè)構(gòu)件合并為若干個(gè)構(gòu)件,記為合并后構(gòu)件;
構(gòu)件信息更新步驟:生成合并后構(gòu)件的信息文件;
上色轉(zhuǎn)換步驟:將所述合并后構(gòu)件的信息文件導(dǎo)入三維引擎中進(jìn)行上色并轉(zhuǎn)換成模型。
進(jìn)一步地,在構(gòu)件合并步驟中,將所述多個(gè)構(gòu)件合并為一個(gè)構(gòu)件。
進(jìn)一步地,在構(gòu)件合并步驟中,將所述多個(gè)構(gòu)件合并為多個(gè)構(gòu)件。
進(jìn)一步地,在構(gòu)件信息更新步驟中,所述合并后構(gòu)件的信息文件中包括來自于所述多個(gè)構(gòu)件的信息文件中與所述合并后構(gòu)件相關(guān)的信息。
進(jìn)一步地,還包括:
展示響應(yīng)步驟:在展示界面中僅展示合并后構(gòu)件,并響應(yīng)對合并后構(gòu)件的操作。
具體地,本發(fā)明包括:導(dǎo)出Revit模型的整體FBX文件作為構(gòu)件的信息文件;將FBX導(dǎo)入到3D Max引擎中,得到各個(gè)構(gòu)件;合并所有的構(gòu)件成為一個(gè)構(gòu)件,并將合并的結(jié)構(gòu)保存回FBX中作為修改過的FBX文件;將修改過的FBX載入到Unity3D引擎中上色并轉(zhuǎn)換成BIM模型。
其中,所述多個(gè)構(gòu)件的信息文件,可以是指一個(gè)對應(yīng)多個(gè)構(gòu)件的信息文件,即多個(gè)構(gòu)件的整體信息文件。在展示整體模型時(shí),Unity3D引擎只載入合并后的BIM模型。這樣由于載入的模型中只有一個(gè)構(gòu)件或數(shù)量不多的合并后構(gòu)件,做平移、縮放、旋轉(zhuǎn)等三維操作時(shí)計(jì)算量將大幅的減少(如原模型有10000個(gè)構(gòu)件,則每做一次三維操作時(shí)需要進(jìn)行10000次三維矩陣變化的計(jì)算。構(gòu)件合并后,10000個(gè)構(gòu)件減少到只有1個(gè)構(gòu)件,所以計(jì)算次數(shù)減少為1次,節(jié)省了9999/10000的計(jì)算量)。同時(shí)由于構(gòu)件數(shù)量的大幅減少,引擎不需要對每個(gè)構(gòu)件創(chuàng)建三維模型,節(jié)省了三維模型的冗余數(shù)據(jù),因此模型所占的內(nèi)存也將大大減少。
根據(jù)本發(fā)明提供的一種基于BIM的超大場景在移動(dòng)端的渲染優(yōu)化系統(tǒng),包括:
構(gòu)件信息獲取裝置:獲取多個(gè)構(gòu)件的信息文件;
構(gòu)件生成裝置:將多個(gè)構(gòu)件的信息文件導(dǎo)入三維引擎中,得到多個(gè)構(gòu)件;
構(gòu)件合并裝置:將所述多個(gè)構(gòu)件合并為若干個(gè)構(gòu)件,記為合并后構(gòu)件;
構(gòu)件信息更新裝置:生成合并后構(gòu)件的信息文件;
上色轉(zhuǎn)換裝置:將所述合并后構(gòu)件的信息文件導(dǎo)入三維引擎中進(jìn)行上色并轉(zhuǎn)換成模型。
優(yōu)選地,在構(gòu)件合并裝置中,將所述多個(gè)構(gòu)件合并為一個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件合并裝置中,將所述多個(gè)構(gòu)件合并為多個(gè)構(gòu)件。
優(yōu)選地,在構(gòu)件信息更新裝置中,所述合并后構(gòu)件的信息文件中包括來自于所述多個(gè)構(gòu)件的信息文件中與所述合并后構(gòu)件相關(guān)的信息。
優(yōu)選地,還包括:
展示響應(yīng)裝置:在展示界面中僅展示合并后構(gòu)件,并響應(yīng)對合并后構(gòu)件的操作。
本領(lǐng)域技術(shù)人員知道,除了以純計(jì)算機(jī)可讀程序代碼方式實(shí)現(xiàn)本發(fā)明提供的系統(tǒng)及其各個(gè)裝置、模塊、單元以外,完全可以通過將方法步驟進(jìn)行邏輯編程來使得本發(fā)明提供的系統(tǒng)及其各個(gè)裝置、模塊、單元以邏輯門、開關(guān)、專用集成電路、可編程邏輯控制器以及嵌入式微控制器等的形式來實(shí)現(xiàn)相同功能。所以,本發(fā)明提供的系統(tǒng)及其各項(xiàng)裝置、模塊、單元可以被認(rèn)為是一種硬件部件,而對其內(nèi)包括的用于實(shí)現(xiàn)各種功能的裝置、模塊、單元也可以視為硬件部件內(nèi)的結(jié)構(gòu);也可以將用于實(shí)現(xiàn)各種功能的裝置、模塊、單元視為既可以是實(shí)現(xiàn)方法的軟件模塊又可以是硬件部件內(nèi)的結(jié)構(gòu)。
以上對本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。在不沖突的情況下,本申請的實(shí)施例和實(shí)施例中的特征可以任意相互組合。