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

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

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

คิวการจัดแสง

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

ให้แสงเงา

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

แสงแวดล้อม

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

การไล่เฉดสี

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

ไฮไลต์สุดล้ำ

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

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

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

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

โหมด HDR ด้านสิ่งแวดล้อม

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

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

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

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

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

  3. คิวบ์แมป HDR สามารถใช้ในการแสดงภาพการสะท้อนในวัตถุที่เป็นโลหะแวววาว

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

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

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

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

     

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

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

แอมแปร์ฮาร์มอนิกทรงกลม

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

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

     

คิวบ์แมป HDR

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

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

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

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

           

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

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

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

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

สี

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

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

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