亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

三維電子游戲畫面中的物體模型剔除方法及裝置與流程

文檔序號(hào):12748938閱讀:491來源:國知局
三維電子游戲畫面中的物體模型剔除方法及裝置與流程

本發(fā)明涉及對(duì)三維畫面的處理技術(shù),特別涉及一種三維電子游戲畫面中的物體模型剔除方法及裝置。



背景技術(shù):

電子游戲朝著大型的三維電子游戲的方向發(fā)展。在三維電子游戲中,對(duì)三維電子游戲畫面的體驗(yàn)要求越來越高,隨著三維電子游戲的場景的精致度及大小不斷提升,要處理的畫面數(shù)據(jù)成幾何數(shù)增長,客戶端在運(yùn)行三維電子游戲時(shí),其硬件處理能力已經(jīng)無法滿足實(shí)時(shí)對(duì)三維電子游戲的畫面渲染要求。這時(shí),就需要對(duì)三維電子游戲當(dāng)前顯示的畫面進(jìn)行設(shè)定的剔除操作,從而降低每次渲染時(shí)的畫面數(shù)據(jù)的幾何數(shù)據(jù)量以提高客戶端的處理性能,使得客戶端在顯示三維電子游戲畫面時(shí)不會(huì)出現(xiàn)延遲或卡頓的現(xiàn)象。

在三維電子游戲的當(dāng)前畫面中,由多個(gè)物體模型組成,如何進(jìn)行合理的可見性判斷,并據(jù)此判斷進(jìn)行合理的剔除,并在這些物體模型中挑選出對(duì)當(dāng)前畫面的渲染有貢獻(xiàn)的物體模型進(jìn)行顯示,增進(jìn)玩家的游戲效能,是三維電子游戲當(dāng)前畫面渲染時(shí)要解決的重要問題。

目前,采用視錐剔除方式對(duì)三維電子游戲的當(dāng)前畫面中的物體模型進(jìn)行剔除:以玩家視點(diǎn)作為攝像機(jī)的所在點(diǎn),對(duì)三維電子游戲畫面中的攝像機(jī)視角范圍外的物體模型進(jìn)行剔除,使得這些物體模型不參與三維電子游戲的當(dāng)前畫面的渲染,而對(duì)于在攝像機(jī)視角范圍內(nèi)的物體模型即使被遮擋,也參與渲染并不會(huì)被剔除。具體地說,視錐剔除是三維電子游戲的當(dāng)前畫面進(jìn)行渲染前的一個(gè)步驟,用于去除其中玩家不可見的多余的物體模型,視錐體的形狀是一個(gè)四棱錐的頂點(diǎn)偏下位置被一個(gè)設(shè)置的裁面裁斷,視錐本身就是由6個(gè)面所組成,這6個(gè)面被稱為近裁面、遠(yuǎn)裁面、上裁面、下裁面、左裁面及右裁面。視錐剔除方式僅僅是一個(gè)用來判斷物體模型是否在三維電子游戲的當(dāng)前畫面被繪制的方式。舉一個(gè)例子說明,如圖1所示,圖1為現(xiàn)有技術(shù)提供的采用視錐剔除方式剔除三維電子游戲當(dāng)前畫面的物體模型的示意圖,如圖所示,在攝影機(jī)視角范圍外的物體模型被剔除掉了。

視錐剔除是以攝影機(jī)視角范圍為基礎(chǔ),只對(duì)攝影機(jī)視角范圍外的物體模型進(jìn)行剔除,而對(duì)攝影機(jī)視角范圍內(nèi)的物體模型并不進(jìn)行任何處理,要渲染的三維電子游戲的當(dāng)前畫面數(shù)據(jù)量仍然比較大,在三維電子游戲的場景管理和可見性判斷優(yōu)化方面未達(dá)到最佳效果,使得客戶端渲染三維電子游戲的當(dāng)前畫面時(shí)出現(xiàn)延遲和/或卡頓的情況,特別是對(duì)硬件性能不高的客戶端,情況更加嚴(yán)重,影響了玩家的體驗(yàn)度。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供一種三維電子游戲畫面中的物體模型剔除方法,該方法能夠?qū)z影機(jī)視角范圍內(nèi)的不可見物體模型進(jìn)行剔除,從而減少了渲染三維電子游戲的當(dāng)前畫面的數(shù)據(jù)量。

