本發(fā)明涉及3d應(yīng)用技術(shù)領(lǐng)域,具體涉及一種模型對(duì)象構(gòu)建的方法、服務(wù)器及系統(tǒng)。
背景技術(shù):
隨著交互式應(yīng)用的快速發(fā)展,交互式應(yīng)用的種類越來越多,其中,建筑建造類的交互式應(yīng)用也備受用戶青睞,而且建筑建造類的應(yīng)用場(chǎng)景被廣泛引入到多人在線交互式應(yīng)用中。
現(xiàn)有技術(shù)中用戶設(shè)備端對(duì)顯示精度有較高的要求,所以用戶設(shè)備端通常采用顯示精度較高的模型處理算法,服務(wù)器端為了與用戶設(shè)備端保持一致,就需要采用與用戶設(shè)備端相同的模型構(gòu)建處理算法,這樣就導(dǎo)致服務(wù)器的計(jì)算量非常大,會(huì)降低模型對(duì)象構(gòu)建效率。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種模型對(duì)象構(gòu)建的方法,服務(wù)器和用戶設(shè)備的模型構(gòu)建算法,邏輯和表現(xiàn)分離,這樣服務(wù)器即可以做到數(shù)據(jù)行為上與用戶設(shè)備一致,又可以以體素的形式進(jìn)行模型對(duì)象存儲(chǔ),從而減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。本發(fā)明實(shí)施例還提供了相應(yīng)的服務(wù)器和系統(tǒng)。
本發(fā)明第一方面提供一種模型對(duì)象構(gòu)建的方法,所述方法應(yīng)用于3d應(yīng)用系統(tǒng),所述3d應(yīng)用系統(tǒng)包括服務(wù)器和用戶設(shè)備,所述用戶設(shè)備基于多邊形網(wǎng)格的形式進(jìn)行模型對(duì)象展示,所述服務(wù)器基于體素的形式進(jìn)行模型對(duì)象存儲(chǔ),所述方法包括:
所述服務(wù)器接收所述用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令;
所述服務(wù)器根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù);
所述服務(wù)器根據(jù)所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。
本發(fā)明第二方面提供一種服務(wù)器,所述服務(wù)器應(yīng)用于3d應(yīng)用系統(tǒng),所述3d應(yīng)用系統(tǒng)還包括用戶設(shè)備,所述用戶設(shè)備基于多邊形網(wǎng)格的形式進(jìn)行模型 對(duì)象展示,所述服務(wù)器基于體素的形式進(jìn)行模型對(duì)象存儲(chǔ),所述服務(wù)器包括:
接收單元,用于接收所述用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令;
確定單元,用于根據(jù)所述接收單元接收的所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù);
發(fā)送單元,用于根據(jù)所述確定單元確定的所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。
本發(fā)明第三方面提供一種3d應(yīng)用系統(tǒng),包括服務(wù)器和用戶設(shè)備,所述用戶設(shè)備基于多邊形網(wǎng)格的形式進(jìn)行模型對(duì)象展示,所述服務(wù)器基于體素的形式進(jìn)行模型對(duì)象存儲(chǔ);
所述服務(wù)器為上述第二方面所述的服務(wù)器。
與現(xiàn)有技術(shù)中服務(wù)器使用與用戶設(shè)備相同的模型處理算法進(jìn)行模型構(gòu)建,導(dǎo)致服務(wù)器的計(jì)算量大,模型構(gòu)建效率低相比,本發(fā)明實(shí)施例中,服務(wù)器和用戶設(shè)備的模型構(gòu)建算法,邏輯和表現(xiàn)分離,用戶設(shè)備以多邊形網(wǎng)絡(luò)的形式展示模型對(duì)象,保證了顯示精度,服務(wù)器模型構(gòu)建的邏輯與用戶設(shè)備一致,只是建模數(shù)據(jù)用體素形式表示,雖然表示形式不同,但服務(wù)器可以做到數(shù)據(jù)行為上與用戶設(shè)備一致,從而可以有效驗(yàn)證怪獸和人物等的模擬對(duì)象在游戲場(chǎng)景設(shè)置的合理的范圍內(nèi)移動(dòng),不會(huì)出現(xiàn)穿墻等不合理的行為,同時(shí)以體素的形式構(gòu)建模型,服務(wù)器可以減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是基于多邊形網(wǎng)格的模型對(duì)象的一示意圖;
圖2是基于體素的模型對(duì)象的一示意圖;
圖3是本發(fā)明實(shí)施例中3d應(yīng)用系統(tǒng)的一實(shí)施例示意圖;
圖4是本發(fā)明實(shí)施例中模型對(duì)象構(gòu)建的方法的一實(shí)施例示意圖;
圖5是本發(fā)明實(shí)施例中模型對(duì)象分層的一場(chǎng)景示意圖;
圖6是本發(fā)明實(shí)施例中模型對(duì)象分區(qū)替換的一場(chǎng)景示意圖;
圖7是本發(fā)明實(shí)施例中服務(wù)器的一實(shí)施例示意圖;
圖8是本發(fā)明實(shí)施例中服務(wù)器的另一實(shí)施例示意圖;
圖9是本發(fā)明實(shí)施例中服務(wù)器的另一實(shí)施例示意圖;
圖10是本發(fā)明實(shí)施例中服務(wù)器的另一實(shí)施例示意圖。
具體實(shí)施方式
本發(fā)明實(shí)施例提供一種模型對(duì)象構(gòu)建的方法,服務(wù)器可以以體素算法進(jìn)行模型對(duì)象構(gòu)建,從而減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。本發(fā)明實(shí)施例還提供了相應(yīng)的服務(wù)器和系統(tǒng)。以下分別進(jìn)行詳細(xì)說明。
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實(shí)施例所描述的模型對(duì)象構(gòu)建的方法,多應(yīng)用于建筑建造類游戲中,或者包含建筑建造類的大型多人在線角色扮演游戲(massivelymultiplayeronlineroleplayinggame,mmorpg)中,在mmorpg中,玩家通常需要構(gòu)建防御工事等建筑模型對(duì)象,以便于開展游戲中的攻防。本發(fā)明實(shí)施例中重點(diǎn)介紹模型對(duì)象的構(gòu)建。
本發(fā)明實(shí)施例中,考慮到用戶設(shè)備側(cè)的顯示精度,所以用戶設(shè)備基于多邊形網(wǎng)格算法進(jìn)行模型對(duì)象展示,服務(wù)器端不需要過多的考慮模型精度,但對(duì)計(jì)算速度要求很高,所以服務(wù)器基于體素算法進(jìn)行模型對(duì)象存儲(chǔ),模型對(duì)象的構(gòu)建可以分為邏輯和表現(xiàn)兩個(gè)部分,用戶設(shè)備和服務(wù)器中模型對(duì)象的構(gòu)建邏輯是相同的,只是建模數(shù)據(jù)的表現(xiàn)不同,用戶設(shè)備側(cè)的建模數(shù)據(jù)是多邊形網(wǎng)格建模數(shù)據(jù),所以最終建好的模型對(duì)象以多邊形網(wǎng)格的形式展示,服務(wù)器側(cè)的建模數(shù)據(jù)是體素建模數(shù)據(jù),所以最終建好的模型的形式是體素的形式,用戶設(shè)備以多邊形網(wǎng)格的形式展示模型對(duì)象,服務(wù)器中以體素的形式存儲(chǔ)模型對(duì)象,這樣,既能保證用戶設(shè)備側(cè)的顯示精度,又能降低服務(wù)器側(cè)的計(jì)算量,最重要的是保證了用戶設(shè)備和服務(wù)器兩端模型對(duì)象構(gòu)建高度和位置的一致,雖然服務(wù)器側(cè)的 模型對(duì)象的顯示精度不好,但不影響對(duì)怪獸和人物等的模擬對(duì)象在建筑模型對(duì)象中運(yùn)動(dòng)合理性的判斷。因此在后續(xù)怪獸和人物等的模擬對(duì)象在建筑模型對(duì)象中運(yùn)動(dòng)時(shí),服務(wù)器可以根據(jù)服務(wù)器側(cè)存儲(chǔ)的建筑模型來保證怪獸和人物等的模擬對(duì)象在游戲場(chǎng)景設(shè)置的合理的范圍內(nèi)移動(dòng),不會(huì)出現(xiàn)穿墻等不合理的行為。
服務(wù)器側(cè)存儲(chǔ)建筑模型對(duì)象的目的就是要驗(yàn)證后續(xù)怪獸和人物等的模擬對(duì)象在建筑模型對(duì)象中的移動(dòng)是否合理,若合理,則服務(wù)器會(huì)指示用戶設(shè)備側(cè)表現(xiàn)出模擬對(duì)象的正常移動(dòng),若不合理,則服務(wù)器不允許用戶設(shè)備側(cè)的模擬對(duì)象做不合理的移動(dòng)。
用戶設(shè)備側(cè)和服務(wù)器側(cè)模型對(duì)象的構(gòu)建過程基本是一致的,只是建模數(shù)據(jù)的表現(xiàn)不同,用戶設(shè)備側(cè)的建模數(shù)據(jù)是多邊形網(wǎng)格建模數(shù)據(jù),所以最終建好的模型對(duì)象以多邊形網(wǎng)格的形式展示,服務(wù)器側(cè)的建模數(shù)據(jù)是體素建模數(shù)據(jù),所以最終建好的模型的形式是體素的形式,在后期的表現(xiàn)階段用戶設(shè)備側(cè)按照多邊形網(wǎng)格polygonmesh的形式展示,服務(wù)器側(cè)按照體素voxel的形式存儲(chǔ)。
多邊形網(wǎng)格可以是基于傳統(tǒng)3d引擎的polygonmesh。傳統(tǒng)的polygonmesh解決方案如圖1所示,通過將模型對(duì)象分解成無數(shù)的小多邊形,來對(duì)模型對(duì)象進(jìn)行建模描述。polygonmesh的優(yōu)勢(shì)在于多邊形的分解可以非常靈活,對(duì)于模型細(xì)節(jié)的描繪可以非常精確,是傳統(tǒng)客戶端3d引擎的一致選擇。
體素voxel,顧名思義是體積的像素。用來在三維空間中表示一個(gè)顯示基本點(diǎn)的單位。類似于二維平面下的pixel(像素)。如圖2所示,模型對(duì)象的體素表現(xiàn)形式。從圖2和圖1的對(duì)比中可以看出,體素的顯示精度不如多邊形網(wǎng)格的顯示精度高。voxel方案的優(yōu)勢(shì)在于可以做到服務(wù)器和用戶設(shè)備一致,且數(shù)據(jù)量和計(jì)算量都比較小,適合在服務(wù)器端使用做大規(guī)模運(yùn)算。
圖3為本發(fā)明實(shí)施例中3d應(yīng)用系統(tǒng)。如圖3所示,3d應(yīng)用系統(tǒng)包括服務(wù)器和用戶設(shè)備,該服務(wù)器可以是游戲服務(wù)器,用戶設(shè)備可以有多個(gè),不限于圖3中所示的三個(gè),玩家在用戶設(shè)備上構(gòu)建建筑模型時(shí),用戶設(shè)備會(huì)根據(jù)玩家的指令,確定玩家所指定的目標(biāo)模型對(duì)象的多邊形網(wǎng)格建模數(shù)據(jù),然后,用戶設(shè)備根據(jù)所述多邊形網(wǎng)格建模數(shù)據(jù),構(gòu)建多邊形網(wǎng)格形式的目標(biāo)模型對(duì)象,用戶設(shè)備以多邊形網(wǎng)格的形式展示該目標(biāo)模型對(duì)象。服務(wù)器接收用戶設(shè)備發(fā)送的目標(biāo) 模型對(duì)象的構(gòu)建指令,也會(huì)根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù);根據(jù)所述體素建模數(shù)據(jù),構(gòu)建體素形式的目標(biāo)模型對(duì)象,然后,服務(wù)器會(huì)存儲(chǔ)該體素形式的目標(biāo)模型對(duì)象。圖4為本發(fā)明實(shí)施例中模型對(duì)象構(gòu)建的方法的一實(shí)施例示意圖。
如圖4所示,本發(fā)明實(shí)施例中模型對(duì)象構(gòu)建的方法的一實(shí)施例包括:
101、服務(wù)器接收用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令。
目標(biāo)模型對(duì)象可以是建筑模型對(duì)象的一個(gè)組成部分,例如:一個(gè)房頂或者一堵墻。
102、服務(wù)器根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)。
103、服務(wù)器根據(jù)所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。
所述目標(biāo)模型對(duì)象在所述用戶設(shè)備中以所述多邊形網(wǎng)格的形式展示,所述目標(biāo)模型對(duì)象在所述服務(wù)器中以所述體素的形式存儲(chǔ)。
與現(xiàn)有技術(shù)中服務(wù)器使用與用戶設(shè)備相同的模型處理算法進(jìn)行模型構(gòu)建,導(dǎo)致服務(wù)器的計(jì)算量大,模型構(gòu)建效率低相比,本發(fā)明實(shí)施例中,服務(wù)器和用戶設(shè)備的模型構(gòu)建算法,邏輯和表現(xiàn)分離,用戶設(shè)備以多邊形網(wǎng)絡(luò)的形式展示模型對(duì)象,保證了顯示精度,服務(wù)器模型構(gòu)建的邏輯與用戶設(shè)備一致,只是建模數(shù)據(jù)用體素形式表示,雖然表示形式不同,但服務(wù)器可以做到數(shù)據(jù)行為上與用戶設(shè)備一致,從而可以有效驗(yàn)證怪獸和人物等的模擬對(duì)象在游戲場(chǎng)景設(shè)置的合理的范圍內(nèi)移動(dòng),不會(huì)出現(xiàn)穿墻等不合理的行為,同時(shí)以體素的形式構(gòu)建模型,服務(wù)器可以減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。
考慮到模型對(duì)象都是立體的,所以為了提高計(jì)算效率,可以為目標(biāo)模型對(duì)象分層,這樣所述服務(wù)器根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù),可以包括:
所述服務(wù)器確定所述目標(biāo)模型對(duì)象中每個(gè)體素所屬的層;
所述服務(wù)器確定每層體素的體素建模數(shù)據(jù),并根據(jù)所述每層體素的體素建模數(shù)據(jù),確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)。
目標(biāo)模型對(duì)象的分層(layer)可以參閱圖5進(jìn)行理解。如圖5所示,可以將目標(biāo)模型對(duì)象從下至上劃分為幾個(gè)層layer,如圖5所示的layer0、layer1和layer2, 當(dāng)然不限于圖5所示的幾個(gè)分層,layer可以根據(jù)需求劃分。因服務(wù)器端是基于體素的,所以目標(biāo)模型對(duì)象的體素可以是分布于各個(gè)layer的,體素在各個(gè)layer上可以以坐標(biāo)的形式進(jìn)行定位,如以(x,y,layer)三元組對(duì)voxel位置進(jìn)行定位,以(x,y,z,layer)四元組描述移動(dòng)對(duì)象在空間的位置,layer=0的voxel為地表層,voxel記錄上沿(upward)高度,layer>0的voxel為建筑層,voxel記錄上(upward)下(downward)沿高度。
以坐標(biāo)的形式定位體素后,所述服務(wù)器確定每層體素的體素建模數(shù)據(jù),可以包括:
所述服務(wù)器確定所述每層體素中各個(gè)體素的坐標(biāo);
所述服務(wù)器根據(jù)所述各個(gè)體素的坐標(biāo),確定所述每層體素的體素建模數(shù)據(jù)。
根據(jù)體素的坐標(biāo),確定體素的體素建模數(shù)據(jù),可以確定出體素在地圖上的位置和空間上的位置。從而會(huì)確定出目標(biāo)模型對(duì)象的體素建模數(shù)據(jù),從而確定出目標(biāo)模型在游戲場(chǎng)景中的地理位置和空間位置。
可選地,在以上任一實(shí)現(xiàn)方案的基礎(chǔ)上,本發(fā)明實(shí)施例提供的模型對(duì)象構(gòu)建的方法還包括:
所述服務(wù)器確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;
所述服務(wù)器根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)之后,所述方法還包括:
所述服務(wù)器用所述目標(biāo)模型對(duì)象替換所述目標(biāo)區(qū)塊所對(duì)應(yīng)的原始模型對(duì)象。
本發(fā)明實(shí)施例中,如圖6所示,建筑模型對(duì)象可以包括多個(gè)區(qū)塊,若玩家只是想修改當(dāng)前的建筑模型對(duì)象,要用一個(gè)新的模型對(duì)象去替換建筑模型對(duì)象中的一個(gè)部分,則可以構(gòu)建該新的模型對(duì)象,該新的模型對(duì)象在本發(fā)明實(shí)施例中為目標(biāo)模型對(duì)象,所以服務(wù)器在確定目標(biāo)模型對(duì)象所對(duì)應(yīng)的區(qū)塊后,可以用目標(biāo)模型對(duì)象替換所述目標(biāo)區(qū)塊所對(duì)應(yīng)的原始模型對(duì)象,從而得到更新的建筑模型對(duì)象。
可選地,本發(fā)明實(shí)施例提供的模型對(duì)象構(gòu)建的方法還包括:所述服務(wù)器確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;
所述服務(wù)器根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)之后,所述方法還包括:
所述服務(wù)器用所述目標(biāo)模型對(duì)象填充所述目標(biāo)區(qū)塊所對(duì)應(yīng)的空間。
本發(fā)明實(shí)施例中,若目標(biāo)區(qū)塊是空白的,沒有原始模型對(duì)象,則可以直接用目標(biāo)模型對(duì)象去填充該目標(biāo)區(qū)塊所對(duì)應(yīng)的空間。
動(dòng)態(tài)建筑建造過程中,其實(shí)只是改變了整個(gè)地圖場(chǎng)景中的一小部分?jǐn)?shù)據(jù),通過引入?yún)^(qū)塊切割(sector)的概念,使得系統(tǒng)可以支持建造建筑時(shí),只改變一部分3d場(chǎng)景數(shù)據(jù)的效果。更新方案可以是:
以固定邊長(zhǎng)(n)為單位的正方形,將整個(gè)地圖分解為多個(gè)地圖區(qū)塊(mapsector),建筑(buiding)數(shù)據(jù),也按照同樣的格式進(jìn)行描述。
每個(gè)地圖區(qū)塊(mapsector)為n*n的正方形在xy垂直區(qū)域上的投影,當(dāng)有建筑需要建造時(shí),生成一個(gè)新的建筑區(qū)塊(sectorbuilding),通過融合建筑數(shù)據(jù)以及地圖數(shù)據(jù),形成新的地形,使用buidingsector替換掉目標(biāo)區(qū)塊原有位置的mapsector,若原有位置沒有mapsector,則直接將buidingsector填充在目標(biāo)區(qū)塊的位置。
其中,所述服務(wù)器確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,可以包括:
所述服務(wù)器確定所述目標(biāo)模型對(duì)象的坐標(biāo);
所述服務(wù)器根據(jù)所述目標(biāo)模型對(duì)象的坐標(biāo)確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊。
本發(fā)明實(shí)施例中,可以根據(jù)目標(biāo)模型對(duì)象在地圖中的坐標(biāo)確定該目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊。
參閱圖7,本發(fā)明實(shí)施例提供的服務(wù)器20,應(yīng)用于3d應(yīng)用系統(tǒng),所述3d應(yīng)用系統(tǒng)還包括用戶設(shè)備,所述用戶設(shè)備基于多邊形網(wǎng)格的形式進(jìn)行模型對(duì)象展示,所述服務(wù)器基于體素的形式進(jìn)行模型對(duì)象存儲(chǔ),所述服務(wù)器20的一實(shí)施例 包括:
接收單元201,用于接收所述用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令;
確定單元202,用于根據(jù)所述接收單元201接收的所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù);
構(gòu)建單元203,用于根據(jù)所述確定單元202確定的所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。
本發(fā)明實(shí)施例提供的服務(wù)器,接收單元201接收所述用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令;確定單元202根據(jù)所述接收單元201接收的所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù);發(fā)送單元203根據(jù)所述確定單元202確定的所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。與現(xiàn)有技術(shù)中服務(wù)器使用與用戶設(shè)備相同的模型處理算法進(jìn)行模型構(gòu)建,導(dǎo)致服務(wù)器的計(jì)算量大,模型構(gòu)建效率低相比,本發(fā)明實(shí)施例中,服務(wù)器和用戶設(shè)備的模型構(gòu)建算法,邏輯和表現(xiàn)分離,用戶設(shè)備以多邊形網(wǎng)絡(luò)的形式展示模型對(duì)象,保證了顯示精度,服務(wù)器模型構(gòu)建的邏輯與用戶設(shè)備一致,只是建模數(shù)據(jù)用體素形式表示,雖然表示形式不同,但服務(wù)器可以做到數(shù)據(jù)行為上與用戶設(shè)備一致,從而可以有效驗(yàn)證怪獸和人物等的模擬對(duì)象在游戲場(chǎng)景設(shè)置的合理的范圍內(nèi)移動(dòng),不會(huì)出現(xiàn)穿墻等不合理的行為,同時(shí)以體素的形式構(gòu)建模型,服務(wù)器可以減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。
可選地,所述確定單元202用于:
確定所述目標(biāo)模型對(duì)象中每個(gè)體素所屬的層;
確定每層體素的體素建模數(shù)據(jù),并根據(jù)所述每層體素的體素建模數(shù)據(jù),確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)。
可選地,所述確定單元202用于:
確定所述每層體素中各個(gè)體素的坐標(biāo);
根據(jù)所述各個(gè)體素的坐標(biāo),確定所述每層體素的體素建模數(shù)據(jù)。
可選地,參閱圖8,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例還包括替換單元204,
所述確定單元202,還用于確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì) 應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;
所述替換單元204,用于用所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)替換所述確定單元202確定的所述目標(biāo)區(qū)塊所對(duì)應(yīng)的原始體素建模數(shù)據(jù)。
可選地,參閱圖9,本發(fā)明實(shí)施例提供的服務(wù)器的另一實(shí)施例還包括填充單元205,
所述確定單元202,還用于確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;
所述填充單元205,用于用所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)填充所述確定單元202確定的所述目標(biāo)區(qū)塊所對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)空間。
可選地,在上述圖8對(duì)應(yīng)的實(shí)施例的基礎(chǔ)上,
所述確定單元202用于:
確定所述目標(biāo)模型對(duì)象的坐標(biāo);
根據(jù)所述目標(biāo)模型對(duì)象的坐標(biāo)確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊。
圖10是本發(fā)明實(shí)施例提供的服務(wù)器20的結(jié)構(gòu)示意圖。所述服務(wù)器應(yīng)用于3d應(yīng)用系統(tǒng),所述3d應(yīng)用系統(tǒng)還包括用戶設(shè)備,所述用戶設(shè)備基于多邊形網(wǎng)格的形式進(jìn)行模型對(duì)象展示,所述服務(wù)器基于體素的形式進(jìn)行模型對(duì)象存儲(chǔ),所述服務(wù)器20包括處理器210、存儲(chǔ)器250和收發(fā)器230,存儲(chǔ)器250可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器210提供操作指令和數(shù)據(jù)。存儲(chǔ)器250的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器(nvram)。
在一些實(shí)施方式中,存儲(chǔ)器250存儲(chǔ)了如下的元素,可執(zhí)行模塊或者數(shù)據(jù)結(jié)構(gòu),或者他們的子集,或者他們的擴(kuò)展集:
在本發(fā)明實(shí)施例中,通過調(diào)用存儲(chǔ)器250存儲(chǔ)的操作指令(該操作指令可存儲(chǔ)在操作系統(tǒng)中),
所述收發(fā)器230用于接收所述用戶設(shè)備發(fā)送的目標(biāo)模型對(duì)象的構(gòu)建指令;
所述處理器210用于根據(jù)所述構(gòu)建指令,確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù),根據(jù)所述體素建模數(shù)據(jù),構(gòu)建體素形式的所述目標(biāo)模型對(duì)象。
與現(xiàn)有技術(shù)中服務(wù)器使用與用戶設(shè)備相同的模型處理算法進(jìn)行模型構(gòu)建,導(dǎo)致服務(wù)器的計(jì)算量大,模型構(gòu)建效率低相比,本發(fā)明實(shí)施例中,服務(wù)器和用戶設(shè)備的模型構(gòu)建算法,邏輯和表現(xiàn)分離,用戶設(shè)備以多邊形網(wǎng)絡(luò)的形式展示模型對(duì)象,保證了顯示精度,服務(wù)器模型構(gòu)建的邏輯與用戶設(shè)備一致,只是建模數(shù)據(jù)用體素形式表示,雖然表示形式不同,但服務(wù)器可以做到數(shù)據(jù)行為上與用戶設(shè)備一致,從而可以有效驗(yàn)證怪獸和人物等的模擬對(duì)象在游戲場(chǎng)景設(shè)置的合理的范圍內(nèi)移動(dòng),不會(huì)出現(xiàn)穿墻等不合理的行為,同時(shí)以體素的形式構(gòu)建模型,服務(wù)器可以減少了計(jì)算量,提高了模型對(duì)象構(gòu)建的效率。
處理器210控制服務(wù)器20的操作,處理器210還可以稱為cpu(centralprocessingunit,中央處理單元)。存儲(chǔ)器250可以包括只讀存儲(chǔ)器和隨機(jī)存取存儲(chǔ)器,并向處理器210提供指令和數(shù)據(jù)。存儲(chǔ)器250的一部分還可以包括非易失性隨機(jī)存取存儲(chǔ)器(nvram)。具體的應(yīng)用中服務(wù)器20的各個(gè)組件通過總線系統(tǒng)220耦合在一起,其中總線系統(tǒng)220除包括數(shù)據(jù)總線之外,還可以包括電源總線、控制總線和狀態(tài)信號(hào)總線等。但是為了清楚說明起見,在圖中將各種總線都標(biāo)為總線系統(tǒng)220。
上述本發(fā)明實(shí)施例揭示的方法可以應(yīng)用于處理器210中,或者由處理器210實(shí)現(xiàn)。處理器210可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器210中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器210可以是通用處理器、數(shù)字信號(hào)處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫?shí)現(xiàn)或者執(zhí)行本發(fā)明實(shí)施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結(jié)合本發(fā)明實(shí)施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機(jī)存儲(chǔ)器,閃存、只讀存儲(chǔ)器,可編程只讀存儲(chǔ)器或者電可擦寫可編程存儲(chǔ)器、寄存器等本領(lǐng)域成熟的存儲(chǔ)介質(zhì)中。該存儲(chǔ)介質(zhì)位于存儲(chǔ)器250,處理器210讀取存儲(chǔ)器250中的信息,結(jié)合其硬件完成上述方法的步驟。
可選地,所述處理器210用于確定所述目標(biāo)模型對(duì)象中每個(gè)體素所屬的層;確定每層體素的體素建模數(shù)據(jù),并根據(jù)所述每層體素的體素建模數(shù)據(jù),確定所述目標(biāo)模型對(duì)象的體素建模數(shù)據(jù)。
可選地,所述處理器210用于確定所述每層體素中各個(gè)體素的坐標(biāo);根據(jù)所述各個(gè)體素的坐標(biāo),確定所述每層體素的體素建模數(shù)據(jù)。
可選地,所述處理器210還用于確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;用所述目標(biāo)模型對(duì)象替換所述目標(biāo)區(qū)塊所對(duì)應(yīng)的原始模型對(duì)象。
可選地,所述處理器210還用于確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊,所述建筑模型對(duì)象包括多個(gè)區(qū)塊;用所述目標(biāo)模型對(duì)象填充所述目標(biāo)區(qū)塊所對(duì)應(yīng)的空間。
可選地,所述處理器210用于確定所述目標(biāo)模型對(duì)象的坐標(biāo),根據(jù)所述目標(biāo)模型對(duì)象的坐標(biāo)確定所述目標(biāo)模型對(duì)象在建筑模型對(duì)象中所對(duì)應(yīng)的目標(biāo)區(qū)塊。
以上的服務(wù)器20可以參閱圖1至圖6部分的相關(guān)描述進(jìn)行理解,本處不做過多贅述。
本領(lǐng)域普通技術(shù)人員可以理解上述實(shí)施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲(chǔ)于一計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)可以包括:rom、ram、磁盤或光盤等。
以上對(duì)本發(fā)明實(shí)施例所提供的模型對(duì)象構(gòu)建的方法、服務(wù)器以及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。