成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法和裝置與流程

文檔序號(hào):12347137閱讀:408來(lái)源:國(guó)知局
一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法和裝置與流程

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法和裝置。



背景技術(shù):

虛擬現(xiàn)實(shí)(Virtual Reality,VR)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,是一種多源信息融合的交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真,使用戶沉浸到該環(huán)境中。

VR技術(shù)的重要應(yīng)用是VR游戲,VR游戲的一大特色就是通過(guò)使用運(yùn)動(dòng)控制器能夠讓玩家在游戲中像在現(xiàn)實(shí)世界中一樣進(jìn)行操作交互,為此通過(guò)操作運(yùn)動(dòng)控制器在游戲中投擲道具模擬現(xiàn)實(shí)世界拋投物體便是VR游戲的一個(gè)重要的玩法。

在目前的VR游戲中,有一種場(chǎng)景是用戶可以體驗(yàn)扔木棍等道具,在VR游戲?qū)崿F(xiàn)投擲道具的解決方案中,可計(jì)算用戶拋出運(yùn)動(dòng)控制器瞬間的速度,將該拋出的瞬間速度賦予道具進(jìn)行模擬用戶的拋出動(dòng)作?,F(xiàn)有技術(shù)中的這種解決方案中道具拋出的速度由用戶拋出瞬間的動(dòng)作速度來(lái)決定,若用戶在體驗(yàn)時(shí)用力揮動(dòng)運(yùn)動(dòng)控制器拋出,在松開拋出按鍵的瞬間減速或停止運(yùn)動(dòng)控制器運(yùn)動(dòng),按照目前的解決方案就會(huì)計(jì)算出較小的瞬間速度,甚至計(jì)算出瞬間速度為0,此時(shí)就存在道具的拋出與用戶的實(shí)際動(dòng)作不匹配的問(wèn)題,若計(jì)算出瞬間速度為0,還會(huì)存在道具拋不出去的情況,而這明顯與用戶的實(shí)際動(dòng)作相違背。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明實(shí)施例提供了一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法和裝置,用于解決道具拋出與用戶實(shí)際動(dòng)作不匹配的問(wèn)題,實(shí)現(xiàn)對(duì)用戶拋出動(dòng)作的準(zhǔn)確模擬。

為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供以下技術(shù)方案:

第一方面,本發(fā)明實(shí)施例提供一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法,包括:

獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,所述N為非零自然數(shù);

對(duì)所述運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到所述運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度;

判斷所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻是否被拋出;

當(dāng)所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)所述加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬所述運(yùn)動(dòng)控制器被拋出時(shí)賦予所述道具的運(yùn)動(dòng)速度,并根據(jù)賦予所述道具的運(yùn)動(dòng)速度控制所述道具進(jìn)行拋出動(dòng)作的模擬操作。

第二方面,本發(fā)明實(shí)施例還提供一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置,包括:

速度獲取模塊,用于獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,所述N為非零自然數(shù);

平均速度計(jì)算模塊,用于對(duì)所述運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到所述運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度;

投擲檢測(cè)模塊,用于判斷所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻是否被拋出;

道具控制模塊,用于當(dāng)所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)所述加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬所述運(yùn)動(dòng)控制器被拋出時(shí)賦予所述道具的運(yùn)動(dòng)速度,并根據(jù)賦予所述道具的運(yùn)動(dòng)速度控制所述道具進(jìn)行拋出動(dòng)作的模擬操作。

從以上技術(shù)方案可以看出,本發(fā)明實(shí)施例具有以下優(yōu)點(diǎn):

在本發(fā)明實(shí)施例中,首先獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,N為非零自然數(shù),然后對(duì)運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,接下來(lái)判斷運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻是否被拋出,當(dāng)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,并根據(jù)賦予道具的運(yùn)動(dòng)速度控制道具進(jìn)行拋出動(dòng)作的模擬操作。由于本發(fā)明實(shí)施例中可以根據(jù)運(yùn)動(dòng)控制器從從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻產(chǎn)生的運(yùn)動(dòng)速度計(jì)算出運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,對(duì)于第N個(gè)幀時(shí)刻作為當(dāng)前幀時(shí)刻需要檢測(cè)用戶是否將運(yùn)動(dòng)控制器投擲,在運(yùn)動(dòng)控制器在當(dāng)前幀時(shí)刻被拋出時(shí),使用運(yùn)動(dòng)控制器從初始幀時(shí)刻到當(dāng)前幀時(shí)刻的加權(quán)平均速度計(jì)算出賦予給道具的運(yùn)動(dòng)速度,該道具在VR場(chǎng)景下的運(yùn)動(dòng)速度能夠模擬用戶拋出運(yùn)動(dòng)控制器的動(dòng)作。本發(fā)明實(shí)施例中道具的運(yùn)動(dòng)速度并不是取決于用戶拋出瞬間的動(dòng)作,而是運(yùn)動(dòng)控制器從開始運(yùn)動(dòng)到當(dāng)前的所有幀時(shí)刻的運(yùn)動(dòng)速度,因此該道具的模擬運(yùn)動(dòng)能夠模擬運(yùn)動(dòng)控制器的運(yùn)動(dòng)慣性,實(shí)現(xiàn)對(duì)用戶拋出動(dòng)作的準(zhǔn)確模擬,解決了VR場(chǎng)景中道具投擲與現(xiàn)實(shí)世界體驗(yàn)存在較大差距的問(wèn)題,能夠最大限度的模擬現(xiàn)實(shí)世界的操作。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)講,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法的流程方框示意圖;

