การทดสอบ Hit นำวัตถุเสมือนจริงมาอยู่ในโลกแห่งความเป็นจริง

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

เนื้อหา AR จะต้องวางและปรับขนาดให้ถูกต้องเพื่อให้กลมกลืนเป็นฉาก เช่นเดียวกับวัตถุในโลกจริง วัตถุเสมือนจริงที่อยู่ห่างออกไปควรมีขนาดเล็กลง คุณสามารถทำ Hit-Test (หรือ raycast ใน AR Foundation for Unity) เพื่อกำหนดตำแหน่งที่ถูกต้องของวัตถุ 3 มิติในฉาก การวางตำแหน่งที่ถูกต้องช่วยให้มั่นใจได้ว่าเนื้อหา AR จะแสดงผลในขนาดที่เหมาะสม (ชัดเจน)

Hit-Tests จะหาจุดตัดระหว่างเรขาคณิต 3 มิติในชีวิตจริงและรังสีเสมือนที่ประกอบด้วยจุดเริ่มต้นและทิศทาง การบันทึกเสียงจากกล้องของอุปกรณ์เป็นแหล่งที่มาที่ใช้กันโดยทั่วไปมากที่สุด แม้ว่า ARCore จะมี API สำหรับการทดสอบ Hit ด้วยรังสีที่กำหนดเองในพิกัดอวกาศของโลก

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

เนื้อหาของผลลัพธ์ Hit

ผลลัพธ์ของ Hit แต่ละรายการจะแสดงเป็นรายการที่มีข้อมูลต่อไปนี้สำหรับผลลัพธ์แต่ละรายการ

  • ระยะทางจากจุดเริ่มต้นของรังสีเป็นเมตร
  • การวางตำแหน่ง (ตำแหน่งและการวางแนว) ของผลลัพธ์ Hit
  • เรขาคณิต 3 มิติที่คุณตีในรูปแบบของการติดตาม

จากนั้นคุณสามารถใช้ผลลัพธ์ Hit ที่ต้องการเพื่อวางเนื้อหา 3 มิติอย่างสมจริงโดยใช้จุดยึด

ประเภทผลลัพธ์ Hit

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

ประเภทผลลัพธ์ Hit คำอธิบาย การวางแนว Use Case
ความลึก ใช้ข้อมูลความลึกจากฉากทั้งหมดเพื่อกำหนดความลึกและการวางแนวที่ถูกต้องของจุด ตั้งฉากกับพื้นผิว 3 มิติ วางวัตถุเสมือนจริงบนพื้นผิวที่กำหนดเอง (ไม่ใช่แค่บนพื้นและผนัง)
เครื่องบิน กระทบพื้นผิวแนวนอนและ/หรือแนวตั้งเพื่อกำหนดความลึกและการวางแนวที่ถูกต้องของจุด ตั้งฉากกับพื้นผิว 3 มิติ วางวัตถุบนเครื่องบิน (พื้นหรือผนัง) โดยใช้รูปเรขาคณิตเต็มของเครื่องบิน ต้องใช้สเกลที่ถูกต้องทันที สำรองสำหรับการทดสอบ Hit ความลึก
จุดสนใจ อาศัยฟีเจอร์ภาพรอบๆ จุดที่ผู้ใช้แตะเพื่อกำหนดตำแหน่งและการวางแนวที่ถูกต้องของจุด ตั้งฉากกับพื้นผิว 3 มิติ วางวัตถุบนพื้นผิวที่กำหนดเอง (ไม่ใช่แค่บนพื้นและผนัง)
ตำแหน่งทันใจ (Raycast แบบถาวร) ใช้พื้นที่หน้าจอในการวางเนื้อหา เริ่มแรกจะใช้ความลึกโดยประมาณที่แอปให้ไว้ ทำงานได้ในทันที แต่การโพสท่าและความลึกจริงจะเปลี่ยนไปเมื่อ ARCore กำหนดเรขาคณิตของฉากจริงได้ +Y ชี้ขึ้น ตรงข้ามกับแรงโน้มถ่วง วางวัตถุบนระนาบ (พื้นหรือผนัง) โดยใช้รูปทรงเรขาคณิตเต็มของระนาบ โดยจำเป็นต้องมีการวางตำแหน่งอย่างรวดเร็ว และประสบการณ์ที่ได้จะทนต่อความลึกและมาตราส่วนเริ่มต้นที่ไม่ทราบ

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

การทดสอบ Hit ใช้งานได้ในอุปกรณ์ที่รองรับ ARCore ทั้งหมด แต่การทดสอบ Hit ความลึกจะต้องใช้อุปกรณ์ที่รองรับความลึก

ใช้ผลลัพธ์ของ Hit เพื่อวางเนื้อหา AR

เมื่อได้รับผลลัพธ์ Hit แล้ว คุณจะใช้ท่าทางเป็นอินพุตเพื่อวางเนื้อหา AR ในฉากได้