沉浸感可以算是對 VR 技術(shù)最簡潔的概括,在VR設(shè)計(jì)中有哪些技巧可以提升沉浸感?
Unity技術(shù)經(jīng)理羅志達(dá)《設(shè)計(jì)VR體驗(yàn)中的沉浸感》分享VR沉浸感內(nèi)容開發(fā)的10個設(shè)計(jì)建議及4個優(yōu)化技巧。
以下是VR陀螺整理的演講內(nèi)容(略有刪減)。
Unity技術(shù)經(jīng)理羅志達(dá)《VR沉浸感》:
我是Kelvin,我加入Unity 4年了,今年是第4年來這邊參加Unity,今天想要帶給各位的是VR沉浸感的分享,除了沉浸感之外我還會說明一些優(yōu)化技巧。
增強(qiáng)VR中的沉浸感 開發(fā)者與線下店如何做
沉浸感是什么? 沉浸感就是如何來說服你的大腦這是真的。但現(xiàn)實(shí)生活的技術(shù)上沒辦法達(dá)到?jīng)]有設(shè)備幫你轉(zhuǎn)移到另外一個場景,我們必須要仰賴很多設(shè)備,如VR頭盔、眼鏡、控制器、感應(yīng)器、體感設(shè)備。
假設(shè)你今天去線下體驗(yàn)店體驗(yàn),你去體驗(yàn)一個VR設(shè)備,你得戴上很多東西,才能感應(yīng)到嗅覺、視覺,你要欺騙你的大腦體感,你就必須戴手環(huán)、控制器。
假設(shè)今天你要做一個產(chǎn)品有一個很關(guān)鍵的點(diǎn),當(dāng)你沉浸感到比較高程度的時候,客戶會愿意花錢,在國內(nèi)我聽到的是如果要開線下店就開很多,3000間、5000間,但是內(nèi)容、設(shè)備不是很好,因?yàn)橐獡尶臁?
但是VR跟我們以往看到產(chǎn)品的市場不太一樣,國外比較成功的案例有幾個比較共同的特征。第一種就是每一個線下店都沒有很多,都是定點(diǎn)式的。比如說在紐約、東京某一個點(diǎn),且時間不會太久,三個月、兩個月、一個月,要營造出什么呢?你如果現(xiàn)在不來體驗(yàn),兩個月就沒了,所以它要把價格抬高,當(dāng)然內(nèi)容是非常好的。
他們在線下體驗(yàn)店消費(fèi)會高一點(diǎn),美國紐約的The Void的《捉鬼敢死隊(duì)》的體驗(yàn)是最貴的。假如你現(xiàn)在有3000家體驗(yàn)店,我根本不用去到就能夠知道這家體驗(yàn)店好不好玩?,F(xiàn)在有所謂的“生存能力”大部分都會營造高大上的感覺。
VR沉浸感的10個基礎(chǔ)建議
沉浸感有一些關(guān)鍵點(diǎn)是大家了解,但是卻沒有注意到的。
信任你的場景:場景重現(xiàn)
第一:信任你的場景,各位在開發(fā)VR內(nèi)容的時候一定是戴著頭盔或者是模擬去玩。假設(shè)戴上眼鏡之后玩家不信任你的場景,他腦袋就會知道這個是假的,會影響他付費(fèi)的意愿。
最好的變化就是把場景做的一模一樣,你在設(shè)計(jì)的時候必須要在策劃面上很小心,假設(shè)這個場景有個椅子,你就要在里面擺個椅子。你的場景設(shè)計(jì)會有蜘蛛絲,你就放一些蜘蛛絲。
移動:瞬移傳送或不移動
第二:移動,移動是開發(fā)者常犯的錯誤,因?yàn)橐苿硬缓米?。很多VR開發(fā)者都是由游戲開發(fā)者轉(zhuǎn)過去的,游戲開發(fā)者很習(xí)慣用鍵盤操作,設(shè)計(jì)一個鍵盤操作、搖控器操作的游戲。這樣最大問題是在于在VR里面因?yàn)槿说捏w感不只是手,可能水平、重力、聲音都會影響到沉浸感跟VR、3D暈眩。如果有10%的用戶不舒服,他到論壇去說不好玩,會頭暈,就會影響你的銷售。
越專業(yè)的開發(fā)者所做的內(nèi)容在移動方面越保守,我們看到非常多的研究單位一直不斷地在做新的機(jī)制,像無線回廊、空間定位等,目前看到針對游戲大部分比較常看到的是傳送,傳送是最安全,但說實(shí)在它在人的現(xiàn)實(shí)生活里面沉浸感不是那么好,但是也沒辦法。
假設(shè)你今天要做移動,要么就是不要強(qiáng)制人體移動這件事情,一定會有部分比例的玩家造成不舒服,所以大部分看到的游戲內(nèi)容都是禁止不動的。你會發(fā)現(xiàn)你們在商城看到的很多種體驗(yàn),過山車、賽車、高空彈跳,很多一部分是禁止不動的。因?yàn)槟_不動是最安全的,代表他不會走出去,暈眩感會比較好做。但是反過來代表大家做的都是一樣,硬件在發(fā)展、演算法在發(fā)展,未來這個問題一定會有所解決的。
控制器:默認(rèn)控制器上做額外設(shè)計(jì)
第三:控制器,控制器也是開發(fā)者很容易犯的錯誤。大部分的開發(fā)者直接拿默認(rèn)的控制器,所以你會看到游戲內(nèi)容有個搖桿。大部分比較厲害的開發(fā)者會針對這個問題再做一些修正。因?yàn)槭荈PS設(shè)計(jì)游戲,所以用槍,用槍的情況下希望不要用搖桿,所以把搖桿插在槍上。你的內(nèi)容在控制器上加一點(diǎn)點(diǎn)的巧思就會非常好玩。更好的方法是在控制器上做額外的設(shè)計(jì)。
手跟手之間的交互:最好不做
第四:手跟手之間的交互。這是最難的,有很多玩家希望做多人連線,多人連線會有問題,場景物件要推倒它是很容易的事情,但對方如果是另外一個玩家,你要跟他握手,這個時候物理會有障礙。
現(xiàn)在虛擬現(xiàn)實(shí)的技術(shù),所有的空間定位是針對本機(jī)的,所以我這邊的控制是依照我的頭盔、頭顯、控制器位移做控制的。如果我今天拍打?qū)Ψ降氖?,他沒辦法得到反饋。這樣一來就會變成很奇怪,你要做握手的行為會變的非常難,有些開發(fā)者想要實(shí)現(xiàn),但這件事情要特別小心。
味道:最好能有
第五:味道。味道有很多人是可以忽略的,設(shè)備是越少越好,但味道最好能有,假設(shè)你今天去醫(yī)院,有醫(yī)院的消毒水味道在空間,如果你去工廠會有油的味道在空間,它會增加沉浸感覺。
UI:參考真實(shí)空間
第六:UI。UI是使用者界面,這是大部分開發(fā)者也會犯的錯誤,UI制作放在場景里面,最好虛擬現(xiàn)實(shí)里面不要有,因?yàn)槲覀冋鎸?shí)生活環(huán)境就沒有那些東西,除非你是做比較特別的內(nèi)容,比如說本來就是虛擬現(xiàn)實(shí),外太空或者是未來的游戲場景。
如果你今天是做模擬賽車,現(xiàn)實(shí)生活中的賽車在真實(shí)空間里面沒有UI,就不要做。FPS開槍就真的給他看到彈夾有多少顆子彈,假設(shè)你今天的目的是為了讓他相信你的場景是真的話,不是說不要做,是依照你的內(nèi)容制作小心制作。
聲音:不見其人但聞其聲
第七:聲音。聲音部分很多人用耳機(jī),戴耳機(jī)有幾個重點(diǎn),第一,你可以用耳機(jī)去傳達(dá)你的游戲音效,同時也可以在環(huán)境里面做音效。
我們看到FPS設(shè)計(jì)游戲在場景里面要打大Boss,場景里面開槍打Boss聲音聽著很震撼,但是我來聽少了一點(diǎn)什么,Boss出場的時候會很厲害,有吼聲,有震動總地板傳過來我會覺得很害怕,因?yàn)楣肢F還沒出來聲音就先出來。如果是從重低音震動傳過來會感覺到它的步伐,加一點(diǎn)點(diǎn)巧思會讓你的聲音傳達(dá),沉浸感比較好一點(diǎn)。
重力感:國內(nèi)多 國外少
第八:重力感,重力感沒有辦法模擬,如果你沒有設(shè)備的話不要模擬設(shè)備,你有OK,但這種設(shè)備很麻煩,而且會影響到體驗(yàn)的裝配時間,國內(nèi)有非常多的公司做這種設(shè)備,可以去嘗試,國外比較少。國內(nèi)在體感設(shè)備的機(jī)器上會比較特別發(fā)展,在這一塊兒會有不一樣的驚人表現(xiàn)。
時間:與體驗(yàn)店息息相關(guān)
第九:時間,時間對體驗(yàn)來講也很重要,大排長龍的來線下體驗(yàn)店的人大部分都第一次體驗(yàn),所以你要教他怎么玩,跟他裝配這些設(shè)備大概要花掉90秒來穿戴,可能你的內(nèi)容是10分鐘,假設(shè)我們今天花了12分鐘,最好的情況下是周末可以達(dá)到12小時都不要停,這是很不錯的狀況,每個小時只有5個人可以體驗(yàn),一天只有60個人,請問各位你的票價要多少?你就可以知道這個店靠不靠譜,所以這些東西可以自己去算算看。
恐懼感:留下視覺
第十:恐懼感。國外有一些案例是這樣的,幫助有恐懼癥的人去接受治療,因?yàn)橛锌謶职Y的人會排斥。比如說居高癥、空間狹隘癥、怕蜘蛛、怕水,怕不是真的怕,大部分是心理因素。所以有些國外的心理機(jī)構(gòu)把剛剛那幾感統(tǒng)統(tǒng)抽掉,只剩眼睛。幾次療程以后的目的是讓他接受治療,而不是透過VR來治療他。
但關(guān)于沉浸感的這十點(diǎn)只是基礎(chǔ)的建議,因?yàn)閂R改變太快了,希望各位在這些基礎(chǔ)上去衍生出你自己的做法。
VR沉浸感的4個優(yōu)化技巧
再來就是講跟優(yōu)化相關(guān)的東西。我盡量收集的是沒有那么技術(shù)性的,但是非常重要的。
第一,因?yàn)閂R比較特別,它是端游的設(shè)備,但是必須要做到手游的品質(zhì),必須要兩個眼睛去渲染。很奇怪的是為什么用端游,最后跑出來的是暈眩感或者是交互沒有辦法像端游這么好。
因?yàn)閁nity里面有Resources,我建議用Resources做打包的行為,假設(shè)你要用Assets話就是在做你的原形或者做測試的時候可以用。它有很大的問題,它會打包成非常大的包,尤其是在最后一點(diǎn)Runtime之后會把包的內(nèi)容產(chǎn)生Index,永遠(yuǎn)放在內(nèi)存里面,它會有影響的。
第二,要采用Single pass,Unity里面有把兩個眼睛同時渲染的技術(shù),不管你是用哪個,一定要選擇某一個。因?yàn)檫@個會讓你的兩眼優(yōu)化比較好一點(diǎn),這個我們也是一直在做。
第三,內(nèi)存,尤其是紋理的內(nèi)存。不管端游、手游、VR,占內(nèi)存最大的就是紋理。從Unity5.3開始會有一個Memory frofiler在,下載點(diǎn)如果各位有興趣的話可以去搜尋,但是要5.3之后,我建議你是用最新版。如果你用Memory frofiler看你的項(xiàng)目的話,你會看到大塊的幾乎都是紋理,這個紋理可以幫助你做幾件事情。
如果你的內(nèi)存過大,可以先檢查大章的紋理,有可能是美術(shù)在制作紋理的時候畫太大了,或者在壓縮的時候沒有把它設(shè)置好。再就是你的紋理重復(fù)了,因?yàn)槊佬g(shù)跟程序是分開的,有可能美術(shù)畫完之后把資源導(dǎo)給程序員,導(dǎo)入之后沒有注意到同一個紋理不同的點(diǎn)匯入了之后,會重復(fù),內(nèi)存就爆了。
所以從Memory frofiler看到,假設(shè)你有兩個一樣的紋理,你可以點(diǎn)進(jìn)去看它的信息,第一個是名字一樣,我們再繼續(xù)往前檢查,第三個是Instance ID,這里很重要,是項(xiàng)目打開的時候才會產(chǎn)生的編號,假如你的編號是一樣的,就代表這絕對是重復(fù)的紋理。所以你可以請美術(shù)、程序把這邊調(diào)整一下,把InstanceID的相同的紋理刪掉,雖然這個圖一樣,但是是有不同的紋理匯入的,我的美術(shù)畫了一張一模一樣的東西,但是卻有不同模型產(chǎn)生的問題,是否要從美術(shù)端做修正。
大部分的VR開發(fā)者很喜歡做后置,做環(huán)境遮擋、光暈、柔焦、動態(tài)模糊,從Memory frofiler里面會產(chǎn)生中介的Buffr,這個buffr會依照你的屏幕產(chǎn)生,所以你會注意到這是手游客戶常發(fā)生的事情,他希望適配Ipad AIr,但是它的分辨率是2048×1536,所以在產(chǎn)生特效的時候開了這么大的內(nèi)存空間,可能使用的人可能是蘋果4、蘋果5比較小分辨率的屏幕,造成你的內(nèi)存用掉了很多,因?yàn)樗堑缺鹊?。假設(shè)你今天掃一半,相當(dāng)你的內(nèi)存掃了四分之三,你的內(nèi)存就爆掉,你只覺得套件不好用而已。
Unity已經(jīng)對外公開了一個叫Post processing stack,它的好處是什么呢?它會幫你把所有的特效疊成一層之后才送去GPU運(yùn)算,所以不管你疊幾層只算一個Memory Buffr。
問題最大的地方是什么呢?目前特效沒有很多,尤其是對VR柔邊沒有特效,這個套件有提供FXAA,也不錯。柔邊很大的問題是很多開發(fā)者在分辨率上特別計(jì)較柔邊效果,但是目前市面上能夠找到可以處理柔邊的效果包,大部分都沒有支持剛剛提到的勾。如果有支持的話效果會非常好,如果你找到套間沒有支持的話會變成效果不好,就會逼著你不要用,但是你的幀率會面臨很大的挑戰(zhàn),你必須要買很好的顯卡。所以你可以采用FXAA。這些列表是支持VR的,所以可以使用在VR的內(nèi)容上。
假設(shè)你今天希望的特效剛剛那個列表沒有,只好自己寫,你在做VR特效的時候會發(fā)現(xiàn)有很多特效上面寫非常厲害,但應(yīng)用在VR特效里面會有問題。
很多開發(fā)者都是用預(yù)色值,很多的紋理匯入之后很多勾。我們默認(rèn)這些東西是有原因的,第一個是Read/Write enabled,CPU來運(yùn)算的時候必須把紋理從GPU調(diào)用到CPU來,會耗時間,打了這個勾之后會減少時間。打了這個勾之后內(nèi)存會重新消耗一份,所以這個勾在紋理里面最好是依照需求來勾,除非你那個地方要做物理運(yùn)算才需要。
再就是Mipmaps,遠(yuǎn)看的話會切換,默認(rèn)值沒辦法依照每個人的需求不同。
第四就是模型。你會發(fā)現(xiàn)Read/Write Enabled本來就是打勾的,如果你這個東西沒有太復(fù)雜的運(yùn)算的話,你取消了它的勾,當(dāng)然也沒有變化。
你的模型在匯入的時候都會有骨架,每一個骨架都會占用資源,最好情況下是要用的骨架才顯示出來。這個時候只要把設(shè)置改為在匯入的時候一改,會把所有的骨架縮起來,你只要把你要用的放在白名單里面會縮起來,在整體的效能上會好很多,尤其是你的場景里面有好幾百個人的時候,好幾百個人的骨架都像剛剛這么多的時候會出問題。
以上就是《設(shè)計(jì)VR體驗(yàn)中的沉浸感》的10個基礎(chǔ)建議和4 個優(yōu)化技巧。
謝謝各位!
關(guān)注微信公眾號:VR陀螺(vrtuoluo),定時推送,VR/AR行業(yè)干貨分享、爆料揭秘、互動精彩多。
投稿/爆料:tougao@youxituoluo.com
稿件/商務(wù)合作: 六六(微信 13138755620)
加入行業(yè)交流群:六六(微信 13138755620)