คู่มือเฉพาะแพลตฟอร์ม
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
Unreal Engine
ในฐานะนักพัฒนาแอป AR คุณย่อมต้องการให้ผู้ใช้เห็นภาพเสมือนจริงที่ผสานรวมกับโลกแห่งความเป็นจริงได้อย่างราบรื่น เมื่อวางวัตถุเสมือนในฉาก ผู้ใช้ต้องการให้วัตถุนั้นดูเหมือนอยู่ในโลกแห่งความเป็นจริง หากคุณกำลังสร้างแอปสำหรับให้ผู้ใช้เลือกซื้อเฟอร์นิเจอร์ ก็คุณต้องการให้ผู้ใช้มั่นใจว่าเก้าอี้ที่กำลังจะซื้อจะพอดีกับพื้นที่ของตน
Depth API ช่วยให้กล้องของอุปกรณ์เข้าใจขนาดและรูปร่างของวัตถุจริงในฉาก แอปช่วยสร้างภาพที่มีความลึกหรือแผนที่ที่มีความลึก ซึ่งจะช่วยเพิ่มความสมจริงลงในแอปของคุณ คุณสามารถใช้ข้อมูลที่ได้จากรูปภาพความลึกเพื่อให้ผู้ใช้ได้รับประสบการณ์ที่สมจริงและน่าดึงดูด
กรณีการใช้งานสําหรับการพัฒนาด้วย Depth API
Depth API สามารถขับเคลื่อนการบดบังของวัตถุ การทำให้ผู้ใช้รู้สึกเหมือนอยู่ในเหตุการณ์จริงที่ดีขึ้น และการโต้ตอบแบบใหม่ที่ช่วยเพิ่มความสมจริงให้กับประสบการณ์ AR ต่อไปนี้คือวิธีใช้เครื่องมือนี้ในโปรเจ็กต์ของคุณ ดูตัวอย่างการใช้งานข้อมูลเชิงลึกได้ในฉากตัวอย่างในARCore Depth Lab ซึ่งสาธิตวิธีต่างๆ ในการเข้าถึงข้อมูลเชิงลึก แอป Unity นี้เป็นโอเพนซอร์สใน GitHub
เปิดใช้การบัง
การบดบังหรือการแสดงผลวัตถุเสมือนจริงที่อยู่หลังวัตถุในชีวิตจริงอย่างถูกต้องเป็นสิ่งสำคัญอย่างยิ่งต่อประสบการณ์ AR ที่สมจริง ลองนึกถึงแอนดี้เสมือนจริงที่ผู้ใช้อาจอยากใส่ไว้ในฉากที่มีกระโปรงท้ายข้างประตู เมื่อแสดงผลโดยไม่มีการบดบัง Andy จะซ้อนทับกับขอบของลำต้นอย่างไม่สมจริง หากใช้ความลึกของฉากและเข้าใจว่า Andy เสมือนจริงอยู่ห่างจากสิ่งรอบตัว เช่น ลำต้นไม้ เพียงใด คุณจะเรนเดอร์ Andy ได้อย่างแม่นยำด้วยการเกิดเงา ทำให้ Andy ดูเหมือนอยู่ในสภาพแวดล้อมจริงมากขึ้น
เปลี่ยนรูปแบบฉาก
พาผู้ใช้เข้าสู่โลกใหม่ที่น่าตื่นตาตื่นใจด้วยการเรนเดอร์เกล็ดหิมะเสมือนจริงให้เกาะอยู่บนที่วางแขนและหมอนของโซฟา หรือทำให้ห้องนั่งเล่นของผู้ใช้ปกคลุมไปด้วยหมอก คุณสามารถใช้ "ความลึก" เพื่อสร้างฉากที่แสงเสมือนจริงโต้ตอบ ซ่อนอยู่หลัง และจัดแสงวัตถุจริงอีกครั้ง
ระยะทางและความลึกของสนาม
หากต้องการแสดงว่าสิ่งหนึ่งอยู่ไกล คุณสามารถใช้การวัดระยะทางและเพิ่มเอฟเฟกต์ระยะชัดลึกได้ เช่น การเบลอพื้นหลังหรือพื้นหน้าของฉากด้วย Depth API
ให้ผู้ใช้โต้ตอบกับออบเจ็กต์ AR ได้
อนุญาตให้ผู้ใช้ "สัมผัส" โลกผ่านแอปของคุณโดยเปิดใช้เนื้อหาเสมือนจริงให้โต้ตอบกับโลกแห่งความเป็นจริงผ่านการชนและฟิสิกส์ วัตถุเสมือนผ่านสิ่งกีดขวางในสภาพแวดล้อมจริง หรือลูกปาเสมือนชนและกระเด็นใส่ต้นไม้ในชีวิตจริง เมื่อรวมการชนตามระดับความลึกเข้ากับหลักฟิสิกส์ของเกม คุณจะสร้างประสบการณ์ที่สมจริงได้
ปรับปรุง Hit-Test
คุณสามารถใช้ความลึกเพื่อปรับปรุงผลการทดสอบการแตะ การทดสอบการชนแบบระนาบใช้งานได้เฉพาะบนพื้นผิวระนาบที่มีพื้นผิวเท่านั้น ขณะที่การทดสอบการชนแบบเจาะลึกจะละเอียดมากขึ้นและทำได้แม้กระทั่งในพื้นที่นอกระนาบและพื้นผิวต่ำ เนื่องจาก Hit Test ของภาพใช้ข้อมูลความลึกจากฉากเพื่อกำหนดความลึกและการวางแนวที่ถูกต้องของจุด
ในตัวอย่างต่อไปนี้ Andys สีเขียวแสดงถึงการทดสอบการชนเครื่องบินแบบมาตรฐาน และ Andys สีแดงแสดงถึงการทดสอบการชนระดับความลึก
ความเข้ากันได้ของอุปกรณ์
Depth API ใช้ได้เฉพาะในอุปกรณ์ที่มีกำลังประมวลผลที่รองรับความลึก และต้องเปิดใช้ด้วยตนเองใน ARCore ตามที่อธิบายไว้ในเปิดใช้ความลึก
อุปกรณ์บางเครื่องอาจมีเซ็นเซอร์ความลึกของฮาร์ดแวร์ด้วย เช่น เซ็นเซอร์ Time-of-Flight (ToF) โปรดดูหน้าอุปกรณ์ที่รองรับ ARCore เพื่อดูรายการอุปกรณ์ล่าสุดที่รองรับ Depth API และรายการอุปกรณ์ที่มีเซ็นเซอร์ความลึกของฮาร์ดแวร์ที่รองรับ เช่น เซ็นเซอร์ ToF
รูปภาพความลึก
Depth API ใช้อัลกอริทึมความลึกจากการเคลื่อนไหวเพื่อสร้างรูปภาพความลึก ซึ่งจะให้มุมมอง 3 มิติของโลก พิกเซลแต่ละพิกเซลในรูปภาพความลึกจะเชื่อมโยงกับการวัดระยะห่างของฉากจากกล้อง อัลกอริทึมนี้จะจับภาพอุปกรณ์หลายภาพจากมุมต่างๆ และเปรียบเทียบเพื่อประมาณระยะทางไปยังพิกเซลแต่ละพิกเซลเมื่อผู้ใช้ย้ายโทรศัพท์ โดยจะเลือกใช้แมชชีนเลิร์นนิงเพื่อเพิ่มการประมวลผลความลึก แม้ว่าจะเคลื่อนไหวจากผู้ใช้เพียงเล็กน้อยก็ตาม นอกจากนี้ยังใช้ประโยชน์จากฮาร์ดแวร์อื่นๆ ที่อุปกรณ์ของผู้ใช้อาจมีด้วย หากอุปกรณ์มีเซ็นเซอร์ความลึกเฉพาะ เช่น ToF อัลกอริทึมจะผสานข้อมูลจากแหล่งที่มาทั้งหมดที่มีอยู่โดยอัตโนมัติ การทำเช่นนี้จะช่วยปรับปรุงภาพที่มีความลึกมากขึ้น และเพิ่มความลึกแม้ในขณะที่กล้องไม่ได้เคลื่อนที่ นอกจากนี้ ยังให้ภาพมีความลึกมากขึ้นบนพื้นผิวที่มีรายละเอียดน้อยหรือไม่มีรายละเอียด เช่น ผนังสีขาว หรือในฉากที่มีการเคลื่อนไหวโดยมีผู้คนหรือวัตถุเคลื่อนไหว
รูปภาพต่อไปนี้แสดงภาพจากกล้องของโถงทางเดินที่มีจักรยานติดผนัง และภาพแสดงผลของภาพความลึกที่สร้างจากภาพจากกล้อง พื้นที่สีแดงอยู่ใกล้กับกล้องมากกว่า ส่วนพื้นที่สีน้ำเงินอยู่ไกลกว่า
ความลึกจากการเคลื่อนไหว
ข้อมูลความลึกจะพร้อมใช้งานเมื่อผู้ใช้ย้ายอุปกรณ์ อัลกอริทึมสามารถประมาณความลึกได้อย่างแม่นยำและเชื่อถือได้ตั้งแต่ 0 ถึง 65 เมตร ผลลัพธ์ที่แม่นยําที่สุดจะเกิดขึ้นเมื่ออุปกรณ์อยู่ห่างจากฉากจริง 50 เมตรไปจนถึงประมาณ 5 เมตร ประสบการณ์ที่กระตุ้นให้ผู้ใช้ขยับอุปกรณ์มากขึ้นจะให้ผลลัพธ์ที่ดีขึ้นเรื่อยๆ
ได้รูปภาพความลึก
Depth API ช่วยให้คุณเรียกข้อมูลภาพความลึกที่ตรงกับเฟรมกล้องทุกเฟรมได้ รูปภาพความลึกที่ได้จะมีการประทับเวลาและขอบเขตการมองเห็นภายในเหมือนกับกล้อง ข้อมูลความลึกที่ถูกต้องจะใช้ได้หลังจากที่ผู้ใช้เริ่มเคลื่อนย้ายอุปกรณ์เท่านั้น เนื่องจากระบบจะรับข้อมูลความลึกจากการเคลื่อนไหว พื้นผิวที่มีองค์ประกอบน้อยหรือไม่มีองค์ประกอบ เช่น ผนังสีขาว จะเชื่อมโยงกับระดับความลึกที่ไม่แม่นยำ
สิ่งที่จะเกิดขึ้นหลังจากนี้
- โปรดดูARCore Depth Lab ซึ่งสาธิตวิธีต่างๆ ในการเข้าถึงข้อมูลเชิงลึก