圖2為本發(fā)明實(shí)施例提供的VR場(chǎng)景下的道具運(yùn)動(dòng)處理的計(jì)算流程方框示意圖;

圖3-a為本發(fā)明實(shí)施例提供的一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置的組成結(jié)構(gòu)示意圖;

圖3-b為本發(fā)明實(shí)施例提供的另一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置的組成結(jié)構(gòu)示意圖;

圖3-c為本發(fā)明實(shí)施例提供的另一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置的組成結(jié)構(gòu)示意圖;

圖3-d為本發(fā)明實(shí)施例提供的一種附加速度計(jì)算模塊的組成結(jié)構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例提供的VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法應(yīng)用于服務(wù)器的組成結(jié)構(gòu)示意圖。

具體實(shí)施方式

本發(fā)明實(shí)施例提供了一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法和裝置,用于解決道具拋出與用戶實(shí)際動(dòng)作不匹配的問(wèn)題,實(shí)現(xiàn)對(duì)用戶拋出動(dòng)作的準(zhǔn)確模擬。

為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域的技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

本發(fā)明的說(shuō)明書和權(quán)利要求書及上述附圖中的術(shù)語(yǔ)“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,以便包含一系列單元的過(guò)程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于那些單元,而是可包括沒(méi)有清楚地列出的或?qū)τ谶@些過(guò)程、方法、產(chǎn)品或設(shè)備固有的其它單元。

本發(fā)明VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法的一個(gè)實(shí)施例,具體可以應(yīng)用于VR場(chǎng)景下使用道具對(duì)用戶投擲運(yùn)動(dòng)控制器進(jìn)行模擬的場(chǎng)景中,本發(fā)明實(shí)施例中VR場(chǎng)景具體可以指的是VR游戲場(chǎng)景,也可以指的是應(yīng)用程序的VR操作場(chǎng)景,例如辦公軟件的VR應(yīng)用操作場(chǎng)景、角色的VR應(yīng)用操作場(chǎng)景等。請(qǐng)參閱圖1所示,本發(fā)明一個(gè)實(shí)施例提供的VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法,可以包括如下步驟:

101、獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,N為非零自然數(shù)。

在本發(fā)明實(shí)施例中,運(yùn)動(dòng)控制器是VR設(shè)備廠商生產(chǎn)的控制設(shè)備,例如,用戶可以使用左右手各手持一個(gè)運(yùn)動(dòng)控制器,運(yùn)動(dòng)控制器是VR設(shè)備配套的手部操控設(shè)備,可以追蹤雙手的位置、旋轉(zhuǎn)和輸入,獲取到的相關(guān)數(shù)據(jù)在VR場(chǎng)景中使用。

本發(fā)明實(shí)施例中,運(yùn)動(dòng)控制器可以由用戶手持操作,用戶可以握起運(yùn)動(dòng)控制器運(yùn)動(dòng),從而運(yùn)動(dòng)控制器從靜止?fàn)顟B(tài)進(jìn)入運(yùn)動(dòng)狀態(tài),本發(fā)明實(shí)施例中運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻開始,每一個(gè)幀時(shí)刻運(yùn)動(dòng)控制器都可以產(chǎn)生一個(gè)運(yùn)動(dòng)速度,對(duì)于不同幀時(shí)刻都需要采集運(yùn)動(dòng)控制器產(chǎn)生的運(yùn)動(dòng)速度。其中,初始幀時(shí)刻是指運(yùn)動(dòng)控制器從靜止?fàn)顟B(tài)進(jìn)入運(yùn)動(dòng)狀態(tài)時(shí)的第一個(gè)幀時(shí)刻,幀時(shí)刻可以是VR場(chǎng)景的圖像幀,例如一般90幀游戲每幀時(shí)間間隔就是1000/90=11.11毫秒,則可以每隔11.11毫秒就獲取到運(yùn)動(dòng)控制器產(chǎn)生的一個(gè)運(yùn)動(dòng)速度,本發(fā)明實(shí)施例中以當(dāng)前幀時(shí)刻為第N個(gè)幀時(shí)刻為例,則需要獲取從初始幀時(shí)刻到當(dāng)前幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,例如N的取值可以3或者5等等。

在本發(fā)明的一些實(shí)施例中,步驟101獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度之前,本發(fā)明實(shí)施例提供的VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法,還包括如下步驟:

A1、判斷運(yùn)動(dòng)控制器上設(shè)置的拾取鍵是否被觸發(fā);

A2、當(dāng)拾取鍵被觸發(fā)時(shí),對(duì)運(yùn)動(dòng)控制器進(jìn)入運(yùn)動(dòng)過(guò)程開始計(jì)時(shí),并觸發(fā)執(zhí)行如下步驟101:獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度。

其中,拾取鍵是設(shè)置在運(yùn)動(dòng)控制器上的一種按鍵,當(dāng)用戶手持運(yùn)動(dòng)控制器做運(yùn)動(dòng)時(shí)用戶可以按下該按鍵,當(dāng)用戶拋出運(yùn)動(dòng)控制器時(shí)可以松開該拾取鍵,拾取鍵在運(yùn)動(dòng)控制器上的設(shè)置位置以及該拾取鍵的形狀、觸發(fā)方式不做限定。本發(fā)明實(shí)施例中,首先判斷運(yùn)動(dòng)控制器上設(shè)置的拾取鍵是否被觸發(fā),即需要判斷用戶是否手持運(yùn)動(dòng)控制器準(zhǔn)備進(jìn)行操作,當(dāng)拾取鍵被觸發(fā)時(shí),例如用戶按下拾取鍵,對(duì)運(yùn)動(dòng)控制器進(jìn)入運(yùn)動(dòng)過(guò)程開始計(jì)時(shí),并觸發(fā)執(zhí)行前述步驟101執(zhí)行。

