VR中如何保證文字的『可讀性』?


1. 字要大(或者近), 因為現階段VR HMD的解析度不足

2. 世界空間中不要使用點陣字體(鋸齒嚴重), 推薦基於Distance Field的字體渲染方式

3. 不要使用Temporal AA, FXAA對世界空間文字更友好

4. 如果不顯示在世界空間, 可以使用Overlay技術, 相當於屏幕空間渲染


視頻鏈接:https://www.youtube.com/watch?v=-mcXAMDch7s

—————————————————————————————————————

一說到VR中的文字可讀性,大家會馬上想到文字大小。

但是,

  • 小到多小的字能夠保證可讀性?

  • 大到多大的字能夠讓用戶閱讀起來舒適呢?

這就需要仔細的考量和研究了。

隨著HMD的發展,每度視場角中能顯示的像素也越來越多,VR中的圖像越來越清晰,相應的VR中的字也就越來越小,越來越美觀和舒適。

(下圖,橫坐標為視場角中的度。一個PPD只有10的HMD上,可能一個字要佔你2度視場角才能保證閱讀舒適。而在將來視網膜級別的60PPD的HMD上,只需要佔你視場角0.4°的字,就能很舒適地閱讀了。)

我在《理想的VR頭顯需要達到多少解析度,才能消除紗門效應?現在做到了什麼程度?》中計算出nexus5和5X是12px/d,nexus6和6P是13px/d。

下圖是兩個反比例函數,上面的函數曲線是『保證閱讀舒適性』的字體大小所佔的視場角,下面的函數是『保證基本可讀性』的字體大小所佔的視場角。

而反比例函數的特點是,函數曲線上一點的橫坐標×縱坐標 = 一個固定的數值。

如果我們把PPD為10(1600×900HMD屏幕)作為最低標準,也就是上圖和函數和Y軸相交的部分,保證可讀性和保證舒適性的角度高(angular height)為1.5°和2.0°,可以算出保證可讀性所需要的字體像素為1.4×10=14px,保證舒適性所需要的字體像素為2.0×10=20px。

不同的字體、字體形狀、對比度、光學透鏡、渲染方法、……都會有很大的差別,但是都是20px的字最能保持舒適度(和設備沒關係)。

因為遊戲引擎是實時渲染模擬現實世界,所以單位是米,而不是像素。

所以就需要用到下面的等式:

字體高度(字體大小)和字體的距離之間能保證可讀性的關係。

繼續以nexus6為例,PPD =13px/degree,px=20 px。

PX/ppd=20/13

tan(20/13)=0.27

得出h=0.27d

然後你就可以把你想要放字的距離帶進去算了,

假設你戴著搭載nexus6P的daydream或者搭載S7的gearVR,PPD為13,參數為0.27,所以:

1米距離內的字,最佳大小是2.7厘米;

10米距離的字,最佳大小是27厘米。

……


新人問一句,用什麼軟體可以在VR中添加文字啊?想在全景照片和全景視頻中添加字幕


1,通過Uniyt引擎抗鋸齒

2,外發光


能用圖標的盡量別用文字,能用數字的盡量別用文字,能用符號的盡量別用文字······


推薦閱讀:

QQ空間為什麼會允許「僅自己可見」?
你知道超星學習通嗎?說說你對這個產品的感受?
如果讓你給 QQ 討論組增加功能,你會加什麼?
單獨請陌生人吃飯的產品,在國內能否靠譜?
不打廣告就能賣出去的產品,都有哪些特徵?

TAG:產品設計 | 交互設計 | 用戶研究 | 虛擬現實VR | 計算機圖形學 |