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

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

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

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

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

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

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

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

แปลงโฉมฉาก

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

ระยะทางและระยะชัดลึก

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

เปิดการโต้ตอบของผู้ใช้กับวัตถุ AR

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

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

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

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

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

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

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

รูปภาพที่มีความลึก

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

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

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

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

ได้ภาพที่มีความลึก

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

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

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