基於 HTC Vive 的 VR 遊戲開發入門

學習自 CSDN 學院公開課視頻 http://edu.csdn.net/course/detail/2629性能優化

VR 硬件飛速發展, 但內容卻極爲稀缺,做爲開發者,咱們究竟該如何上手 VR 開發?具體到在不一樣的平臺上怎麼作?如何作工具選型?延遲、暈眩、全景、人機交互、3D 動畫、性能優化... 無一不是痛點. 又該如何將 VR 技術更好地運用到遊戲、應用開發以及內容創做中,瞭解哪些是從事 VR 開發必備技能,又有哪些是爲「糟粕」亟需摒棄.app

1. Vive VR 設計的建議 #

刷新率必須在 90 FPS 以上, 延時要小(交互延時, 運算延時, 顯示延時)
遊戲時長建議 30 分鐘之內
畫面紋理不要太複雜
攝像機不要亂動, 如模擬震盪,顛簸等, 能夠有靜物參考
儘可能真實, 像真的便可, 場景儘可能簡單(質量達標, 如小於場景), 避免原本就讓人眩暈的場景
不要有運動衝突, 儘可能不要代用戶發聲
交互多元, 天然的交互, 行走,抓取,拋擲,躲避,爬行等等
交互引導很是重要
多人遊戲更好玩, 如對戰,協做,對話等
對延時要求高, 暫時只能設計對網格要求低或局域遊戲
虛擬形象和 IK 動畫
先作原型, 驗證驗證再驗證ide

2. 轉戰 VR 開發重點關注點 #

1.輸入輸出方式變化工具

輸入輸出更天然,直觀, 容易讓玩家錯過信息, 不易判斷玩家輸入意圖, 好比面向某物體時觸發輸出, 或者利用聲音吸引用戶注意力性能

頭顯(位置和朝向)
控制器 / 手柄(明確的觸發指令和位置,朝向信息)
手勢(leap motion)
語音控制
自制工具(結合 optitrack)
觸感(須要額外硬件配合)
... ...學習

2.近似無 2D 界面字體

絕大部分引導都是直接 3D 物體的顯示, 好比某個物體不同凡響, 相似高亮或虛化
也會附在場景的某個設備中, 以 2D 界面顯示, 如 Raw Data 場景中的顯示器
天空中飄來五個字, 若是是漂浮的 2D 界面, 距離在 0.5 米之外較好, 也不要太遠
以合適大小的字體附在手柄上也是不錯的選擇
... ...優化

3.數學, 物理動畫

3D 和 2D 的運動, 朝向, 形變, 成像等計算, 重溫線性代數知識
交互時的碰撞, 摩擦, 重力加速等效果
要像真的, 好比一個石頭, 拋出去要有石塊的手感, 要有生命週期, 防止物體飛遠了一直存在.net

4.音樂音效
5.場景的應用

物盡其用, 儘可能在場景中的東西都是有用的, 好比射擊遊戲中建築物均可以作掩體
出現的物體儘可能均可以交互, 不然應當讓玩家很容易區分出來
物體出現的距離比較規律或固定, 好比都是 3 米或 5 米或 10 米距離, 不然眼睛容易疲勞
... ...

6.互聯網數據同步

多人時更有趣, 弱聯網遊戲或者局域網遊戲
弱聯網即數據同步能夠接受比較長的延時, 即秒級別的延時, 像三國殺, 棋牌之類
局域網才適合實時對戰,格鬥類, 不然延時會嚴重影響沉浸感
能看到隊友或對手, 涉及到位置, 姿態同步以及 IK
... ...

7.SteamVR API

Value Software openvr, 目標是硬件無關的通用 API
IVRSystem - Main interface for display, distortion, tracking, controller, and event access.
IVRChaperone - Provides access to chaperone soft and hard bounds.
IVRCompositor - Allows an application to render 3D content through the VR compositor
IVROverlay - Allows an application to render 2D content through the VR Compositor
IVRRenderModels - Allows an application access to render models.
IVRScreenshots - Allows an application to request and submit screenshots.

3. VR 開發資源 #

https://www.htcvive.com/cn/develop_portal/

End.

相關文章
相關標籤/搜索