當前位置:
首頁 > 科技 > 騰訊互娛李君白:以互相拋接物體為例詳解VR社交中手勢交互設計

騰訊互娛李君白:以互相拋接物體為例詳解VR社交中手勢交互設計

在此前騰訊互娛發布的報告中,對於VR社交表示強烈關注。VRZINC了解到,其實騰訊對VR無論是硬體、平台還是投資都有所行動。

4月24日,騰訊互娛前沿技術中心專家程序員李君白出席Unreal Open Day活動,其分享了使用UE4引擎開發Solar VR社交遊戲平台的經驗以及遇到的相關問題。

李君白解釋了騰訊做輕社交的VR娛樂平台的原因,社交比起純粹的VR,黏性和用戶反覆體驗性更強。此外根據其團隊長期數據統計的結果,RecRoom的周活躍用數超過其他幾個VR社交應用的綜合,輕娛樂是關鍵。

在VR社交遊戲中有大量的物理交互,為了實現將伺服器的代碼移到伺服器中,在一些小的團隊伺服器人員在緊張的情況下就可以不用參與遊戲邏輯的開發,而是由客戶端程序員去參與,李君白團隊採用Unreal Delicated server同步邏輯。「使用DS server會出現這樣一個問題,不能依賴於Replicate的,因為其無法保證在Clent中獲取順序。」

在交互設計相關問題上,李君白詳細介紹了手勢控制這塊,並以互相拋接物體的設計為例進行了分享。而對於交互物體的開發,其分享了一種通過手柄按鍵設計,減輕用戶學習成本以及內容開發移植的方法。

以下是演講內容,VRZINC整理有刪減:

李君白:我是來自騰訊前沿技術中心的李君白,做個簡單的自我介紹,之前用Unreal3也有很多年頭,開發過不少的遊戲,加入騰訊後曾在《天涯明月刀》做自研引擎的架構開發,現在負責Solar VR社交遊戲平台的開發工作。

為什麼騰訊要做輕社交的VR娛樂平台?

眾所周知VR是全新的領域,在VR下很多的開發領域都面臨著革新和創新,我們的應用是立足於以社交平台為基礎的開發定義。我們需要帶給人們的是一種玩家交互之間的沉浸感和交互臨場感。

社交比起純粹的VR,黏性和用戶反覆體驗性是非常強的。以市面上的VR遊戲為例,很多都是以一次性體驗的效果。其實市場中有很多社交VR的先行者,包括AltspaceVR、RecRoom,還有FaceBookSPaces。

VR的社交是完全嶄新的,可以期待、有想像空間的領域。根據我們長期數據統計的結果,RecRoom的周活躍用數超過其他幾個VR社交應用的綜合,所以我們覺得輕娛樂是關鍵。

因此我們有了Solar VR的構想和嘗試,在開發過程當中會對社交玩法中的某些元素進行提取,大家可以想像在這樣的空間裡面好友聚在一起可以打牌、唱歌、開會等等。

為什麼選擇UE4作為VR的渲染引擎呢?

除了其他嘉賓分享的優點,對我來說更看重的是可靠的引擎基礎和高質量的渲染架構。UE4的語音質量和渲染質量在業內是領先地位。在Unreal長期的發展過程當中累計了很多可靠性非常強的工具鏈,無論是美術資源的支持還是程序生成過程都是非常好的,這樣完善的工具鏈會為整個開發流程提供順暢性和高效性

原型從Unity遷移到Unreal的注意點

首先我們的原型在Unity上實現的,後來我們決定要遷移到Unreal平台上,有很多的切換。比如說代碼、數據、開發流程的切換。從Unity切換到Unreal上來用了一個星期的時間。

從代碼切換有幾個方面,一是把原來的伺服器的代碼移植到客戶端,因為我們還是採用了Unreal的技術。移植過程當中最主要的問題就是第三方插件,大家可以放心,大多數第三方知名的插件在Unreal中都可以得到相應的切換。

數據可以重複使用,但場景是需要重新構建的。如果需要,可以通過Unity導出場景列表,再從Unreal中一次性導入,這取決於場景重構的工作量。

Unreal需要建立比較完善的CR持續構建體系,來保證美術和策劃能夠及時地得到更新的程序。