本發(fā)明實(shí)施例還提供一種三維電子游戲畫面中的物體模型提剔除裝置,該裝置能夠?qū)z影機(jī)視角范圍內(nèi)的不可見物體模型進(jìn)行剔除,從而減少了渲染三維電子游戲的當(dāng)前畫面的數(shù)據(jù)量。

根據(jù)上述目的,本發(fā)明是這樣實(shí)現(xiàn)的:

一種三維電子游戲畫面中的物體模型剔除方法,包括:

設(shè)置三維電子游戲畫面的遮擋剔除范圍,在所述遮擋范圍內(nèi)構(gòu)建八叉樹結(jié)構(gòu),所述八叉樹節(jié)點(diǎn)將所述遮擋剔除范圍分成規(guī)則的多個(gè)空間節(jié)點(diǎn);

對(duì)所述八叉樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的潛在可見集合,表示每個(gè)節(jié)點(diǎn)所在區(qū)域的遮擋物體模型信息及被遮擋物體模型信息;

當(dāng)要渲染三維電子游戲畫面時(shí),且攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的節(jié)點(diǎn)時(shí),遍歷所在節(jié)點(diǎn)對(duì)應(yīng)的潛在可見集合,確定視錐可見范圍內(nèi)的被遮擋物體模型并剔除。

較佳地,在所述攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的節(jié)點(diǎn)之前,該方法還包括:

判斷攝像機(jī)視角范圍是否在所述遮擋剔除范圍內(nèi),如果不是,則不開啟遮擋除操作;如果是,執(zhí)行在所述攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的節(jié)點(diǎn)的步驟。

較佳地,所述設(shè)置的三維電子游戲畫面中的遮擋剔除范圍為三維電子游戲畫面的整個(gè)場景;

或者設(shè)定為三維電子游戲畫面的部分場景,在所設(shè)定的部分場景中有遮擋的物體模型和被遮擋的物體模型。

較佳地,所述對(duì)所述八叉樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的潛在可見集合為:

從八叉樹的根節(jié)點(diǎn)開始,按照級(jí)別的高低,依次遍歷完當(dāng)前級(jí)別的所有節(jié)點(diǎn)并設(shè)置對(duì)應(yīng)的潛在可見集合后,再遍歷下一級(jí)的所有節(jié)點(diǎn)并設(shè)置了對(duì)應(yīng)的潛在可見集合后,直到遍歷完所有節(jié)點(diǎn)。

較佳地,將具有相同的潛在可見集合的節(jié)點(diǎn)節(jié)點(diǎn)合并。

較佳地,對(duì)所述八叉樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的潛在可見集合為:

如果節(jié)點(diǎn)不是最底層節(jié)點(diǎn)且包含遮擋物體模型,則將潛在可見集合設(shè)置為空,否則,不為空,表示每個(gè)節(jié)點(diǎn)所在區(qū)域的遮擋物體模型信息及被遮擋物體模型信息。

較佳地,在所述根據(jù)所在節(jié)點(diǎn)對(duì)應(yīng)的潛在可見集合,確定被遮擋物體模型并剔除之前,該方法還包括:

所在節(jié)點(diǎn)為潛在可見集合不為空的節(jié)點(diǎn)。

一種三維電子游戲畫面中的物體模型剔除裝置,包括:結(jié)構(gòu)設(shè)置單元及賦予信息單元,其中,

結(jié)構(gòu)設(shè)置單元,用于設(shè)置三維電子游戲畫面的遮擋剔除范圍,在所述遮擋范圍內(nèi)構(gòu)建八叉樹結(jié)構(gòu),所述八叉樹節(jié)點(diǎn)將所述遮擋剔除范圍分成規(guī)則的多個(gè)空間節(jié)點(diǎn);

賦予信息單元,用于對(duì)所述八叉樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的潛在可見集合,表示每個(gè)節(jié)點(diǎn)所在區(qū)域的遮擋物體模型信息及被遮擋物體模型信息。

一種三維電子游戲畫面中的物體模型剔除裝置,包括:

剔除單元,用于當(dāng)要渲染三維電子游戲畫面時(shí),且攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的節(jié)點(diǎn)時(shí),遍歷所在節(jié)點(diǎn)對(duì)應(yīng)的潛在可見集合,確定視錐可見范圍內(nèi)的被遮擋物體模型并剔除。

