天天看點

Cardboard虛拟現實開發技巧(二)之保持手機常亮Google Cardboard 虛拟現實眼鏡開發技巧(二)之保持手機常亮

大家知道我們使用google的cardboard為基礎去開發虛拟現實應用,是需要把手機放置在cardboard中或者是形形色色的各種眼鏡盒,如暴風魔鏡中,然後戴上眼鏡去使用虛拟現實應用,欣賞模型也好,看全景視訊也好,玩體感遊戲也好,沒有人希望在使用過程中被頻頻的手機自動熄屏所打擾,是以自動熄屏這個問題是開發ar和vr應用必須解決的一個問題。

以安卓為例,很多同學可能會去用unity調用android java(調用android部分jar包)或者将unity打包為android程式,再從安卓的角度去申請權限,限制系統黑屏,但是如果應用本身不需要去調用android java做深入開發,僅僅為了這個保持手機常亮而去這麼做,以至于犧牲掉可移植性,與易測試性,我認為這是非常不值得的。用過unity去調用android的同學就會知道,無論是上面哪種結合android開發的方法,都會讓開發測試過程非常的耗時,一次編譯打包安裝的過程簡直繁瑣費時至極,以unity調用android java為例,一次測試過程需要将安卓src部分打成jar包,複制jar包到unity裡,如果jni部分有修改,還要複制.so庫到相應的位置,再之後build apk,打包好之後複制到手機,再去測試看logcat,一次測試可能要好幾分鐘,而且消磨人的耐性。再也沒法愉快地在unity editer裡測試,看調試資訊了。是以如果沒有必要的需求必須用unity調用java或者c/c++,能在unity中完成的工作還是在unity中完成比較好。

所幸unity提供了去消滅熄屏的接口,而且使用非常簡單,是以下面我們就看一下在android平台和ios平台如何快速的去解決這個問題。

僅僅需要讓這行c#代碼在某個場景的某個腳本中執行就好了,這裡需要注意的是場景問題,比如這行代碼在遊戲進行的場景中執行過了,但是沒有在計分場景執行,有可能在計分場景就會熄屏,然後vr使用者就不得不從眼鏡中掏出手機,無奈的再按一下開機鍵了。

我本是不是蘋果使用者,,,從沒有測試過蘋果手機,是以這裡我就不亂說了,反正官網上是這麼寫的。。。

寫虛拟現實眼鏡開發技巧這個系列的初衷是想能給大家帶來實質性的幫助,因為不可能講到面面俱到,是以摘出一些大家都會遇到的問題來叙述,可能篇幅短了一些,但是一堆東西揉在一起也沒有什麼主題,是以隻能篇幅短一點了,還請大家見諒。關于cardboard虛拟現實眼鏡開發的知識,之前已經我已經寫了虛拟現實開發初步系列的1-4篇來幫助大家入門,英文的api也從長城網外的谷歌官網搬運過來了,我還自己翻譯了一篇中文版的文檔,以上内容都在我部落格的分類和專欄中,大家可以自己去翻閱,希望這些内容能幫助到大家~

繼續閱讀