การเริ่มต้นใช้งาน Cloud Anchor อย่างรวดเร็วใน iOS

ARCore Cloud Anchor API หรือบริการ ARCore Cloud Anchor เป็นความสามารถในการใช้ Anchor บนระบบคลาวด์สำหรับแอป iOS ซึ่งทำให้ ผู้ใช้ทั้งในอุปกรณ์ iOS และ Android สามารถแชร์ประสบการณ์ AR ร่วมกัน

คู่มือนี้แสดงวิธีการต่อไปนี้

  • ตั้งค่าสภาพแวดล้อมการพัฒนาซอฟต์แวร์ให้ทำงานร่วมกับ Cloud Anchor
  • ลองใช้โฮสติ้งและการแก้ไขแองเคอร์ในแอปตัวอย่าง

ข้อกำหนดเบื้องต้น

  • Xcode เวอร์ชัน 13.0 ขึ้นไป
  • CocoaPods 1.4.0 ขึ้นไปหากใช้ CocoaPods
  • อุปกรณ์ Apple ที่เข้ากันได้กับ ARKit ที่ใช้ iOS 12.0 ขึ้นไป (ต้องมีเป้าหมายการทำให้ iOS 12.0 ขึ้นไปใช้งานได้)

การใช้ Cloud Anchor

ขั้นตอนต่อไปนี้ใช้แอปตัวอย่างหมุดบนระบบคลาวด์เพื่อแสดงงานที่สำคัญสำหรับการกำหนดค่าและสร้างแอปที่รองรับหมุดบนระบบคลาวด์ของ ARCore

ดาวน์โหลดแอป Cloud Anchor ตัวอย่าง

  1. โคลนหรือดาวน์โหลด ARCore SDK สําหรับ iOS จาก GitHub เพื่อดูตัวอย่างโค้ดแอป

  2. เปิดหน้าต่าง Terminal หรือ Finder และไปยังโฟลเดอร์ที่คุณโคลน หรือดาวน์โหลด SDK นี้แล้ว

  3. คุณดูโค้ดแอปตัวอย่างได้ใน
    /arcore-ios-sdk-master/Examples/CloudAnchorExample

    โค้ดตัวอย่างแอปหมุดบนระบบคลาวด์แบบถาวรอยู่ใน
    /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample

การตั้งค่าเซสชัน

แอปตัวอย่างจะทํางานสําคัญต่อไปนี้เป็นส่วนหนึ่งของการตั้งค่าเซสชัน

  • กำลังสร้าง GARSession
  • การสร้าง ARSession และการเรียกใช้
  • การตั้งค่า ARSessionDelegate
  • ส่ง ARFrame ให้กับ GARSession ในเมธอด session:didUpdateFrame:

ตั้งค่าการแชร์รหัส Cloud Anchor

แอปตัวอย่าง Cloud Anchors ใช้ Firebase เพื่อแชร์รหัส Cloud Anchor ระหว่างอุปกรณ์ คุณใช้โซลูชันอื่นในแอปของคุณเองได้

วิธีตั้งค่าฐานข้อมูล Firebase ในแอปตัวอย่าง

  1. ทําตามวิธีการของ Firebase สําหรับการเพิ่ม Firebase ลงในแอป
  2. ดาวน์โหลดไฟล์ GoogleService-Info.plist ที่สร้างขึ้นเมื่อเพิ่ม Firebase ลงในแอป
  3. เปิดใช้พื้นที่เก็บข้อมูลของ Firebase สำหรับตัวอย่าง
    • ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่คุณตั้งค่าไว้ แอปตัวอย่าง
    • เลือกแผง Database
    • ในตัวเลือก Realtime Database ให้คลิก Get Started
    • เมนู Security rules for Realtime Database จะเปิดขึ้น
      • เลือก Start in test mode เพื่อวัตถุประสงค์ในการเรียกใช้ตัวอย่าง
      • โปรดทราบว่าหากคุณใช้ Firebase สําหรับแอปที่วางแผนจะเผยแพร่ คุณควรใช้กฎความปลอดภัยที่เข้มงวดมากขึ้น
  4. ใน Xcode ให้เพิ่มไฟล์ GoogleService-Info.plist ลงในแอปข้าง Info.plist

