디스플레이 유형에 따라 콘텐츠 모양 변경

적용 가능한 XR 기기
이 가이드는 이러한 유형의 XR 기기를 위한 환경을 빌드하는 데 도움이 됩니다.
XR 헤드셋
유선 XR 글라스
오디오 및
디스플레이 안경

기기 유형에 따라 디스플레이 특성 유형이 다릅니다. 앱은 실행 중인 기기의 디스플레이 특성을 확인하여 콘텐츠를 조정함으로써 최상의 방식으로 표시되도록 할 수 있습니다.

디스플레이 블렌드 모드 유형

DisplayBlendMode 값은 이미지가 실제 세계 위에 오버레이되는 방식을 설명합니다. 디스플레이 기술은 디지털 콘텐츠가 물리적 세계와 혼합되는 방식을 근본적으로 바꿉니다.

가산 혼합

현재 디스플레이 블렌드 모드가 ADDITIVE이면 검은색 픽셀이 투명하게 표시됩니다. 이는 사용자의 환경이 사용자의 눈에 직접 전달되도록 하는 투명 렌즈가 있는 기기에서 주로 사용됩니다. 기기는 표면에 빛을 더할 수만 있습니다.

구체적으로, 이는 빨간색, 녹색, 파란색 구성요소 각각의 픽셀 값을 추가하여 가상 콘텐츠가 실제 세계에 추가된다는 것을 의미합니다. 알파는 무시되고 검은색 픽셀은 투명하게 표시됩니다.

알파 블렌딩

현재 디스플레이 혼합 모드가 ALPHA_BLEND인 경우 알파 구성요소를 기반으로 픽셀 값을 알파 혼합하여 가상 콘텐츠가 실제 세계에 추가됩니다. 불투명 디스플레이를 사용하여 콘텐츠를 렌더링하는 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.
    }
}

자세히 알아보기