由上述方案可以看出,本發(fā)明實(shí)施例提供的方法采用攝像機(jī)視角范圍內(nèi)的遮擋關(guān)系排除方式確定三維電子游戲的當(dāng)前畫面中的攝影機(jī)視角范圍內(nèi)的不可見物體模型,然后將所確定的所述不可見的物體模型剔除,從而進(jìn)一步減少了渲染三維電子游戲的當(dāng)前畫面的數(shù)據(jù)量,并由于剔除的是被遮擋的物體模型,并不影響渲染的三維電子游戲當(dāng)前畫面的場景效果,保證了玩家的體驗(yàn)度。

附圖說明

圖1為現(xiàn)有技術(shù)提供的采用視錐剔除方式剔除三維電子游戲當(dāng)前畫面的物體模型的示意圖;

圖2為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除的方法流程圖;

圖3為本發(fā)明實(shí)施例提供的采用圖2所述的方法對(duì)三維電子游戲的當(dāng)前畫面的物體模型剔除的示意圖;

圖4為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除的裝置一結(jié)構(gòu)示意圖;

圖5為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除的裝置二結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說明。

為了在現(xiàn)有的視錐剔除方式的基礎(chǔ)上,進(jìn)一步對(duì)三維電子游戲畫面中的物體模型剔除,從而使得渲染的三維電子游戲畫面的數(shù)據(jù)量減小,本發(fā)明實(shí)施例提供的方法采用攝像機(jī)視角范圍內(nèi)的遮擋關(guān)系排除方式確定三維電子游戲的當(dāng)前畫面中的攝影機(jī)視角范圍內(nèi)的不可見物體模型,然后將所確定的所述不可見的物體模型剔除。這樣,由于剔除的是被遮擋的物體模型,并不影響渲染的三維電子游戲當(dāng)前畫面的場景效果,保證了玩家的體驗(yàn)度,在三維電子游戲的場景管理和可見性判斷優(yōu)化方面達(dá)到最佳效果,使得客戶端渲染三維電子游戲的當(dāng)前畫面時(shí)不會(huì)出現(xiàn)延遲和/或卡頓的情況,特別是對(duì)硬件性能不高的客戶端來說,效果更好。

本發(fā)明實(shí)施例提供的方法實(shí)際上是采用了兩個(gè)部分構(gòu)成,一個(gè)部分是設(shè)置部分,通常在三維電子游戲引擎編輯器的平臺(tái)下完成,另一個(gè)部分是剔除部分,一般在客戶端完成。

第一個(gè)部分的過程為:

首先,設(shè)置三維電子游戲畫面中的遮擋剔除范圍;

在這個(gè)步驟中,如果沒有設(shè)定,則默認(rèn)啟用范圍是三維電子游戲畫面中的整個(gè)場景,然后由美術(shù)人員設(shè)定所述范圍內(nèi)的物體模型是遮擋物體模型或被遮擋物體模型;

其次,在所述遮擋剔除范圍內(nèi)構(gòu)建八叉樹結(jié)構(gòu);

在這個(gè)步驟中,所述遮擋范圍內(nèi)采用八叉樹分割成規(guī)則的空間節(jié)點(diǎn),并獲取由美術(shù)人員設(shè)定所述范圍內(nèi)的物體模型是遮擋物體模型或被遮擋物體模型;

最后,從八叉樹結(jié)構(gòu)的根節(jié)點(diǎn)開始,逐層遍歷八叉樹結(jié)構(gòu)的節(jié)點(diǎn),計(jì)算得到每個(gè)節(jié)點(diǎn)的潛在可見集;

在本步驟中可以將具有相同可見集的節(jié)點(diǎn)進(jìn)行合并,比如,如果父節(jié)點(diǎn)可以表示對(duì)應(yīng)的空間的潛在可見集,則不用再計(jì)算子節(jié)點(diǎn)。

第二部分的過程為:

首先,客戶端當(dāng)渲染三維電子游戲畫面時(shí),判斷攝像機(jī)視角范圍是否在所設(shè)置的遮擋范圍內(nèi);

其次,如果不在,則不進(jìn)行處理,所有被遮擋物體模型都可見;

