一種基于高度變化的3d動(dòng)態(tài)路標(biāo)顯示方法和顯示裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及游戲圖標(biāo)顯示,特別是涉及一種基于高度變化的3D動(dòng)態(tài)路標(biāo)顯示方法和顯示裝置。
【背景技術(shù)】
[0002]在ARPG游戲戰(zhàn)斗情景中,由于場(chǎng)景結(jié)構(gòu)和玩法較為多變復(fù)雜,常常需要使用路標(biāo)指引玩家到達(dá)目標(biāo)位置觸發(fā)游戲任務(wù)或怪物。能否清晰地呈現(xiàn)路標(biāo)對(duì)玩家的游戲體驗(yàn)有很大的影響。3D動(dòng)態(tài)路標(biāo)正是其中較常用的一種指路方式,具有美觀清晰、能與游戲場(chǎng)景完美融合的優(yōu)點(diǎn)。然而3D路標(biāo)由于需要完美融入場(chǎng)景,所以當(dāng)場(chǎng)景出現(xiàn)坡度或其他地面高度變化的情況時(shí),會(huì)出現(xiàn)嵌入到地表的情況,影響指路?,F(xiàn)有技術(shù)的一種方案是采用貼地式普通紋理貼圖實(shí)現(xiàn)3D路標(biāo),貼地式普通紋理貼圖實(shí)現(xiàn)3D路標(biāo)的缺點(diǎn)在于,當(dāng)有斜坡、樓梯等地面高度變化的情況時(shí),3D路標(biāo)將嵌入到場(chǎng)景模型中,影響指路效果。現(xiàn)有技術(shù)的另一種方案是利用投影紋理映射實(shí)現(xiàn)3D路標(biāo)呈現(xiàn),又稱貼花。投影紋理映射用于映射一個(gè)紋理到物體上,好比將幻燈片投影到墻上一樣。在游戲中貼花最常見的地方就是用鼠標(biāo)選擇一個(gè)目標(biāo)后,地上出現(xiàn)的一個(gè)圓圈,或者范圍魔法在施放時(shí)的提示區(qū)域。這個(gè)紋理會(huì)隨著模型和地圖的表面扭曲,而非一個(gè)平面,因此可以使3D路標(biāo)不嵌入到高度變化的模型地表。利用投影紋理映射實(shí)現(xiàn)3D路標(biāo)呈現(xiàn)雖然可以避免3D路標(biāo)不嵌入到高度變化的模型地表,但是亦會(huì)帶來(lái)較大的效率損耗,制作難度相對(duì)較高。由于性價(jià)比較低,因此這種方式往往只用于更著重于表現(xiàn)的地方,目前幾乎沒(méi)有游戲(尤其是移動(dòng)設(shè)備游戲)利用這種方式解決路標(biāo)嵌入起伏地表問(wèn)題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)的不足,提供一種基于高度變化的3D動(dòng)態(tài)路標(biāo)顯示方法和顯示裝置,有效避免3D動(dòng)態(tài)路標(biāo)嵌入起伏的地表,且實(shí)現(xiàn)方式上效率損耗較少,成本低。
[0004]為實(shí)現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0005]—種基于高度變化的3D動(dòng)態(tài)路標(biāo)顯示方法,包括以下步驟:
[0006]A.實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中所處的水平高度坐標(biāo)Y ;
[0007]B.當(dāng)顯示3D動(dòng)態(tài)路標(biāo)時(shí),根據(jù)所檢測(cè)的水平高度坐標(biāo)Y,將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值控制在:Y+a*H,其中H為受控角色在游戲中的模型高度,a為大于零的值。
[0008]進(jìn)一步地:
[0009]其中a為滿足O < a彡I的比例系數(shù)。
[0010]步驟A中,還實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中前行的坡度Θ ;步驟B中,按照以下三角公式計(jì)算出y的值,
[0011]y = x*tan Θ
[0012]其中X為3D動(dòng)態(tài)路標(biāo)的水平長(zhǎng)度,
[0013]然后以y的值作為下限,將a*H取為一個(gè)不小于y的值,再按照Y+a*H計(jì)算出3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值。
[0014]—種基于高度變化的3D動(dòng)態(tài)路標(biāo)顯示裝置,包括:
[0015]水平高度坐標(biāo)檢測(cè)裝置,用于實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中所處的水平高度坐標(biāo)Y ;
[0016]3D動(dòng)態(tài)路標(biāo)高度控制裝置,用于當(dāng)顯示3D動(dòng)態(tài)路標(biāo)時(shí),根據(jù)所檢測(cè)的水平高度坐標(biāo)Y,將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值控制在:Y+a*H,其中H為受控角色在游戲中的模型高度,a為大于零的值。
[0017]進(jìn)一步地:
[0018]其中a為滿足O < a彡I的比例系數(shù)。
[0019]還包括:
[0020]坡度檢測(cè)裝置,用于實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中前行的坡度Θ ;
[0021]3D動(dòng)態(tài)路標(biāo)高度計(jì)算裝置,用于按照以下三角公式計(jì)算出y的值,
[0022]y = x*tan Θ
[0023]其中X為3D動(dòng)態(tài)路標(biāo)水平長(zhǎng)度,
[0024]并以y的值作為下限,將a*H取為一個(gè)不小于y的值,再按照Y+a*H計(jì)算出3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的尚度值。
[0025]本發(fā)明的有益效果:
[0026]與傳統(tǒng)的貼地式路標(biāo)不同,本發(fā)明通過(guò)實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中所處的水平高度坐標(biāo)Y (即受控角色當(dāng)前所處的地表高度),將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值控制在水平高度坐標(biāo)Y加上一個(gè)與受控角色模型高度H相關(guān)的值a*H,將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度提升,從而避免絕大多數(shù)路標(biāo)嵌入場(chǎng)景的情況發(fā)生。通過(guò)這種方式調(diào)節(jié)3D路標(biāo)的高度,使路標(biāo)在絕大多數(shù)的情況下不會(huì)嵌入起伏地表,達(dá)到即使在不規(guī)則地表環(huán)境,亦能為玩家指引前進(jìn)方向的效果。根據(jù)本發(fā)明的這一技術(shù)方案,利用非常簡(jiǎn)單的處理手段即能滿足游戲中絕大部分場(chǎng)合的路標(biāo)指引需求,且兼顧了 3D路標(biāo)的美觀性、功能性和實(shí)現(xiàn)的便捷性。
[0027]在優(yōu)選的方案中,所加的高度a*H并非固定值,而是根據(jù)受控角色前行的坡度進(jìn)行動(dòng)態(tài)調(diào)整的,從而即使在碰到較陡的坡度時(shí)也能有效地避免3D動(dòng)態(tài)路標(biāo)嵌入坡面,給玩家?guī)?lái)更好的體驗(yàn)。
【附圖說(shuō)明】
[0028]圖1為本發(fā)明3D動(dòng)態(tài)路標(biāo)顯示方法一種實(shí)施例的流程圖。
【具體實(shí)施方式】
[0029]以下對(duì)本發(fā)明的實(shí)施方式作詳細(xì)說(shuō)明。應(yīng)該強(qiáng)調(diào)的是,下述說(shuō)明僅僅是示例性的,而不是為了限制本發(fā)明的范圍及其應(yīng)用。
[0030]參閱圖1,在一種實(shí)施例中,一種基于高度變化的3D動(dòng)態(tài)路標(biāo)顯示方法,包括以下步驟:
[0031]A.實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中所處的水平高度坐標(biāo)Y ;
[0032]B.當(dāng)顯示3D動(dòng)態(tài)路標(biāo)時(shí),根據(jù)所檢測(cè)的水平高度坐標(biāo)Y,將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值控制在:Y+a*H,其中H為受控角色在游戲中的模型高度,a為大于零的值。
[0033]上述方法可適用于手機(jī)、平板電腦等各種移動(dòng)終端上的游戲應(yīng)用。根據(jù)上述方法,在游戲過(guò)程中,實(shí)時(shí)檢測(cè)受控角色在游戲場(chǎng)景中所處的水平高度坐標(biāo)Y(即受控角色當(dāng)前所處的地表高度),當(dāng)根據(jù)游戲設(shè)定需要顯示3D動(dòng)態(tài)路標(biāo)的時(shí)候,將3D動(dòng)態(tài)路標(biāo)在游戲場(chǎng)景中的高度值控制在水平高度坐標(biāo)Y加上一個(gè)與受控角色模型高度H相關(guān)