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 ตัวอย่าง
โคลนหรือดาวน์โหลด ARCore SDK สําหรับ iOS จาก GitHub เพื่อดูตัวอย่างโค้ดแอป
เปิดหน้าต่าง Terminal หรือ Finder และไปยังโฟลเดอร์ที่คุณโคลน หรือดาวน์โหลด SDK นี้แล้ว
คุณดูโค้ดแอปตัวอย่างได้ใน
/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 ในแอปตัวอย่าง
- ทําตามวิธีการของ Firebase สําหรับการเพิ่ม Firebase ลงในแอป
- ดาวน์โหลดไฟล์
GoogleService-Info.plist
ที่สร้างขึ้นเมื่อเพิ่ม Firebase ลงในแอป - เปิดใช้พื้นที่เก็บข้อมูลของ Firebase สำหรับตัวอย่าง
- ไปที่คอนโซล Firebase แล้วเลือกโปรเจ็กต์ที่คุณตั้งค่าไว้ แอปตัวอย่าง
- เลือกแผง Database
- ในตัวเลือก Realtime Database ให้คลิก Get Started
- เมนู 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 ที่โฮสต์ไว้ และปรากฏบนหน้าจอของคุณ
แตะเครื่องบินเพื่อเริ่มโฮสต์อุปกรณ์ยึดของคลาวด์ที่นั่น
- แอปวางวัตถุ Android ของแอนดี้บนเครื่องบินและติดสมอเรือ กับโมเดลนั้น
- ระบบจะส่งคำขอโฮสต์ไปยังปลายทางระบบคลาวด์ ARCore API คำขอของโฮสต์มีข้อมูลที่แสดงตำแหน่งของจุดยึดสัมพันธ์กับลักษณะที่มองเห็นได้ซึ่งอยู่ใกล้ๆ
- เมื่อโฮสต์หมุดแล้ว หมุดจะได้รับรหัสที่ใช้สำหรับการแก้ไขหมุดในระบบคลาวด์ในพื้นที่นี้
แตะ RESOLVE แล้วป้อนรหัสห้องเพื่อเข้าถึงก่อนหน้านี้ โฮสต์ Cloud Anchor สำหรับห้องนี้ โดยใช้อุปกรณ์เดียวกันหรือเครื่องอื่น
- ระบบจะส่งคำขอแก้ไขไปยังปลายทางระบบคลาวด์ของ ARCore API
- คำขอแก้ไขมีรหัสหมุดของข้อมูลในระบบคลาวด์ หากรหัสตรงกับ แท็ก Anchor ที่โฮสต์ไว้และการปรับให้เข้ากับท้องถิ่นเสร็จสมบูรณ์ เซิร์ฟเวอร์จะส่งกลับ เปลี่ยนจุดยึดในพิกัดท้องถิ่นของคุณ
- แอปตัวอย่างจะใช้การเปลี่ยนรูปแบบเพื่อเพิ่มแท็ก Anchor ลงในฉากและ แสดงผลวัตถุเสมือนที่แนบอยู่
เพิ่ม ARCore SDK ลงในแอป
ในแอปของคุณเอง คุณจะต้องอัปเดต Podfile
ให้รวม ARCore SDK และเวอร์ชัน iOS ที่รองรับ หากต้องการทำสิ่งต่อไปนี้
เพิ่ม
platform
และpod
ต่อไปนี้ลงในPodfile
ของโครงการ:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.0'
- เปิดหน้าต่างเทอร์มินัลและเรียกใช้
pod update
จากโฟลเดอร์ที่มีโปรเจ็กต์ Xcode
การดำเนินการนี้จะสร้างไฟล์.xcworkspace
ซึ่งคุณใช้เพื่อสร้างและ เรียกใช้แอป
หมุดเมฆแบบถาวร
ตามที่อธิบายไว้ในโฮสต์ Cloud Anchor แบบถาวร คุณสามารถกำหนดเวลาหมดอายุของ Cloud Anchor ได้สูงสุด 365 วัน โค้ดตัวอย่างสำหรับ
ที่ใช้ตัวยึดระบบคลาวด์แบบถาวรมีให้ใช้งานใน /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
ใน ARCore SDK สำหรับ iOS จาก GitHub
ขั้นตอนถัดไป
โปรดดูคู่มือนักพัฒนาซอฟต์แวร์ Cloud Anchor สำหรับ iOS เพื่อสำรวจโค้ดแอปและข้อมูลเพิ่มเติมเกี่ยวกับการทำงานกับ Cloud Anchor ในแอปของคุณเอง
ดูรายละเอียดได้ที่ข้อมูลอ้างอิงเกี่ยวกับ ARCore iOS API