初識(shí)VR
虛擬現(xiàn)實(shí)(Virtual Reality)技術(shù)是一種可以創(chuàng)建和體驗(yàn)虛擬世界的計(jì)算機(jī)仿真系統(tǒng),它利用計(jì)算機(jī)生成一種模擬環(huán)境,是一種多源信息融合的、交互式的三維動(dòng)態(tài)視景和實(shí)體行為的系統(tǒng)仿真, 使用戶沉浸到該環(huán)境中。
2016年是VR的元年,它變得離我們不再陌生,VR移動(dòng)端的興起也讓我們對(duì)VR有了更進(jìn)一步的認(rèn)識(shí),幾十到幾百價(jià)格不等的VR眼鏡,隨處都可搜索到的VR視頻資源,購(gòu)物娛樂(lè)中心的體驗(yàn)店。VR不再那么觸不可及。
很早之前因?yàn)楹闷嬉操I了一個(gè)49元的小米VR眼鏡,但由于設(shè)備的質(zhì)量不行玩了幾天就再也沒(méi)碰過(guò)了,最近因?yàn)楣卷?xiàng)目需求,又入手了一副暴風(fēng)魔鏡s1并開始了進(jìn)一步的研究開發(fā),在此記錄下學(xué)習(xí)過(guò)程和心得。

vr眼睛.png
首先說(shuō)下了解到的VR知識(shí)
- VR頭盔和VR眼鏡的區(qū)別
- 共同點(diǎn):實(shí)際上二者都是通過(guò)把一個(gè)完整的圖像,分成左右眼分視效果,按照遠(yuǎn)近引起的立體視差,從而引起立體效果。
- 硬件、價(jià)格差別:VR眼鏡的組成,主要是依靠鏡片為技術(shù)核心,借助手機(jī)這一外部設(shè)備,讓用戶的眼睛處在一個(gè)黑色的封閉空間里即可進(jìn)行視覺體驗(yàn)。而VR頭盔硬件構(gòu)成VR頭盔,則是獨(dú)立出來(lái)不需要手機(jī)這個(gè)外設(shè)的工具,其中組成配件就有許多,例如傳感器,藍(lán)牙,無(wú)線信號(hào)等硬件。當(dāng)然,由于前者由于硬件構(gòu)成簡(jiǎn)單(一般只需一個(gè)外殼和、頭帶及兩塊凸透鏡組成),因此VR頭盔(一般在千元以上)在價(jià)格上一般遠(yuǎn)遠(yuǎn)高于VR眼鏡(便宜的不到10元)。
- 可視范圍不同:就VR眼鏡而言,看視頻時(shí)畫面的大小是隨著手機(jī)尺寸而決定的,另外反饋出來(lái)的視覺效果就是上下有黑色邊框,讓體驗(yàn)大打折扣。而對(duì)比VR頭盔,戴上頭盔在眼睛可視范圍內(nèi)是無(wú)死角的,視場(chǎng)角寬度根據(jù)不同廠商生產(chǎn)的頭盔產(chǎn)品從86-120°之間。
- 清晰度:清晰度方面沒(méi)什么特殊的可比性,目前手機(jī)最大的分辨率是1920x1080,而截至目前能所了解到的頂級(jí)頭盔分辨率已經(jīng)達(dá)到了單眼1200x1080 的水平。所以算上雙眼平均下的話好像還是高挺多的。但單從實(shí)際效果來(lái)看,頭盔是有明顯顆粒感,而手機(jī)是沒(méi)有的。
- 眩暈感 :由于陀螺儀好壞直接影響用戶觀看影片的眩暈效果,如果使用較差的陀螺儀會(huì)讓用戶有嘔吐的感覺,VR頭盔相對(duì)比較好。

VR頭盔.jpg
移動(dòng)端開發(fā)
魔鏡VR開發(fā)者平臺(tái)和谷歌VR開發(fā)平臺(tái)的對(duì)比
- SDK下載鏈接魔鏡SDK
- 里面包含demo,jar包和文檔說(shuō)明。
- 相關(guān)資料較少,而且寫出來(lái)的程序必須上傳到魔鏡平臺(tái)供用戶使用,所以感覺使用起來(lái)不太方便。
- 谷歌SDK下載谷歌SDK
- demo中有VR視頻,VR全景圖和小游戲的sample。
- 文檔詳細(xì),使用簡(jiǎn)單。
VR眼鏡更多的還是展示全景圖片和360視頻,那么圖片和視頻有什么要求怎么制作呢?

資源格式.png

資源制作.png
谷歌VR SDK的簡(jiǎn)單學(xué)習(xí)(播放VR視頻 展示圖片同理參照demo)
- sdk導(dǎo)入
compile 'com.google.vr:sdk-videowidget:1.30.0'
- 添加權(quán)限
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
- xml核心代碼
<com.google.vr.sdk.widgets.video.VrVideoView
android:id="@+id/video_view"
android:layout_width="match_parent"
android:layout_height="250dp"/>
- java 播放核心代碼(視頻文件需放在新建的assets文件夾下)
videoWidgetView.loadVideoFromAsset("congo.mp4", options);

播放視頻效果圖.png