教你玩轉(zhuǎn)VR虛擬現(xiàn)實
VR虛擬現(xiàn)實的普及,肯定離不開開發(fā)人員的艱苦卓絕的熬夜與技術(shù)的創(chuàng)新,那對于一個VR新手來說,要怎么辦呢?你首先得從VR技術(shù)知識入手,包括:原生VR app開發(fā),VR電影的錄制和VR web開發(fā)。因為涉及到用戶端VR APP、VR視頻的展示、VR內(nèi)容平臺的支持,這些建立起來才能有非常重要的VR應(yīng)用,也才能帶動VR領(lǐng)域的創(chuàng)新和發(fā)展。
本文引用地址:http://www.ex-cimer.com/article/201710/368091.htm原生VR app開發(fā)
開發(fā)VR app或者游戲可以讓VR內(nèi)容更加豐富,刺激整個VR大環(huán)境的發(fā)展, 進而吸引更多的用戶接觸VR,讓整個VR生態(tài)更繁榮。你開發(fā)的應(yīng)用將安裝在MAC、PC、Play Station 或者安卓、iOS上面。
這將是VR的其中一個邊界。你需要弄清楚VR的UI/UX,然后讓用戶以正確的方式充分享受VR帶來的益處。你需要學習一種3D引擎。Unity是個優(yōu)秀的入門引擎,掌握它需要學習C#和Javascript語言。
如果你是個編程新手,我推薦你看《JavaScript DOM編程藝術(shù)》、《Eloquent JavaScript》這兩本;如果你已經(jīng)有一定程度編程經(jīng)驗,可以直接看《JavaScript語言精粹》。對于Unity,可以看一下Unity3D官網(wǎng)給出的Roll-a-ball,是個不錯的小教程,可以用它初步熟悉下Unity。看完了這個,就可以直接去Oculus官網(wǎng)的Developer Center學習文檔和SDK了。
個人認為,學習Unity的最佳方式就是自己去嘗試著開發(fā)一個簡單的小游戲,在過程中遇到問題的地方就去Google一下,或者去Stackoverflow尋求幫助。其次就是和VR開發(fā)者論壇的朋友們多交流,互幫互助。
其次,剛剛上面講的教程都是關(guān)于VR的輸出設(shè)備或者說VR頭顯,如果你對VR輸入設(shè)備感興趣,想開發(fā)VR的UI/UX,Leap Motion是個不錯的選擇(當然還有Oculus touch 或者 HTC Vive),可以去leapmotion官方看看開發(fā)者文檔。
最后,除了基礎(chǔ)編程知識,我建議再補充一些數(shù)學知識,推薦《Essential Mathematics for Games and Interactive Application:A Programmer’s Guide,Second Edition》。
VR電影的錄制
VR電影是VR另一個邊界,方法是使用特殊的全景攝像機來錄制360度視角的影片。
拍攝全景視頻,首先需要一套VR攝影設(shè)備。目前有很多解決方案,這里不一一列舉了,有興趣的朋友可以Google搜索「VR camera rig」。光場相機將會是這個領(lǐng)域的顛覆者,其中360Heros全景相機架是個不錯的選擇。
平時如果你想給你的朋友分享一段普通視頻,原生的VR視頻足矣。但如果你想拍一段電影,你需要對視頻做編輯,這時候普通的視頻編輯器就不能用了,必須使用VR視頻編輯器,比如「SpliceVR Editor」。
VR web開發(fā)
毋庸置疑,原生VR應(yīng)用和游戲以及VR視頻會最先普及,但是最終,肯定會走向web。開發(fā)者們還記得「一次編寫,處處運行」這句古老的名言嗎?網(wǎng)頁就是我們實現(xiàn)這一承諾的最大可能。與其開發(fā)僅能在單一平臺或VR頭顯上運行的原生應(yīng)用程序,開發(fā)者們不如采用web來打造自己的VR體驗,這樣就可以簡簡單單通過瀏覽器運行了。Google和Mozilla攜手致力于WebVR的建設(shè),我們可以預(yù)見3D版本的萬維網(wǎng)的到來。
隨著用戶們對原生VR應(yīng)用需求的膨脹,他們也一定期待開發(fā)者創(chuàng)造出VR的web應(yīng)用。
首先,VR web體驗將帶給你類似瀏覽facebook或youtube的體驗。用戶在web上,可以將視頻切換到「VR模式」。和VR電影不同的是,用戶可以在VR環(huán)境中來做VR購物、VR約會或者VR在線課程的學習。
首先你需要學習一下three.js。three.js是一款運行在瀏覽器中的 3D 引擎,你可以用它創(chuàng)建各種3D場景,包括了攝影機、光影、材質(zhì)等各種對象,它是由JavaScript編寫的WebGL第三方庫。你可以去它的官網(wǎng)學習:threejs.org。然后參考Github上的 borismus/webvr-boilerplate項目試著實現(xiàn)一個簡單的VR網(wǎng)站。記住使用Chromium或者Mozilla nightly來測試你的VR站,參考webvr.info。接下來,試著向你的場景中加入3D模型,并試著改變它的位置,并將它旋轉(zhuǎn),threejs.org的examples中有豐富的小例子。假如你想向其中加入一些物理信息系統(tǒng),參考Github中的Hello-Cannon.js!項目。
看到這,你是否對VR技術(shù)的入門知識有個大概的了解呢?其實VR開發(fā)并不是什么特別的新東西,它跟傳統(tǒng)的Native和Web開發(fā)相差并不遠。希望這篇文章可以給喜歡VR的朋友們帶來一些小小幫助。
評論