大神卡馬克:VR手遊研發需要註意的問題

【GameLook專稿,轉載請註明出處】

GameLook報道/隨著前幾天三星Gear VR的正式發售,虛擬顯示設備正式進入瞭移動平臺,該設備硬件由三星制造,而軟件則依靠Oculus VR的移動SDK,適配三星的Galaxy Note 4智能機,使用Android 4.4.4系統,就在前不久,Oculus公司CTO約翰·卡馬克(John Carmack)以及Oculus VR移動部門副總裁Max Cohen在接受采訪時表示,目前VR手遊還面臨一些問題,比如設備性能和Android系統碎片化等等,卡馬克同時建議開發者們做簡單的VR手遊試水,下面請看GameLook編譯的采訪稿:

詳細介紹下你們的移動版SDK,從開發者的角度來看,它與Oculus SDK有什麼區別?

卡馬克:我們這個項目已經進行瞭將近一年的時間,幾個月之前,我們向特定的開發者們推出瞭首個版本的移動SDK,自此之後進行瞭2次修改,目前依然還處於完善階段,我們還在努力提高,但消費者版本不會太遠。

核心的Oculus VR功能依然存在於Gear VR設備中,你可以用它捕獲傳感器界面,但這隻是最核心和最基礎的Oculus功能。移動版的界面更簡潔,隻有簡單的一些選項,比如進入VR模式以及離開VR模式等等。



這裡需要註意的是,Oculus移動版SDK的異步變速功能可以讓顯示器刷新頻率達到60fps,並且可以根據用戶的頭部動作調整屏幕顯示的內容,即便遊戲本身的刷新頻率達不到60fps,用戶依然可以獲得更好的遊戲體驗。Gear VR開發者E McNeill前不久在一個博客中解釋說,VR的研發有很大的不同,尤其是需要消除動態模糊帶來的眩暈感。

目前該平臺90%的開發者們都在使用Unity引擎,而且Unity的功能和PC版本並沒有差別太多,現在很多的開發者們同時為PC和移動平臺研發虛擬現實遊戲。不過,如果開發商們想要專門為手遊平臺做遊戲的話,他們需要做更多的源代碼工作,需要與Android平臺的研發相結合,這對於很多開發這來說是不太愉悅的體驗。

除非你專門為單一的Android設備做研發,這就像以前的主機研發,選擇瞭一個設備類型之後,就不必考慮其他不同的Android配置、不同的OS版本或者類似的碎片化問題。但整體來說,為Android研發遊戲並沒有那麼有趣。

我們當中的大多數人是第一次為Android做研發,我在這個過程中遇到瞭很多困難,在開始這個項目之前,我沒有做過任何的Android研發,我開始還在擔心會犯一系列的基礎錯誤,但我們讓Android開發者們進行瞭指導,後來結果並不是那麼糟糕。

但我不得不說的是,為Android平臺研發遊戲,並不是我做過最自豪的項目。過去幾個周的時間裡,我遇到過很多次令人抓狂的時刻,因為這並不像蘋果的SDK,很多開發者一開始就能夠上手。

Cohen:移動平臺的虛擬現實遊戲研發和PC是不一樣的。移動版本研發最有趣的是做異步變速功能,而且這個功能可以在PC版的SDK實現。所以做出高質量的VR體驗是有用的,我們從移動版研發獲得的經驗可以為所有的開發者提供幫助。

卡馬克:由於大多數的開發者都使用Unity,所以任何做過Unity遊戲的人都應該很快上手,並且很快可以做出一個PC版本。另一方面,從大多數的開發者們的情況來看,你需要重新分析自己的選擇,因為移動平臺目前的確還不如平臺強大。

但這隻是VR進入手遊市場的第一階段,而且也推出瞭應用商店和生態系統。所以我認為對於開發者們來說,你需要的不僅是熱情,初始市場對於他們來說是非常重要的,他們可以學到很多東西。

