本發(fā)明涉及一種3d廠區(qū)地圖的生成,尤其涉及一種沉浸式3d大型廠區(qū)地圖的自動(dòng)生成方法。
背景技術(shù):
目前,在大型廠區(qū)地圖制作中,對(duì)于復(fù)雜多變的結(jié)構(gòu)進(jìn)行單獨(dú)的地圖制作會(huì)耗費(fèi)大量的人力和時(shí)間成本,并且由于人工誤差的原因使得每次制作的地圖之間均存在差異,很難做到標(biāo)準(zhǔn)統(tǒng)一。另外,一般廠區(qū)地圖中具有很多類似結(jié)構(gòu)的零部件,在制作時(shí)不能夠進(jìn)行分類,使得廠區(qū)地圖在生成的過(guò)程中需要多次加載每個(gè)零部件,導(dǎo)致消耗大量的內(nèi)存。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明的目的之一在于提供沉浸式3d廠區(qū)地圖自動(dòng)生成方法,其能夠解決現(xiàn)有技術(shù)中3d廠區(qū)地圖生成時(shí)需要耗費(fèi)大量的人力和時(shí)間成本。
本發(fā)明的目的之二在于提供一種電子設(shè)備,其能夠解決現(xiàn)有技術(shù)中3d廠區(qū)地圖生成時(shí)需要耗費(fèi)大量的人力和時(shí)間成本。
本發(fā)明的目的之三在于提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其能夠解決現(xiàn)有技術(shù)中3d廠區(qū)地圖生成時(shí)需要耗費(fèi)大量的人力和時(shí)間成本。
本發(fā)明的目的之四在于提供沉浸式3d廠區(qū)地圖自動(dòng)生成裝置,其能夠解決現(xiàn)有技術(shù)中3d廠區(qū)地圖生成時(shí)需要耗費(fèi)大量的人力和時(shí)間成本。
本發(fā)明的目的之一采用如下技術(shù)方案實(shí)現(xiàn):
沉浸式3d廠區(qū)地圖自動(dòng)生成方法,包括以下步驟:
獲取步驟:獲取3d廠區(qū)地圖的配置文件;
區(qū)域提取步驟:根據(jù)所述配置文件得出3d廠區(qū)地圖中劃分的區(qū)域以及每個(gè)區(qū)域的功能;
拼接步驟:根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件并將每個(gè)區(qū)域內(nèi)的所有組件拼接在一起,生成3d廠區(qū)地圖。
進(jìn)一步地,所述組件庫(kù)是由工作人員通過(guò)采集大量的廠區(qū)地圖,并對(duì)每個(gè)廠區(qū)地圖按照功能性將其劃分多個(gè)區(qū)域,然后對(duì)每個(gè)區(qū)域內(nèi)的組件進(jìn)行歸納、去重后得到。
進(jìn)一步地,所述組件為三維組件或二維組件。
進(jìn)一步地,每個(gè)組件均包括模型和材質(zhì)貼圖;所述模型為3d廠區(qū)地圖模型中拆分得出,所述材質(zhì)貼圖為所述模型上的圖示或/和圖案。
進(jìn)一步地,所述拼接步驟具體為:根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件,并根據(jù)組件中模型的旋轉(zhuǎn)性以及材質(zhì)貼圖的循環(huán)性得到生成所述3d廠區(qū)地圖的所有的組件,并將所有的組件拼接在一起,生成3d廠區(qū)地圖。
本發(fā)明的目的之二采用如下技術(shù)方案實(shí)現(xiàn):
一種電子設(shè)備,包括:一個(gè)或多個(gè)處理器;
存儲(chǔ)器;以及一個(gè)或多個(gè)程序;其中所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置成由一個(gè)或多個(gè)處理器執(zhí)行,所述程序包括用于執(zhí)行以下方法的步驟:
獲取步驟:獲取3d廠區(qū)地圖的配置文件;
區(qū)域提取步驟:根據(jù)所述配置文件得出3d廠區(qū)地圖中劃分的區(qū)域以及每個(gè)區(qū)域的功能;
拼接步驟:根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件并將每個(gè)區(qū)域內(nèi)的所有組件拼接在一起,生成3d廠區(qū)地圖。
進(jìn)一步地,所述組件庫(kù)是由工作人員通過(guò)采集大量的廠區(qū)地圖,并對(duì)每個(gè)廠區(qū)地圖按照功能性將其劃分多個(gè)區(qū)域,然后對(duì)每個(gè)區(qū)域內(nèi)的組件進(jìn)行歸納、去重后得到。
本發(fā)明的目的之三采用如下技術(shù)方案實(shí)現(xiàn):
一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)用于實(shí)現(xiàn)沉浸式3d廠區(qū)地圖自動(dòng)生成的計(jì)算機(jī)程序,其中,所述計(jì)算機(jī)程序使得計(jì)算機(jī)執(zhí)行如前任意一項(xiàng)所述的方法。
本發(fā)明的目的之四采用如下技術(shù)方案實(shí)現(xiàn):
沉浸式3d廠區(qū)地圖自動(dòng)生成裝置,包括:
獲取模塊,用于獲取3d廠區(qū)地圖的配置文件;
區(qū)域提取模塊,用于根據(jù)所述配置文件得出3d廠區(qū)地圖中劃分的區(qū)域以及每個(gè)區(qū)域的功能;
拼接模塊,用于根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件并將每個(gè)區(qū)域內(nèi)的所有組件拼接在一起,生成3d廠區(qū)地圖。
相比現(xiàn)有技術(shù),本發(fā)明的有益效果在于:
本發(fā)明通過(guò)將廠區(qū)地圖進(jìn)行劃分為多個(gè)組件,并對(duì)組件進(jìn)行歸納、去重建立組件庫(kù),不僅在制作組件時(shí)大大節(jié)省人力和時(shí)間成本,而且在生成廠區(qū)地圖時(shí),還大大提高了系統(tǒng)的運(yùn)行性能。
附圖說(shuō)明
圖1為本發(fā)明提供的沉浸式3d廠區(qū)地圖自動(dòng)生成方法的流程圖;
圖2為本發(fā)明提供的沉浸式3d廠區(qū)地圖自動(dòng)生成裝置的模塊圖。
具體實(shí)施方式
下面,結(jié)合附圖以及具體實(shí)施方式,對(duì)本發(fā)明做進(jìn)一步描述,需要說(shuō)明的是,在不相沖突的前提下,以下描述的各實(shí)施例之間或各技術(shù)特征之間可以任意組合形成新的實(shí)施例。
實(shí)施例
為了解決上述技術(shù)問(wèn)題,本發(fā)明做了如下設(shè)計(jì):將工廠地圖認(rèn)為是由多個(gè)相同種類組件或不同種類所組成的。其中組件包括材質(zhì)貼圖和模型,模型是指該組件的大小、形狀、位置等屬性信息,相當(dāng)于3d廠區(qū)地圖中的模型組件;而材質(zhì)貼圖指的模型上所對(duì)應(yīng)的顏色、圖示、圖案等。比如對(duì)于一個(gè)路燈,在3d大型工廠模型中,其中路燈的框架是模型,而路燈上的顏色、圖案均為材質(zhì)貼圖。
在生成廠區(qū)地圖之前,首先建立一組件庫(kù),該組件庫(kù)是包括功能性不同的、并且具有層次結(jié)構(gòu)的組成廠區(qū)地圖的各種組件的集合,比如對(duì)于一個(gè)汽車模型,其可能包括車蓋組件、車輪組件、車門組件、車燈組件、車窗組件等,由于車窗一般位置車門上,所以在劃分層次時(shí),將車窗組件劃分為車門組件的下層。另外,汽車模型中的車輪組件不僅僅只有一個(gè),但是汽車的每個(gè)車輪其結(jié)構(gòu)、大小、功能等屬性均相同,則在制作車輪組件時(shí),只需制作一個(gè)車輪組件即可。也即是,在建立組件庫(kù)時(shí),首先對(duì)工廠地圖按照功能性區(qū)域劃分,并且對(duì)每個(gè)功能性區(qū)域在進(jìn)一步進(jìn)行劃分出多個(gè)組件,并且對(duì)組件進(jìn)行歸納總結(jié),使得相似度較高的組件歸納為一類、將重復(fù)的組件刪除,從而建立一組件庫(kù),該組件庫(kù)中的組件均具有高度的通用性。另外,將組件進(jìn)行歸納、分類、去重后,在制作組件時(shí),也可以大大節(jié)省了制作組件時(shí)的人力和時(shí)間成本,而不需要將所有的組件(比如當(dāng)組件重復(fù)時(shí),也需要進(jìn)行多次重復(fù)制作)均制作出來(lái),浪費(fèi)人力和時(shí)間成本。
優(yōu)選地,本發(fā)明提供的組件可以是三維組件,也可以是二維組件,也可以說(shuō)是立體組件、平面組件,這是由工廠模型所確定的,一般都會(huì)有平面圖和立體圖之分。
當(dāng)通過(guò)大量的3d廠區(qū)地圖進(jìn)行相同的處理后就得到了廠區(qū)地圖的組件庫(kù)。這樣在生成廠區(qū)地圖時(shí),首先根據(jù)3d廠區(qū)地圖的配置文件來(lái)得到該3d廠區(qū)地圖的區(qū)域劃分以及每個(gè)區(qū)域的功能,然后根據(jù)每個(gè)區(qū)域的功能得出該區(qū)域所需要的組件,然后從系統(tǒng)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件,并將所有的組件進(jìn)行拼接即可完成3d廠區(qū)地圖。另外,由于相同的組件在組件庫(kù)中只有一個(gè),因此在遇到相同功能的區(qū)域所需要的組件是同一個(gè)組件時(shí),只需將對(duì)重復(fù)的組件進(jìn)行粘貼復(fù)制,而不再需要頻繁訪問(wèn)組件庫(kù),這樣可大大節(jié)省了系統(tǒng)的消耗。比如在生成汽車模型時(shí),對(duì)于車輪組件來(lái)說(shuō),只需要訪問(wèn)一次組件庫(kù)就可以將汽車的四個(gè)車輪組件得到。
對(duì)于組件的兩個(gè)部分:對(duì)于模型來(lái)說(shuō),其一般分為xyz三個(gè)軸向,而貼圖是粘貼于模型上的,其也需要這三個(gè)軸向?yàn)榛A(chǔ)上屏幕上進(jìn)行繪制。另外,由于模型具有可旋轉(zhuǎn)性,特別是對(duì)于具有對(duì)稱性的結(jié)構(gòu)。例如對(duì)于汽車來(lái)說(shuō),其車門包括左車門和右車門,而左車門和右車門之間除了方向不同之外,其他屬性均相同。因此,制作模型時(shí),只需制作其中一個(gè)車門的模型,而另外一個(gè)車門的模型只需通過(guò)旋轉(zhuǎn)、縮放、位移等操作即可實(shí)現(xiàn),而不需要同時(shí)制作兩個(gè)車門的模型而浪費(fèi)人力和時(shí)間成本。
另外,材質(zhì)貼圖本身具有循環(huán)性,比如對(duì)于一個(gè)工廠地圖中的地面進(jìn)行所有瓷磚的圖案的鋪設(shè)。在制作貼圖時(shí)只需制作其中一部分的圖案,然后將貼圖粘貼到其中一個(gè)瓷磚模型上,然后依據(jù)貼圖的循環(huán)性依次進(jìn)行平鋪排列,從而完成對(duì)整個(gè)工廠地圖上所有瓷磚的圖案的粘貼。
優(yōu)選地,本發(fā)明中對(duì)于材質(zhì)貼圖的處理采用圖集的方式進(jìn)行處理,這樣可進(jìn)一步減少對(duì)內(nèi)存的消耗,增強(qiáng)運(yùn)行的流暢程度。一般來(lái)說(shuō),在unity模型中ui部分的圖片資源和模型貼圖資源在運(yùn)行時(shí)會(huì)消耗大量的性能資源來(lái)進(jìn)行繪制或渲染。如果對(duì)于每一張圖片都進(jìn)行單獨(dú)繪制,當(dāng)出現(xiàn)大量的圖片時(shí),就會(huì)造成大量的資源損壞,引起卡頓或者無(wú)響應(yīng)、死機(jī)。
因此,本發(fā)明將一些零零散散的材質(zhì)貼圖(圖片)進(jìn)行整體打包放置于一整張的圖片集合中,在生成組件時(shí),只需要加載一次圖集,無(wú)論繪制哪一張圖片均從該圖集中獲取,極大地節(jié)省了資源。也即是:本發(fā)明通過(guò)將多個(gè)小貼圖進(jìn)行整合,放置于一個(gè)大的圖集中,在生成組件時(shí)每次加載一個(gè)模型就會(huì)繪制一遍模型的材質(zhì)貼圖,只需在該圖集中獲取每一張材質(zhì)貼圖粘貼到模型上,大大節(jié)省了性能的消耗。
沉浸式3d廠區(qū)地圖自動(dòng)生成方法,如圖1所示,其包括以下步驟:
s1、獲取3d廠區(qū)地圖的配置文件。該配置文件為由工作人員所制作的,其包括該3d廠區(qū)地圖的名稱、屬性、功能、大小、所劃分的區(qū)域以及每個(gè)區(qū)域所對(duì)應(yīng)的功能、屬性等數(shù)據(jù),其是生成3d廠區(qū)地圖所需要的各種配置數(shù)據(jù)的文件。
s2、根據(jù)所述配置文件得出3d廠區(qū)地圖中劃分的區(qū)域以及每個(gè)區(qū)域的功能。
s3、根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件,并將每個(gè)區(qū)域內(nèi)的所有組件拼接在一起,生成3d廠區(qū)地圖。由于3d廠區(qū)地圖劃分為多個(gè)區(qū)域,然后根據(jù)每個(gè)區(qū)域的功能從系統(tǒng)中預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件,然后將各個(gè)組件進(jìn)行拼接從而生成3d廠區(qū)地圖。
另外,在將材質(zhì)貼圖粘貼到模型上時(shí),經(jīng)常會(huì)碰到像素溢出的情況,比如材質(zhì)貼圖大于模型,出現(xiàn)溢出。為了使得產(chǎn)品能夠具有好的表現(xiàn)力和真實(shí)性,一般來(lái)說(shuō)均采用模型切割法對(duì)其溢出的部分進(jìn)行切割。該模型切割法是本領(lǐng)域技術(shù)人員所熟知的技術(shù),本發(fā)明不在具體介紹。
本發(fā)明公開(kāi)了一種電子設(shè)備,包括一個(gè)或多個(gè)處理器、存儲(chǔ)器以及一個(gè)或者多個(gè)程序,其中所述一個(gè)或多個(gè)程序被存儲(chǔ)在所述存儲(chǔ)器中,并且被配置成由一個(gè)或多個(gè)處理器執(zhí)行,所述程序包括用于執(zhí)行上述方法,或者本發(fā)明的方法存儲(chǔ)在可讀的存儲(chǔ)介質(zhì)上,并且該方法程序可以被處理器執(zhí)行。
沉浸式3d廠區(qū)地圖自動(dòng)生成裝置,如圖2所示,包括:
獲取模塊,用于獲取3d廠區(qū)地圖的配置文件;
區(qū)域提取模塊,用于根據(jù)所述配置文件得出3d廠區(qū)地圖中劃分的區(qū)域以及每個(gè)區(qū)域的功能;
拼接模塊,用于根據(jù)每個(gè)區(qū)域的功能從預(yù)設(shè)的組件庫(kù)中調(diào)用對(duì)應(yīng)的組件并將每個(gè)區(qū)域內(nèi)的所有組件拼接在一起,生成3d廠區(qū)地圖。
上述實(shí)施方式僅為本發(fā)明的優(yōu)選實(shí)施方式,不能以此來(lái)限定本發(fā)明保護(hù)的范圍,本領(lǐng)域的技術(shù)人員在本發(fā)明的基礎(chǔ)上所做的任何非實(shí)質(zhì)性的變化及替換均屬于本發(fā)明所要求保護(hù)的范圍。