不同類型的裝置有不同的顯示特性。應用程式可以檢查執行裝置的螢幕特性,調整內容,確保以最佳方式顯示。
顯示混合模式的類型
DisplayBlendMode 值說明圖像如何疊加在真實世界之上。這項顯示技術從根本上改變了數位內容與實體世界的融合方式。
加法混合
當目前的顯示混合模式為 ADDITIVE 時,黑色像素會顯示為透明。這通常用於配備透明鏡片的裝置,可讓使用者直接看到周遭環境。裝置只能在表面增加更多光線。
具體來說,這表示系統會將紅、綠、藍各個元件的像素值相加,將虛擬內容加入真實世界。系統會忽略 Alpha,黑色像素則會顯示為透明。
Alpha 混合
如果目前的顯示混合模式為 ALPHA_BLEND,系統會根據 Alpha 元件,透過 Alpha 混合像素值,將虛擬內容加入真實世界。XR 頭戴式裝置就是這種情況,這類裝置會使用不透明螢幕顯示內容。每個像素的亮度都可以控制,也可以設定為黑色。視啟用的空間環境而定,這些像素可能代表透過攝影機串流影像呈現的真實世界,或數位環境。
不顯示
當目前的顯示混合模式為 NO_DISPLAY 時,裝置無法顯示任何像素。
取得目前的 DisplayBlendMode
如要檢查有效的 DisplayBlendMode,請使用 XrDevice.getPreferredDisplayBlendMode:
val preferredDisplayBlendMode = XrDevice.getCurrentDevice(session).getPreferredDisplayBlendMode() when (preferredDisplayBlendMode) { ADDITIVE -> { // Virtual content is added to the real world by adding the pixel values for each of // Red, Green, and Blue components. Alpha is ignored. Black pixels will appear transparent. } ALPHA_BLEND -> { // Virtual content is added to the real world by alpha blending the pixel values based // on the Alpha component. } NO_DISPLAY -> { // Device doesn't have a display. } }