102、對(duì)運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度。

在本發(fā)明實(shí)施例中,獲取到運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度之后,針對(duì)每一個(gè)幀時(shí)刻配置一個(gè)權(quán)重值,則對(duì)于運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,可以按照所有幀時(shí)刻分別對(duì)應(yīng)的權(quán)重值進(jìn)行加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度。其中,每個(gè)幀時(shí)刻配置的權(quán)重值可以根據(jù)具體應(yīng)用場(chǎng)景來(lái)配置,例如距離第N個(gè)幀越近的幀時(shí)刻對(duì)應(yīng)的權(quán)重值越大,距離初始幀時(shí)刻越近的幀時(shí)刻對(duì)應(yīng)的權(quán)重值越小。在實(shí)際應(yīng)用中,從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻對(duì)應(yīng)的權(quán)重值可以構(gòu)成遞增序列或者等比序列,從而保證距離第N個(gè)幀越近的幀時(shí)刻對(duì)應(yīng)的運(yùn)動(dòng)速度在加權(quán)平均速度中的比重越大,從而更能夠真實(shí)刻畫出運(yùn)動(dòng)控制器的真實(shí)運(yùn)動(dòng)速度變化情況。

舉例說(shuō)明如下,以VR場(chǎng)景具體為VR游戲場(chǎng)景為例,VR游戲場(chǎng)景中更新每一個(gè)幀時(shí)刻的時(shí)候計(jì)算該幀左右運(yùn)動(dòng)控制器的運(yùn)動(dòng)速度,VR游戲場(chǎng)景中需要時(shí)刻記錄當(dāng)前幀時(shí)刻(即第N個(gè)幀時(shí)刻)和前面的共N-1幀時(shí)運(yùn)動(dòng)控制器的運(yùn)動(dòng)速度,然后通過(guò)加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度。

103、判斷運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻是否被拋出。

在本發(fā)明實(shí)施例中,獲取到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度之后,對(duì)該運(yùn)動(dòng)控制器是否被用戶投擲拋出進(jìn)行實(shí)時(shí)的檢測(cè),若該運(yùn)動(dòng)控制器被用戶在第N個(gè)幀時(shí)刻拋出,則觸發(fā)執(zhí)行步驟104,若檢測(cè)到該運(yùn)動(dòng)控制器沒(méi)有被用戶拋出(即用戶仍然手持運(yùn)動(dòng)控制器),則需要將N更新為N+1,重新觸發(fā)執(zhí)行步驟101至步驟103,直至該運(yùn)動(dòng)控制器被用戶在拋出時(shí)再執(zhí)行步驟104。其中檢測(cè)運(yùn)動(dòng)控制器是否被拋出,可以有多種實(shí)現(xiàn)方式,例如可以在運(yùn)動(dòng)控制器上設(shè)置傳感器,通過(guò)傳感器檢測(cè)該運(yùn)動(dòng)控制器是否被用戶拋出。

在本發(fā)明的一些實(shí)施例中,步驟103判斷運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻是否被拋出,包括:

B1、判斷運(yùn)動(dòng)控制器上設(shè)置的拾取鍵在第N個(gè)幀時(shí)刻是否被松開;

B2、若拾取鍵被松開,確定運(yùn)動(dòng)控制器被拋出,若拾取鍵沒(méi)有被松開,確定運(yùn)動(dòng)控制器沒(méi)有被拋出。

其中,拾取鍵是設(shè)置在運(yùn)動(dòng)控制器上的一種按鍵,當(dāng)用戶手持運(yùn)動(dòng)控制器做運(yùn)動(dòng)時(shí)用戶可以按下該按鍵,當(dāng)用戶拋出運(yùn)動(dòng)控制器時(shí)可以松開該拾取鍵,拾取鍵在運(yùn)動(dòng)控制器上的設(shè)置位置以及該拾取鍵的形狀、觸發(fā)方式不做限定。本發(fā)明實(shí)施例中,在每個(gè)幀時(shí)刻都需要判斷運(yùn)動(dòng)控制器上設(shè)置的拾取鍵是否被松開,即需要判斷用戶是否已經(jīng)將運(yùn)動(dòng)控制器拋出,當(dāng)拾取鍵被松開時(shí)確定該用戶已經(jīng)拋出運(yùn)動(dòng)控制器,此時(shí)就需要使用道具來(lái)模擬用戶在現(xiàn)實(shí)世界中拋出運(yùn)動(dòng)控制器的操作。

104、當(dāng)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,并根據(jù)賦予道具的運(yùn)動(dòng)速度控制道具進(jìn)行拋出動(dòng)作的模擬操作。

