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


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

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

1. Vive VR 設計的建議 #

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

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

1.輸入輸出方式變化

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

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

2.近似無 2D 界面

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

3.數學, 物理

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

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.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM