AR Foundation ของ Unity เป็นเฟรมเวิร์กข้ามแพลตฟอร์มที่ช่วยให้คุณเขียนประสบการณ์ Augmented Reality ได้เพียงครั้งเดียว จากนั้นจึงสร้างสําหรับอุปกรณ์ Android หรือ iOS โดยไม่ต้องทําการเปลี่ยนแปลงเพิ่มเติม เฟรมเวิร์กนี้มีให้ใช้งานผ่านแพ็กเกจ AR Foundation ของ Unity
แพ็กเกจเสริม ARCore Extensions for AR Foundation ของ ARCore เพิ่มฟังก์ชันการทํางานอื่นๆ ให้คุณใช้ฟีเจอร์ต่างๆ เช่น Cloud Anchor, ตัวกรองการกําหนดค่ากล้อง รวมถึงการบันทึกและเล่นในแอป
ย้ายข้อมูลหรืออัปเกรดโปรเจ็กต์ที่มีอยู่
- หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่จาก ARCore SDK (เลิกใช้งานแล้ว) สําหรับ Unity ไปยังมูลนิธิ AR ของ Unity และเลือกส่วนขยาย ARCore หรือไม่ก็ได้ โปรดดูคําแนะนําในการย้ายข้อมูล
- หากต้องการอัปเกรดโปรเจ็กต์ที่มีอยู่จาก AR AR เวอร์ชันก่อนหน้า โปรดดูคําแนะนําในการอัปเกรดและการย้ายข้อมูลของ Unity
ข้อกำหนด
แพ็กเกจ AR Foundation ต้องใช้สิ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับแพลตฟอร์มเป้าหมาย
Android
ฮาร์ดแวร์
- อุปกรณ์หรือโปรแกรมจําลองที่รองรับ ARAR
- สาย USB สําหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
iOS
ฮาร์ดแวร์
- อุปกรณ์ iOS ที่รองรับ ARCore
- สาย USB สําหรับเชื่อมต่ออุปกรณ์กับเครื่องพัฒนาซอฟต์แวร์
ซอฟต์แวร์
ติดตั้ง AR Foundation
ทําตามขั้นตอนเหล่านี้เพื่อติดตั้งแพ็กเกจ Unity AR Foundation
เปิดโปรเจ็กต์ Unity ที่มีอยู่ หรือสร้างโปรเจ็กต์ 3 มิติใหม่
นำทางไปยัง Window > Package Manager
ข้าง Packages ให้เลือก Unity Registry
พิมพ์ "AR Foundation" ในแถบค้นหา
คลิก Install
ติดตั้งและเปิดใช้แพ็กเกจปลั๊กอินเฉพาะแพลตฟอร์ม
แพ็กเกจ AR AR นี้นําเสนออินเทอร์เฟซให้นักพัฒนาซอฟต์แวร์ Unity ใช้งานได้ แต่ไม่ได้ใช้ฟีเจอร์ AR ใดๆ เลย หากต้องการใช้ AR Foundation ในอุปกรณ์เป้าหมาย คุณต้องติดตั้งแพ็กเกจแยกกันและเปิดใช้ปลั๊กอินที่เกี่ยวข้องสําหรับแต่ละแพลตฟอร์มด้วย
Android
แพ็กเกจ ARCore XR Plugin ช่วยให้คุณสร้างแอป Augmented Reality สําหรับอุปกรณ์ Android ได้ ทําตามขั้นตอนเหล่านี้เพื่อติดตั้งในโปรเจ็กต์ Unity หากแอปพลิเคชันกําหนดเป้าหมายอุปกรณ์ Android ใช้เวอร์ชันเดียวกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ในโปรเจ็กต์ ให้ไปที่ Window > Package Manager
ข้าง Packages ให้เลือก Unity Registry
ในแถบค้นหา ให้พิมพ์ "ปลั๊กอิน ARCore XR"
คลิก Install
นำทางไปยัง Edit > Project Settings ใน XR Plug-in Management ให้เปิดแท็บ Android แล้วเปิดใช้ ARCore
iOS
ปลั๊กอิน ARX XR ช่วยให้คุณสร้างแอป Augmented Reality สําหรับอุปกรณ์ iOS ได้ ทําตามขั้นตอนเหล่านี้เพื่อติดตั้งในโปรเจ็กต์ Unity หากแอปพลิเคชันกําหนดเป้าหมายอุปกรณ์ iOS ใช้เวอร์ชันเดียวกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ในโปรเจ็กต์ ให้ไปที่ Window > Package Manager
ข้าง Packages ให้เลือก Unity Registry
ในแถบค้นหา ให้พิมพ์ "ปลั๊กอิน ARX XR"
คลิก Install
นำทางไปยัง Edit > Project Settings ใน XR Plug-in Management ให้เปิดแท็บ iOS แล้วเปิดใช้ ARKit
กําหนดค่าเซสชัน AR และเพิ่มคอมโพเนนต์ AR Foundation ไปยังฉาก
ฉากต้องมีเซสชัน AR เพื่อเปิดใช้กระบวนการ AR เช่น การติดตามการเคลื่อนไหว ความเข้าใจด้านสิ่งแวดล้อม และการประเมินแสง คุณต้องมีออบเจ็กต์เกมต่อไปนี้เพื่อรองรับเซสชัน AR
AR Session: ควบคุมวงจรของประสบการณ์ AR
AR Session Origin: เปลี่ยนพิกัด AR เป็นพิกัดโลก Unity
ก่อนเพิ่มออบเจ็กต์เกมใหม่ ให้ลบ Main Camera เริ่มต้น ซึ่งจะแทนที่ด้วย AR Camera ใหม่ใน AR Session Origin
เพิ่มออบเจ็กต์เกม AR ใหม่ลงในฉากโดยคลิกขวาที่แผง Hierarchy แล้วเลือก XR เพิ่ม AR Session ใหม่และออบเจ็กต์เกม AR Session 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 ARAR แบบ FAT (32 บิต + 64 บิต)
สิ่งที่จะเกิดขึ้นเมื่อจัดส่งไปยัง Play Store
- ใช้ IL2CPP
- เปิดใช้ทั้งรูปแบบ 32 บิต (ARMv7) และ 64 บิต (ARM64) เพื่อให้เป็นไปตามข้อกําหนดของ Play Store แบบ 64 บิต
- ไม่บังคับ (รองรับในปี 2018.3 ขึ้นไป): ให้เปิดใช้ Android App Bundles ใน Build Settings
Other Settings > Target Architectures เพื่อให้เป็นไปตามข้อกําหนดเกี่ยวกับ 64 บิตของ Google Play ให้เปิดใช้ ARM64 (ARM 64 บิต) เปิดใช้ 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 AR ของ Unity (Codelab)