在本發(fā)明實(shí)施例中,確定運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)步驟102可以獲取到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,則計(jì)算出的該加權(quán)平均速度涵蓋了運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的速度變化情況,例如運(yùn)動(dòng)控制器在用戶手里從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的運(yùn)動(dòng)速度不斷加快,或運(yùn)動(dòng)控制器在用戶手里從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的運(yùn)動(dòng)速度保持不變,這些N個(gè)幀時(shí)刻的運(yùn)動(dòng)速度計(jì)算出了運(yùn)動(dòng)控制器的加權(quán)平均速度,通過(guò)該加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,并根據(jù)賦予道具的運(yùn)動(dòng)速度控制道具進(jìn)行拋出動(dòng)作的模擬操作。其中,VR場(chǎng)景下的道具可以指的是多種場(chǎng)景道具,例如可以是VR戰(zhàn)斗游戲中的手雷、兵器等,或者是VR水果投擲游戲中的水果道具等,此處不做限定,通過(guò)給道具賦予運(yùn)動(dòng)速度,使得通過(guò)道具的運(yùn)動(dòng)來(lái)模擬現(xiàn)實(shí)世界中用戶拋出運(yùn)動(dòng)控制器的動(dòng)作。

在本發(fā)明的一些實(shí)施例中,當(dāng)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),除了執(zhí)行前述步驟104之外,本發(fā)明實(shí)施例提供的VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法,還包括如下步驟:

C1、獲取運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí)具有的運(yùn)動(dòng)姿勢(shì);

C2、根據(jù)運(yùn)動(dòng)控制器的運(yùn)動(dòng)姿勢(shì)確定運(yùn)動(dòng)控制器的附加速度。

其中,判斷出運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出之后,還可以采集該運(yùn)動(dòng)控制器被拋出時(shí)具有的運(yùn)動(dòng)姿勢(shì),其中,運(yùn)動(dòng)姿勢(shì)用于描述運(yùn)動(dòng)控制器的運(yùn)動(dòng)軌跡,例如運(yùn)動(dòng)姿勢(shì)可以是運(yùn)動(dòng)控制器采用的加速度以及拋出方向,運(yùn)動(dòng)控制器的運(yùn)動(dòng)姿勢(shì)可以用于確定運(yùn)動(dòng)控制器的附加速度,該附加速度用于計(jì)算道具的運(yùn)動(dòng)速度,運(yùn)動(dòng)控制器的附加速度其大小依賴于當(dāng)前用戶拋出運(yùn)動(dòng)控制器的姿勢(shì)。

在本發(fā)明的一些實(shí)施例中,在前述執(zhí)行步驟C1和步驟C2的實(shí)現(xiàn)場(chǎng)景下,步驟104中的根據(jù)加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,包括:

D1、根據(jù)加權(quán)平均速度、運(yùn)動(dòng)控制器的附加速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度。

其中,根據(jù)加權(quán)平均速度、運(yùn)動(dòng)控制器的附加速度可以共同用于計(jì)算賦予道具的運(yùn)動(dòng)速度,從而運(yùn)動(dòng)控制器的加權(quán)平均速度和附加速度可以共同影響道具的運(yùn)動(dòng)速度,例如可以將運(yùn)動(dòng)控制器的加權(quán)平均速度和附加速度相加就可以得到賦予道具的運(yùn)動(dòng)速度,或者將運(yùn)動(dòng)控制器的加權(quán)平均速度和附加速度相加之后再乘以一個(gè)調(diào)節(jié)因子從而得到賦予道具的運(yùn)動(dòng)速度,調(diào)節(jié)因子可以根據(jù)運(yùn)動(dòng)控制器在第N個(gè)幀的運(yùn)動(dòng)姿勢(shì)來(lái)確定。運(yùn)動(dòng)控制器的附加速度也用于調(diào)節(jié)賦予道具的運(yùn)動(dòng)速度,從而通過(guò)運(yùn)動(dòng)控制器的附加速度可以用于在道具拋出前實(shí)現(xiàn)道具在一定時(shí)間內(nèi)的速度平滑和姿勢(shì)識(shí)別,從而對(duì)玩家的操作進(jìn)行容錯(cuò)計(jì)算,其作用是彌補(bǔ)游戲單位與現(xiàn)實(shí)世界單位誤差以及用戶玩家操作誤差導(dǎo)致的速度和效果差異,達(dá)到真實(shí)模擬現(xiàn)實(shí)世界拋出物體的效果。舉例說(shuō)明,拋出物體時(shí)運(yùn)動(dòng)控制器的加速度和位移用于對(duì)玩家的動(dòng)作進(jìn)行識(shí)別,判斷出運(yùn)動(dòng)控制器是加速拋還是減速拋或者水平拋,以及確定運(yùn)動(dòng)控制器是上拋,平拋還是下拋,然后根拋出方向和拋出加速度對(duì)道具最終拋出的運(yùn)動(dòng)速度進(jìn)行融合計(jì)算,最終實(shí)現(xiàn)道具按照玩家的顯示操作拋出道具的功能。

進(jìn)一步的,在本發(fā)明的一些實(shí)施例中,步驟C2根據(jù)運(yùn)動(dòng)控制器的運(yùn)動(dòng)姿勢(shì)確定運(yùn)動(dòng)控制器的附加速度,包括:

C21、獲取運(yùn)動(dòng)控制器在第(N-1)時(shí)刻和第N個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,根據(jù)運(yùn)動(dòng)控制器在第(N-1)時(shí)刻和第N個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度計(jì)算運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻產(chǎn)生的加速度;

