จัดแสงให้พอดี

คำแนะนำเฉพาะแพลตฟอร์ม

ส่วนสำคัญในการสร้างประสบการณ์ AR ที่สมจริงคือการจัดแสงให้เหมาะสม เมื่อวัตถุเสมือนจริงไม่มีเงาหรือมีวัสดุมันวาวซึ่งไม่สะท้อนกับพื้นที่โดยรอบ ผู้ใช้จะสัมผัสได้ว่าวัตถุนั้นไม่พอดี แม้จะอธิบายเหตุผลไม่ได้ก็ตาม เนื่องจากมนุษย์รับรู้ถึงการส่องไฟของวัตถุในสภาพแวดล้อมของตัวเองโดยไม่รู้ตัว Lighting Estimation API วิเคราะห์ภาพที่ระบุสำหรับคิวดังกล่าว โดยให้ข้อมูลรายละเอียดเกี่ยวกับแสงในฉาก จากนั้นคุณจะใช้ข้อมูลนี้ได้เมื่อแสดงภาพวัตถุเสมือนเพื่อให้แสงกับวัตถุดังกล่าวภายใต้สภาวะเดียวกันกับฉากที่วางอยู่ เพื่อให้ผู้ใช้มีสมาธิและมีส่วนร่วม

คำแนะนำการให้แสงสว่าง

Lighting Estimation API ให้ข้อมูลแบบละเอียดที่ให้คุณเลียนแบบการจัดแสงแบบต่างๆ เมื่อแสดงผลวัตถุเสมือน ปัจจัยเหล่านี้ได้แก่ เงา แสงแวดล้อม เฉดสี ไฮไลต์จุดเด่น และการสะท้อน

เงา

การให้แสงเงามักช่วยชี้นำและบอกผู้ชมว่าแหล่งกำเนิดแสงมาจากไหน

แสงแวดล้อม

แสงแวดล้อมคือแสงกระจายโดยรวมที่มาจากสภาพแวดล้อมโดยรอบ ทำให้เห็นทุกอย่างได้

การไล่เฉดสี

เฉดสีคือความเข้มของแสง เช่น ส่วนต่างๆ ของวัตถุเดียวกันอาจมีระดับแสงเงาที่แตกต่างกันในฉากเดียวกัน โดยขึ้นอยู่กับมุมที่สัมพันธ์กับผู้ชมและระยะห่างของวัตถุกับแหล่งกำเนิดแสง

ไฮไลต์สุดโดดเด่น

ไฮไลต์โดดเด่นคือส่วนแวววาวของพื้นผิวที่สะท้อนแหล่งกำเนิดแสงโดยตรง ไฮไลต์บนวัตถุที่เปลี่ยนไปตามตำแหน่งของผู้ชมในฉาก

การสะท้อนความรู้สึก

แสงจะสะท้อนออกจากพื้นผิวในลักษณะที่แตกต่างกัน ขึ้นอยู่กับว่าพื้นผิวนั้นมีคุณสมบัติเฉพาะ (สะท้อนแสงมาก) หรือกระจาย (ไม่ใช่สะท้อนแสง) ตัวอย่างเช่น ลูกบอลโลหะจะมีลักษณะโดดเด่นและสะท้อนสภาพแวดล้อมของลูกบอลอีกลูกหนึ่ง ส่วนอีกลูกหนึ่งที่ทาสีเทาแบบด้านๆ จะกระจายไป วัตถุในชีวิตจริงส่วนใหญ่มีคุณสมบัติเหล่านี้หลายอย่างผสมผสานกัน เช่น ลูกโบว์ลิ่งที่สับเปลี่ยนแล้วหรือบัตรเครดิตที่ใช้กันดี

พื้นผิวสะท้อนแสงยังตรวจจับสีจากสภาพแวดล้อมโดยรอบด้วย การลงสีวัตถุอาจได้รับผลกระทบโดยตรงจากการลงสีสภาพแวดล้อม ตัวอย่างเช่น ลูกบอลสีขาวในห้องสีน้ำเงินจะใช้โทนสีฟ้า

โหมด HDR สำหรับสภาพแวดล้อม

