AR Foundation ของ Unity เป็นเฟรมเวิร์กแบบข้ามแพลตฟอร์มที่ให้คุณเขียนประสบการณ์เทคโนโลยีความจริงเสริม (AR) เพียงครั้งเดียว แล้วสร้างแอปสำหรับอุปกรณ์ Android หรือ iOS โดยไม่ต้องทำการเปลี่ยนแปลงเพิ่มเติม เฟรมเวิร์กนี้พร้อมใช้งานผ่านแพ็กเกจ AR Foundation ของ Unity
แพ็กเกจส่วนขยาย ARCore สำหรับ AR Foundation ที่ไม่บังคับของ ARCore จะเพิ่มฟังก์ชันการทำงานเพิ่มเติม ซึ่งจะช่วยให้คุณใช้ฟีเจอร์ต่างๆ เช่น หมุดเมฆ ฟิลเตอร์การกำหนดค่ากล้อง และการบันทึกและเล่นในแอปได้
ย้ายข้อมูลหรืออัปเกรดโปรเจ็กต์ที่มีอยู่
- หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่จาก ARCore SDK (เลิกใช้งานแล้ว) สําหรับ Unity ไปยัง AR Foundation ของ Unity และ ARCore Extensions (ไม่บังคับ) โปรดดูคําแนะนําในการย้ายข้อมูล
- หากต้องการอัปเกรดโปรเจ็กต์ที่มีอยู่จาก AR Foundation เวอร์ชันเก่า โปรดดูคำแนะนำในการอัปเกรดและการย้ายข้อมูลของ Unity
ข้อกำหนด
แพ็กเกจ AR Foundation ต้องใช้สิ่งต่อไปนี้ โดยขึ้นอยู่กับแพลตฟอร์มเป้าหมาย
Android
ฮาร์ดแวร์
- อุปกรณ์ Android หรือโปรแกรมจำลองที่รองรับ ARCore
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องสำหรับพัฒนาซอฟต์แวร์
ซอฟต์แวร์
iOS
ฮาร์ดแวร์
- อุปกรณ์ iOS ที่รองรับ ARCore
- สาย USB สำหรับเชื่อมต่ออุปกรณ์กับเครื่องสำหรับพัฒนาซอฟต์แวร์
ซอฟต์แวร์
ติดตั้ง AR Foundation
ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งแพ็กเกจ AR Foundation Unity
เปิดโปรเจ็กต์ Unity ที่มีอยู่ หรือสร้างโปรเจ็กต์ 3 มิติใหม่
นำทางไปยัง Window > Package Manager
เลือก Unity Registry ข้าง Packages
พิมพ์ "AR Foundation" ในแถบค้นหา
คลิก Install
ติดตั้งและเปิดใช้แพ็กเกจปลั๊กอินเฉพาะแพลตฟอร์ม
แพ็กเกจ AR Foundation แสดงอินเทอร์เฟซสำหรับนักพัฒนาซอฟต์แวร์ Unity แต่ไม่ได้ใช้ฟีเจอร์ AR ใดๆ เอง หากต้องการใช้ AR Foundation ในอุปกรณ์เป้าหมาย คุณจะต้องติดตั้งแพ็กเกจแยกต่างหากและเปิดใช้ปลั๊กอินที่เกี่ยวข้องสำหรับแต่ละแพลตฟอร์มด้วย
Android
แพ็กเกจ ARCore XR Plugin ช่วยให้คุณสร้างแอป 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 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 รายการดังกล่าวด้วย 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 ไม่บังคับ ให้ระบุ 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) เพื่อให้เป็นไปตามข้อกำหนดของ Play Store สำหรับแอปเวอร์ชัน 64 บิต
- ไม่บังคับ (รองรับใน 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 ที่ไม่บังคับ ซึ่งมีฟังก์ชัน ARCore เพิ่มเติมสำหรับเฟรมเวิร์กของ AR Foundation
- สร้างเกม AR โดยใช้ AR Foundation ของ Unity (Codelab)