C22、根據(jù)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻產(chǎn)生的加速度確定運(yùn)動(dòng)控制器的加速度模式為加速拋、減速拋或者勻速拋,根據(jù)確定下來(lái)的加速度模式計(jì)算出運(yùn)動(dòng)控制器的加速度附加值;

C23、檢測(cè)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí)在豎直方向上的速度分量取值確定運(yùn)動(dòng)控制器的拋出方向模式為向上拋、向下拋或者水平拋,根據(jù)確定下來(lái)的拋出方向模式計(jì)算出運(yùn)動(dòng)控制器的拋出方向附加值;

C24、根據(jù)運(yùn)動(dòng)控制器的加速度附加值和運(yùn)動(dòng)控制器的拋出方向附加值計(jì)算運(yùn)動(dòng)控制器的附加速度。

其中,運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻產(chǎn)生的加速度可以通過(guò)第N個(gè)幀時(shí)刻的運(yùn)動(dòng)速度與第(N-1)時(shí)刻的運(yùn)動(dòng)速度相減再除以幀時(shí)刻的間隔得到,然后根據(jù)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻產(chǎn)生的加速度確定運(yùn)動(dòng)控制器的加速度模式為加速拋、減速拋或者勻速拋,例如,根據(jù)游戲體驗(yàn)采用0.01cm/s2作為判斷閾值,當(dāng)加速度大于或等于0.01cm/s2為加速拋,小于或等于-0.01cm/s2為減速拋,其他為勻速拋。針對(duì)不同的加速度模式,可以設(shè)置不同的加速度附加值,例如,加速拋時(shí)設(shè)置較大的加速度附加值,減速拋時(shí)設(shè)置較小的加速度附加值。接下來(lái)檢測(cè)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí)在豎直方向上的速度分量取值確定運(yùn)動(dòng)控制器的拋出方向模式為向上拋、向下拋或者水平拋,根據(jù)確定下來(lái)的拋出方向模式計(jì)算出運(yùn)動(dòng)控制器的拋出方向附加值,例如,針對(duì)不同的拋出方向模式,可以設(shè)置不同的拋出方向附加值,例如,向上拋時(shí)設(shè)置較大的拋出方向附加值,向下拋時(shí)設(shè)置較小的拋出方向附加值。

通過(guò)以上實(shí)施例對(duì)本發(fā)明實(shí)施例的描述可知,首先獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,N為非零自然數(shù),然后對(duì)運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,接下來(lái)判斷運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻是否被拋出,當(dāng)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,并根據(jù)賦予道具的運(yùn)動(dòng)速度控制道具進(jìn)行拋出動(dòng)作的模擬操作。由于本發(fā)明實(shí)施例中可以根據(jù)運(yùn)動(dòng)控制器從從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻產(chǎn)生的運(yùn)動(dòng)速度計(jì)算出運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,對(duì)于第N個(gè)幀時(shí)刻作為當(dāng)前幀時(shí)刻需要檢測(cè)用戶是否將運(yùn)動(dòng)控制器投擲,在運(yùn)動(dòng)控制器在當(dāng)前幀時(shí)刻被拋出時(shí),使用運(yùn)動(dòng)控制器從初始幀時(shí)刻到當(dāng)前幀時(shí)刻的加權(quán)平均速度計(jì)算出賦予給道具的運(yùn)動(dòng)速度,該道具在VR場(chǎng)景下的運(yùn)動(dòng)速度能夠模擬用戶拋出運(yùn)動(dòng)控制器的動(dòng)作。本發(fā)明實(shí)施例中道具的運(yùn)動(dòng)速度并不是取決于用戶拋出瞬間的動(dòng)作,而是運(yùn)動(dòng)控制器從開始運(yùn)動(dòng)到當(dāng)前的所有幀時(shí)刻的運(yùn)動(dòng)速度,因此該道具的模擬運(yùn)動(dòng)能夠模擬運(yùn)動(dòng)控制器的運(yùn)動(dòng)慣性,實(shí)現(xiàn)對(duì)用戶拋出動(dòng)作的準(zhǔn)確模擬,解決了VR場(chǎng)景中道具投擲與現(xiàn)實(shí)世界體驗(yàn)存在較大差距的問(wèn)題,能夠最大限度的模擬現(xiàn)實(shí)世界的操作。

為便于更好的理解和實(shí)施本發(fā)明實(shí)施例的上述方案,下面舉例相應(yīng)的應(yīng)用場(chǎng)景來(lái)進(jìn)行具體說(shuō)明。

本發(fā)明實(shí)施例設(shè)計(jì)一種在VR游戲場(chǎng)景中基于運(yùn)動(dòng)軌跡的扔手雷等可投擲道具的方案,最大程度地模擬玩家在現(xiàn)實(shí)世界中拋投物體的動(dòng)作同時(shí)不失去游戲的趣味性。請(qǐng)參閱圖2所示,具體的實(shí)現(xiàn)方案是在游戲過(guò)程中通過(guò)設(shè)定一個(gè)幀數(shù)值N,一般90幀游戲每幀時(shí)間間隔就是1000/90=11.11毫秒,每一幀有一個(gè)權(quán)重值,游戲更新每一幀的時(shí)候計(jì)算該幀左右運(yùn)動(dòng)控制器的運(yùn)動(dòng)速度,游戲中時(shí)刻記錄當(dāng)前幀和前面N-1幀時(shí)運(yùn)動(dòng)控制器的運(yùn)動(dòng)速度,然后通過(guò)計(jì)算拋出運(yùn)動(dòng)控制器時(shí)運(yùn)動(dòng)控制器的加速度和位移,對(duì)玩家的動(dòng)作進(jìn)行識(shí)別,判斷是加速拋、減速拋、勻速拋以及確定是向上拋,水平拋還是向下拋,然后根據(jù)拋出方向和拋出加速度對(duì)道具最終拋出的速度進(jìn)行融合計(jì)算,最終實(shí)現(xiàn)玩家拋出道具的功能。

