อุปกรณ์แต่ละประเภทมีลักษณะการแสดงผลที่แตกต่างกัน แอปของคุณสามารถตรวจสอบลักษณะการแสดงผลของอุปกรณ์ที่แอปทำงานอยู่เพื่อปรับเนื้อหาให้มั่นใจว่าแสดงในลักษณะที่ดีที่สุดเท่าที่จะเป็นไปได้
ประเภทของโหมดผสมผสานการแสดงผล
ค่า 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. } }