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 ตัวอย่าง
โคลนหรือดาวน์โหลด ARCore SDK สำหรับ iOS จาก GitHub เพื่อดูโค้ดแอปตัวอย่าง
เปิดหน้าต่างเทอร์มินัลหรือเครื่องมือค้นหา และไปยังโฟลเดอร์ที่คุณโคลนหรือดาวน์โหลด SDK
คุณสามารถดูตัวอย่างโค้ดของแอปได้ใน
/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 ในแอปตัวอย่าง
- ทำตามวิธีการเพิ่ม Firebase ลงในแอปของ Firebase
- ดาวน์โหลดไฟล์
GoogleService-Info.plist
ที่สร้างขึ้น ซึ่งเป็นส่วนหนึ่งของ การเพิ่ม Firebase ลงในแอป - เปิดใช้พื้นที่เก็บข้อมูล Firebase สำหรับตัวอย่าง
- ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่คุณตั้งค่าไว้สำหรับแอปตัวอย่าง
- เลือกแผง Database
- คลิก Get Started ในตัวเลือก Realtime Database
- เมนู Security rules for Realtime Database จะเปิดขึ้น
- เลือก Start in test mode เพื่อวัตถุประสงค์ในการเรียกใช้ตัวอย่าง
- โปรดทราบว่าหากใช้ Firebase สำหรับแอปที่วางแผนจะเผยแพร่ คุณควรใช้กฎความปลอดภัยที่เข้มงวดกว่า
- ใน Xcode ให้เพิ่มไฟล์
GoogleService-Info.plist
ลงในแอปถัดจากInfo.plist
ตั้งค่า ARCore API
หากต้องการใช้ Cloud Anchor คุณจะต้องตั้งค่า ARCore API สำหรับแอปพลิเคชันก่อน
เรียกใช้การอัปเดตพ็อด
แอป CloudAnchorExample จะจัดส่งมาพร้อมกับ Podfile
ที่กำหนดค่าล่วงหน้าด้วย ARCore SDK และเวอร์ชัน iOS ที่คุณจำเป็นต้องใช้ วิธีติดตั้งการอ้างอิงเหล่านี้
- เปิดหน้าต่างเทอร์มินัลและเรียกใช้
pod update
จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode อยู่
การดำเนินการนี้จะสร้างไฟล์.xcworkspace
ที่คุณจะใช้ในการสร้างและเรียกใช้แอปในภายหลัง
โปรดดูรายละเอียดการกำหนดค่า Podfile
ในแอปของคุณเองที่เพิ่ม ARCore SDK ลงในแอป
เปิดไฟล์
.xcworkspace
สำหรับโปรเจ็กต์ใน Xcodeโปรดตรวจสอบว่าคุณสร้างจากไฟล์
.xcworkspace
ไม่ใช่ไฟล์.xcodeproj
เพื่อหลีกเลี่ยงข้อผิดพลาดของรุ่น
เปลี่ยนรหัส App Bundle
ใน Xcode ให้เปลี่ยนรหัสชุดของแอปเพื่อให้คุณลงนามแอปกับทีมได้
สร้างและเรียกใช้แอป
เชื่อมต่ออุปกรณ์แล้วเปิดแอปใน Xcode
(ไม่บังคับ) หากคุณกำลังสร้างและเรียกใช้แอปตัวอย่าง ให้ดูรายละเอียดการใช้แอปเพื่อโฮสต์และแก้ไข Cloud Anchor ที่ส่วนต่อไปนี้
ลองใช้แอปตัวอย่าง
สร้างและเรียกใช้แอปตัวอย่างจากไฟล์
.xcworkspace
เพื่อเปิดใช้งานในอุปกรณ์ให้สิทธิ์กล้องแก่แอปหากได้รับข้อความแจ้ง จากนั้น ARKit จะเริ่มตรวจหาระนาบที่อยู่หน้ากล้อง
แตะ HOST เพื่อเข้าสู่โหมดโฮสติ้ง ระบบจะสร้างรหัสห้องสำหรับการแชร์ Anchor ที่โฮสต์ไว้ และจะปรากฏขึ้นบนหน้าจอ
แตะเครื่องบินเพื่อเริ่มโฮสต์ Anchor ของระบบคลาวด์ไว้ที่นั่น
- แอปวางออบเจ็กต์ Android ของ Andy ไว้บนเครื่องบินและติดสมอเรือ
- ระบบจะส่งคำขอโฮสต์ไปยังปลายทางระบบคลาวด์ ARCore API คำขอของโฮสต์จะมีข้อมูลที่แสดงตำแหน่งของแท็ก Anchor ที่สัมพันธ์กับฟีเจอร์ด้านภาพที่อยู่ใกล้ตำแหน่งนั้น
- เมื่อโฮสต์ Anchor แล้ว จะได้รับรหัสที่ใช้ในการแก้ไข Anchor ของระบบคลาวด์ในพื้นที่ทำงานนี้
แตะ RESOLVE แล้วป้อนรหัสห้องเพื่อเข้าถึง Cloud Anchor ที่โฮสต์ก่อนหน้านี้สำหรับห้องนี้ โดยใช้อุปกรณ์เครื่องเดียวกันหรือเครื่องอื่น
- ระบบจะส่งคำขอแก้ปัญหาไปยังปลายทางระบบคลาวด์ ARCore API
- คำขอแก้ไขจะมีรหัส Cloud Anchor รวมอยู่ด้วย หากรหัสตรงกับ Anchor ที่โฮสต์และการแปลเสร็จสมบูรณ์ เซิร์ฟเวอร์จะแสดงการเปลี่ยนรูปแบบของ Anchor ในพิกัดในเครื่อง
- แอปตัวอย่างจะใช้การเปลี่ยนรูปแบบเพื่อเพิ่ม Anchor ลงในฉากและแสดงผลวัตถุเสมือนจริงที่แนบอยู่
เพิ่ม ARCore SDK ลงในแอป
ในแอปของคุณเอง คุณจะต้องอัปเดต Podfile
ให้มี ARCore SDK และการกำหนดเวอร์ชัน iOS ที่รองรับ โดยทำดังนี้
เพิ่ม
platform
และpod
ต่อไปนี้ลงในPodfile
ของโปรเจ็กต์platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.44.0'
- เปิดหน้าต่างเทอร์มินัลและเรียกใช้
pod update
จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode อยู่
การดำเนินการนี้จะสร้างไฟล์.xcworkspace
ที่คุณใช้สร้างและเรียกใช้แอป
Anchor ของระบบคลาวด์ถาวร
ตามที่อธิบายไว้ในโฮสต์ Cloud Anchor ที่มีการทำงานต่อเนื่อง คุณให้ Anchor ของระบบคลาวด์มีอายุการใช้งานสูงสุด 365 วันได้ โค้ดตัวอย่างสำหรับการใช้ Anchor ของระบบคลาวด์ถาวรอยู่ที่ไดเรกทอรี /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
ใน ARCore SDK สำหรับ iOS จาก GitHub
ขั้นตอนถัดไป
ดูคู่มือนักพัฒนาซอฟต์แวร์ Cloud Anchor สำหรับ iOS เพื่อดูตัวอย่างโค้ดของแอปและดูข้อมูลเพิ่มเติมเกี่ยวกับการทำงานร่วมกับ Cloud Anchor ในแอปของคุณเอง
ตรวจสอบรายละเอียดได้ในข้อมูลอ้างอิงของ ARCore iOS API