如圖2所示,VR游戲場(chǎng)景的主循環(huán)主要包括如下步驟:

1、計(jì)算當(dāng)前幀控制器的實(shí)時(shí)速度。

其中,在每一個(gè)幀時(shí)刻計(jì)算出一個(gè)Vi,是第i幀的速度值,

2、計(jì)算N幀控制器的加權(quán)平均速度。

Va是道具拋出瞬間計(jì)算出的運(yùn)動(dòng)控制器在序列幀(一段長(zhǎng)度為N的幀)時(shí)間范圍內(nèi)的加權(quán)平均速度,計(jì)算公式如下:

其中,Wi是第i幀的速度權(quán)重值,N是緩存幀的數(shù)量,所有幀權(quán)重值之和為1,Vi是第i幀的速度值,Wi滿足如下關(guān)系:

Wi的取值根據(jù)實(shí)際使用場(chǎng)景可以采用等比數(shù)列進(jìn)行如下計(jì)算:

Wi=(i+1)*T;

計(jì)算可得:T是等比數(shù)列的比例值,用于計(jì)算權(quán)重值的變量。

通過(guò)前式可得,

Vi是當(dāng)前幀運(yùn)動(dòng)控制器的運(yùn)動(dòng)速度,可以直接由上一幀到當(dāng)前幀控制器的位移除以當(dāng)前幀時(shí)間間隔直接計(jì)算出。

3、根據(jù)拋出姿勢(shì)計(jì)算附加速度。

Vb是當(dāng)前姿勢(shì)拋出道具的附加速度值,其大小依賴于當(dāng)前玩家拋出物體的姿勢(shì)。其作用是彌補(bǔ)游戲單位與現(xiàn)實(shí)世界單位誤差以及玩家操作誤差導(dǎo)致的速度和效果差異,達(dá)到真實(shí)模擬現(xiàn)實(shí)世界拋出物體的效果。本發(fā)明實(shí)施例中定義了九種拋出姿勢(shì),分別是加速拋,勻速拋和減速拋,以及向上拋,水平拋和向下拋。使用S1代表加速度附加值,S2代表拋出方向附加值,則:

Vb=S1*S2;

其中,S1和S2都是根據(jù)具體使用場(chǎng)景進(jìn)行設(shè)定,例如根據(jù)游戲體驗(yàn)過(guò)程中拋出玩法的手感設(shè)置的,參考拋出后物體飛行的距離和現(xiàn)實(shí)世界手臂的運(yùn)動(dòng)速度,可以得到:

其中,S1中1.05、1.03、0.95各自還可以設(shè)置上下浮動(dòng)范圍是0.01,當(dāng)加速拋時(shí),S1取值為1.05,當(dāng)勻速拋時(shí),S1取值為1.03,當(dāng)減速拋時(shí),S1取值為0.95。S2中1.2、1.1、1.0各自還可以設(shè)置上下浮動(dòng)范圍是0.02。當(dāng)向上拋時(shí),S2取值為1.2,當(dāng)水平拋時(shí),S2取值為1.1,當(dāng)向下拋時(shí),S2取值為1.0。

因此最終速度的計(jì)算公式如下:

運(yùn)動(dòng)控制器的速度變化可以通過(guò)計(jì)算當(dāng)前幀(第N個(gè)幀)的加速度值進(jìn)行獲得,計(jì)算方法如下:

其中,Ai是第i幀控制器的加速度值,Vi和Vi-1分別是第i幀和第i-1幀控制器的運(yùn)動(dòng)速度,Ti是第i-1幀到第i幀的時(shí)間間隔。根據(jù)游戲體驗(yàn)采用0.01cm/s2作為判斷閾值,即加速度大于0.01cm/s2為加速拋,小于-0.01cm/s2為減速拋,其他為勻速拋。具體拋出方向是通過(guò)當(dāng)前幀速度的豎直方向上的Z值分量確定,例如UE4引擎采用左手坐標(biāo)系,是重力方向在Z軸上。游戲引擎可以獲取運(yùn)動(dòng)控制器在游戲世界中的實(shí)時(shí)位置,因此可以通過(guò)第i幀控制器位置減去i-1幀位置除以這兩幀時(shí)間間隔計(jì)算出控制器第i幀的移動(dòng)速度。在控制器上設(shè)置有按鈕,用戶觸發(fā)才能拋出道具。根據(jù)測(cè)試發(fā)現(xiàn)用1厘米/s作為判斷閾值比較合適,值大于1厘米/s則是向上拋,小于-1厘米/s則為向下拋,否則為水平拋。

4、判斷是否拋出道具。

5、在需要拋出道具時(shí),進(jìn)行速度融合計(jì)算,得到最終道具拋出的瞬間速度。

本發(fā)明實(shí)施例中,用戶抓取運(yùn)動(dòng)控制器,然后再揮動(dòng)運(yùn)動(dòng)控制器松開拾取鍵拋出,最終拋出道具的計(jì)算公式如下:V=Va+Vb。

