?? 由 文心大模型 生成的文章摘要

為 Gear VR 設(shè)計(jì)游戲和體驗(yàn)是一件非常有挑戰(zhàn)的事情。由于移動(dòng)渲染力的限制,三角形數(shù)量和著色器都需要經(jīng)過小心的優(yōu)化。虛擬現(xiàn)實(shí)渲染中的一個(gè)比較浪費(fèi)渲染力的地方就是你需要為雙眼在略微不同的角度針對(duì)同一場(chǎng)景進(jìn)行重復(fù)渲染。這種“雙目視差”能給用戶帶來景深立體的感覺 – 左眼和右眼都能從稍微不同的位置看到同一個(gè)物體,然后大腦就能夠把這種區(qū)別解析為物體到自己面前的距離。
這種左右眼之間看到的差異,對(duì)距離自己較近的物體,差別還是比較大的;但隨著物體越來越遠(yuǎn)這種差別也會(huì)越來越小。雙眼之間的距離 – 以及生成的像素 – 也在物體離自己越來越遠(yuǎn)時(shí)差別相對(duì)越來越小。為了利用這一點(diǎn),我們制作了一個(gè) Unity 的樣品和一個(gè)改進(jìn)后的 UE4 移動(dòng)前置渲染器,來為近處物品進(jìn)行立體渲染(為兩眼分別渲染一次),同時(shí)為遠(yuǎn)處物體進(jìn)行單目渲染(為兩眼同時(shí)渲染一次)。在這里我們會(huì)解釋一些我們?cè)谥谱鬟@個(gè)單目渲染樣品過程中的一些選擇,以及一些折衷的妥協(xié)。
UE4 移動(dòng)設(shè)備渲染器
我們?cè)诖碜笥已鄣牧Ⅲw攝像機(jī)位中間放置了第三個(gè)攝像機(jī)位。這三個(gè)機(jī)位在一條線上,這樣它們的視角才能匹配上。對(duì)于 Gear VR,兩只眼睛的攝像機(jī)的視椎體都是左右對(duì)稱的,因此中間這個(gè)攝像機(jī)位的投射矩陣和雙眼立體攝像機(jī)的投射矩陣也是一樣的。在 Rift 上,兩眼的攝像機(jī)位視椎體則是非對(duì)稱的(靠?jī)?nèi)朝鼻子這個(gè)角度,比靠外的角度要稍小一些),因此中間這個(gè)平面攝像機(jī)位的視椎體實(shí)際上是左右眼視椎體的集合體。這包括了兩眼看到的所有物體,但是也導(dǎo)致了它渲染出來的目標(biāo)會(huì)比兩只眼分別渲染的目標(biāo)要稍微大些。
我們?cè)黾恿艘粋€(gè)分裂平面,來選擇哪些內(nèi)容會(huì)被用雙眼立體攝像機(jī)來渲染,而哪些內(nèi)容會(huì)用中間的平面攝像機(jī)來渲染。我們發(fā)現(xiàn)用10米來作為默認(rèn)值效果還不錯(cuò)(十米內(nèi)立體渲染,十米外平面渲染)。這個(gè)距離值可以在游戲中任意幀被隨意修改,也可以在編輯器中的 World Settings / VR / Mono Culling Distance 下進(jìn)行配置。
我們還修改了 UE4 針對(duì)移動(dòng)設(shè)備的前向渲染器來達(dá)到以下效果:
1.用立體攝像機(jī)來渲染非透明內(nèi)容。
2.通過改變和結(jié)合輸出來制作一個(gè)平面的遮罩。這個(gè)遮罩也會(huì)預(yù)先設(shè)定平面的深度緩存。
3.用平面攝像機(jī)來渲染非透明內(nèi)容。
4.把平面攝像機(jī)的結(jié)果整合進(jìn)立體的緩存里。
5.立體化渲染所有的透明內(nèi)容,并進(jìn)行所有的后期處理。