再次,如果在,確定攝像機(jī)視角范圍在八叉樹的哪一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的空間范圍內(nèi),將其設(shè)置為當(dāng)前八叉樹節(jié)點(diǎn);

最后,使用當(dāng)前八叉樹節(jié)點(diǎn)的PVS,在視錐剔除的基礎(chǔ)上進(jìn)行PVS遍歷,將被遮擋的物體模型從視錐可見的物體模型中剔除出來。

圖2為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除方法流程圖,其具體步驟為:

步驟201、在電子游戲引擎設(shè)置三維電子游戲畫面中的遮擋剔除范圍;

在本步驟中,可以設(shè)定為要渲染的三維電子游戲畫面的整個(gè)場景,也可以設(shè)定為部分場景,在所設(shè)定的部分場景中由美術(shù)人員設(shè)定所述范圍內(nèi)的物體模型是有遮擋的物體模型和被遮擋的物體模型;

步驟202、在所述遮擋剔除范圍內(nèi)構(gòu)建八叉樹結(jié)構(gòu),所述遮擋范圍內(nèi)采用八叉樹分割成規(guī)則的空間節(jié)點(diǎn),并獲取由美術(shù)人員設(shè)定所述范圍內(nèi)的物體模型是遮擋物體模型或被遮擋物體模型;

在本步驟中,八叉樹可以表示三維的物體模型,具體地說,假設(shè)要表示的三維物體模型V,可以放在一個(gè)充分大的正方體C內(nèi),正方體C的邊長為2n,形體VC的八叉樹結(jié)構(gòu)可以采用遞歸方法定義:八叉樹的每個(gè)節(jié)點(diǎn)與正方體C的一個(gè)子立方體對(duì)應(yīng),樹根與正方體C本身相對(duì)應(yīng),如果C與V相等,則三維物體模型V的八叉樹僅有樹根,如果C與V不相等,則將正方體C等分為八個(gè)子立方體,每個(gè)子立方體與樹根的一個(gè)子節(jié)點(diǎn)相對(duì)應(yīng)。只要某個(gè)子立方體不是完全空白或完全為V所占據(jù),就要被八等分,從而構(gòu)成了有樹根節(jié)點(diǎn)的八叉樹結(jié)構(gòu);

步驟203、從八叉樹結(jié)構(gòu)的根節(jié)點(diǎn)開始,逐層遍歷八叉樹結(jié)構(gòu)的節(jié)點(diǎn),計(jì)算得到每個(gè)節(jié)點(diǎn)的潛在可見集(PVS);

在本步驟中,如果節(jié)點(diǎn)不是最底層節(jié)點(diǎn)且包含遮擋物體模型,則將PVS設(shè)置為空,否則,不為空;

在本步驟中,是從八叉樹的根節(jié)點(diǎn)開始,按照級(jí)別的高低,依次遍歷完當(dāng)前級(jí)別的所有節(jié)點(diǎn)并設(shè)置了對(duì)應(yīng)的PVS后,再遍歷下一級(jí)的所有節(jié)點(diǎn)并設(shè)置了對(duì)應(yīng)的PVS后,直到遍歷完所有節(jié)點(diǎn);

在本步驟中,PVS是以視線區(qū)域?yàn)榛A(chǔ),將三維電子游戲畫面的場景劃分為若干區(qū)域,分別計(jì)算每個(gè)區(qū)域內(nèi)部的PVS,客戶端在執(zhí)行過程中只需要取出節(jié)點(diǎn)對(duì)應(yīng)的PVS即可,PVS記載了節(jié)點(diǎn)區(qū)域的可見物體模型及非可見物體模型;

在本步驟中可以將具有相同可見集的節(jié)點(diǎn)進(jìn)行合并,比如,如果父節(jié)點(diǎn)可以表示對(duì)應(yīng)的空間的潛在可見集,則不用再計(jì)算子節(jié)點(diǎn);

步驟204、客戶端當(dāng)對(duì)要渲染的三維電子游戲畫面進(jìn)行物體模型的剔除時(shí),確定攝像機(jī)視角范圍是否在所設(shè)置的遮擋剔除范圍外,如果是,則執(zhí)行步驟205;如果否,則執(zhí)行步驟206;

步驟205、客戶端不進(jìn)行處理,所有被遮擋物體模型都可見;

