ตัวเลือกเสริมของแพ็กเกจ ARCore Extensions สำหรับ AR Foundation จะเพิ่มฟังก์ชันการทำงานลงในแพ็กเกจ AR Foundation ของ Unity ซึ่งจะช่วยให้คุณใช้ฟีเจอร์ต่างๆ เช่น Cloud Anchor ตัวกรองการกำหนดค่ากล้อง และการบันทึกและเล่นในแอปได้
ข้อกำหนด
คุณต้องมีสิ่งต่อไปนี้ในการพัฒนาด้วย ARCore Extensions for AR Foundation
Android
ฮาร์ดแวร์
- อุปกรณ์ Android ที่รองรับ ARCore
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
- Unity 2019.4.3f1 ขึ้นไป พร้อมการสนับสนุนของ Android Build
- AR Foundation 4.1.5 ขึ้นไป (ติดตั้งโดยอัตโนมัติด้วย ARCore Extensions for AR Foundation SDK)
- ปลั๊กอิน ARCore XR 4.1.5 ขึ้นไป (ติดตั้งโดยอัตโนมัติด้วย ARCore Extensions สำหรับ AR Foundation SDK)
iOS
ฮาร์ดแวร์
- อุปกรณ์ที่รองรับ ARCore ที่ใช้ ARKit ได้
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
- Unity 2019.4.3f1 ขึ้นไป พร้อมการรองรับบิลด์ของ iOS
- AR Foundation 4.1.5 ขึ้นไป (ติดตั้งโดยอัตโนมัติด้วย ARCore Extensions for AR Foundation SDK)
- ปลั๊กอิน ARKit XR 4.1.5 ขึ้นไป (ติดตั้งโดยอัตโนมัติด้วย ARCore Extensions สำหรับ AR Foundation SDK)
- Xcode 11.0 ขึ้นไป
ติดตั้งแพ็กเกจส่วนขยาย ARCore
ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งส่วนขยาย ARCore Extensions สำหรับ AR Foundation
ทรัพยากร Dependency แบบกลุ่ม
- ตรวจสอบว่าคุณได้ติดตั้งและกำหนดค่า AR Foundation ไว้ในสภาพแวดล้อมการพัฒนาแล้ว
- เปิดหรือสร้างโปรเจ็กต์ Unity ใหม่
- เลือกแพลตฟอร์มบิลด์เป้าหมายที่ต้องการ ดังนี้
- จากเมนู File ให้เลือก Build Settings
- เลือก Android หรือ iOS ขึ้นอยู่กับแพลตฟอร์มเป้าหมายที่ต้องการ
- คลิก Switch Platform
นำเข้าแพ็กเกจ ARCore Extensions ล่าสุด
- นำทางไปยัง Window > Package Manager
คลิกปุ่ม แล้วเลือกตัวเลือก Add package from git URL... จากเมนูแบบเลื่อนลง
วาง URL ต่อไปนี้ลงในช่องข้อความ
https://github.com/google-ar/arcore-unity-extensions.git
คลิก Add
ไม่มี EDM4U
โดยค่าเริ่มต้น ส่วนขยาย ARCore จะมาพร้อมกับทรัพยากร Dependency เพิ่มเติม เมื่อใช้ไลบรารีอื่นๆ (เช่น Firebase Analytics) ที่ต้องใช้ External Dependency Manager สำหรับ Unity เวอร์ชันอื่น อาจเกิดลักษณะการทำงานที่ไม่ระบุ ซึ่งทำให้ทรัพยากร Dependency ไม่ทำงานอย่างถูกต้อง
ติดตั้งส่วนขยาย ARCore โดยไม่ใช้ทรัพยากร Dependency เพื่อป้องกันความขัดแย้งในการกำหนดเวอร์ชันไลบรารี
- ดาวน์โหลดส่วนขยาย ARCore ที่ไม่มีรุ่น EDM4U และ
com.google.external-dependency-manager
- ทำตามวิธีการเกี่ยวกับการนำเข้าแพ็กเกจ UPM ที่มีไฟล์
.tgz
รายการ โดยติดตั้งแพ็กเกจตามลำดับต่อไปนี้com.google.external-dependency-manager
,- ส่วนขยาย ARCore (ไม่มี EDM4U)
เมื่อติดตั้ง ARCore Extensions Unity จะติดตั้งทรัพยากร Dependency ที่จำเป็นโดยอัตโนมัติด้วย
- AR Foundation
- ARCore XR Plugin (ใช้เมื่อกำหนดเป้าหมาย Android)
- ARKit XR Plugin (ใช้เมื่อกำหนดเป้าหมาย iOS)
ทรัพยากร Dependency เหล่านี้อาจไม่แสดงในมุมมอง Package Manager > Package: In project แต่จะดูแพ็กเกจได้ในหน้าต่าง Project ใต้ Packages
ตั้งค่าส่วนขยาย ARCore
AR Foundation 4.x
ในแผง Hierarchy ให้คลิกขวาและเพิ่มออบเจ็กต์เกมต่อไปนี้ (หากยังไม่ได้เพิ่ม)
- XR > AR Session
- XR > AR Session Origin
- XR > ARCore Extensions
ในแผง Hierarchy ให้เลือกแพ็กเกจ ARCore Extensions
ในช่อง Inspector ของช่องต่อไปนี้แต่ละช่อง ให้คลิกปุ่มเป้าหมาย และเชื่อมต่อแต่ละช่องกับออบเจ็กต์เกมที่เกี่ยวข้อง ดังนี้
- Session: ใช้ AR Session ของฉาก
- AR Session Origin: ใช้ AR Session Origin ของฉาก
- Camera Manager: ใช้ AR Camera ของฉาก
สร้างและเชื่อมต่อเนื้อหาต่อไปนี้สำหรับ Cloud Anchor และตัวกรองการกำหนดค่ากล้อง (ไม่บังคับ)
ในแผง Project > Assets ให้คลิกขวา แล้วเลือก Create > XR > ARCore Extensions Config
ในแผง Project > Assets ให้คลิกขวา แล้วเลือก Create > XR > Camera Config Filter
ในแผง Hierarchy ให้เลือกแพ็กเกจ ARCore Extensions
ในช่อง ARCore Extensions Config ของแผง Inspector ให้คลิกปุ่มเป้าหมาย แล้วเชื่อมต่อกับเนื้อหา ARCoreExtensionsConfig
ในช่อง Camera Config Filter ของแผง Inspector ให้คลิกปุ่มเป้าหมาย แล้วเชื่อมต่อกับเนื้อหา ARCoreExtensionsCameraConfigFilter
ดูข้อมูลเพิ่มเติมได้ในคู่มือนักพัฒนาซอฟต์แวร์ Cloud Anchor และการกำหนดค่ากล้อง
หากคุณใช้ Unity เวอร์ชันต่ำกว่า 2020.3
- เลือกเทมเพลตพร็อพเพอร์ตี้ Gradle ที่กำหนดเองในการตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > Android > การตั้งค่าการเผยแพร่ > บิลด์
เมื่อช่อง ARCore Extensions ทั้งหมดข้างต้นเชื่อมต่อกันอย่างเหมาะสมแล้ว แผง ARCore Extensions Inspector จะมีลักษณะดังนี้
AR Foundation 5.x
ในแผง Hierarchy ให้คลิกขวาและเพิ่มออบเจ็กต์เกมต่อไปนี้ (หากยังไม่ได้เพิ่ม)
- XR > AR Session
- XR > XR Origin (Mobile AR)
- XR > ARCore Extensions
ในแผง Hierarchy ให้เลือกแพ็กเกจ ARCore Extensions
ในช่อง Inspector ของช่องต่อไปนี้แต่ละช่อง ให้คลิกปุ่มเป้าหมาย และเชื่อมต่อแต่ละช่องกับออบเจ็กต์เกมที่เกี่ยวข้อง ดังนี้
- Session: ใช้ AR Session ของฉาก
- XR Origin: ใช้ XR Origin ของฉาก
- Camera Manager: ใช้ AR Camera ของฉาก
สร้างและเชื่อมต่อเนื้อหาต่อไปนี้สำหรับ Cloud Anchor และตัวกรองการกำหนดค่ากล้อง (ไม่บังคับ)
ในแผง Project > Assets ให้คลิกขวา แล้วเลือก Create > XR > ARCore Extensions Config
ในแผง Project > Assets ให้คลิกขวา แล้วเลือก Create > XR > Camera Config Filter
ในแผง Hierarchy ให้เลือกแพ็กเกจ ARCore Extensions
ในช่อง ARCore Extensions Config ของแผง Inspector ให้คลิกปุ่มเป้าหมาย แล้วเชื่อมต่อกับเนื้อหา ARCoreExtensionsConfig
ในช่อง Camera Config Filter ของแผง Inspector ให้คลิกปุ่มเป้าหมาย แล้วเชื่อมต่อกับเนื้อหา ARCoreExtensionsCameraConfigFilter
ดูข้อมูลเพิ่มเติมได้ในคู่มือนักพัฒนาซอฟต์แวร์ Cloud Anchor และการกำหนดค่ากล้อง
หากคุณใช้ Unity เวอร์ชันต่ำกว่า 2020.3
- เลือกเทมเพลตพร็อพเพอร์ตี้ Gradle ที่กำหนดเองในการตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > Android > การตั้งค่าการเผยแพร่ > บิลด์
เมื่อช่อง ARCore Extensions ทั้งหมดข้างต้นเชื่อมต่อกันอย่างเหมาะสมแล้ว แผง ARCore Extensions Inspector จะมีลักษณะดังนี้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าพร็อพเพอร์ตี้ได้ในคำแนะนำสำหรับการแก้ไขพร็อพเพอร์ตี้ของ Unity
โปรเจ็กต์ตัวอย่าง
สิ่งที่มาพร้อมกับ ARCore Extensions สำหรับ AR Foundation คือโปรเจ็กต์ตัวอย่างที่คุณอาจใช้เพื่อเริ่มสร้างโปรเจ็กต์ของตัวเองได้
จากเมนู Window ให้เปิด Package Manager และเลือกแพ็กเกจ ARCore Extensions
ในส่วน Samples ให้คลิก Import สำหรับโปรเจ็กต์ตัวอย่าง ซึ่งอธิบายไว้ด้านล่าง
โปรเจ็กต์ตัวอย่างต่อไปนี้นำเข้าจากที่เก็บของ GitHub
ภูมิสารสนเทศ (Android เท่านั้น) - สร้างประสบการณ์ AR ในระดับโลกและแนบเนื้อหาไปยังพื้นที่ที่ Google Street View ครอบคลุมจากระยะไกล ดูข้อมูลเพิ่มเติมในบทนำ Geospatial API
PersistentCloudAnchors (Android และ iOS) - สร้างประสบการณ์ AR ต่อเนื่องในโลกจริงด้วยเลเยอร์ข้อมูลดิจิทัลแบบอินเทอร์แอกทีฟที่ยึดตำแหน่งจริงโดยยึดตำแหน่งจริง และออกแบบประสบการณ์ที่ผู้ใช้หลายคนใช้ร่วมกันได้เมื่อเวลาผ่านไปในหลายอุปกรณ์ โปรดดูข้อมูลเพิ่มเติมที่ข้อมูลเบื้องต้นเกี่ยวกับ Cloud Anchor
ขั้นตอนถัดไป
ส่วนขยาย ARCore Extensions สำหรับ AR Foundation ช่วยให้คุณใช้ Cloud Anchor และการกำหนดค่ากล้องในแอปได้แล้ว