ตั้งค่า ARCore API

หากต้องการใช้ Cloud Anchor ก่อนอื่นคุณต้องตั้งค่าส่วน ARCore API สำหรับแอปพลิเคชันของคุณ

เรียกใช้การอัปเดตพ็อด

แอป CloudAnchorExample มาพร้อมกับ Podfile ที่กําหนดค่าไว้ล่วงหน้าด้วย ARCore SDK และ iOS เวอร์ชันที่คุณต้องการ วิธีติดตั้งการอ้างอิงเหล่านี้

  1. เปิดหน้าต่างเทอร์มินัลและเรียกใช้ pod update จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode
    การดำเนินการนี้จะสร้างไฟล์ .xcworkspace ที่คุณจะใช้ในภายหลังเพื่อสร้างและเรียกใช้แอป

ดูรายละเอียดเกี่ยวกับการกำหนดค่า Podfile ในแอปของคุณเองได้ที่เพิ่ม ARCore SDK ลงในแอป

  1. เปิดไฟล์ .xcworkspace ของโปรเจ็กต์ใน Xcode

    โปรดตรวจสอบว่าคุณสร้างจาก .xcworkspace เพื่อหลีกเลี่ยงข้อผิดพลาดในการสร้าง ไม่ใช่ไฟล์ .xcodeproj

เปลี่ยนรหัส App Bundle

ใน Xcode ให้เปลี่ยนรหัสแพ็กเกจของแอปเพื่อให้คุณลงนามในแอปร่วมกับทีมได้

สร้างและเรียกใช้แอป

  1. เชื่อมต่ออุปกรณ์และเปิดแอปใน Xcode

  2. (ไม่บังคับ) หากคุณกำลังสร้างและเรียกใช้แอปตัวอย่าง โปรดดูรายละเอียดเกี่ยวกับการใช้แอปเพื่อโฮสต์และแก้ไข Cloud Anchor ในส่วนต่อไปนี้

ลองใช้แอปตัวอย่าง

  1. สร้างและเรียกใช้แอปตัวอย่างจากไฟล์ .xcworkspace เพื่อเปิดแอปในอุปกรณ์

  2. ให้สิทธิ์กล้องแก่แอปหากได้รับข้อความแจ้ง จากนั้น ARKit เริ่มตรวจจับเครื่องบินที่อยู่หน้ากล้อง

  3. แตะ HOST เพื่อเข้าสู่โหมดโฮสติ้ง รหัสห้องสำหรับการแชร์ Anchor ที่โฮสต์ไว้ และปรากฏบนหน้าจอของคุณ

  4. แตะเครื่องบินเพื่อเริ่มโฮสต์อุปกรณ์ยึดของคลาวด์ที่นั่น

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

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

เพิ่ม ARCore SDK ลงในแอป

ในแอปของคุณเอง คุณจะต้องอัปเดต Podfile ให้รวม ARCore SDK และเวอร์ชัน iOS ที่รองรับ หากต้องการทำสิ่งต่อไปนี้

  1. เพิ่ม platform และ pod ต่อไปนี้ลงใน Podfile ของโครงการ:

        platform :ios, '11.0'
        pod 'ARCore/CloudAnchors', '~> 1.46.0'
    
  1. เปิดหน้าต่างเทอร์มินัลและเรียกใช้ pod update จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode
    การดำเนินการนี้จะสร้างไฟล์ .xcworkspace ซึ่งคุณใช้เพื่อสร้างและ เรียกใช้แอป

หมุดเมฆแบบถาวร

ตามที่อธิบายไว้ในโฮสต์ Cloud Anchor แบบถาวร คุณสามารถกำหนดเวลาหมดอายุของ Cloud Anchor ได้สูงสุด 365 วัน โค้ดตัวอย่างสำหรับ ที่ใช้ตัวยึดระบบคลาวด์แบบถาวรมีให้ใช้งานใน /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample ใน ARCore SDK สำหรับ iOS จาก GitHub

ขั้นตอนถัดไป