步驟206、客戶端確定攝像機(jī)視角范圍在八叉樹的哪一個(gè)節(jié)點(diǎn)對(duì)應(yīng)的空間范圍內(nèi),將其設(shè)置為當(dāng)前八叉樹節(jié)點(diǎn);

在本步驟中,已經(jīng)采用了視錐剔除的方式剔除了攝像機(jī)視角范圍外的物體模型;

步驟207、客戶端使用當(dāng)前八叉樹節(jié)點(diǎn)的PVS,在視錐剔除的基礎(chǔ)上進(jìn)行PVS遍歷,將被遮擋的物體模型從視錐可見的物體模型中剔除出來。

在本發(fā)明實(shí)施例中,對(duì)于攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的非根節(jié)點(diǎn)區(qū)域外且不在八叉樹結(jié)構(gòu)的根節(jié)點(diǎn)區(qū)域內(nèi)時(shí),采用視錐方式剔除要渲染三維電子游戲畫面的物體模型。

舉一個(gè)例子說明,如圖3所示,圖3為本發(fā)明實(shí)施例提供的采用圖2所述的方法對(duì)三維電子游戲的當(dāng)前畫面的物體模型剔除的示意圖,如圖所示,將三維電子游戲的當(dāng)前畫面中的攝影機(jī)視角范圍內(nèi)的不可見物體模型進(jìn)行了剔除,從而在場景管理和可見性判斷優(yōu)化方面有良好的效果。

圖4為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除的裝置一結(jié)構(gòu)示意圖,包括:結(jié)構(gòu)設(shè)置單元及賦予信息單元,其中,

結(jié)構(gòu)設(shè)置單元,用于設(shè)置三維電子游戲畫面的遮擋剔除范圍,在所述遮擋范圍內(nèi)構(gòu)建八叉樹結(jié)構(gòu),所述八叉樹節(jié)點(diǎn)將所述遮擋剔除范圍分成規(guī)則的多個(gè)空間節(jié)點(diǎn);

賦予信息單元,用于對(duì)所述八叉樹結(jié)構(gòu)的每個(gè)節(jié)點(diǎn)設(shè)置對(duì)應(yīng)的潛在可見集合,表示每個(gè)節(jié)點(diǎn)所在區(qū)域的遮擋物體模型信息及被遮擋物體模型信息。

圖5為本發(fā)明實(shí)施例提供的三維電子游戲畫面中的物體模型剔除的裝置二結(jié)構(gòu)示意圖,剔除單元,用于當(dāng)要渲染三維電子游戲畫面時(shí),且攝像機(jī)視角范圍在八叉樹結(jié)構(gòu)的節(jié)點(diǎn)時(shí),遍歷所在節(jié)點(diǎn)對(duì)應(yīng)的潛在可見集合,確定視錐可見范圍內(nèi)的被遮擋物體模型并剔除。

采用本發(fā)明實(shí)施例提供的方法及裝置剔除三維電子游戲畫面的被遮擋物體模型,可移植性強(qiáng),將以視線為基礎(chǔ)的PVS算法整合到確定三維電子游戲畫面的攝影機(jī)視角范圍內(nèi)可見的被遮擋物體模型的方案中,利用八叉樹及PVS對(duì)渲染前的三維電子游戲畫面的創(chuàng)建作前期處理。在客戶端中,可以以多線程的方式先載入八叉樹結(jié)構(gòu)后,查表確定每個(gè)節(jié)點(diǎn)的PVS,大幅度減少了三維電子游戲畫面的場景中的物體模型的多邊形數(shù)量,這樣處理消耗存儲(chǔ)空間極少,運(yùn)行時(shí)只用付出查表的開下,最大限度降低運(yùn)行時(shí)性能損失,以極小的客戶端存儲(chǔ)空間存儲(chǔ)八叉樹結(jié)構(gòu),換取因數(shù)據(jù)量大而產(chǎn)生的延遲時(shí)間,減少客戶端的顯卡負(fù)擔(dān),讓客戶端可以接受大型室外場景數(shù)據(jù),并在其中瀏覽并穿梭,而不會(huì)有因數(shù)據(jù)量過大而產(chǎn)生的時(shí)間延遲和/或卡頓現(xiàn)象。

以上舉較佳實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1