本發(fā)明實(shí)施例解決了VR游戲中道具投擲玩法與現(xiàn)實(shí)世界體驗(yàn)存在較大差距的問(wèn)題,能夠最大限度的模擬現(xiàn)實(shí)世界的操作,使玩家在VR游戲中擁有更好的體驗(yàn),提升游戲樂(lè)趣。

需要說(shuō)明的是,對(duì)于前述的各方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說(shuō)明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作和模塊并不一定是本發(fā)明所必須的。

為便于更好的實(shí)施本發(fā)明實(shí)施例的上述方案,下面還提供用于實(shí)施上述方案的相關(guān)裝置。

請(qǐng)參閱圖3-a所示,本發(fā)明實(shí)施例提供的一種VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置300,可以包括:速度獲取模塊301、平均速度計(jì)算模塊302、投擲檢測(cè)模塊303、道具控制模塊304,其中,

速度獲取模塊301,用于獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,所述N為非零自然數(shù);

平均速度計(jì)算模塊302,用于對(duì)所述運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到所述運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度;

投擲檢測(cè)模塊303,用于判斷所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻是否被拋出;

道具控制模塊304,用于當(dāng)所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)所述加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬所述運(yùn)動(dòng)控制器被拋出時(shí)賦予所述道具的運(yùn)動(dòng)速度,并根據(jù)賦予所述道具的運(yùn)動(dòng)速度控制所述道具進(jìn)行拋出動(dòng)作的模擬操作。

在本發(fā)明的一些實(shí)施例中,請(qǐng)參閱圖3-b所示,所述VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置300,還包括:

啟動(dòng)計(jì)時(shí)模塊305,用于判斷所述運(yùn)動(dòng)控制器上設(shè)置的拾取鍵是否被觸發(fā);當(dāng)所述拾取鍵被觸發(fā)時(shí),對(duì)所述運(yùn)動(dòng)控制器進(jìn)入運(yùn)動(dòng)過(guò)程開始計(jì)時(shí),并觸發(fā)執(zhí)行所述速度獲取模塊301。

在本發(fā)明的一些實(shí)施例中,所述投擲檢測(cè)模塊303,具體用于判斷所述運(yùn)動(dòng)控制器上設(shè)置的拾取鍵在所述第N個(gè)幀時(shí)刻是否被松開;若所述拾取鍵被松開,確定所述運(yùn)動(dòng)控制器被拋出,若所述拾取鍵沒(méi)有被松開,確定所述運(yùn)動(dòng)控制器沒(méi)有被拋出。

在本發(fā)明的一些實(shí)施例中,請(qǐng)參閱圖3-c所示,所述VR場(chǎng)景下的道具運(yùn)動(dòng)處理裝置300,還包括:

附加速度確定模塊306,用于當(dāng)所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻被拋出時(shí),獲取所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻被拋出時(shí)具有的運(yùn)動(dòng)姿勢(shì);根據(jù)所述運(yùn)動(dòng)控制器的運(yùn)動(dòng)姿勢(shì)確定所述運(yùn)動(dòng)控制器的附加速度。

進(jìn)一步的,在本發(fā)明的一些實(shí)施例中,所述道具控制模塊304,具體用于根據(jù)所述加權(quán)平均速度、所述運(yùn)動(dòng)控制器的附加速度計(jì)算在VR場(chǎng)景下使用道具模擬所述運(yùn)動(dòng)控制器被拋出時(shí)賦予所述道具的運(yùn)動(dòng)速度。

在本發(fā)明的一些實(shí)施例中,請(qǐng)參閱圖3-d所示,所述附加速度確定模塊306,包括:

加速度計(jì)算模塊3061,用于獲取所述運(yùn)動(dòng)控制器在第(N-1)時(shí)刻和第N個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,根據(jù)所述運(yùn)動(dòng)控制器在第(N-1)時(shí)刻和第N個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度計(jì)算所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻產(chǎn)生的加速度;

加速度附加值計(jì)算模塊3062,用于根據(jù)所述運(yùn)動(dòng)控制器在所述第N個(gè)幀時(shí)刻產(chǎn)生的加速度確定所述運(yùn)動(dòng)控制器的加速度模式為加速拋、減速拋或者勻速拋,根據(jù)確定下來(lái)的加速度模式計(jì)算出所述運(yùn)動(dòng)控制器的加速度附加值;

拋出方向附加值計(jì)算模塊3063,用于檢測(cè)所述運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí)在豎直方向上的速度分量取值確定所述運(yùn)動(dòng)控制器的拋出方向模式為向上拋、向下拋或者水平拋,根據(jù)確定下來(lái)的拋出方向模式計(jì)算出所述運(yùn)動(dòng)控制器的拋出方向附加值;

附加速度計(jì)算模塊3064,用于根據(jù)所述運(yùn)動(dòng)控制器的加速度附加值和所述運(yùn)動(dòng)控制器的拋出方向附加值計(jì)算所述運(yùn)動(dòng)控制器的附加速度。

