一種射擊游戲的瞄準方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種移動游戲中的瞄準的技術(shù),尤其涉及一種移動觸屏終端上的射擊游戲的瞄準方法及裝置。
【背景技術(shù)】
[0002]移動游戲是一種用戶通過移動通訊網(wǎng)絡(luò)在移動觸屏終端如手機、平板電腦等平臺上操作的電子游戲業(yè)務(wù),其包括棋牌游戲、角色游戲、策略游戲、動作游戲等。射擊游戲作為動作游戲中一種,目前其通過虛擬攝像機進行瞄準射擊的實現(xiàn)通常使用如下的方案,如現(xiàn)在移動觸屏終端上的主流的FPS (如現(xiàn)代戰(zhàn)爭系列)和TPS (如火線指令系列)都使用了雙搖桿的操作方案,這種方案就是在觸屏上模擬兩個搖桿,左搖桿控制目標移動,右搖桿控制虛擬攝像機的鏡頭瞄準射擊。這套方案看似合理,但實際上并不符合人體工學:
[0003]首先,用右搖桿替代了鼠標操作,意味著要求完全用右手拇指完成之前要整個手臂配合才能完成的一系列復雜、精細、快速的操作。導致玩家在轉(zhuǎn)向、瞄準的時候困難重重,操作結(jié)果錯漏百出;
[0004]其次,虛擬搖桿不能像真實搖桿或鼠標那樣給玩家的手予以反饋,任何操作都需要用戶自己的眼睛去觀察校準,進一步增加了操作難度。
[0005]以上兩點會導致用戶游戲時的體驗挫折感升高,整體感覺下降,從而使得FPS和TPS在移動觸屏設(shè)備上受眾狹窄、發(fā)展困難,遠達不到本該有的市場效果。
【發(fā)明內(nèi)容】
[0006]針對現(xiàn)有技術(shù)的不足,本發(fā)明的目的旨在于提供一種方便虛擬攝像機準確進行轉(zhuǎn)向瞄準,同時能有效提高游戲體驗度的射擊游戲的瞄準方法。
[0007]為實現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
[0008]一種射擊游戲的瞄準方法,其應(yīng)用于具有觸摸顯示屏的移動終端,其特征在于,包括如下步驟:
[0009]定位步驟,當所述移動終端處于游戲界面時,獲取虛擬攝像機當前的旋轉(zhuǎn)角度;
[0010]旋轉(zhuǎn)步驟,當檢測到所述游戲界面有接觸時,獲取接觸對象的坐標位置,以使所述虛擬攝像機當前的旋轉(zhuǎn)角度與所述坐標位置匹配;
[0011]調(diào)整步驟,當檢測到所述移動終端晃動時,通過所述移動終端的傳感器獲取相應(yīng)的晃動角度,以使所述虛擬攝像機當前的旋轉(zhuǎn)角度與所述晃動角度匹配。
[0012]優(yōu)選的,旋轉(zhuǎn)步驟包括如下子步驟:
[0013]確定對象步驟,當檢測到所述游戲界面有接觸時,檢測所有處于觸摸狀態(tài)的列表對象,獲得處于點擊游戲界面狀態(tài)的列表對象并將其記為接觸對象,獲取所述接觸對象的坐標位置;
[0014]輔助步驟,根據(jù)輔助函數(shù)創(chuàng)建一條以虛擬攝像機的近裁面為起點并穿過所述坐標位置的輔助射線,獲取所述輔助射線的旋轉(zhuǎn)角度;
[0015]確定增量步驟,通過循環(huán)函數(shù)得出所述虛擬攝像機當前的旋轉(zhuǎn)角度到所述輔助射線的旋轉(zhuǎn)角度的中間插值;
[0016]應(yīng)用增量步驟,將中間插值應(yīng)用到虛擬攝像機上,使得虛擬攝像機的旋轉(zhuǎn)幅度與中間插值相等,記錄虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度;
[0017]判斷步驟,若虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度與輔助射線的旋轉(zhuǎn)角度相匹配,則完成虛擬攝像機的初步移動,若否則返回確定增量步驟。
[0018]優(yōu)選的,調(diào)整步驟中的傳感器為陀螺儀,通過啟動陀螺儀,獲取陀螺儀的重力參數(shù)值以控制虛擬攝像機的旋轉(zhuǎn)角度。
[0019]優(yōu)選的,調(diào)整步驟中的傳感器為重力傳感器,通過啟動重力傳感器,實時獲取重力傳感器的加速度值,判斷所述加速度值每秒產(chǎn)生的角變化量,若所述角變化量超過預設(shè)閾值,則根據(jù)變化后的角變化量控制虛擬攝像機的旋轉(zhuǎn)角度。
[0020]優(yōu)選的,所述加速度值為三維向量值,其由X軸加速度值、Y軸加速度值和Z軸加速度值構(gòu)成,其中X軸加速度值、Y軸加速度值和Z軸加速度值的大小范圍均在為-1至I之間。
[0021]本發(fā)明還提出一種射擊游戲的瞄準裝置,包括如下模塊:
[0022]定位模塊,用于當所述移動終端處于游戲界面時,獲取虛擬攝像機當前的旋轉(zhuǎn)角度;
[0023]旋轉(zhuǎn)模塊,用于當檢測到所述游戲界面有接觸時,獲取接觸對象的坐標位置,以使所述虛擬攝像機當前的旋轉(zhuǎn)角度與所述坐標位置匹配;
[0024]調(diào)整模塊,用于當檢測到所述移動終端晃動時,通過所述移動終端的傳感器獲取相應(yīng)的晃動角度,以使所述虛擬攝像機當前的旋轉(zhuǎn)角度與所述晃動角度匹配。
[0025]優(yōu)選的,所述旋轉(zhuǎn)模塊包括如下子模塊:
[0026]確定對象模塊,用于當檢測到所述游戲界面有接觸時,檢測所有處于觸摸狀態(tài)的列表對象,獲得處于點擊游戲界面狀態(tài)的列表對象并將其記為接觸對象,獲取所述接觸對象的坐標位置;
[0027]輔助模塊,用于根據(jù)輔助函數(shù)創(chuàng)建一條以虛擬攝像機的近裁面為起點并穿過所述坐標位置的輔助射線,獲取所述輔助射線的旋轉(zhuǎn)角度;
[0028]確定增量模塊,用于通過循環(huán)函數(shù)得出所述虛擬攝像機當前的旋轉(zhuǎn)角度到所述輔助射線的旋轉(zhuǎn)角度的中間插值;
[0029]應(yīng)用增量模塊,用于將中間插值應(yīng)用到虛擬攝像機上,使得虛擬攝像機的旋轉(zhuǎn)幅度與中間插值相等,記錄虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度;
[0030]判斷模塊,用于若虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度與輔助射線的旋轉(zhuǎn)角度相匹配,則完成虛擬攝像機的初步移動,若否則返回確定增量模塊。
[0031]優(yōu)選的,調(diào)整模塊中的傳感器為陀螺儀,通過啟動陀螺儀,獲取陀螺儀的重力參數(shù)值以控制虛擬攝像機的旋轉(zhuǎn)角度。
[0032]優(yōu)選的,調(diào)整模塊中的傳感器為重力傳感器,通過啟動重力傳感器,實時獲取重力傳感器的加速度值,判斷所述加速度值每秒產(chǎn)生的角變化量,若所述角變化量超過預設(shè)閾值,則根據(jù)變化后的角變化量控制虛擬攝像機的旋轉(zhuǎn)角度。
[0033]優(yōu)選的,所述加速度值為三維向量值,其由X軸加速度值、Y軸加速度值和Z軸加速度值構(gòu)成,其中X軸加速度值、Y軸加速度值和Z軸加速度值的大小范圍均在為-1至I之間。
[0034]本發(fā)明的有益效果如下:該方法方便虛擬攝像機準確進行轉(zhuǎn)向瞄準,同時能夠有效地提高玩家對游戲的體驗度;本方案采用觸屏與重力傳感器或陀螺儀相結(jié)合的方式,即在檢測到接觸對象后,完成虛擬攝像機的初步轉(zhuǎn)動,通過重力傳感器或陀螺儀對虛擬攝像機的旋轉(zhuǎn)角度進行精確的調(diào)整,從而方便了虛擬攝像機準確瞄準的接觸對象,進一步提高了玩家在游戲過程中的體驗度。
【附圖說明】
[0035]圖1為本發(fā)明一種射擊游戲的瞄準方法的較佳實施方式的流程圖。
[0036]圖2為本發(fā)明一種射擊游戲的瞄準方法中旋轉(zhuǎn)步驟的較佳實施方式的流程圖。
【具體實施方式】
[0037]下面將結(jié)合附圖以及【具體實施方式】,對本發(fā)明做進一步描述:
[0038]請參見圖1,本實施例涉及一種射擊游戲的瞄準方法,其應(yīng)用于具有觸摸顯示屏的移動終端,包括如下步驟:
[0039]定位步驟SI,當移動終端處于游戲界面時,獲取虛擬攝像機當前的旋轉(zhuǎn)角度。其中,虛擬攝像機就是玩家在3D游戲中的“眼睛”,該虛擬攝像機拍攝到的景物就是玩家在屏幕上看到景物,全游戲中一個場景內(nèi)只有唯一一個虛擬攝像機。該虛擬攝像機當前的旋轉(zhuǎn)角度是一個四元數(shù),四元數(shù)可以看做是一個四維向量,用來表示物體在空間中的旋轉(zhuǎn)等。
[0040]旋轉(zhuǎn)步驟S2,當檢測到游戲界面有接觸時,獲取接觸對象的坐標位置,以使虛擬攝像機當前的旋轉(zhuǎn)角度與坐標位置匹配。具體的,在游戲過程中,這是一個粗調(diào)準星位置的步驟,即一檢測到游戲界面有接觸,虛擬攝像機進行旋轉(zhuǎn)并對準有接觸的范圍,可以使得有接觸的范圍顯示在移動終端的觸摸顯示屏上的預設(shè)位置,該預設(shè)位置可以是屏幕中央。該步驟可以通過點擊觸屏實現(xiàn),對應(yīng)鍵鼠FPS里玩家用肩肘快速滑動鼠標、轉(zhuǎn)向并大致瞄準目標的操作,以此完成虛擬攝像機大幅轉(zhuǎn)動的操作,此時旋轉(zhuǎn)角度往往大于10度,當然也可以根據(jù)實際情況設(shè)定虛擬攝像機大幅轉(zhuǎn)動的旋轉(zhuǎn)角度大于多少度。
[0041]調(diào)整步驟S3,當檢測到移動終端晃動時,通過移動終端的傳感器獲取相應(yīng)的晃動角度,以使虛擬攝像機當前的旋轉(zhuǎn)角度與晃動角度匹配。具體的,在游戲過程中,這是一個微調(diào)準星位置的步驟,當游戲中的接觸范圍顯示在移動終端的觸摸顯示屏上的預設(shè)位置時,通過傳感器來實現(xiàn)精確的瞄準。該步驟可以通過晃動移動終端、通過傳感器來實現(xiàn),對應(yīng)鍵鼠FPS里玩家用手腕輕輕挪動鼠標、瞄準目標頭部的操作,即以此完成虛擬攝像機細微轉(zhuǎn)動的操作,此時旋轉(zhuǎn)角度往往小于5度,當然也可以根據(jù)實際情況設(shè)定虛擬攝像機細微轉(zhuǎn)動的旋轉(zhuǎn)角度小于多少度。
[0042]如圖2所示,旋轉(zhuǎn)步驟S2可以包括如下子步驟:
[0043]確定對象步驟S2a,當點擊游戲界面時,檢測所有處于觸摸狀態(tài)的列表對象,獲得處于點擊游戲界面狀態(tài)的列表對象并將其記為接觸對象,獲取接觸對象的坐標位置touchPosit1n0
[0044]輔助步驟S2b,根據(jù)輔助函數(shù)創(chuàng)建一條以虛擬攝像機的近裁面為起點并穿過坐標位置touchPosit1n的輔助射線Ray,獲取輔助射線Ray的旋轉(zhuǎn)角度touchQ。該輔助函數(shù)可以是 Unity 函數(shù) ScreenPointToRay0
[0045]確定增量步驟S2c,通過循環(huán)函數(shù)得出虛擬攝像機當前的旋轉(zhuǎn)角度到輔助射線的旋轉(zhuǎn)角度touchQ的中間插值lerpQ。該循環(huán)函數(shù)可以是Update、FixedUpdate、InvokeRepeating以及協(xié)程while函數(shù)中的任一函數(shù)。中間插值IerpQ是一個不斷靠攏輔助射線方向的四元數(shù),因為四元數(shù)是一個可以規(guī)范化的四維向量,適用于各種插值,如線性插值算法:q(t) = (l-t)ql+t q2/| | (l_t)ql+tq2| |,更多信息可查閱《陰山學刊:自然科學版》2012年第I期鄭軍所著的“四元數(shù)插值算法實現(xiàn)游戲較色平滑旋轉(zhuǎn)”。
[0046]應(yīng)用增量步驟S2d,將中間插值IerpQ應(yīng)用到虛擬攝像機上,使得虛擬攝像機的旋轉(zhuǎn)幅度與中間插值IerpQ相等,記錄虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度。
[0047]判斷步驟S2e,若虛擬攝像機旋轉(zhuǎn)之后的旋轉(zhuǎn)角度與輔助射線的旋轉(zhuǎn)角度相匹配,則完成虛擬攝像機的初步移動,此時虛擬攝像機的旋轉(zhuǎn)角度與輔助射線Ray的旋轉(zhuǎn)角度一致,若否則返回確定增量步驟S2c。
[0048]優(yōu)選的,調(diào)整步驟中的傳感器可以是為陀螺儀,通過啟動陀螺儀,獲取陀螺儀的重力參數(shù)值以控制虛擬攝像機的旋轉(zhuǎn)角度。
[0049]具體的,陀螺儀啟動之后,獲取陀螺儀的重力參數(shù)X、Y軸的值,將X、Y軸的值乘以一定的放大倍數(shù)系數(shù),即將獲取的X、Y軸的值作為基礎(chǔ)值,預定義此基礎(chǔ)值的放大倍數(shù)系數(shù),并自定義設(shè)定放大倍數(shù)系數(shù)越大則虛擬攝