AR Foundation ของ Unity เป็นเฟรมเวิร์กข้ามแพลตฟอร์มที่ช่วยให้คุณเขียนประสบการณ์การใช้งาน Augmented Reality ได้เพียงครั้งเดียว จากนั้นจึงนำไปสร้างสำหรับอุปกรณ์ 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 4.x
AR Foundation 5.x
AR Foundation 6.x
ติดตั้งและเปิดใช้แพ็กเกจปลั๊กอินเฉพาะแพลตฟอร์ม
แพ็กเกจ 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 ใหม่ให้กับออบเจ็กต์เกม
AR Foundation 6.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)