本發(fā)明涉及虛擬控制技術(shù)領(lǐng)域,尤其是涉及一種虛擬對(duì)象的控制方法和裝置。
背景技術(shù):
在拋物線射擊應(yīng)用中,初始射擊角度的選擇關(guān)系到能否最終命中目標(biāo),通常根據(jù)初始射擊角度的不同,計(jì)算得出的拋物線軌跡也不相同,當(dāng)拋物線軌跡經(jīng)過目標(biāo)位置時(shí),判定為擊中目標(biāo)。
在常見的拋物線射擊應(yīng)用中,用戶需要通過按鍵盤的方向鍵或者按觸摸屏上的虛擬按鍵進(jìn)行角度控制,每點(diǎn)擊一次則調(diào)整一次角度。在角度可選范圍為0-360°的應(yīng)用中,用戶需要進(jìn)行多次調(diào)整操作才能選中其預(yù)想角度,多次操作導(dǎo)致消耗時(shí)間較長(zhǎng),而射擊應(yīng)用對(duì)用戶可使用的操作時(shí)間有嚴(yán)格的限制,多次操作導(dǎo)致的耗時(shí)問題嚴(yán)重影響用戶的互動(dòng)體驗(yàn)。
針對(duì)上述控制方法中多次角度調(diào)整操作導(dǎo)致的耗時(shí)問題,目前尚未提出有效解決方案。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種虛擬對(duì)象的控制方法和裝置,以使用戶可以短時(shí)間內(nèi)選中預(yù)想角度。
第一方面,本發(fā)明實(shí)施例提供了一種虛擬對(duì)象的控制方法,包括:在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件;當(dāng)接收到設(shè)定角度控件被選中的指令時(shí),根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度;控制虛擬對(duì)象以目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng)。
結(jié)合第一方面,本發(fā)明實(shí)施例提供了第一方面的第一種可能的實(shí)施方式,其中,在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件包括:在虛擬對(duì)象所在的顯示界面的指定位置設(shè)置多個(gè)設(shè)定角度控件,其中,設(shè)定角度控件上標(biāo)識(shí)有對(duì)應(yīng)的角度,多個(gè)設(shè)定角度控件對(duì)應(yīng)的角度互不相同。
結(jié)合第一方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第二種可能的實(shí)施方式,其中,在虛擬對(duì)象所在的顯示界面的指定位置設(shè)置多個(gè)設(shè)定角度控件包括:在虛擬對(duì)象所在的顯示界面的角度鍵盤按鍵所在區(qū)域上設(shè)置多個(gè)設(shè)定角度控件,多個(gè)設(shè)定角度控件包括:90°控件、65°控件、50°控件和20°控件。
結(jié)合第一方面的第一種可能的實(shí)施方式或第二種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第三種可能的實(shí)施方式,其中,根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度包括:當(dāng)虛擬對(duì)象對(duì)應(yīng)的設(shè)定運(yùn)動(dòng)軌跡為拋物線軌跡時(shí),根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度;根據(jù)初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度;環(huán)境外力參數(shù)包括環(huán)境風(fēng)力參數(shù)和/或環(huán)境水力參數(shù)。
結(jié)合第一方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第四種可能的實(shí)施方式,其中,根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度包括:將設(shè)定角度控件標(biāo)識(shí)的角度確定為虛擬對(duì)象的初始角度;或者,將設(shè)定角度控件標(biāo)識(shí)的角度作為角度調(diào)整量,將虛擬對(duì)象的當(dāng)前角度和角度調(diào)整量的角度和,確定為虛擬對(duì)象的初始角度。
結(jié)合第一方面的第三種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第一方面的第五種可能的實(shí)施方式,其中,根據(jù)初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度包括:當(dāng)初始角度處于角度閾值范圍時(shí),按照公式(1)計(jì)算虛擬對(duì)象的目標(biāo)角度;a=a-d*k1+w*k2(1);
當(dāng)初始角度處于角度閾值范圍之外時(shí),按照公式(2)計(jì)算虛擬對(duì)象的目標(biāo)角度;a=a+w*k2(2);
其中,a表示目標(biāo)角度,a表示初始角度,d表示虛擬對(duì)象與目標(biāo)對(duì)象的距離,k1表示距離系數(shù),w表示環(huán)境外力參數(shù),k2表示外力系數(shù)。
第二方面,本發(fā)明實(shí)施例還提供一種虛擬對(duì)象的控制裝置,包括:設(shè)定角度控件提供模塊,用于在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件;目標(biāo)角度確定模塊,用于當(dāng)接收到設(shè)定角度控件被選中的指令時(shí),根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度;移動(dòng)控制模塊,用于控制虛擬對(duì)象以目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng)。
結(jié)合第二方面,本發(fā)明實(shí)施例提供了第二方面的第一種可能的實(shí)施方式,其中,設(shè)定角度控件提供模塊還用于:在虛擬對(duì)象所在的顯示界面的指定位置設(shè)置多個(gè)設(shè)定角度控件,其中,設(shè)定角度控件上標(biāo)識(shí)有對(duì)應(yīng)的角度,多個(gè)設(shè)定角度控件對(duì)應(yīng)的角度互不相同。
結(jié)合第二方面的第一種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第二種可能的實(shí)施方式,其中,設(shè)定角度控件提供模塊還用于:在虛擬對(duì)象所在的顯示界面的角度鍵盤按鍵所在區(qū)域上設(shè)置多個(gè)設(shè)定角度控件,多個(gè)設(shè)定角度控件包括:90°控件、65°控件、50°控件和20°控件。
結(jié)合第二方面的第一種可能的實(shí)施方式或第二種可能的實(shí)施方式,本發(fā)明實(shí)施例提供了第二方面的第三種可能的實(shí)施方式,其中,目標(biāo)角度確定模塊包括:初始角度確定單元,用于當(dāng)虛擬對(duì)象對(duì)應(yīng)的設(shè)定運(yùn)動(dòng)軌跡為拋物線軌跡時(shí),根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度;目標(biāo)角度確定單元,用于根據(jù)初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度;環(huán)境外力參數(shù)包括環(huán)境風(fēng)力參數(shù)和/或環(huán)境水力參數(shù)。
本發(fā)明實(shí)施例帶來了以下有益效果:本實(shí)施例提供的虛擬對(duì)象的控制方法,通過在虛擬對(duì)象所在的顯示界面內(nèi)新增加至少一個(gè)設(shè)定角度控件,有效減少用戶的操作時(shí)間和操作次數(shù),使用戶可以快速選中預(yù)想角度,進(jìn)而加快了控制虛擬對(duì)象的移動(dòng)過程,提升了交互場(chǎng)景下的用戶體驗(yàn)度。
本發(fā)明的其他特征和優(yōu)點(diǎn)將在隨后的說明書中闡述,并且,部分地從說明書中變得顯而易見,或者通過實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)在說明書、權(quán)利要求書以及附圖中所特別指出的結(jié)構(gòu)來實(shí)現(xiàn)和獲得。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明具體實(shí)施方式或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)具體實(shí)施方式或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施方式,對(duì)于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種虛擬對(duì)象的控制方法的流程示意圖;
圖2為本發(fā)明實(shí)施例提供的一種角度盤示意圖;
圖3為本發(fā)明實(shí)施例提供的另一種角度盤示意圖;
圖4為本發(fā)明實(shí)施例提供的另一種虛擬對(duì)象的控制方法的流程示意圖;
圖5為本發(fā)明實(shí)施例提供的一種虛擬對(duì)象的控制裝置的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實(shí)施例提供的另一種虛擬對(duì)象的控制裝置的結(jié)構(gòu)示意圖;
圖7為本發(fā)明實(shí)施例提供的一種虛擬對(duì)象的處理器的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
目前常見的拋物線射擊應(yīng)用中,用戶需要進(jìn)行多次調(diào)整操作才能選中其預(yù)想角度,多次操作導(dǎo)致的耗時(shí)問題嚴(yán)重影響用戶的互動(dòng)體驗(yàn),基于此,本發(fā)明實(shí)施例提供的一種虛擬對(duì)象的控制方法和裝置,可以使用戶可以短時(shí)間內(nèi)選中預(yù)想角度。為便于對(duì)本實(shí)施例進(jìn)行理解,首先對(duì)本發(fā)明實(shí)施例所公開的一種虛擬對(duì)象的控制方法進(jìn)行詳細(xì)介紹。
在介紹虛擬對(duì)象的控制方法前,需要先定義上述方法的應(yīng)用場(chǎng)景,應(yīng)用場(chǎng)景包括但不限于游戲、動(dòng)畫制作等需要控制虛擬對(duì)象的角度,并沿軌跡移動(dòng)的場(chǎng)景。在本發(fā)明實(shí)施例中以射擊游戲應(yīng)用場(chǎng)景為例進(jìn)行說明。除非另外具體說明,否則在這些實(shí)施例中闡述的部件和步驟的相對(duì)步驟、數(shù)字表達(dá)式和數(shù)值并不限制本發(fā)明的范圍。
實(shí)施例1
本發(fā)明實(shí)施例1提供了一種虛擬對(duì)象的控制方法,參見圖1所示的虛擬對(duì)象的控制方法的流程示意圖,包括如下步驟:
步驟s11,在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件。
以射擊游戲應(yīng)用場(chǎng)景為例,一般可以通過鍵盤上的上下方向按鍵、通過觸摸屏上的虛擬上下按鍵或者通過鼠標(biāo)等輸入裝置調(diào)整角度。用戶在通過上述方式調(diào)整角度時(shí),需要進(jìn)行多次操作進(jìn)行調(diào)整,消耗時(shí)間較長(zhǎng)。因此在虛擬對(duì)象所在的顯示界面內(nèi)提供了至少一個(gè)設(shè)定角度控件,供用戶快速選擇。
考慮到用戶常用的角度一般包括多個(gè),因此在虛擬對(duì)象所在的顯示界面的指定位置設(shè)置多個(gè)設(shè)定角度控件。其中,上述設(shè)定角度控件上標(biāo)識(shí)有對(duì)應(yīng)的角度,顯然也可以通過設(shè)定角度控件的相對(duì)角度位置來表示,多個(gè)設(shè)定角度控件對(duì)應(yīng)的角度互不相同。具體地,上述指定位置優(yōu)選在顯示界面原有的顯示角度的位置附近或者在虛擬對(duì)象所在的顯示界面的角度鍵盤按鍵所在區(qū)域上。優(yōu)選地,多個(gè)設(shè)定角度控件包括:90°控件、65°控件、50°控件和20°控件。如圖2所示,在角度盤原有的左右兩個(gè)控制角度按鍵的基礎(chǔ)上,新增加了四個(gè)角度按鍵,分別對(duì)應(yīng)上述設(shè)定角度控件,按鍵上標(biāo)識(shí)有角度值。為了方便用戶控制,也可以采用如圖3所示的方式,以角度按鍵在角度盤上的位置表示角度,而以序號(hào)1、2、3、4命名各個(gè)角度按鍵,用戶通過點(diǎn)擊鍵盤上的數(shù)字鍵1、2、3、4來選中上述角度按鍵。
原有的上下方向按鍵、虛擬上下按鍵的調(diào)節(jié)角度的功能不變,即常見的上增加一度,下減少一度(或者固定度數(shù))。上述四個(gè)新增加的設(shè)定角度控件分別代表用戶常用的四種角度選擇方案,包括低角度到高角度,涵蓋了射擊的四種常用的角度選擇,用戶不再需要一次調(diào)整一度或幾度,而是直接跳轉(zhuǎn)到定角度控件對(duì)應(yīng)的角度,有效減少用戶的操作時(shí)間和操作次數(shù)。
步驟s12,當(dāng)接收到設(shè)定角度控件被選中的指令時(shí),根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度。
用戶通過上述設(shè)定角度控件輸入選擇指令,包括通過直接點(diǎn)擊顯示在顯示界面的設(shè)定角度控件對(duì)應(yīng)的虛擬按鍵輸入,或者通過鍵盤上與上述設(shè)定角度控件相對(duì)對(duì)應(yīng)的按鍵輸入。在接收到設(shè)定角度控件被選中的指令時(shí),可以根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度,優(yōu)選地,將設(shè)定角度控件對(duì)應(yīng)的角度直接設(shè)置為虛擬對(duì)象的目標(biāo)角度。
步驟s13,控制虛擬對(duì)象以目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng)。
具體地,上述設(shè)定的運(yùn)動(dòng)軌跡可以包括直線運(yùn)動(dòng)或者拋物線運(yùn)動(dòng)等,需要根據(jù)當(dāng)前場(chǎng)景的設(shè)定實(shí)際確定運(yùn)動(dòng)軌跡的類型。虛擬對(duì)象根據(jù)目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡進(jìn)行移動(dòng),從而確定是否擊中或者經(jīng)過用戶瞄準(zhǔn)的目標(biāo)。
本實(shí)施例提供的虛擬對(duì)象的控制方法,通過在虛擬對(duì)象所在的顯示界面內(nèi)新增加至少一個(gè)設(shè)定角度控件,有效減少用戶的操作時(shí)間和操作次數(shù),使用戶可以快速選中預(yù)想角度,進(jìn)而加快了控制虛擬對(duì)象的移動(dòng)過程,提升了交互場(chǎng)景下的用戶體驗(yàn)度。
實(shí)施例2
本發(fā)明實(shí)施例2提供了一種虛擬對(duì)象的控制方法,以拋物線射擊應(yīng)用場(chǎng)景進(jìn)行說明。
首先需要定義拋物線射擊應(yīng)用場(chǎng)景,具體為在場(chǎng)景任意位置的對(duì)象a,可以發(fā)射拋射物或者對(duì)象a本身可以被發(fā)射,經(jīng)過拋物線軌跡移動(dòng),目的是擊中在場(chǎng)景中其他位置的對(duì)象b??梢岳斫獾氖?,拋射物在運(yùn)動(dòng)受到重力、風(fēng)力、初始作用力、拋射物質(zhì)量的影響,因此會(huì)進(jìn)行拋物線運(yùn)動(dòng),最終拋射物擊中對(duì)象b或者不擊中對(duì)象b。在拋物線軌跡計(jì)算中,使用的拋物線物理計(jì)算公式具體如下:
拋射物初速度計(jì)算公式:
speedx=cos(angle*π/180)*power
speedy=sin(angle*π/180)*power
speedx是拋射物在x方向上的初速度,x方向是水平方向,speedy是拋射物在y方向上的初速度,y方向是垂直方向。angle是用戶選取的角度值,power是用戶選擇的初始作用力。
拋射物即時(shí)速度計(jì)算公式:
ax=(wind-airfactor*airfactor*speedx1)/mbullet
ay=g*g
speedx2=speedx1+ax*interval
speedy2=speedy1+ay*interval
在公式中,ax是代入計(jì)算即時(shí)x方向速度的y方向加速度,ay是代入計(jì)算即時(shí)y方向速度的y方向加速度。wind是當(dāng)前風(fēng)力,風(fēng)力是一個(gè)應(yīng)用中生成的隨機(jī)不確定數(shù)值。airfactor是預(yù)先設(shè)置的固定值的空氣阻力因素,它可以根據(jù)實(shí)際應(yīng)用需要模擬的物理環(huán)境進(jìn)行設(shè)置并改變。speedx2是即時(shí)x方向速度,speedx2是即時(shí)y方向速度。speedx1是前一刻拋射物的x方向速度,speedy1是前一刻拋射物的y方向速度。mbullet是拋射物預(yù)先設(shè)置的質(zhì)量,可以根據(jù)實(shí)際應(yīng)用場(chǎng)景的拋射物設(shè)置為不同的值。g為預(yù)先設(shè)置的重力加速度,例如取值0.7,實(shí)際上也可以按照傳統(tǒng)物理上的重力系數(shù)9.8計(jì)算。interal是當(dāng)前即時(shí)與前一刻的時(shí)間間隔。由上述兩個(gè)速度公式,可以計(jì)算出任意時(shí)刻拋射物在x與y方向上的速度,由此經(jīng)過傳統(tǒng)物理的速度位移計(jì)算,得到拋射物的拋物線,由此確定擊中或者未擊中對(duì)象b。
在實(shí)施例1提供的虛擬對(duì)象的控制方法的基礎(chǔ)上,考慮到拋物線計(jì)算會(huì)受到當(dāng)前場(chǎng)景的環(huán)境因素影響,用戶需要在標(biāo)準(zhǔn)的拋物線軌跡上通過估算進(jìn)行修正,角度選擇的難度比較大,本實(shí)施例提供的虛擬對(duì)象的控制方法,提供了角度優(yōu)化,參見圖4所示的流程示意圖,具體包括如下步驟(步驟s11和步驟s13與實(shí)施例1相同):
步驟s11,在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件。
步驟s21,當(dāng)虛擬對(duì)象對(duì)應(yīng)的設(shè)定運(yùn)動(dòng)軌跡為拋物線軌跡時(shí),根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度。
在用戶通過選中設(shè)定角度控件輸入角度時(shí),至少包括以下兩種實(shí)現(xiàn)方式:1.將設(shè)定角度控件標(biāo)識(shí)的角度確定為虛擬對(duì)象的初始角度。2.將設(shè)定角度控件標(biāo)識(shí)的角度作為角度調(diào)整量,將虛擬對(duì)象的當(dāng)前角度和角度調(diào)整量的角度和,確定為虛擬對(duì)象的初始角度。
例如設(shè)定角度控件標(biāo)識(shí)的角度為65°,可以將該65°作為初始角度;如果作為角度調(diào)整量,則將65°加到當(dāng)前角度(例如15°)上,將角度和(80°)作為初始角度。
步驟s22,根據(jù)初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度。環(huán)境外力參數(shù)包括環(huán)境風(fēng)力參數(shù)和/或環(huán)境水力參數(shù)。
其中,當(dāng)初始角度處于角度閾值范圍時(shí),按照公式(1)計(jì)算虛擬對(duì)象的目標(biāo)角度;
a=a-d*k1+w*k2(1)
當(dāng)初始角度處于角度閾值范圍之外時(shí),按照公式(2)計(jì)算虛擬對(duì)象的目標(biāo)角度;
a=a+w*k2(2)
其中,a表示目標(biāo)角度,a表示初始角度,d表示虛擬對(duì)象與目標(biāo)對(duì)象的距離,k1表示距離系數(shù),w表示環(huán)境外力參數(shù),k2表示外力系數(shù)。
由于初始角度的不同,需要考慮的影響參數(shù)也不相同,例如在上述公式(1)中考慮了虛擬對(duì)象與目標(biāo)對(duì)象的距離。上述角度閾值范圍可以取80°-100°,在該范圍內(nèi)目標(biāo)距離對(duì)角度選擇有較大影響,在本實(shí)施例中以k1等于0.934為例。w以風(fēng)力為例,其不但包括了風(fēng)力值還包括風(fēng)的方向,取風(fēng)力方向與用戶對(duì)象面朝方向一致時(shí)為正,風(fēng)力方向與用戶對(duì)象面朝方向相反時(shí)為負(fù),可以理解的是,當(dāng)風(fēng)力方向與用戶對(duì)象面朝方向呈一定夾角時(shí),可以取風(fēng)力值沿用戶對(duì)象面朝方向的分量進(jìn)行計(jì)算。在射擊應(yīng)用場(chǎng)景中,風(fēng)力值一般是一個(gè)隨機(jī)生成的不確定數(shù)值,例如分為1-5級(jí)風(fēng)力,可以將上述數(shù)值直接代入上述公式進(jìn)行計(jì)算,也可做適當(dāng)轉(zhuǎn)換后再代入計(jì)算。
初始角度在角度閾值范圍時(shí),k2的取值根據(jù)初始角度的不同也不同,例如在初始角度為20°時(shí)k2為0(因?yàn)榈徒嵌惹闆r拋物線下受風(fēng)力影響少),在初始角度為50°時(shí)k2為1.5,在初始角度為65°時(shí)k2為2??梢岳斫獾氖牵琸2的取值可以是根據(jù)初始角度的增加或者減小線性變化,也可以是不同的角度區(qū)間對(duì)應(yīng)不同的確定值,因此可以預(yù)先保存線性函數(shù)或者角度系數(shù)對(duì)應(yīng)列表。
上述目標(biāo)角度公式可以由系統(tǒng)預(yù)先生成,也可以由用戶根據(jù)需求進(jìn)行自定義設(shè)置,用戶可以根據(jù)自身意愿,預(yù)先在配置文件中修改每一種角度方案的具體算式,程序會(huì)根據(jù)算式,自動(dòng)代入?yún)?shù)進(jìn)行計(jì)算,滿足用戶調(diào)整角度方案的多樣化需求。
步驟s13,控制虛擬對(duì)象以目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng)。
考慮到拋物線射擊應(yīng)用場(chǎng)景內(nèi)的環(huán)境參數(shù)是變化的,在環(huán)境外力參數(shù)變化時(shí),重新通過上述公式計(jì)算目標(biāo)角度。
由于拋物線射擊應(yīng)用場(chǎng)景多數(shù)是回合制的,在進(jìn)行本次移動(dòng)后,下回合還需要再次操作選擇角度,因此上述方法還包括保存步驟,具體包括:將目標(biāo)角度保存為默認(rèn)的目標(biāo)角度以供下次控制虛擬對(duì)象使用。為了方便用戶觀察,優(yōu)選在顯示界面上顯示默認(rèn)的目標(biāo)角度對(duì)應(yīng)的角度,此處需要說明的是該對(duì)應(yīng)的角度是目標(biāo)角度對(duì)應(yīng)的用戶輸入的角度,而不是優(yōu)化后的目標(biāo)角度。
本實(shí)施例提供的虛擬對(duì)象的控制方法,通過初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度,并控制虛擬對(duì)象以該目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng),在目標(biāo)角度的計(jì)算中考慮了環(huán)境外力參數(shù)的影響,對(duì)用戶輸入的初始角度進(jìn)行了優(yōu)化,避免了環(huán)境因素對(duì)用戶進(jìn)行拋物線軌跡計(jì)算的影響,降低了用戶的角度選擇難度,減少了用戶估算需要的時(shí)間,降低了用戶的使用門檻。
實(shí)施例3
本發(fā)明實(shí)施例3提供了一種虛擬對(duì)象的控制裝置,應(yīng)用于后臺(tái)服務(wù)器,參見圖5所示的結(jié)構(gòu)示意圖,包括設(shè)定角度控件提供模塊310、目標(biāo)角度確定模塊320和移動(dòng)控制模塊330,其中,各模塊的功能如下:
設(shè)定角度控件提供模塊310,用于在虛擬對(duì)象所在的顯示界面內(nèi)提供至少一個(gè)設(shè)定角度控件;
目標(biāo)角度確定模塊320,用于當(dāng)接收到設(shè)定角度控件被選中的指令時(shí),根據(jù)設(shè)定角度控件對(duì)應(yīng)的角度確定虛擬對(duì)象的目標(biāo)角度;
移動(dòng)控制模塊330,用于控制虛擬對(duì)象以目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng)。
其中,設(shè)定角度控件提供模塊310還用于:在虛擬對(duì)象所在的顯示界面的指定位置設(shè)置多個(gè)設(shè)定角度控件,其中,設(shè)定角度控件上標(biāo)識(shí)有對(duì)應(yīng)的角度,多個(gè)設(shè)定角度控件對(duì)應(yīng)的角度互不相同。設(shè)定角度控件提供模塊310還用于:在虛擬對(duì)象所在的顯示界面的角度鍵盤按鍵所在區(qū)域上設(shè)置多個(gè)設(shè)定角度控件,多個(gè)設(shè)定角度控件包括:90°控件、65°控件、50°控件和20°控件。
本實(shí)施例提供的虛擬對(duì)象的控制裝置,通過在虛擬對(duì)象所在的顯示界面內(nèi)新增加至少一個(gè)設(shè)定角度控件,有效減少用戶的操作時(shí)間和操作次數(shù),使用戶可以快速選中預(yù)想角度。
參見圖6所示的結(jié)構(gòu)示意圖,目標(biāo)角度確定模塊320包括:
初始角度確定單元3201,用于當(dāng)虛擬對(duì)象對(duì)應(yīng)的設(shè)定運(yùn)動(dòng)軌跡為拋物線軌跡時(shí),根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度。其中,根據(jù)設(shè)定角度控件標(biāo)識(shí)的角度確定虛擬對(duì)象的初始角度包括:將設(shè)定角度控件標(biāo)識(shí)的角度確定為虛擬對(duì)象的初始角度;或者,將設(shè)定角度控件標(biāo)識(shí)的角度作為角度調(diào)整量,將虛擬對(duì)象的當(dāng)前角度和角度調(diào)整量的角度和,確定虛擬對(duì)象的初始角度。
目標(biāo)角度確定單元3202,用于根據(jù)初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度;環(huán)境外力參數(shù)包括環(huán)境風(fēng)力參數(shù)和/或環(huán)境水力參數(shù)。具體包括:當(dāng)初始角度處于第一角度閾值范圍時(shí),按照公式(1)計(jì)算虛擬對(duì)象的目標(biāo)角度;
a=a-d*k1+w*k2(1)
當(dāng)初始角度處于第一角度閾值范圍之外時(shí),按照公式(2)計(jì)算虛擬對(duì)象的目標(biāo)角度;
a=a+w*k2(2)
其中,a表示目標(biāo)角度,a表示初始角度,d表示虛擬對(duì)象與目標(biāo)對(duì)象的距離,k1表示距離系數(shù),w表示環(huán)境外力參數(shù),k2表示外力系數(shù)。
本實(shí)施例提供的上述控制裝置,通過初始角度和環(huán)境外力參數(shù)計(jì)算虛擬對(duì)象的目標(biāo)角度,并控制虛擬對(duì)象以該目標(biāo)角度和設(shè)定運(yùn)動(dòng)軌跡移動(dòng),在目標(biāo)角度的計(jì)算中考慮了環(huán)境外力參數(shù)的影響,對(duì)用戶輸入的初始角度進(jìn)行了優(yōu)化,避免了環(huán)境因素對(duì)用戶進(jìn)行拋物線軌跡計(jì)算的影響,降低了用戶的角度選擇難度,減少了用戶估算需要的時(shí)間,降低了用戶的使用門檻。
參見圖7,本發(fā)明實(shí)施例還提供一種虛擬對(duì)象的處理器100,包括:處理器70,存儲(chǔ)器71,總線72和通信接口73,上述處理器70、通信接口73和存儲(chǔ)器71通過總線72連接;處理器70用于執(zhí)行存儲(chǔ)器71中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。
其中,存儲(chǔ)器71可能包含高速隨機(jī)存取存儲(chǔ)器(ram:randomaccessmemory),也可能還包括非不穩(wěn)定的存儲(chǔ)器(non-volatilememory),例如至少一個(gè)磁盤存儲(chǔ)器。通過至少一個(gè)通信接口73(可以是有線或者無線)實(shí)現(xiàn)該系統(tǒng)網(wǎng)元與至少一個(gè)其他網(wǎng)元之間的通信連接,可以使用互聯(lián)網(wǎng),廣域網(wǎng),本地網(wǎng),城域網(wǎng)等。
總線72可以是isa總線、pci總線或eisa總線等。上述總線可以分為地址總線、數(shù)據(jù)總線、控制總線等。為便于表示,圖7中僅用一個(gè)雙向箭頭表示,但并不表示僅有一根總線或一種類型的總線。
其中,存儲(chǔ)器71用于存儲(chǔ)程序,上述處理器70在接收到執(zhí)行指令后,執(zhí)行上述程序,前述本發(fā)明實(shí)施例任一實(shí)施例揭示的流過程定義的裝置所執(zhí)行的方法可以應(yīng)用于處理器70中,或者由處理器70實(shí)現(xiàn)。
處理器70可能是一種集成電路芯片,具有信號(hào)的處理能力。在實(shí)現(xiàn)過程中,上述方法的各步驟可以通過處理器70中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器70可以是通用處理器,包括中央處理器(centralprocessingunit,簡(jiǎn)稱cpu)、網(wǎng)絡(luò)處理器(networkprocessor,簡(jiǎn)稱np)等;還可以是數(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ǔ)器71,處理器70讀取存儲(chǔ)器71中的信息,結(jié)合其硬件完成上述方法的步驟。
本發(fā)明實(shí)施例所提供的進(jìn)行虛擬對(duì)象的控制方法的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),上述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中的方法,具體實(shí)現(xiàn)可參見方法實(shí)施例,在此不再贅述。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。
在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。以上所描述的裝置實(shí)施例僅僅是示意性的,例如,上述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。
作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。
上述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例的方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
最后應(yīng)說明的是:以上實(shí)施例,僅為本發(fā)明的具體實(shí)施方式,用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制,本發(fā)明的保護(hù)范圍并不局限于此,盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解:任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),其依然可以對(duì)前述實(shí)施例所記載的技術(shù)方案進(jìn)行修改或可輕易想到變化,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改、變化或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明實(shí)施例技術(shù)方案的精神和范圍,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。