由于分辨率不高導致的紗門效應一直是讓用戶詬病的VR體驗問題之一。這一現(xiàn)象是指用戶的人眼會直接看到顯示屏的像素點,就好比在紗門之后看東西一樣。那么,如何才能消除紗門效應呢?
先說結論:這種紗門效應是由像素不足的情況下,實時渲染引發(fā)的細線條舞動、高對比度邊緣出現(xiàn)分離式閃爍(sparkle distractingly)。
具體推導過程:
每個人的視場角都有些許差距,但大多都是水平210°,垂直100°。
pixel per degree(像素每度)——是指一度所包含的像素。
我們在3米距離內看電視、半米距離內操作電腦、一尺距離內玩手機,為什么看不出像素呢?
因為你視場角中的1°會看到60個像素,從而分辨不出像素感,60°才能達到『視網膜』級別的體驗。
在下圖中,每個格子代表水平視場角上的1°和垂直視場角上的1°的小方格。如果每一度上有60個像素,那么一個小方格是60×60個像素。
所以,水平的210°里,有210×60=12,600個像素,而垂直的100°里有100×60=6,000個像素。所以,理想的情況下我們需要12,600×6,000的畫面。
表面上看,這個數字遠遠超過我們現(xiàn)在的普遍分辨率要求。
現(xiàn)在市面上常見的手機是1080P的,我們就以nexus5和nexus6為例。
我們將nexus5插入cardboard第一代:nexus5的分辨率是1920×1080,cardboard第一代的FOV是85°。分割一下屏幕,2×960×1080,計算出每一度長度內所含像素,960px/85°≈11.3像素每度,1080px/85°≈12.7像素每度,由此得出nexus5+cardboard第一代的像素每度是12°。
再算把nexus6插入cardboard第二代:nexus6的分辨率是2560×1440,cardboard第二代的FOV是100°。分割一下屏幕,2×1280×1440,計算出每一度長度內所含像素,1280px/100°≈12.8像素每度,1440px/100°≈14.4像素每度,由此得出nexus6+cardboard第二代的像素每度是13°……
如果這樣算的話:
2013年nexus5的PPD12°,
2014年nexu6的PPD是13°,
看來每年增長一度?這樣2062年豈不是可以達到目標?
結果,2015年nexus6P分辨率和nexus6一樣?PPD還是只有14°!?納尼,你耍我!!?
……距離60°的PPD,遙遙無期了!?
回到現(xiàn)在的情況,每度只有13-14個像素的后果是,會讓VR中有很強的鋸齒(aliasing),從而產生了很粗糙的邊緣。又因為VR是實時渲染的,所以當你的頭微微轉動時,你感覺那條原本應該靜止的細線(或者某些物體的邊緣線)像在閃爍或者舞動一般。
而對比度很高的物體邊緣會出分離式閃爍(sparkle distractingly)——你會看到一個像素在RGB幾種高純度顏色之間閃爍,特別是你用了抗鋸齒(anti-alisaing)的時候,這種閃爍加劇。
通過上面的回答,得到的結論是,目前VR頭盔的紗門效應依然很難解決。但通過眼球追蹤等新技術,有望降低紗門效應。此外,如果VR游戲、應用足夠有吸引力的話,也可能達到“用戶沉浸進去就完全不會想起來”的效果。
(審核編輯: 林靜)
分享