PC版本隨後也會推出,到時候開發者們可以自行選擇感興趣的平臺,習慣瞭高端設備研發的人可能不會願意為Note 4研發遊戲,所以有些開發者會願意為PC做遊戲。而且有些使用定位的功能可能隻能在PC平臺實現,因為我們短期內還不會在手遊平臺推出,直到我們測試成功。

但我認為依然有很多的開發者對手遊版SDK感到激動,因為你終於可以創造一些偉大的事情,不需要PC平臺的VR系統就可以做到虛擬現實遊戲體驗。所以這對於移動遊戲開發者們來說還是具有很大吸引力的。

而且,這裡需要指出的是,Note 4版本的功能已經比最初的Oculus DK1好太多瞭。

那麼,你從第一款Android項目研發中學到瞭什麼,開發者們要做移動平臺的VR遊戲研發應該註意什麼?

卡馬克:好吧,我不得不說,從一個平臺轉向另一個平臺總會遇到非常痛苦的事情,我不得不說的是,Android研發比大多數的主機平臺轉型還要痛苦。因為谷歌對於Android軟件和硬件的定位方式很差,因為谷歌依然沒有真正支持源生代碼研發,他們還和Java平臺的研發非常類似。雖然這麼說有些誇張,但對於VR系統來說,Android是非常不友好的。

所以你要做好準備,Android設置和研發體驗很差,一點也不有趣。

另一個讓我非常驚訝的是,Android研發尤其要註意能量管理,並不僅僅是電池電量,還要考慮設備剩餘性能。因為如果你一開始就使用瞭4個核心來運行,那麼設備就會發熱。所以你在做Android平臺虛擬遊戲研發的時候一定要註意這個問題,不要同時使用系統的多項功能。

因此這是非常需要註意的事項之一,坦白的說,我們還在努力尋找更好的解決方法。三星在這個方面做的不錯的是,我們可以為VR設定固定時鐘速率,你可以選擇CPU和GPU值,但你不可能說,‘給我最快的CPU和最強大的GPU’,這是不可能實現的。但很多的虛擬現實遊戲都可以選擇其一,比如說‘我的遊戲對畫面要求高,我需要頂級的GPU速度,不過我可以忍受稍慢一點的CPU速度’。

而且,Unity可以解決Android平臺的多線程渲染問題。所以我們認為Unity遊戲可以運行多線程,但這同時意味著你用Unity做瞭所有功能,很有可能帶來能量過度消耗以及高溫等問題。我覺得虛幻4引擎可能會更有效率,因為該引擎沒有詮釋性腳本之類的東西,你可以進行立體渲染,而不是分別渲染兩個物體,但我們大多數的開發者都使用Unity。

不過,這裡的問題是,所有PC平臺的引擎都對於CPU的要求較高,比很多手遊引擎需求更高。另一個方面,在PC或者主機平臺,你可以修改到遊戲運行讓你滿意為止,而在手遊平臺你必須註意CPU消耗問題,所以,你必須在遊戲質量方面做出一些妥協,如果你的遊戲按照最高配置研發的話,很可能在大多數的手遊設備上運行不瞭多久就會產生高溫問題。

開發商們因該怎麼應對這個問題?

我們目前的計劃是,如果你的遊戲使用瞭太多的設備性能,最終達到瞭一個溫度極限,你的遊戲可以發出通知,在UI裡向玩傢發出警告。我們還沒有決定這個消息應該怎麼寫,因為很明顯三星不希望看到溫度方面的字眼,但我們可以說‘系統資源不足’等,玩傢看到之後可以決定結束遊戲,或者調到低效模式進行遊戲。

這個問題是非常需要解決的,而且也會是非常有趣的,因為我們還不知道會有多少用戶喜歡手機平臺的VR遊戲,我們希望開發者們做一些簡單的小遊戲,因為這樣可以很好的運行在手遊設備上。而且移動開發商們還有另一個優勢,由於我們移動版沒有定位追蹤功能,所以很多人不會擔心他們的隱私問題。

在PC平臺,有很多人關註VR研發,他們很註重創意方面,這樣是非常好的,但如果他們其中一些人想做VR手遊的話,我的建議是調整研發方式,要考慮設備CPU和GPU的性能問題。

Comments are closed.