ความลึกทำให้สมจริง

คู่มือเฉพาะแพลตฟอร์ม

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

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

กรณีการใช้งานสําหรับการพัฒนาด้วย Depth API

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

เปิดใช้การบดบัง

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

เปลี่ยนโฉมฉาก

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

ระยะทางและความลึกของสนาม

หากต้องการแสดงว่าสิ่งหนึ่งอยู่ไกล คุณสามารถใช้การวัดระยะทางและเพิ่มเอฟเฟกต์ความลึกของสนาม เช่น การเบลอพื้นหลังหรือเบื้องหน้าของฉากได้ด้วย Depth API

เปิดให้ผู้ใช้โต้ตอบกับวัตถุ AR

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

ปรับปรุงการทดสอบการทํางาน

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

ในตัวอย่างต่อไปนี้ Andy สีเขียวแสดงการทดสอบการชนของเครื่องบินมาตรฐาน และ Andy สีแดงแสดงการทดสอบการชนเชิงลึก

ความเข้ากันได้ของอุปกรณ์

Depth API ใช้ได้เฉพาะในอุปกรณ์ที่มีกำลังประมวลผลที่รองรับความลึก และต้องเปิดใช้ด้วยตนเองใน ARCore ตามที่อธิบายไว้ในเปิดใช้ความลึก

อุปกรณ์บางเครื่องอาจมีเซ็นเซอร์ความลึกของฮาร์ดแวร์ด้วย เช่น เซ็นเซอร์ Time-of-Flight (ToF) โปรดดูหน้าอุปกรณ์ที่รองรับ ARCore เพื่อดูรายการอุปกรณ์ล่าสุดที่รองรับ Depth API และรายการอุปกรณ์ที่มีเซ็นเซอร์ความลึกของฮาร์ดแวร์ที่รองรับ เช่น เซ็นเซอร์ ToF

รูปภาพแบบ 3 มิติ

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

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

ความลึกจากการเคลื่อนไหว

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

รับภาพความลึก

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

สิ่งที่จะเกิดขึ้นหลังจากนี้

  • โปรดดูARCore Depth Lab ซึ่งสาธิตวิธีต่างๆ ในการเข้าถึงข้อมูลเชิงลึก