เปลี่ยนลักษณะที่เนื้อหาปรากฏตามประเภทการแสดงผล

อุปกรณ์ 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.
    }
}

ดูข้อมูลเพิ่มเติม