《VR入門系列教程十》---3D圖形學(xué)初識

基于Oculus Rift開發(fā)桌面端VR應(yīng)用

接下來的幾個章節(jié)中我們會進行VR開發(fā)的實際操練,本章就從Oculus Rift開發(fā)開始,我們會介紹如何開發(fā)一個桌面端的VR應(yīng)用。雖然只是介紹了Rift的開發(fā)技術(shù),但是這些技術(shù)同樣適合于HTC Vive以及其它頭顯設(shè)備。

在進行第一個VR應(yīng)用開發(fā)之前,我們來看看幾個重要的概念:

搭建場景:創(chuàng)建一個可視化、可交互、腳本驅(qū)動的虛擬現(xiàn)實環(huán)境。

立體渲染:用兩個相機渲染場景分別表示用戶的左右眼,然后通過Oculus Rift頭顯的透鏡,這兩幅圖片被重合在一起,從而形成清晰且具有深度視覺的場景。

頭動追蹤:通過捕獲Oculus Rift頭顯的位置和轉(zhuǎn)向來改變虛擬世界中相機的位置和轉(zhuǎn)向。

我們需要編寫大量3D操作的代碼來表現(xiàn)我們的想法,可以直接通過OpenGL和DirectX來渲染3D視圖,但是這樣做太浪費時間了,而且也超出了本書的范疇。我們unity3D游戲引擎來做這件事,Unity用于快速構(gòu)建VR內(nèi)容非常合適,最主要的是它非常容易掌握。

在深入研究Unity之前,我們來簡單了解一下基本的3D圖形技術(shù)。如果你對3D圖形編程已經(jīng)非常熟悉了,這部分內(nèi)容可以直接跳過。

3D圖形學(xué)基礎(chǔ)定義

在繼續(xù)之前,我們來看看3D圖形學(xué)的定義,下面是維基百科給出的定義(摘自:http://en.wikipedia.org/wiki/3D_computer_graphics):3D computer graphics (in contrast to 2D computer graphics) are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of performing calculations and rendering 2D images. Such images may be stored for viewing later or displayed in real-time.

上面的定義主要有3個部分:(1)所有的數(shù)據(jù)都以三維坐標(biāo)系方式表示。

(2)它們最終都會畫(渲染)在一張二維圖上,其中VR會分成左右眼畫在兩張圖上。

(3)圖像都是實時渲染的,當(dāng)一些動畫或者用戶操作引起了3D數(shù)據(jù)的改變,它們所渲染出來的圖像會實時更新,這種更新頻率必須讓人眼無法察覺。以上三點中最后一點是建立可交互應(yīng)用的關(guān)鍵。事實上,3D圖形渲染技術(shù)如此重要,以至于它已經(jīng)創(chuàng)造了幾十億美元的市場,許多大公司都在一心專注做3D實時渲染的技術(shù),比如NVIDIA、ATI、Qualcomm等。

三維坐標(biāo)系統(tǒng)

如果你熟悉二維坐標(biāo)系,如Windows桌面應(yīng)用或者IOS手機應(yīng)用采用的坐標(biāo)系,你一定知道x、y軸。二維坐標(biāo)可以表示子窗體或者UI控件擺放的位置,當(dāng)調(diào)用繪圖API是可以定義畫筆和畫刷的繪制點。與二維坐標(biāo)類似,三維坐標(biāo)系統(tǒng)只是多了一個z軸,這個方向用來描述深度信息(一個物體距離屏幕的遠(yuǎn)近),如果你已經(jīng)了解二維坐標(biāo)系的概念,那么轉(zhuǎn)換到三維坐標(biāo)系就很簡單了。

下圖是本書采用的坐標(biāo)系示意圖,它的x軸水平,方向為左到右,y軸豎直,方向為下到上,z軸穿過屏幕,方向為里到外,并且,這三個軸都相互垂直。有些三維坐標(biāo)系的z軸是豎直的,而y軸是穿過屏幕。

unity3d采用的坐標(biāo)系就是上圖所示這種,只不過它的z軸方向是外向里。我們圖中顯示的是右手坐標(biāo)系,而且Unity3D中的是左手坐標(biāo)系,需要注意的是OpengGL通常也是采用的右手坐標(biāo)系。

聯(lián)系方式:0755-81699111

課程網(wǎng)址: http://www.vrkuo.com/course/vr.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容