โหมดเหล่านี้ประกอบด้วย API แยกต่างหากที่ช่วยให้สามารถประเมินแสงได้แบบละเอียดและสมจริงสำหรับการจัดแสงตามทิศทาง แสงเงา ไฮไลต์ข้อมูลจำเพาะ และการสะท้อน

โหมด HDR สำหรับสภาพแวดล้อมใช้แมชชีนเลิร์นนิงเพื่อวิเคราะห์รูปภาพจากกล้องแบบเรียลไทม์และสังเคราะห์แสงแวดล้อมเพื่อรองรับการแสดงภาพวัตถุเสมือนที่สมจริง

โหมดการประมาณแสงนี้มีข้อดีดังนี้

  1. ไฟทิศทางหลัก หมายถึงแหล่งกำเนิดแสงหลัก ใช้เพื่อแคสต์เงาได้

  2. ฮาร์มอนิกแบบทรงกลมแวดล้อม แสดงพลังงานแสงแวดล้อมที่เหลืออยู่ในฉาก

  3. แผนที่คิวบ์ HDR ใช้แสดงผลภาพสะท้อนในวัตถุโลหะแวววาวได้

คุณสามารถใช้ API เหล่านี้ในการผสมผสานต่างๆ ได้ แต่ API เหล่านี้ได้รับการออกแบบเพื่อให้ใช้งานร่วมกันเพื่อให้ได้ผลลัพธ์ที่สมจริงที่สุด

ไฟทิศทางหลัก

API แสงทิศทางหลักจะคำนวณทิศทางและความเข้มของแหล่งกำเนิดแสงหลักของฉาก ข้อมูลนี้ช่วยให้วัตถุเสมือนในฉากสามารถแสดงไฮไลต์ของจุดเฉพาะในตำแหน่งที่เหมาะสม และส่งเงาไปในทิศทางที่สอดคล้องกับวัตถุจริงอื่นๆ ที่มองเห็นได้

หากต้องการดูวิธีการทำงาน ให้ลองพิจารณาภาพจรวดเสมือนเดียวกัน 2 ภาพนี้ ในรูปภาพทางด้านซ้าย มีเงาอยู่ใต้จรวด แต่ทิศทางของจรวดไม่ตรงกับเงาอื่นๆ ในฉาก เงาชี้ไปยังทิศทางที่ถูกต้องในจรวดทางด้านขวา นี่เป็นความแตกต่างที่เล็กน้อยแต่สำคัญ และมีผลต่อจรวดในฉาก เนื่องจากทิศทางและความเข้มของเงาตรงกับเงาอื่นๆ ในฉากมากกว่า

     

เมื่อแหล่งกำเนิดแสงหลักหรือวัตถุที่มีแสงกำลังเคลื่อนที่ การไฮไลต์จุดเด่นบนวัตถุจะปรับตำแหน่งแบบเรียลไทม์ซึ่งสัมพันธ์กับแหล่งกำเนิดแสง

นอกจากนี้ เงาตามทิศทางยังปรับความยาวและทิศทางที่สัมพันธ์กับตำแหน่งของแหล่งกำเนิดแสงหลัก เช่นเดียวกับที่ทำในชีวิตจริง ลองพิจารณาโมเดล 2 สิ่งนี้เพื่อสร้างตัวอย่างเอฟเฟกต์นี้ อันหนึ่งคือหุ่นเสมือนและของจริงอีกตัว หุ่นด้านซ้ายคือหุ่นเสมือนจริง

ฮาร์มอนิกแบบทรงกลมแวดล้อม

นอกจากพลังงานแสงจากแสงในทิศทางหลักแล้ว ARCore ยังให้ฮาร์มอนิกแบบทรงกลม ซึ่งแสดงถึงแสงแวดล้อมโดยรวมที่มาจากทุกทิศทางในฉาก ใช้ข้อมูลนี้ในระหว่างการแสดงภาพเพื่อเพิ่มคำแนะนำเล็กๆ น้อยๆ ที่จะแสดงคำจำกัดความของวัตถุเสมือน

