AR Foundation ของ Unity เป็นเฟรมเวิร์กข้ามแพลตฟอร์มที่ช่วยให้คุณเขียนประสบการณ์ Augmented Reality เพียงครั้งเดียว แล้วสร้างขึ้นสำหรับอุปกรณ์ Android หรือ iOS ได้โดยไม่ต้องทำการเปลี่ยนแปลงใดๆ เพิ่มเติม เฟรมเวิร์กพร้อมใช้งานผ่านแพ็กเกจ AR Foundation ของ Unity
แพ็กเกจที่ไม่บังคับของ ARCore ARCore Extensions สำหรับ AR Foundation เพิ่มฟังก์ชันการทำงานเพิ่มเติม ทำให้คุณสามารถใช้ฟีเจอร์ต่างๆ เช่น Cloud Anchor, ตัวกรองการกำหนดค่ากล้อง และการบันทึกและเล่นในแอปของคุณ
ย้ายข้อมูลหรืออัปเกรดโปรเจ็กต์ที่มีอยู่
- หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่จาก ARCore SDK (เลิกใช้งานแล้ว) สำหรับ Unity ไปยัง AR Foundation ของ Unity และเลือก ARCore Extensions ได้ โปรดอ่านคู่มือการย้ายข้อมูล
- หากต้องการอัปเกรดโปรเจ็กต์ที่มีอยู่จาก AR Foundation เวอร์ชันก่อนหน้า โปรดดูคู่มือการอัปเกรดและการย้ายข้อมูลของ Unity
ข้อกำหนด
แพ็กเกจ AR Foundation ต้องมีสิ่งต่อไปนี้โดยขึ้นอยู่กับแพลตฟอร์มเป้าหมาย
Android
ฮาร์ดแวร์
- อุปกรณ์ Android หรือโปรแกรม จำลอง ARCore ที่รองรับ
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
iOS
ฮาร์ดแวร์
- อุปกรณ์ iOS ที่รองรับ ARCore
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
ติดตั้ง AR Foundation
ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งแพ็กเกจ Unity AR Foundation
เปิดโปรเจ็กต์ Unity ที่มีอยู่หรือสร้างโปรเจ็กต์ 3 มิติใหม่
นำทางไปยัง Window > Package Manager
เลือก Unity Registry ข้าง Packages
พิมพ์ "AR Foundation" ในแถบค้นหา
คลิก Install
ติดตั้งและเปิดใช้แพ็กเกจปลั๊กอินเฉพาะแพลตฟอร์ม
แพ็กเกจ AR Foundation มีอินเทอร์เฟซให้นักพัฒนาซอฟต์แวร์ Unity ใช้งาน แต่ไม่ได้ใช้ฟีเจอร์ AR ใดเลย หากต้องการใช้ AR Foundation ในอุปกรณ์เป้าหมาย คุณจะต้องติดตั้งแพ็กเกจแยกกันและเปิดใช้ปลั๊กอินที่เกี่ยวข้องสำหรับแต่ละแพลตฟอร์มที่เกี่ยวข้องด้วย
Android
แพ็กเกจปลั๊กอิน ARCore XR ช่วยให้คุณสร้างแอป Augmented Reality สำหรับอุปกรณ์ Android ได้ ทำตามขั้นตอนเหล่านี้เพื่อติดตั้งในโปรเจ็กต์ Unity หากแอปพลิเคชันกำหนดเป้าหมายเป็นอุปกรณ์ Android ใช้เวอร์ชันเดียวกันกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ไปที่ Window > Package Manager ในโปรเจ็กต์
เลือก Unity Registry ข้าง Packages
พิมพ์ "ปลั๊กอิน ARCore XR" ในแถบค้นหา
คลิก Install
นำทางไปยัง Edit > Project Settings ใน XR Plug-in Management ให้เปิดแท็บ Android แล้วเปิดใช้ ARCore
iOS
ปลั๊กอิน ARKit XR ช่วยให้คุณสร้างแอป Augmented Reality สำหรับอุปกรณ์ iOS ได้ ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งในโปรเจ็กต์ Unity หากแอปพลิเคชันกำหนดเป้าหมายอุปกรณ์ iOS ใช้เวอร์ชันเดียวกันกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ไปที่ Window > Package Manager ในโปรเจ็กต์
เลือก Unity Registry ข้าง Packages
พิมพ์ "ปลั๊กอิน ARKit XR" ในแถบค้นหา
คลิก Install
นำทางไปยัง Edit > Project Settings ใน XR Plug-in Management ให้เปิดแท็บ iOS แล้วเปิดใช้ ARKit
กำหนดค่าเซสชัน AR และเพิ่มคอมโพเนนต์ AR Foundation ลงในฉาก
ฉากต้องมีเซสชัน AR เพื่อเปิดใช้กระบวนการ AR เช่น การติดตามการเคลื่อนไหว ความเข้าใจด้านสิ่งแวดล้อม และการประมาณการให้แสง คุณจะต้องมีออบเจ็กต์เกมต่อไปนี้เพื่อรองรับเซสชัน AR
AR Foundation 4.x
AR Session: ควบคุมวงจรการใช้งาน AR
AR Session Origin: เปลี่ยนพิกัด AR เป็นพิกัดโลกใน Unity
ก่อนเพิ่มออบเจ็กต์เกมใหม่ ให้ลบ Main Camera เริ่มต้น ซึ่งจะแทนที่ด้วย AR Camera ใหม่ใน AR Session Origin
เพิ่มออบเจ็กต์เกม AR ใหม่ลงในฉาก โดยคลิกขวาที่แผง Hierarchy แล้วเลือก XR เพิ่ม AR Session ใหม่และออบเจ็กต์ AR Session Origin ใหม่ของเกม
AR Foundation 5.x
AR Session: ควบคุมวงจรการใช้งาน AR
XR Origin: เปลี่ยนพิกัด AR เป็นพิกัดโลกใน Unity
ก่อนเพิ่มออบเจ็กต์เกมใหม่ ให้ลบ Main Camera เริ่มต้น ซึ่งจะแทนที่ด้วย AR Camera ใหม่ใน XR Origin
เพิ่มออบเจ็กต์เกม AR ใหม่ลงในฉาก โดยคลิกขวาที่แผง Hierarchy แล้วเลือก XR เพิ่ม AR Session ใหม่และออบเจ็กต์ XR Origin ใหม่ของเกม
กำหนดการตั้งค่าโปรแกรมเล่น
Android
- ไปที่ File > Build Settings เพื่อเปิดหน้าต่าง Build Settings
- ในส่วน Platform ให้เลือก Android และคลิก Switch Platform
- คลิก Player Settings
ใช้การเปลี่ยนแปลงต่อไปนี้
Player Settings > … ค่า Other Settings > Rendering ยกเลิกการเลือก Auto Graphics API
หาก Vulkan แสดงอยู่ในส่วน Graphics APIs ให้นำออกเนื่องจาก ARCore ยังไม่รองรับ VulkanOther Settings > Package Name สร้างรหัสแอปที่ไม่ซ้ำกันโดยใช้รูปแบบชื่อแพ็กเกจ Java
เช่น ใช้com.example.helloAR
Other Settings > Minimum API Level หากคุณกำลังสร้างแอปต้องใช้ AR ให้ระบุ Android 7.0 'Nougat' (API Level 24) or higher
หากคุณกําลังสร้างแอป AR Optional ให้ระบุ Android API Level 19 or higherOther Settings > Scripting Backend เลือก IL2CPP แทน Mono เพื่ออนุญาตให้เปิดใช้การรองรับ ARM64 ในขั้นตอนถัดไป ระหว่างการพัฒนา:
- ใช้ Mono + 32 บิต (ARMv7)
- ติดตั้ง APK ของ ARCore แบบ FAT (32 บิต + 64 บิต)
เมื่อจัดส่งไปยัง Play Store
- ใช้ IL2CPP
- เปิดใช้ทั้ง 32 บิต (ARMv7) และ 64 บิต (ARM64) เพื่อให้เป็นไปตามข้อกำหนด 64 บิตของ Play Store
- ไม่บังคับ (รองรับในปี 2018.3 เป็นต้นไป): ใน Build Settings ให้เปิดใช้ Android App Bundles
Other Settings > Target Architectures เปิดใช้ ARM64 (ARM 64 บิต) เพื่อให้เป็นไปตามข้อกำหนด 64 บิตของ Google Play เปิดใช้ ARMv7 (ARM แบบ 32 บิต) ไว้เพื่อรองรับอุปกรณ์ 32 บิต
iOS
- ไปที่ File > Build Settings เพื่อเปิดหน้าต่าง Build Settings
- ในส่วน Platform ให้เลือก iOS และคลิก Switch Platform
- คลิก Player Settings
กําหนดการตั้งค่าต่อไปนี้
Player Settings > … ค่า Other Settings > Bundle Identifier เพิ่มชื่อแอปของคุณในรูปแบบ DNS ย้อนกลับ
เช่น ใช้com.mycompany.myapp
Other Settings > Camera usage description กรอกคำอธิบายเพื่ออธิบายการใช้ AR ของคุณ (เช่น ARKit) Other Settings > Target minimum iOS version อย่างน้อย 11.0 Other Settings > Architecture ARM64
ขั้นตอนถัดไป
- เริ่มต้นด้วยแพ็กเกจ ARCore Extensions ที่ไม่บังคับ ซึ่งมีฟังก์ชัน ARCore เพิ่มเติมสำหรับเฟรมเวิร์ก AR Foundation
- สร้างเกม AR โดยใช้ AR Foundation ของ Unity (codelab)