技術選型採用Unreal Delicated server同步邏輯

傳統的遊戲後台都會使用數據包重複、伺服器寫套邏輯。我們選用的是Unreal自用的Unreal Delicated server同步的邏輯,為什麼這樣選擇呢?有幾個原則。

因為是社交遊戲,有大量的物理交互,我們想在伺服器單獨寫引擎,而這個代價是很高的。因此我們想一用DS server來實現將伺服器的代碼移到伺服器中,在一些小的團隊伺服器人員在緊張的情況下就可以不用參與遊戲邏輯的開發,而是由客戶端程序員去參與,這是優勢所在。

整個過程中伺服器後台也只用了一位同學做後台DS server的開發。我們使用這套系統有簽權的體系。用Client端向GameServer申請遷入,會產生Generate Token ID。再進行從GS上返取回玩家數據後再往客戶端發送通知的過程,將Room信息送過去。下一步將切割信息與DS對上,DS進行簽證的驗證後,Clinet和DS server就建立了連接。

建立這樣的連接後,後面的遊戲都可以直接進行通信,不用依賴於後台的任何邏輯,後台只負責登陸登出和資料庫訪問。後面我們還會做一些DS Messager來管理創建和銷毀,這樣整一套東西可以在伺服器架構下完美地運作起來。

DS server使用中出現的一個坑

說到了DS server有一個坑要跟大家分享一下,我們開發過程當中會遇到很多的Replicate的問題。當我們Server想寫一個代碼的時候,哪怕經過了若干幀伺服器想做函數代用,過程是不確定的。

另外一個例子也是一樣的,哪怕是在同一幀里寫兩個條件,在Clent仍然無法保證A比B先得到,所以是不能依賴於Replicate的。

我們採用的解決方法是,將關鍵數據copy好以後,在合適的時候通過RPC的方法發出去,這樣可以在伺服器端拿到RPC,這個順序就可以得到一定的保證。

VR開發應用的特性

在VR下最主要的關鍵因素有幾個。一是基礎交互的操作,這對於社交而言更加重要。因為人面對面地交流,其實每一舉動包括嘴型、IK表現都是被對方仔細觀察的,社交對於交互的要求比一般的遊戲都要高很多。

除此之外,VR是沉浸式體驗的環境,在這種環境下玩家對聲音的敏感度是非常高的,所以需要對Spatial Audio3D聲音的設計和實現提出更多的需求。當然VR永恆的話題就是優化,在投顯設備都是要求90幀率的情況下,優化和效率永遠是VR繞不開的話題,在關鍵上要做一些取捨。

VR交互上有很多的設計,包括手部動作的設計、交互動作延遲、手臂、腳部、角色VR移動、口形語音同步力反饋、Camera控制、手勢識別這些主題非常多,對於交互也都非常重要,時間關係就兩點跟大家分享一下。

手勢交互的設計,舉例互相拋接物體

首先是手勢的識別。識別手指是否按下的狀態,這種動態的辨別可以用Animation Layer + Mask合成動畫過程,美術手只要提供張開和閉合的動畫可以完整地模擬出來。

手與物件交互有很多種,每一種都需要我們仔細地去實現。例如我們用拳打東西的時候要考慮到伸開手的時候動作是什麼樣的,閉合的時候是什麼樣的;打出去以後和力度產生的衝擊力有多大,帶來了力反饋這種參數的調整;還有搖一搖功能,需要去測搖一搖的頻率、力度是多少,這些交互的動作都需要我們去精細地調整。

這裡給大家舉一個互相拋接物體的例子。多數情況下互相拋接物體的距離是非常近的,這樣網路延遲會帶來非常大的影響。

通過研究我們得出結論,可以把幀同步和狀態同步稍微融合一下,進行優化。手拿到東西之前,同步是通過手本身的同步來進行,當我們拿起東西和鬆開東西的第二階段,可以通過狀態同步。而手在拿東西的過程中物體是可以跟著手繼續運動,這樣的情況下本地玩家是感受不到任何延遲的,體驗比較好。

將東西扔出時可以同步對象的位置和朝向,把角速度和朝向速度都同步。在最後速度比較小的時候可以把它的速度慢慢回到伺服器應該的位置上,這樣玩家在網路情況波動的情況下也能獲得比較好的體驗。

