VR开发从何入手的实战分享
摘要: 6月25日,由CSDN主辦的“【VR技術開放日】VR開發從何入手”在北京遼寧大廈隆重舉行,會議邀請到小米互娛VR技術專家房燕良、焰火工坊CTO王明楊、資深VR開發工程師王秋林、奧秘游戲CTO冀盼以及火石鎮CEO卞安到場,以代碼見代碼,分享最為純正的技術實踐,詳解如何開發出一款能真正供用戶把玩的精品質游戲或應用。
自VR橫空出世之后,一度受到外界熱炒,從概念到技術再到生態布局,不僅成就了一場資本狂歡,業界也將2016年標榜為VR元年。但退去華麗的辭藻,歸于本質,VR開發從何入手成為諸多入門級開發者面臨的難題。
針對內容稀缺、工具選型、3D動畫、性能優化等VR開發難題,全球最大中文IT社區CSDN于6月25日下午舉辦“【VR技術開放日】VR開發從何入手”,邀請到小米互娛VR技術專家房燕良、焰火工坊CTO王明楊、資深VR開發工程師王秋林、奧秘游戲CTO冀盼以及火石鎮CEO卞安到場,以代碼見代碼,分享最為純正的技術實踐,詳解如何開發出一款能真正供用戶把玩的精品質游戲或應用。
首先,本次活動組織者CSDN唐小引分享了舉辦此次活動的初衷,以及CSDN一直以來為虛擬現實開發所做的種種努力,比如《程序員》雜志、VR知識庫囊括的知識圖譜等,從一定程度上解答了VR開發究竟該如何入手的問題。
用虛幻4在Gear VR上運行一個搭積木的游戲(PPT下載)、Demo源碼
隨后,開發3代自研引擎的小米互娛VR技術專家房燕良先生,直接以code形式展示了自己使用虛擬4開發VR游戲過程以及分享其開發中的寶貴經驗。房燕良表示虛幻4相比虛幻3更加易學易用,與Unity并列成為國際頂尖引擎,且是免費開源的。無論設計游戲或開發VR應用,掌握引擎基礎知識尤為重要。用虛幻4在Gear VR運行搭積木游戲,其核心為設計一些box并放置地上,配戴Gear VR運用視覺感官,移動盒子。
開發注意事項:
VR場景中暈動癥主要可從兩個方面解析,一方面以開發者的角度,游戲及應用開發過程中,幀速率要匹配即視覺畫面與頭盔運動要一致;另一方面從產品設計角度考慮,采用順移方式減少不適應的時間。
移動VR觀影:如何用Unity開發一個虛擬影院(PPT下載)
購買VR設備最主要用途是什么?王明楊與其合作伙伴根據購買VR設備的用戶調研結果顯示:大多數用戶購買VR設備用于觀看視頻。
那么在VR中如何建立虛擬影院?王明楊總結了如下步驟:
1. 設計一個虛擬影院模型,增強用戶體驗沉浸感;
2. 學習Unity開發知識;
3. 學習Android播放視頻;
Android中有一個Media Player,調用一個函數就可以播放視頻。Android與傳統的Windows并不相似,應用不是直接將工具顯示到屏幕上,而是顯示到Surface上,這個稱之為FBO,可以把現在所有的程序顯示的東西渲染到FBO上,然后再由這兩個類把每一個程序的圖像疊加起來。Android并不是直接往屏幕上面顯示。
如果在沒有經過定制的Android系統上,天然的延遲很高。Android的Media Player可以把圖像渲染到Surface的Surface Texture上,這是虛擬影院的技術核心。我們首先創建一個Media Player,然后把Media Player的內容指定一個Surface,渲染到Surface上,然后到Surface Texture,并且復制給Unity。
4. 視頻與模型相結合在Unity中渲染出來。
Unity把所有的貼圖包裝成 Texture2D形式,其實是對標準格式的封裝。標準格式下Unity把 Texture的生成和 Texture這樣一個操作封的很死,但比較線性的是Unity 4.0以上增加了一個機制,該機制可以通過OpenGL生成一個外部貼圖。這樣在播放器中渲染出來的視頻,我們可以輕松的將視頻轉成 Texture2D貼到模型表面上。
VR環境下獨特的人機交互設計(PPT下載)
從硬件設計到電路焊接到硬件調試到程序編寫、算法設計、通信協議算法以及監聽的耳機也是自己做的,資深VR開發工程師王秋林以其獨特的見解解析VR環境下人機交互設計。所謂的人機交互即人向電子設備進行輸入,電子設備向人返回數據信息。VR環境下人機交互方式主要有:單VR頭盔;帶有操作元件的VR頭盔;VR頭盔+通用外部輸入設備,可以盲操作;VR頭盔+包含傳統輸入方式的體感輸入設備;VR頭盔+動感座椅。造成虛擬世界眩暈的根本原因是人在虛擬環境中與現實中運動不同步。其中以足夠慢的勻速運動、極快的短時運動、瞬時跳躍、參照物距離玩家足夠遠時的飛行運動、有相對靜止參照物,可有效減輕眩暈,改善用戶體驗。
VR環境中的UI設計注意事項:
- 傳統的在屏幕四周繪制2D UI的方法在VR環境下變得不再可用;
- 凸透鏡導致的畫面的桶形畸變讓畫面邊緣的內容被壓縮而無法看清;
- VR環境下人眼基本只會注視屏幕中心的一小片區域,難以注意到屏幕邊緣的內容;
- 需要將UI要表現的數據以3D的形式呈現出來,甚至和武器、虛擬肢體結合起來,當玩家想要了解這些數據時會主動轉動頭部、舉起武器/手臂來注視這些3D UI獲取這些數據。
基于HTC Vive的VR游戲開發入門(PPT下載、Demo源碼)
到底選擇哪個平臺進行VR游戲開發,奧秘游戲CTO冀盼表示不用糾結。無論是HTC Vive、PS VR、Oculus還是Gear VR平臺,VR開發很多時候是相通的。通過HTC Vive開發VR游戲,硬件需配備頭顯及雙手柄,PC以i5 970為最低配置,設置Room Scale模式,內容分發平臺有Steam、Vive及奧秘,開發引擎可使用Unity 3D和Unreal。VR開發兩個關鍵點:眩暈與沉浸。
游戲開發過程中需重點關注:
- 輸入輸出方式變化;
- 近似無2D界面;
- 數學和物理;
- 音樂音效;
- 場景的應用;
- 聯網和數據同步;
- SteamVR API等方面。
使用Cocos開發一款簡單的3D VR抓錢游戲(PPT下載)
使用Cocos也可以開發VR游戲?火石鎮CEO卞安為開發者解開謎團。虛幻、Unity、Cocos三大引擎,卞安表示虛幻做出的畫面更適合主機但其性能要求較高,Unity更適合中小團隊,Cocos適合本身具有Cocos基礎的團隊。
使用Cocos創建VR游戲流程:
- 獲取VR引擎框架(基于Cocos2d-x 3.10以后版本)。
- 安裝JDK,保證Android手機能運行。
- 安裝Python,運行Setup.py檢測環境變量,進行相應配置。
- 運行命令行,新建VR游戲項目。
Win32 : createNewProject.py –n ProjName–p ProjPath - 安裝Oculus SDK,配置摸擬器,啟動VR項目。
- 使用VS2015或VS2013,打開Win32工程,編譯運行即可。
- Android :build_native.py –V cardboard 編譯Android的APK
現場花絮
新穎便捷的微信搖一搖簽到入場 豐富的茶歇 專家們與諸多小伙伴進行了合影(文/屠敏,審校/唐小引)
總結
以上是生活随笔為你收集整理的VR开发从何入手的实战分享的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从0开始学习GitHub系列之「Git
- 下一篇: Linux运维比较实用的工具