ลองพิจารณาภาพ 2 ภาพนี้ของโมเดลจรวดเดียวกัน จรวดทางด้านซ้ายจะแสดงโดยใช้ข้อมูลการประมาณค่าแสงที่ตรวจพบโดย API แสงทิศทางหลัก จรวดทางด้านขวาจะแสดงโดยใช้ข้อมูลที่ตรวจพบโดย API แสงทิศทางหลักและฮาร์มอนิกแบบรอบข้าง จรวดตัวที่ 2 มีคำจำกัดความของภาพมากกว่าและกลมกลืนไปกับฉากมากขึ้นอย่างแนบเนียน

     

HDR คิวบ์แมป

ใช้แผนที่ลูกบาศก์ HDR เพื่อแสดงภาพสะท้อนที่สมจริงบนวัตถุเสมือนที่มีความมันวาวปานกลางถึงสูง เช่น พื้นผิวโลหะมันวาว แผนที่คิวบ์แมปยังส่งผลต่อการแรเงาและรูปลักษณ์ของวัตถุ เช่น วัสดุของวัตถุที่มีข้อมูลจำเพาะภายในสภาพแวดล้อมสีน้ำเงินจะสะท้อนถึงเฉดสีน้ำเงิน การคำนวณ Cubemap แบบ HDR ต้องใช้การคำนวณ CPU เพิ่มเติมเล็กน้อย

การใช้ตารางลูกบาศก์ HDR หรือไม่นั้นขึ้นอยู่กับสิ่งที่วัตถุสะท้อนสภาพแวดล้อม เนื่องจากจรวดเสมือนจริงเป็นโลหะ จึงมีส่วนประกอบของข้อมูลจำเพาะที่แข็งแกร่งซึ่งจะสะท้อนสภาพแวดล้อมรอบๆ ได้โดยตรง จึงได้ประโยชน์จากแผนที่คิวบ์ ในทางกลับกัน วัตถุเสมือนที่มีวัสดุด้านสีเทาหม่นนั้นไม่มีส่วนประกอบของข้อมูลจำเพาะเลย สีจะขึ้นอยู่กับองค์ประกอบการกระจายแสงเป็นหลัก และอาจไม่ได้รับประโยชน์จากแผนที่ลูกบาศก์

มีการใช้ Environmental HDR API ทั้ง 3 รายการเพื่อแสดงจรวดด้านล่าง ภาพคิวบ์ HDR จะช่วยให้คิวบ์สะท้อนแสงและช่วยไฮไลต์ให้วัตถุนั้นอยู่ในฉากอย่างเต็มที่

นี่คือจรวดรุ่นเดียวกันในสภาพแวดล้อมที่มีแสงต่างกัน ฉากเหล่านี้ทั้งหมดแสดงผลโดยใช้ข้อมูลจาก API ทั้ง 3 ประเภท โดยใช้เงาตามทิศทาง

           

โหมดความเข้มสภาพแวดล้อม

โหมดความเข้มสภาพแวดล้อมจะกำหนดความเข้มของพิกเซลเฉลี่ยและสเกลาร์การแก้สีของรูปภาพที่ระบุ โดยเป็นการตั้งค่าแบบคร่าวๆ ที่ออกแบบมาเพื่อกรณีการใช้งานที่การจัดแสงที่แม่นยำไม่สำคัญ เช่น วัตถุที่มีการจัดแสงให้สว่าง

ความเข้มของพิกเซล

จับความเข้มของแสงเฉลี่ยของพิกเซลในฉาก คุณใช้การจัดแสงนี้กับวัตถุเสมือนทั้งวัตถุได้

สี

ตรวจหาไวท์บาลานซ์สำหรับแต่ละเฟรม จากนั้น คุณสามารถแก้สีวัตถุเสมือน เพื่อให้วัตถุนั้นกลมกลืนไปกับการลงสีโดยรวมของฉากอย่างลื่นไหลมากขึ้น

การตรวจสอบสภาพแวดล้อม

การตรวจสอบสภาพแวดล้อมจะจัดระเบียบมุมมองของกล้อง 360 องศาในพื้นผิวของสภาพแวดล้อม เช่น แผนที่ลูกบาศก์ พื้นผิวเหล่านี้ก็สามารถใช้เพื่อให้แสงกับวัตถุเสมือนได้อย่างสมจริง เช่น ลูกบอลโลหะเสมือนที่ "สะท้อน" ห้องที่อยู่นั้น