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

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

คู่มือนี้จะแสดงวิธีทำสิ่งต่อไปนี้

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

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

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

การใช้ Cloud Anchor

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

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

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

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

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

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

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

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

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

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

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

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

  1. ทำตามวิธีการเพิ่ม Firebase ลงในแอปของ Firebase
  2. ดาวน์โหลดไฟล์ GoogleService-Info.plist ที่สร้างขึ้น ซึ่งเป็นส่วนหนึ่งของ การเพิ่ม Firebase ลงในแอป
  3. เปิดใช้พื้นที่เก็บข้อมูล Firebase สำหรับตัวอย่าง
    • ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่คุณตั้งค่าไว้สำหรับแอปตัวอย่าง
    • เลือกแผง Database
    • คลิก Get Started ในตัวเลือก Realtime Database
    • เมนู 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. แตะเครื่องบินเพื่อเริ่มโฮสต์ Anchor ของระบบคลาวด์ไว้ที่นั่น

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

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

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

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

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

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

Anchor ของระบบคลาวด์ถาวร

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

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