VR中交互物件開發和玩法設計

我們想在遊戲中實時創建和銷毀以藍圖為單位的交互物件,這樣在遊戲中拿出來可以直接玩的遊戲設計。

然而這樣的情況下面臨一個問題,物件在VR中有多種多樣性,對於交互來說用戶的學習成本非常高。我們的設計師通過討論得出一種方法,通過將手柄的控制器所有的AB、XY都定義成功能鍵,再把手柄反面的鍵定位為Action鍵,這樣三種基本元素的組合形成了整個交互物件的最基礎操作。

這麼做有兩個好處。玩家的學習成本會非常低,他們拿到物件以後試試A和B就可以知道怎麼用;此外對我們迭代開發和移植非常方便。基礎建立好以後我們開始了快速迭代的開發,可以讓程序員並行地開發很多種原型,甚至考慮讓玩家UGC創建出內容為我們的遊戲增加內容,保持內容的持續性。

驗證玩法,用源碼開發

我們團隊在比較短的時間內驗證了很多的玩法,大家討論哪一個東西比較好。比較好的情況下會投入美術資源優化,並快速推出各種原型讓大家來體驗。

如果團隊有一定的能力能夠把控源碼的質量和方法,應該使用源碼去進行開發,為什麼?用源碼以後可以做底層的優化。就像之前提到我們可以集成到遊戲中去,很方便。對於一些升級來說,可以選擇性地升級一些新的Unreal引擎帶來的想法,這也是開源的優勢。

騰訊社交組件Plugin的兩個集成

最後想給大家的分享的是引擎開發當中騰訊社交組件Plugin的兩個集成。一個是Apollo Voice,它是第三方語音交互的集成,大家可能不是很熟悉,《王者榮耀》的開黑語音大家應該很清楚,平台都是以這樣的平台為基礎,後面有專門的語音伺服器來組織語音的傳送和多人對話。VR社交裡面聲音是非常重要的一點,會提供給很多後處理的聲音來處理,包括混響還有空間聲音定位,Apollo Voice也是作為公司的組件。

另一個是是QQ的遠程桌面共享。這個大家年輕的時候都幫妹子遠程修電腦都用過,但是我們把它集成到VR中以後可以實現很多很有意思的嘗試。比如說直播電競解說、大屏看電影、多人同屏協作工作、遠程開會。我們把圖片、模型、文本、聲音都直接從電腦里拖到VR世界中就像是從異空間拉入到VR世界中,在VR世界中產生虛擬的世界。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 VRZINC 的精彩文章:

VR創客學院獲世紀虹石VR基金200萬元投資
七維科技VR新品亮相NAB 進一步降低視頻內容創作門檻
三星推出FaceSense 可用表情和語音操作Gear VR
日本手游廠商Gumi成立全資VR子公司
松下推出4K VR相機 預計8月上市

TAG:VRZINC |

您可能感興趣

社交媒體中的肖像、自我與符號互動
互聯網時代下的娛樂方式:社交軟體
真正的社交高手都不愛用交友軟體
合理使用社交媒體
VPN 監管規定正式生效;申請赴美簽證擬提交社交媒體信息
海信社交電視S7正式亮相CES,互動娛樂打造「電視親友圈」!
韓將調查社交媒體和通訊服務商收集個人信息情況
特朗普再談槍擊案:互聯網和社交媒體為槍手提供了「危險通道」
社交媒體信息傳播調查:假新聞比真相快6倍,假政治新聞尤甚
觀影+社交是電影互聯網化的趨勢
如何讓公益搭上互聯網紅利?輕鬆籌用上了「社交力」
從「社交+視頻」到「社交×視頻」看移動互聯網的漸變
亞馬遜兵敗社交網路,關閉社交購物APP
美國互聯網社交媒體用戶和設備數量已經趨於穩定
美國將要求所有簽證申請者遞交社交媒體信息
AB型血君社交的優劣勢
現社交軟體都無法與馬化騰相提並論,雷軍突發新招讓人措手不及!
馬雲推出新社交軟體,馬化騰表示壓力很大!
映客CFO李勁:關注技術創新 直播平台趨於社交化
馬化騰:人工智慧的「大社交」時代