การทำงานกับ Anchor

ใช้ Anchor เพื่อทำให้วัตถุเสมือนจริงดูเหมือนอยู่กับที่ในฉาก AR

เหตุใดจึงควรใช้ Anchor

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

Anchor ช่วยดูแลให้วัตถุต่างๆ อยู่ในตำแหน่งและการวางแนวเดิมในอวกาศ ช่วยให้คุณรักษาภาพลวงตาของวัตถุเสมือนจริงที่วางอยู่ในโลกจริงได้

วิธีการทำงานของ Anchor

ถ้าคุณเพิ่งเริ่มใช้สมอ การทบทวนอวกาศและท่าทางต่างๆ บนโลกก็มีประโยชน์เช่นกัน

  • อวกาศ

    • พื้นที่ในพิกัดที่มีการวางตำแหน่งกล้องและวัตถุ
    • ตำแหน่งกล้องและวัตถุจะอัปเดตในพื้นที่ว่างรอบโลกจากเฟรมถึงเฟรม
  • โพส

    • แสดงตำแหน่งและการวางแนวของวัตถุในอวกาศ
    • เรียกอีกอย่างว่า Transform ใน iOS

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

คุณแนบวัตถุกับแท็ก Anchor นี้อย่างน้อย 1 รายการ สมอเรือและวัตถุที่ติดอยู่กับตัวยึดนั้น จะคงอยู่ทุกที่ในโลก ขณะที่ Anchor จะปรับให้เข้ากับการอัปเดตอวกาศในแต่ละเฟรม จุดยึดก็จะอัปเดตท่าทางของวัตถุให้สอดคล้องกัน

คุณแนบวัตถุหลายรายการกับ Anchor เดียวกันได้เพื่อให้วัตถุเหล่านี้รักษาตำแหน่งและการวางแนวแบบสัมพัทธ์ไว้ได้ แม้ว่าท่าทางของจุดยึดจะมีการปรับเปลี่ยนก็ตาม

ใช้แท็ก Anchor ในฉาก

หากต้องการใช้ Anchor ในฉาก โค้ดของคุณควรมีลักษณะดังนี้

  • สร้าง Anchor ในบริบทของตำแหน่งที่ติดตามได้ (เช่น เครื่องบิน) หรือเซสชัน ARCore
  • แนบวัตถุกับ Anchor อย่างน้อย 1 รายการ

จุดยึดรองรับลักษณะการทำงานตามตำแหน่งแบบต่างๆ ในวัตถุในฉากได้

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

เลือกบริบทการเชื่อมโยง

เพิ่มจุดยึดในฉากโดยใช้เซสชันที่ติดตามได้หรือ ARCore

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

ตรึงออบเจ็กต์อย่างน้อย 1 รายการ

คุณสามารถแนบวัตถุกับ Anchor อย่างน้อย 1 วัตถุ โดยทั่วไป วัตถุเหล่านี้มีความสัมพันธ์เชิงพื้นที่กับรายการใดรายการหนึ่งต่อไปนี้

  • กันและกัน
  • เครื่องบินที่ติดตามได้ เช่น เครื่องบิน
  • ตำแหน่งในอวกาศของโลก

หลักเกณฑ์โฆษณา Anchor

ความสมจริงและประสิทธิภาพของแอปจะได้รับประโยชน์จากการใช้ Anchor อย่างมีประสิทธิภาพและประสิทธิผล

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

การใช้เฉพาะจุดยึดที่คุณต้องการจะช่วยลดต้นทุนของ CPU

ใช้แท็ก Anchor ซ้ำหากเป็นไปได้

ในกรณีส่วนใหญ่ คุณควรใช้ Anchor เดียวกันสำหรับออบเจ็กต์ใกล้เคียงหลายรายการ แทนที่จะสร้าง Anchor ใหม่สำหรับแต่ละออบเจ็กต์

ใช้ Anchor ใหม่สำหรับวัตถุหากวัตถุต้องรักษาความสัมพันธ์เชิงพื้นที่ที่ไม่ซ้ำกันกับตำแหน่งที่ติดตามได้หรือตำแหน่งในอวกาศในโลก

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

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

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

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

ให้วัตถุอยู่ใกล้กับจุดยึด

เมื่อยึดวัตถุ ให้ดูว่าวัตถุนั้นอยู่ใกล้กับจุดยึดที่คุณใช้ หลีกเลี่ยงการวางวัตถุให้ห่างจากจุดยึดมากกว่า 8 เมตร (8 เมตร) หรือ 26 ฟุต (26 ฟุต) เพื่อป้องกันการเคลื่อนที่ในการหมุนที่ไม่คาดคิดเนื่องจากการอัปเดตของ ARCore กับพิกัดอวกาศของโลก

ถ้าคุณต้องการวางวัตถุให้ห่างจากจุดยึดที่มีอยู่มากกว่า 8 เมตร ให้สร้างสมอเรือให้ใกล้กับตำแหน่งนี้มากขึ้นและแนบวัตถุกับจุดยึดใหม่

ถอดจุดยึดที่ไม่ได้ใช้ออก

ถอดจุดยึดที่คุณไม่ต้องการอีกต่อไปเพื่อให้แอปของคุณมีประสิทธิภาพมากขึ้น

แอปของคุณจะมีต้นทุน CPU สําหรับเนื้อหาที่ติดตามได้ทุกรายการ และ ARCore จะไม่เผยแพร่โฆษณาที่ติดตามได้ซึ่งมี Anchor ที่แนบอยู่

ประเภทของ Anchor

ประเภท Anchor จะแตกต่างกันไปตามขอบเขตที่ถูกต้อง ซึ่งมีตั้งแต่ระดับท้องถิ่นไปจนถึงทั่วโลก

  • แท็ก Anchor ในเครื่องจะจัดเก็บไว้กับเครื่องและจะใช้ได้สำหรับอินสแตนซ์ดังกล่าวของแอปเท่านั้น และผู้ใช้ต้องอยู่ในตำแหน่งที่วาง Anchor ไว้

  • Cloud Anchor จัดเก็บไว้ใน Google Cloud และอาจแชร์ระหว่างอินสแตนซ์ของแอปได้ ผู้ใช้ต้องอยู่ในตำแหน่งที่มีการวาง Anchor

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