一種游戲同一屏幕顯示萬人的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種游戲同一屏幕顯示萬人的方法和系統(tǒng),通過獲取所要繪制游戲圖像文件中的圖像信息,根據(jù)所述圖像信息獲取模塊獲取的圖像信息,繪制游戲圖像文件,再根據(jù)圖像信息中的位置編碼信息及碰撞檢測區(qū)域,判斷遮擋關(guān)系及遮擋范圍,最后根據(jù)上述判斷的信息將圖像文件選擇性渲染并顯示出來。本發(fā)明的有益效果是:在人物或是建筑等圖素過多的時(shí)候,GPU僅僅需要進(jìn)行少數(shù)的繪制,即可完成游戲畫面,大大降低了屏幕刷新次數(shù),增大了刷新率,同時(shí)顯示速度快,不會出現(xiàn)卡頓現(xiàn)象,可以將游戲畫面平滑地顯示給游戲用戶,并且在游戲中的動態(tài)圖素與靜止圖素存在的遮擋關(guān)系,更加貼切實(shí)際,讓游戲更耐玩、有趣。
【專利說明】 —種游戲同一屏幕顯示萬人的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于網(wǎng)絡(luò)游戲【技術(shù)領(lǐng)域】,尤其涉及一種游戲同一屏幕顯示萬人的方法。
[0002]
【背景技術(shù)】
[0003]隨著互聯(lián)網(wǎng)通訊及網(wǎng)絡(luò)游戲技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)游戲也越來越為大多數(shù)人所喜愛,游戲玩家對游戲的性能要求也越來越高,尤其在畫面的顯示方面,都期望游戲畫面能夠平滑精美地顯示,游戲畫面是否精美無疑是決定游戲普及度及是否受游戲玩家追捧的重要因素。
[0004]游戲畫面通常由地圖、特效、建筑、人物以及界面等部分構(gòu)成,在現(xiàn)有技術(shù)中,繪制一個(gè)士兵,需要包含好幾個(gè)部分,比如頭頂?shù)难獥l,士兵的身體,腳底的選中圈,最簡單的一個(gè)士兵繪制,都需要3次GPU繪制,當(dāng)人物或是建筑等圖素過多的時(shí)候,就需要上千次的GPU繪制,每繪制一次就會刷新一次,導(dǎo)致屏幕刷新次數(shù)增加,大大降低刷新率,同時(shí)顯示速度較慢,會出現(xiàn)卡頓現(xiàn)象不能平滑地顯示給游戲用戶,并且在游戲中圖素過多的時(shí)候,圖素與圖素直接存在的遮擋關(guān)系仍然無法得到有效解決。
[0005]
【發(fā)明內(nèi)容】
[0006]為有效解決上述問題,本發(fā)明提供一種游戲同一屏幕顯示萬人的方法,能在顯示人物、建筑等大量因素時(shí)能得到較好畫面質(zhì)量和顯示速度。
[0007]本發(fā)明提供一種游戲同一屏幕顯示萬人的方法,所述方法包括以下步驟:
O獲取游戲中所要繪制圖像文件的圖像信息;
2)根據(jù)圖素的種類合成大圖存儲在素材庫中;
3)GPU重新進(jìn)行圖層繪制;
4)判斷移動圖素與靜止圖素的遮擋關(guān)系;
5)根據(jù)遮擋關(guān)系,選擇圖層進(jìn)行渲染顯示。
[0008]本發(fā)明還提供一種游戲同一屏幕顯示萬人的系統(tǒng),所述系統(tǒng)包括:
圖像信息獲取模塊,獲取游戲中所要繪制圖像文件的圖像信息;
圖像文件繪制模塊,根據(jù)圖素的種類合成大圖存儲在素材庫中并用GPU重新進(jìn)行圖層繪制;
圖像信息判斷模塊,根據(jù)圖像信息中的位置編碼信息及碰撞檢測區(qū)域,判斷遮擋關(guān)系及遮擋范圍;
顯示模塊,根據(jù)上述判斷的信息將圖像文件選擇性渲染并顯示出來。
[0009]本發(fā)明的有益效果是:應(yīng)用本發(fā)明的游戲方法和系統(tǒng),在人物或是建筑等圖素過多的時(shí)候,GPU僅僅需要進(jìn)行少數(shù)的繪制,即可完成游戲畫面,大大降低了屏幕刷新次數(shù),增大了刷新率,同時(shí)顯示速度快,不會出現(xiàn)卡頓現(xiàn)象,可以將游戲畫面平滑地顯示給游戲用戶,并且在游戲中的動態(tài)圖素與靜止圖素存在的遮擋關(guān)系,更加貼切實(shí)際,讓游戲更耐玩、有趣。
【專利附圖】
【附圖說明】
[0010]圖1為本發(fā)明實(shí)施例提供的方法流程圖;
圖2為本發(fā)明實(shí)施例提供的系統(tǒng)圖;
圖3為本發(fā)明實(shí)施例中建筑的碰撞檢測區(qū)域。
[0011]
【具體實(shí)施方式】
[0012]以下結(jié)合附圖及【具體實(shí)施方式】,對本發(fā)明做進(jìn)一步詳細(xì)說明,應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0013]本發(fā)明提供一種游戲同一屏幕顯示萬人的方法,包括:
a)獲取繪制圖像文件的圖像信息,其中所述圖像信息包括構(gòu)成該圖像的圖素類型,圖素的位置參數(shù)以及該圖素對應(yīng)的層次,所述圖素的位置參數(shù)是指該圖素在所要繪制游戲圖像文件中的位置編碼信息;
其中,圖素類型為地面部隊(duì)、建筑、空中部隊(duì)和特效,地面部隊(duì)的圖素包括士兵、坦克等,其中建筑類的圖素定義有碰撞檢測區(qū)域(以該圖素中心為區(qū)域的中心點(diǎn)),所述碰撞檢測區(qū)域可以是一個(gè)簡單的矩形,寫入配置文件中。
[0014]b)組合大圖,將同一類別的圖素設(shè)置在同一大圖中;
其中,地面部隊(duì)類圖素生成兩個(gè)大圖(因地面部隊(duì)的圖素繁多,所以生成兩張大圖,即隨機(jī)生成A地面部隊(duì)圖和B地面部隊(duì)圖),建筑類圖素生成一個(gè)大圖,空中部隊(duì)類圖素生成一個(gè)大圖,特效類圖素生成一個(gè)大圖;
因GPU能夠?qū)崿F(xiàn)的圖像的最大尺寸是有限制的,目前主流的手機(jī)能夠支持的最大顯示尺寸是2048 X 2048,所以本發(fā)明中生成的大圖為2048 X 2048的圖片,存儲在素材庫中。
[0015]c) GPU重新進(jìn)行圖層繪制;
繪制A地面部隊(duì)圖層:根據(jù)步驟I中圖素的位置參數(shù),確定所要繪制的A地面部隊(duì)圖層上不同位置需要顯示的圖片,打開素材庫,在A地面部隊(duì)大圖上直接依次把需要顯示的圖片裁出來,然后放在所要繪制的A地面部隊(duì)圖層中(例如:要在圖層位置x=100,y=100,顯示一張寬度20,高度20的某地面部隊(duì)的小圖片),并存儲在素材庫中。采用該技術(shù),在繪制新的圖層的時(shí)候,只需要打開素材庫一次,即可完成繪制,這樣就可以極大地提升繪制效率,有效減少重復(fù)打開素材庫的繁瑣工作,該圖層上的顯示對象都在同一素材庫中的同一張大圖上,GPU避免了切換素材庫,實(shí)現(xiàn)較少GPU性能的消耗。
[0016]應(yīng)用該繪制方法,繪制A地面部隊(duì)層兩層、B地面部隊(duì)層兩層、建筑層、空中部隊(duì)層和特效層,并且將圖層自下至上依次排序?yàn)锳地面部隊(duì)層(下)、B地面部隊(duì)層(下)、建筑層、B地面部隊(duì)層(上)、A地面部隊(duì)層(上)、空中部隊(duì)層、特效層,其中A地面部隊(duì)層(上)和A地面部隊(duì)層(下)上的圖素及其位置參數(shù)均是一樣的,B地面部隊(duì)層(上)和B地面部隊(duì)層(下)上的圖素及其位置參數(shù)均是一樣的,將繪制的七個(gè)圖層縱向組合,雖然屬于不同的層次,但是在顯示的時(shí)候,效果在同一層次上。[0017]d)判斷地面與建筑的遮擋關(guān)系;
如圖3所示,地面部隊(duì)圖素與建筑圖素均具備位置參數(shù),其中地面部隊(duì)圖素以其幾何中心點(diǎn)來判斷,在步驟c)中的圖層疊加完畢后,當(dāng)?shù)孛娌筷?duì)圖素的幾何中心點(diǎn)落入建筑圖素的碰撞檢測區(qū)域的矩形內(nèi),則判斷地面部隊(duì)被建筑所遮擋,當(dāng)?shù)孛娌筷?duì)圖素的幾何中心點(diǎn)未落入建筑圖素的碰撞檢測區(qū)域的矩形內(nèi),則不存在遮擋關(guān)系。因空中部隊(duì)、特效層與其他圖層不存在遮擋關(guān)系,所以不需要碰撞檢測區(qū)域。
[0018]這樣的判斷方法簡單并且有效,可準(zhǔn)確判斷移動圖素(地面部隊(duì)中士兵或是坦克)和靜止圖素(建筑類圖素)之間的遮擋關(guān)系,占用游戲系統(tǒng)內(nèi)存少,讓游戲更加順暢。
[0019]e)根據(jù)遮擋關(guān)系,選擇圖層進(jìn)行渲染顯示;
在步驟d)中當(dāng)?shù)孛娌筷?duì)層(上)(例如A地面部隊(duì)上)的圖素被建筑層圖素遮擋,則在該位置處依次顯示相應(yīng)的地面部隊(duì)層(下)(A地面部隊(duì)下)的圖素與建筑層圖素,然后渲染并通過屏幕顯示,未出現(xiàn)遮擋情況下,則在該位置處選擇不顯示建筑層下面的地面部隊(duì)層(下)的圖素,而依次顯示地面部隊(duì)層(上)與建筑層的圖素,然后渲染并通過屏幕顯示。這樣選擇性的渲染顯示的游戲畫面的不會卡頓,并且靜止圖素可以將在其后面的移動圖素遮擋起來,讓游戲更貼切實(shí)際。
[0020]本發(fā)明還包括一種游戲同一屏幕顯示萬人的系統(tǒng),所述系統(tǒng)包括:
圖像信息獲取模塊,獲取所要繪制游戲圖像文件中的圖像信息。
[0021]圖像文件繪制模塊,根據(jù)所述圖像信息獲取模塊獲取的圖像信息,繪制游戲圖像文件。
[0022]圖像信息判斷模塊,根據(jù)圖像信息中的位置編碼信息及碰撞檢測區(qū)域,判斷遮擋關(guān)系及遮擋范圍。
[0023]顯示模塊,根據(jù)上述判斷的信息將圖像文件選擇性渲染并顯示出來。
[0024]應(yīng)用本發(fā)明的游戲方法和系統(tǒng),在人物或是建筑等圖素過多的時(shí)候,GPU僅僅需要進(jìn)行七次繪制,即可完成游戲畫面,大大降低了屏幕刷新次數(shù),增大了刷新率,同時(shí)顯示速度快,不會出現(xiàn)卡頓現(xiàn)象,可以將游戲畫面平滑地顯示給游戲用戶,并且在游戲中的動態(tài)圖素與靜止圖素存在的遮擋關(guān)系,更加貼切實(shí)際,讓游戲更耐玩、有趣。
[0025]上述詳細(xì)說明是針對本發(fā)明的可行性實(shí)施方式的具體說明,上述實(shí)施方式并非用以限制本發(fā)明的專利范圍,凡未脫離本發(fā)明的等效實(shí)施或變更,均應(yīng)包含于本發(fā)明的專利范圍。
【權(quán)利要求】
1.一種游戲同一屏幕顯示萬人的方法,其特征在于,所述方法包括以下步驟: 1)獲取游戲中所要繪制圖像文件的圖像信息; 2)根據(jù)圖素的種類合成大圖存儲在素材庫中; 3)GPU重新進(jìn)行圖層繪制; 4)判斷移動圖素與靜止圖素的遮擋關(guān)系; 5)根據(jù)遮擋關(guān)系,選擇圖層進(jìn)行渲染顯示。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,其中步驟I)中所述圖像信息包括構(gòu)成該圖像的圖素類型、圖素的位置參數(shù)以及該圖素對應(yīng)的層次。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述圖素的位置參數(shù)是指該圖素在所要繪制游戲圖像文件中的位置編碼信息。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述圖素的種類包括但不限于地面部隊(duì)、建筑、空中部隊(duì)和特效。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟3)具體包括: O繪制新的大圖圖層:根據(jù)步驟I)中圖素的位置參數(shù),確定所要繪制的新的大圖圖層上不同位置需要顯示的圖片,打開素材庫,依次把需要顯示的圖片裁出來,然后放在所要繪制的新的大圖圖層中; 2)依次繪制其他的大圖圖層,將上述繪制好的大圖圖層自下至上依次排序。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述大圖圖層包括下第一地面部隊(duì)層、下第二地面部隊(duì)層、建筑層、上第二地面部隊(duì)層、上第一地面部隊(duì)層、空中部隊(duì)層和特效層。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟4)具體包括: 設(shè)立靜止圖素的碰撞檢測區(qū)域; 當(dāng)移動圖素的點(diǎn)落入靜止圖素的碰撞檢測區(qū)域時(shí),則判斷地面 部隊(duì)被建筑所遮擋,當(dāng)移動圖素的點(diǎn)未落入靜止圖素的碰撞檢測區(qū)域內(nèi),則判斷不存在遮擋關(guān)系。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述移動圖素包括地面部隊(duì)中的士兵、坦克;所述靜止圖素為建筑類的圖素。
9.根據(jù)權(quán)利要求6所述的方法,其特征在于,步驟5)具體包括:當(dāng)建筑層上面圖層的圖素被建筑層圖素遮擋,則在該位置處依次顯示相應(yīng)的下面圖層的圖素與建筑層圖素,然后渲染并通過屏幕顯示,未出現(xiàn)遮擋情況下,則在該位置處選擇不顯示建筑層下面圖層的圖素,而依次顯示上面圖層的圖素與建筑層的圖素。
10.一種游戲同一屏幕顯示萬人的系統(tǒng),其特征在于,所述系統(tǒng)包括: 圖像信息獲取模塊,獲取游戲中所要繪制圖像文件的圖像信息; 圖像文件繪制模塊,根據(jù)圖素的種類合成大圖存儲在素材庫中并用GPU重新進(jìn)行圖層繪制; 圖像信息判斷模塊,根據(jù)圖像信息中的位置編碼信息及碰撞檢測區(qū)域,判斷遮擋關(guān)系及遮擋范圍; 顯示模塊,根據(jù)上述判斷的信息將圖像文件選擇性渲染并顯示出來。
【文檔編號】A63F13/525GK103785174SQ201410067395
【公開日】2014年5月14日 申請日期:2014年2月26日 優(yōu)先權(quán)日:2014年2月26日
【發(fā)明者】謝賢林 申請人:北京智明星通科技有限公司