本發(fā)明涉及互聯(lián)網(wǎng)領(lǐng)域,具體涉及一種實現(xiàn)控制固定被控物的方法及裝置。
背景技術(shù):
目前在一些交互類的應(yīng)用程序中會對固定被控物進(jìn)行控制,例如在軍事題材游戲應(yīng)用中可以對固定炮塔進(jìn)行控制,固定炮塔是游戲應(yīng)用中常見的固定可控制武器,例如重機(jī)槍,固定炮塔本身不可以移動,是固定在軸心位置,可以由玩家控制轉(zhuǎn)動。
在現(xiàn)有技術(shù)中,實現(xiàn)控制固定被控物的方式通常使用鍵盤鼠標(biāo)或者手柄等傳統(tǒng)控制設(shè)備進(jìn)行控制,通過鼠標(biāo)移動直線距離或者手柄按鍵時間等數(shù)據(jù)模擬的方式改變固定被控物的空間角度,這種方式降低了用戶操作的真實性以及降低了場景互動性,使用戶對固定被控物的控制不準(zhǔn)確。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提供一種實現(xiàn)控制固定被控物的方法及裝置,以解決現(xiàn)有技術(shù)中控制固定被控物的方式缺乏真實性與代入感的技術(shù)問題。
為解決上述問題,本發(fā)明提供的技術(shù)方案如下:
一種實現(xiàn)控制固定被控物的方法,所述方法包括:
獲取體感設(shè)備的三維虛擬空間位置信息;
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息;
當(dāng)所述體感設(shè)備的第一三維虛擬空間位置信息變換為第二三維虛擬空間位置信息,計算所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度;
控制所述被控物沿所述被控物中的預(yù)設(shè)點轉(zhuǎn)動所述夾角的角度。
相應(yīng)的,所述獲取體感設(shè)備的三維虛擬空間位置信息,包括:
接收體感設(shè)備的實際空間位置信息,將所述體感設(shè)備的實際空間位置信息映射為所述體感設(shè)備的三維虛擬空間位置信息。
相應(yīng)的,所述計算所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度,包括:
計算第一連線與第二連線在水平方向上的第一夾角的角度;所述第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與所述被控物中的預(yù)設(shè)點之間的連線,所述第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與所述被控物中的預(yù)設(shè)點之間的連線;
計算所述第一連線與所述第二連線在垂直方向上的第二夾角的角度;
將所述第一夾角的角度以及所述第二夾角的角度作為所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
相應(yīng)的,所述控制所述被控物沿所述被控物中的預(yù)設(shè)點轉(zhuǎn)動所述夾角的角度,包括:
控制所述被控物沿所述被控物中的預(yù)設(shè)點在水平方向轉(zhuǎn)動所述第一夾角的角度;
控制所述被控物沿所述被控物中的預(yù)設(shè)點在垂直方向轉(zhuǎn)動所述第二夾角的角度。
相應(yīng)的,所述方法還包括:
響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制所述被控物。
相應(yīng)的,所述當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息,包括:
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于用戶觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息。
相應(yīng)的,所述響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制所述被控物,包括:
響應(yīng)于用戶停止觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的結(jié)束控制被控物指令,停止控制所述被控物。
一種實現(xiàn)控制固定被控物的裝置,所述裝置包括:
獲取單元,用于獲取體感設(shè)備的三維虛擬空間位置信息;
記錄單元,用于當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息;
計算單元,用于當(dāng)所述體感設(shè)備的第一三維虛擬空間位置信息變換為第二三維虛擬空間位置信息,計算所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度;
控制單元,用于控制所述被控物沿所述被控物中的預(yù)設(shè)點轉(zhuǎn)動所述夾角的角度。
相應(yīng)的,所述獲取單元包括:
接收子單元,用于接收體感設(shè)備的實際空間位置信息;
映射子單元,用于將所述體感設(shè)備的實際空間位置信息映射為所述體感設(shè)備的三維虛擬空間位置信息。
相應(yīng)的,所述計算單元包括:
第一計算子單元,用于計算第一連線與第二連線在水平方向上的第一夾角的角度;所述第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與所述被控物中的預(yù)設(shè)點之間的連線,所述第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與所述被控物中的預(yù)設(shè)點之間的連線;
第二計算子單元,用于計算所述第一連線與所述第二連線在垂直方向上的第二夾角的角度;
確定子單元,用于將所述第一夾角的角度以及所述第二夾角的角度作為所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
相應(yīng)的,所述控制單元具體用于:
控制所述被控物沿所述被控物中的預(yù)設(shè)點在水平方向轉(zhuǎn)動所述第一夾角的角度;控制所述被控物沿所述被控物中的預(yù)設(shè)點在垂直方向轉(zhuǎn)動所述第二夾角的角度。
相應(yīng)的,所述裝置還包括:
停止單元,用于響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制所述被控物。
相應(yīng)的,所述記錄單元具體用于:
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于用戶觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息。
相應(yīng)的,所述停止單元具體用于:
響應(yīng)于用戶停止觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的結(jié)束控制被控物指令,停止控制所述被控物。
由此可見,本發(fā)明實施例具有如下有益效果:
本發(fā)明實施例中通過體感設(shè)備控制固定被控物,通過獲取體感設(shè)備的三維虛擬空間位置信息,在體感設(shè)備的三維虛擬空間位置信息達(dá)到固定被控物的預(yù)設(shè)位置時可以開始對固定被控物進(jìn)行控制,通過旋轉(zhuǎn)體感設(shè)備可以直接計算得到體感設(shè)備的第一位置(即初始位置)與第二位置(即當(dāng)前位置)之間的夾角角度,將該夾角角度賦予固定被控物,控制固定被控物沿預(yù)設(shè)點旋轉(zhuǎn)該夾角角度,用戶可以直接通過旋轉(zhuǎn)體感設(shè)備實現(xiàn)控制固定被控物的旋轉(zhuǎn),提高了控制固定被控物的準(zhǔn)確性。
附圖說明
圖1為本發(fā)明實施例的應(yīng)用場景示意圖;
圖2為本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的方法實施例一的流程圖;
圖3為本發(fā)明實施例中計算旋轉(zhuǎn)角度的示意圖;
圖4為本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的方法實施例二的流程圖;
圖5為本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的裝置實施例的示意圖;
圖6為本發(fā)明實施例中提供的一種終端的示意圖。
具體實施方式
為使本發(fā)明的上述目的、特征和優(yōu)點能夠更加明顯易懂,下面結(jié)合附圖和具體實施方式對本發(fā)明實施例作進(jìn)一步詳細(xì)的說明。
在現(xiàn)有技術(shù)中,一些交互類應(yīng)用程序中會對固定被控物進(jìn)行控制,例如在軍事題材游戲應(yīng)用中可以對固定炮塔進(jìn)行控制,但是受限于手柄或者鍵盤鼠標(biāo)等傳統(tǒng)控制設(shè)備,只能通過鼠標(biāo)移動直線距離或者手柄按鍵時間等數(shù)據(jù)模擬的方式改變固定炮塔的空間角度進(jìn)行瞄準(zhǔn),對玩家來說完全沒有代入感。為此,本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的方法及裝置,使用體感設(shè)備,使玩家可以直接使用肢體動作與游戲產(chǎn)生互動,直接從空間上還原玩家操作,玩家仿佛身臨其境操作真實的裝備,臨場感十足。本發(fā)明實施例可以應(yīng)用在各類交互式應(yīng)用程序中,例如可以應(yīng)用在虛擬現(xiàn)實類的應(yīng)用程序中,實現(xiàn)在虛擬現(xiàn)實類應(yīng)用程序中對固定被控物的控制,其中虛擬現(xiàn)實(virtualreality,vr)技術(shù)是一種可以創(chuàng)建和體驗虛擬世界的計算機(jī)仿真系統(tǒng),利用計算機(jī)生成一種模擬環(huán)境,用戶借助特殊的輸入/輸出設(shè)備,與虛擬世界中的物體進(jìn)行自然的交互,從而通過視覺、聽覺和觸覺獲得與真實世界相同的感受。
首先參見圖1所示,示出了本發(fā)明的實施方式可以在其中實施的示例性應(yīng)用場景。其中,在該應(yīng)用場景中可以至少包括終端1以及體感設(shè)備2。體感設(shè)備2可以與終端1相連,終端可以包括但不限于:現(xiàn)有的、正在研發(fā)的或?qū)硌邪l(fā)的智能手機(jī)、非智能手機(jī)、平板電腦、膝上型個人計算機(jī)、桌面型個人計算機(jī)、小型計算機(jī)、中型計算機(jī)、大型計算機(jī)、智能電視或其他vr平臺設(shè)備等由存儲器、運算器、控制器、輸入設(shè)備和輸出設(shè)備組成的智能終端。體感設(shè)備則可以是能連接到主機(jī)的、具有檢測空間數(shù)據(jù)功能的手持設(shè)備,例如體感手柄等,終端可以實時獲取體感設(shè)備的實際空間位置信息。
參見圖2所示,示出了本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的方法實施例一,本實施例將從實現(xiàn)控制固定被控物的裝置角度進(jìn)行描述,該實現(xiàn)控制固定被控物的裝置具體可以集成在客戶端中,該客戶端可以裝載在終端中,本實施例可以包括以下步驟:
步驟201:獲取體感設(shè)備的三維虛擬空間位置信息。
在本發(fā)明一些可能的實現(xiàn)方式中,獲取體感設(shè)備的三維虛擬空間位置信息的具體實現(xiàn)可以包括:
接收體感設(shè)備的實際空間位置信息,將體感設(shè)備的實際空間位置信息映射為體感設(shè)備的三維虛擬空間位置信息。
在實際應(yīng)用中,體感設(shè)備自帶的追蹤設(shè)備例如陀螺儀等可以檢測自身在實際空間中個的實際空間位置信息并發(fā)送給終端,也可以由外部的追蹤設(shè)備例如紅外跟蹤器等通過立體視覺計算確定目標(biāo)位置,由此檢測得到體感設(shè)備的實際空間位置信息并發(fā)送給終端,隨著體感設(shè)備在空間中的移動,終端可以實時接收體感設(shè)備的實際空間位置信息。
在交互類應(yīng)用程序系統(tǒng)中,例如虛擬現(xiàn)實系統(tǒng)中,每個物體相對于系統(tǒng)的坐標(biāo)系都有一個三維虛擬空間位置信息,三維虛擬空間位置信息可以由相對于系統(tǒng)坐標(biāo)系x軸、y軸、z軸上的坐標(biāo)來表示。
則根據(jù)體感設(shè)備的實際空間位置信息可以將體感設(shè)備映射到預(yù)先建立的三維虛擬空間中,進(jìn)一步獲取體感設(shè)備在三維虛擬空間中的三維虛擬空間位置信息。可以理解的是,隨著體感設(shè)備在空間中的移動,體感設(shè)備的三維虛擬空間位置信息也實時改變。
步驟202:當(dāng)體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄體感設(shè)備的第一三維虛擬空間位置信息。
當(dāng)體感設(shè)備的三維虛擬空間位置信息隨著體感設(shè)備的移動而實時變化到預(yù)設(shè)范圍時,即代表體感設(shè)備映射到三維虛擬空間中達(dá)到了固定被控物的位置,可以開始對固定被控物進(jìn)行控制。當(dāng)用戶輸入開始控制被控物指令,在本發(fā)明一些可能的實現(xiàn)方式中,可以響應(yīng)于用戶觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的開始控制被控物指令,則可以觸發(fā)對固定被控物的控制。首先記錄體感設(shè)備的第一三維虛擬空間位置信息,第一三維虛擬空間位置信息可以代表體感設(shè)備位于三維虛擬空間中的第一位置,第一位置可以理解為體感設(shè)備在控制固定被控物時的初始位置,第一三維虛擬空間位置信息可以為一個三維坐標(biāo)信息。
步驟203:當(dāng)體感設(shè)備的第一三維虛擬空間位置信息變換為第二三維虛擬空間位置信息,計算第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
在控制固定被控物時,用戶可以旋轉(zhuǎn)體感設(shè)備,當(dāng)體感設(shè)備的第一三維虛擬空間位置信息發(fā)生了改變,變換為第二三維虛擬空間位置信息,第二三維虛擬空間位置信息可以代表體感設(shè)備位于三維虛擬空間中的第二位置,第二位置可以理解為體感設(shè)備在控制固定被控物時的當(dāng)前位置,第二三維虛擬空間位置信息可以為一個三維坐標(biāo)信息。則第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間存在一個夾角,可以計算出該夾角的角度。在三維虛擬空間中,該夾角是一個三維空間中的夾角,則存在一個水平方向上的第一夾角以及一個垂直方向上的第二夾角,第一夾角代表水平方式中的旋轉(zhuǎn)角度,第二夾角代表垂直方向上的抬起或垂下的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,計算第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度的具體實現(xiàn)可以包括:
計算第一連線與第二連線在水平方向上的第一夾角的角度;第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與被控物中的預(yù)設(shè)點之間的連線,第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與被控物中的預(yù)設(shè)點之間的連線;
計算第一連線與第二連線在垂直方向上的第二夾角的角度;
將第一夾角的角度以及第二夾角的角度作為第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
被控物中的預(yù)設(shè)點可以為被控物的軸心點、重心點或者其他被控物中的點,固定被控物可以以該預(yù)設(shè)點為中心轉(zhuǎn)動,則第一位置與該預(yù)設(shè)點之間存在第一連線,第二位置與該預(yù)設(shè)點之間存在第二連線,第一連線與第二連線之間在水平方向上存在第一夾角,第一連線與第二連線之間在垂直方向上存在第二夾角。將第一夾角的角度以及第二夾角的角度可以作為第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
參見圖3所示,以水平方向為例,第一位置與軸心點之間的連線與第二位置與軸心點之間的連線之間存在一個角度,該角度即為第一夾角的角度,固定被控物可以沿軸心在水平方向上轉(zhuǎn)動該角度。
步驟204:控制被控物沿被控物中的預(yù)設(shè)點轉(zhuǎn)動夾角的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,控制被控物沿被控物中的預(yù)設(shè)點轉(zhuǎn)動夾角的角度的具體實現(xiàn)可以包括:
控制被控物沿被控物中的預(yù)設(shè)點在水平方向轉(zhuǎn)動第一夾角的角度;
控制被控物沿被控物中的預(yù)設(shè)點在垂直方向轉(zhuǎn)動第二夾角的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,本發(fā)明實施例中提供的實現(xiàn)控制被控物的方法還可以包括:
響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制被控物。
在本發(fā)明一些可能的實現(xiàn)方式中,可以響應(yīng)于用戶停止觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的結(jié)束控制被控物指令,停止控制所述被控物。
與開始控制被控物指令類似,當(dāng)用戶輸入結(jié)束控制被控物指令,例如通過松開體感設(shè)備上的握取按鍵輸入結(jié)束控制被控物指令,則可以觸發(fā)停止對固定被控物的控制。
這樣,本發(fā)明實施例中通過體感設(shè)備控制固定被控物,通過獲取體感設(shè)備的三維虛擬空間位置信息,在體感設(shè)備的三維虛擬空間位置信息達(dá)到固定被控物的預(yù)設(shè)位置時可以開始對固定被控物進(jìn)行控制,通過旋轉(zhuǎn)體感設(shè)備可以直接計算得到體感設(shè)備的第一位置(即初始位置)與第二位置(即當(dāng)前位置)之間的夾角角度,將該夾角角度賦予固定被控物,控制固定被控物沿預(yù)設(shè)點旋轉(zhuǎn)該夾角角度,用戶可以直接通過旋轉(zhuǎn)體感設(shè)備實現(xiàn)控制固定被控物的旋轉(zhuǎn),增加了真實性,提高了控制固定被控物的準(zhǔn)確性。
參見圖4所示,以固定被控物為固定炮塔為例,對本發(fā)明實施例中提供的實現(xiàn)控制被控物的方法實施例二的進(jìn)行說明,本實施例可以包括以下步驟:
步驟401:判斷是否握住固定炮塔,如果是,進(jìn)入步驟402,如果否,返回步驟401。
獲取體感設(shè)備的三維虛擬空間位置信息,判斷體感設(shè)備的三維虛擬空間位置信息是否達(dá)到預(yù)設(shè)范圍。在游戲中固定炮塔把手位置設(shè)置有一個碰撞盒,判斷玩家控制體感設(shè)備是否與該把手位置重合,如果體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍即體感設(shè)備在三維虛擬空間中與該把手位置重合,則判斷玩家是否按下體感設(shè)備上的握取按鍵,如果玩家按下握取按鍵,則固定炮塔進(jìn)入被玩家握住的狀態(tài),即判斷握住固定炮塔。當(dāng)玩家握住固定炮塔,固定炮塔進(jìn)入玩家控制狀態(tài),會跟隨玩家手部移動而改變朝向,從而可以瞄準(zhǔn)并進(jìn)行射擊。
步驟402:記錄體感設(shè)備的第一三維虛擬空間位置信息。
步驟403:判斷體感設(shè)備的第一三維虛擬空間位置信息是否改變,如果是,則進(jìn)入步驟404,如果否,則進(jìn)入步驟405。
步驟404:計算第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度,控制固定炮塔轉(zhuǎn)動夾角的角度。隨著固定炮塔的移動,體感設(shè)備的第二三維虛擬空間位置信息作為下次判斷的第一三維虛擬空間位置信息使用。
當(dāng)處于玩家握住固定炮塔的狀態(tài)時,計算當(dāng)前位置與固體炮塔軸心連線與初始位置與固定炮塔軸心連線之間夾角的角度,并把該夾角的角度賦予固定炮塔,從而實現(xiàn)固定炮臺跟隨玩家手部運動的效果。此處只考慮兩條直線的夾角,是因為固定炮塔不能移動,只能跟隨玩家沿軸心轉(zhuǎn)動,固定炮塔的軸心即為預(yù)設(shè)點,可以理解的是該預(yù)設(shè)點也可以是固定炮塔中的其他點。
步驟405:判斷是否松開固定炮塔,如果是,結(jié)束,如果否,返回步驟403。
當(dāng)玩家松開體感設(shè)備上的握取鍵時,即松開固定炮塔,不再根據(jù)玩家移動改變固定炮塔角度,重置體感設(shè)備的三維虛擬空間位置信息。
這樣,在游戲中個的固定炮塔可以直接使用體感設(shè)備進(jìn)行控制,提高了控制固定被控物的準(zhǔn)確性,大大增強(qiáng)了游戲的互動性和真實性,玩家的臨場感與代入感增加。
參見圖5所示,本發(fā)明實施例中還提供一種實現(xiàn)控制固定被控物的裝置實施例,可以包括:
獲取單元501,用于獲取體感設(shè)備的三維虛擬空間位置信息。
在本發(fā)明一些可能的實現(xiàn)方式中,獲取單元可以包括:
接收子單元,用于接收體感設(shè)備的實際空間位置信息;
映射子單元,用于將體感設(shè)備的實際空間位置信息映射為體感設(shè)備的三維虛擬空間位置信息。
也即獲取單元可以具體用于接收體感設(shè)備的實際空間位置信息,將體感設(shè)備的實際空間位置信息映射為體感設(shè)備的三維虛擬空間位置信息。
記錄單元502,用于當(dāng)體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄體感設(shè)備的第一三維虛擬空間位置信息。
在本發(fā)明一些可能的實現(xiàn)方式中,所述記錄單元可以具體用于:
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于用戶觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息。
計算單元503,用于當(dāng)體感設(shè)備的第一三維虛擬空間位置信息變換為第二三維虛擬空間位置信息,計算第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,計算單元可以包括:
第一計算子單元,用于計算第一連線與第二連線在水平方向上的第一夾角的角度;第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與被控物中的預(yù)設(shè)點之間的連線,第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與被控物中的預(yù)設(shè)點之間的連線;
第二計算子單元,用于計算第一連線與第二連線在垂直方向上的第二夾角的角度;
確定子單元,用于將第一夾角的角度以及第二夾角的角度作為第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
也即計算單元可以具體用于計算第一連線與第二連線在水平方向上的第一夾角的角度;第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與被控物中的預(yù)設(shè)點之間的連線,第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與被控物中的預(yù)設(shè)點之間的連線;計算第一連線與第二連線在垂直方向上的第二夾角的角度;將第一夾角的角度以及第二夾角的角度作為第二三維虛擬空間位置信息對應(yīng)的第二位置與第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
控制單元504,用于控制被控物沿被控物中的預(yù)設(shè)點轉(zhuǎn)動夾角的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,控制單元可以具體用于:
控制被控物沿被控物中的預(yù)設(shè)點在水平方向轉(zhuǎn)動第一夾角的角度;控制被控物沿被控物中的預(yù)設(shè)點在垂直方向轉(zhuǎn)動第二夾角的角度。
在本發(fā)明一些可能的實現(xiàn)方式中,本發(fā)明實施例中提供的實現(xiàn)控制固定被控物的裝置還可以包括:
停止單元,用于響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制被控物。
在本發(fā)明一些可能的實現(xiàn)方式中,所述停止單元具體用于:
響應(yīng)于用戶停止觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的結(jié)束控制被控物指令,停止控制所述被控物。
這樣,本發(fā)明實施例中通過體感設(shè)備控制固定被控物,通過獲取體感設(shè)備的三維虛擬空間位置信息,在體感設(shè)備的三維虛擬空間位置信息達(dá)到固定被控物的預(yù)設(shè)位置時可以開始對固定被控物進(jìn)行控制,通過旋轉(zhuǎn)體感設(shè)備可以直接計算得到體感設(shè)備的第一位置(即初始位置)與第二位置(即當(dāng)前位置)之間的夾角角度,將該夾角角度賦予固定被控物,控制固定被控物沿預(yù)設(shè)點旋轉(zhuǎn)該夾角角度,用戶可以直接通過旋轉(zhuǎn)體感設(shè)備實現(xiàn)控制固定被控物的旋轉(zhuǎn),增加了真實性,提高了控制固定被控物的準(zhǔn)確性。
相應(yīng)的,本發(fā)明實施例還提供一種終端,參見圖6所示,可以包括:
處理器601、存儲器602、輸入裝置603和輸出裝置604。該終端中的處理器601的數(shù)量可以一個或多個,圖6中以一個處理器為例。在本發(fā)明的一些實施例中,處理器601、存儲器602、輸入裝置603和輸出裝置604可通過總線或其它方式連接,其中,圖6中以通過總線連接為例。
存儲器602可用于存儲軟件程序以及模塊,處理器601通過運行存儲在存儲器602的軟件程序以及模塊,從而執(zhí)行終端的各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器602可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序等。此外,存儲器602可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。輸入裝置603可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與終端的用戶設(shè)置以及功能控制有關(guān)的鍵信號輸入。
具體在本實施例中,處理器601會按照如下的指令,將一個或一個以上的應(yīng)用程序的進(jìn)程對應(yīng)的可執(zhí)行文件加載到存儲器602中,并由處理器601來運行存儲在存儲器602中的應(yīng)用程序,從而實現(xiàn)各種功能:
獲取體感設(shè)備的三維虛擬空間位置信息;
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息;
當(dāng)所述體感設(shè)備的第一三維虛擬空間位置信息變換為第二三維虛擬空間位置信息,計算所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度;
控制所述被控物沿所述被控物中的預(yù)設(shè)點轉(zhuǎn)動所述夾角的角度。
相應(yīng)的,所述獲取體感設(shè)備的三維虛擬空間位置信息,包括:
接收體感設(shè)備的實際空間位置信息,將所述體感設(shè)備的實際空間位置信息映射為所述體感設(shè)備的三維虛擬空間位置信息。
相應(yīng)的,所述計算所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度,包括:
計算第一連線與第二連線在水平方向上的第一夾角的角度;所述第一連線為第一三維虛擬空間位置信息對應(yīng)的第一位置與所述被控物中的預(yù)設(shè)點之間的連線,所述第二連線為第二三維虛擬空間位置信息對應(yīng)的第二位置與所述被控物中的預(yù)設(shè)點之間的連線;
計算所述第一連線與所述第二連線在垂直方向上的第二夾角的角度;
將所述第一夾角的角度以及所述第二夾角的角度作為所述第二三維虛擬空間位置信息對應(yīng)的第二位置與所述第一三維虛擬空間位置信息對應(yīng)的第一位置之間夾角的角度。
相應(yīng)的,所述控制所述被控物沿所述被控物中的預(yù)設(shè)點轉(zhuǎn)動所述夾角的角度,包括:
控制所述被控物沿所述被控物中的預(yù)設(shè)點在水平方向轉(zhuǎn)動所述第一夾角的角度;
控制所述被控物沿所述被控物中的預(yù)設(shè)點在垂直方向轉(zhuǎn)動所述第二夾角的角度。
相應(yīng)的,還包括:
響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制所述被控物。
相應(yīng)的,所述當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息,包括:
當(dāng)所述體感設(shè)備的三維虛擬空間位置信息達(dá)到預(yù)設(shè)范圍,響應(yīng)于用戶觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的開始控制被控物指令,記錄所述體感設(shè)備的第一三維虛擬空間位置信息。
相應(yīng)的,所述響應(yīng)于輸入的結(jié)束控制被控物指令,停止控制所述被控物,包括:
響應(yīng)于用戶停止觸發(fā)所述體感設(shè)備上的握取按鈕而輸入的結(jié)束控制被控物指令,停止控制所述被控物。這樣,本發(fā)明實施例中通過體感設(shè)備控制固定被控物,通過獲取體感設(shè)備的三維虛擬空間位置信息,在體感設(shè)備的三維虛擬空間位置信息達(dá)到固定被控物的預(yù)設(shè)位置時可以開始對固定被控物進(jìn)行控制,通過旋轉(zhuǎn)體感設(shè)備可以直接計算得到體感設(shè)備的第一位置(即初始位置)與第二位置(即當(dāng)前位置)之間的夾角角度,將該夾角角度賦予固定被控物,控制固定被控物沿預(yù)設(shè)點旋轉(zhuǎn)該夾角角度,用戶可以直接通過旋轉(zhuǎn)體感設(shè)備實現(xiàn)控制固定被控物的旋轉(zhuǎn),增加了真實性,提高了控制固定被控物的準(zhǔn)確性,。
需要說明的是,本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的系統(tǒng)或裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機(jī)存儲器(ram)、內(nèi)存、只讀存儲器(rom)、電可編程rom、電可擦除可編程rom、寄存器、硬盤、可移動磁盤、cd-rom、或技術(shù)領(lǐng)域內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。