通過(guò)以上對(duì)本發(fā)明實(shí)施例的描述可知,首先獲取運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度,N為非零自然數(shù),然后對(duì)運(yùn)動(dòng)控制器在運(yùn)動(dòng)過(guò)程中每一個(gè)幀時(shí)刻分別產(chǎn)生的運(yùn)動(dòng)速度進(jìn)行加權(quán)平均計(jì)算,得到運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,接下來(lái)判斷運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻是否被拋出,當(dāng)運(yùn)動(dòng)控制器在第N個(gè)幀時(shí)刻被拋出時(shí),根據(jù)加權(quán)平均速度計(jì)算在VR場(chǎng)景下使用道具模擬運(yùn)動(dòng)控制器被拋出時(shí)賦予道具的運(yùn)動(dòng)速度,并根據(jù)賦予道具的運(yùn)動(dòng)速度控制道具進(jìn)行拋出動(dòng)作的模擬操作。由于本發(fā)明實(shí)施例中可以根據(jù)運(yùn)動(dòng)控制器從從初始幀時(shí)刻到第N個(gè)幀時(shí)刻中每一個(gè)幀時(shí)刻產(chǎn)生的運(yùn)動(dòng)速度計(jì)算出運(yùn)動(dòng)控制器從初始幀時(shí)刻到第N個(gè)幀時(shí)刻的加權(quán)平均速度,對(duì)于第N個(gè)幀時(shí)刻作為當(dāng)前幀時(shí)刻需要檢測(cè)用戶是否將運(yùn)動(dòng)控制器投擲,在運(yùn)動(dòng)控制器在當(dāng)前幀時(shí)刻被拋出時(shí),使用運(yùn)動(dòng)控制器從初始幀時(shí)刻到當(dāng)前幀時(shí)刻的加權(quán)平均速度計(jì)算出賦予給道具的運(yùn)動(dòng)速度,該道具在VR場(chǎng)景下的運(yùn)動(dòng)速度能夠模擬用戶拋出運(yùn)動(dòng)控制器的動(dòng)作。本發(fā)明實(shí)施例中道具的運(yùn)動(dòng)速度并不是取決于用戶拋出瞬間的動(dòng)作,而是運(yùn)動(dòng)控制器從開始運(yùn)動(dòng)到當(dāng)前的所有幀時(shí)刻的運(yùn)動(dòng)速度,因此該道具的模擬運(yùn)動(dòng)能夠模擬運(yùn)動(dòng)控制器的運(yùn)動(dòng)慣性,實(shí)現(xiàn)對(duì)用戶拋出動(dòng)作的準(zhǔn)確模擬,解決了VR場(chǎng)景中道具投擲與現(xiàn)實(shí)世界體驗(yàn)存在較大差距的問(wèn)題,能夠最大限度的模擬現(xiàn)實(shí)世界的操作。

圖4是本發(fā)明實(shí)施例提供的一種服務(wù)器結(jié)構(gòu)示意圖,該服務(wù)器1100可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個(gè)或一個(gè)以上中央處理器(central processing units,CPU)1122(例如,一個(gè)或一個(gè)以上處理器)和存儲(chǔ)器1132,一個(gè)或一個(gè)以上存儲(chǔ)應(yīng)用程序1142或數(shù)據(jù)1144的存儲(chǔ)介質(zhì)1130(例如一個(gè)或一個(gè)以上海量存儲(chǔ)設(shè)備)。其中,存儲(chǔ)器1132和存儲(chǔ)介質(zhì)1130可以是短暫存儲(chǔ)或持久存儲(chǔ)。存儲(chǔ)在存儲(chǔ)介質(zhì)1130的程序可以包括一個(gè)或一個(gè)以上模塊(圖示沒(méi)標(biāo)出),每個(gè)模塊可以包括對(duì)服務(wù)器中的一系列指令操作。更進(jìn)一步地,中央處理器1122可以設(shè)置為與存儲(chǔ)介質(zhì)1130通信,在服務(wù)器1100上執(zhí)行存儲(chǔ)介質(zhì)1130中的一系列指令操作。

服務(wù)器1100還可以包括一個(gè)或一個(gè)以上電源1126,一個(gè)或一個(gè)以上有線或無(wú)線網(wǎng)絡(luò)接口1150,一個(gè)或一個(gè)以上輸入輸出接口1158,和/或,一個(gè)或一個(gè)以上操作系統(tǒng)1141,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM等等。

上述實(shí)施例中由服務(wù)器所執(zhí)行的VR場(chǎng)景下的道具運(yùn)動(dòng)處理方法步驟可以基于該圖4所示的服務(wù)器結(jié)構(gòu)。

另外需說(shuō)明的是,以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。另外,本發(fā)明提供的裝置實(shí)施例附圖中,模塊之間的連接關(guān)系表示它們之間具有通信連接,具體可以實(shí)現(xiàn)為一條或多條通信總線或信號(hào)線。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動(dòng)的情況下,即可以理解并實(shí)施。

通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件的方式來(lái)實(shí)現(xiàn),當(dāng)然也可以通過(guò)專用硬件包括專用集成電路、專用CPU、專用存儲(chǔ)器、專用元器件等來(lái)實(shí)現(xiàn)。一般情況下,凡由計(jì)算機(jī)程序完成的功能都可以很容易地用相應(yīng)的硬件來(lái)實(shí)現(xiàn),而且,用來(lái)實(shí)現(xiàn)同一功能的具體硬件結(jié)構(gòu)也可以是多種多樣的,例如模擬電路、數(shù)字電路或?qū)S秒娐返取5?,?duì)本發(fā)明而言更多情況下軟件程序?qū)崿F(xiàn)是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,如計(jì)算機(jī)的軟盤、U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述的方法。

綜上所述,以上實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)上述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1