AR Foundation ของ Unity เป็น เฟรมเวิร์กข้ามแพลตฟอร์มที่ช่วยให้คุณเขียนประสบการณ์การใช้งานเทคโนโลยีความจริงเสริม (AR) ได้ เพียงครั้งเดียว แล้วสร้างสำหรับอุปกรณ์ Android หรือ iOS โดยไม่ต้องทำการเปลี่ยนแปลง เพิ่มเติม เฟรมเวิร์กนี้พร้อมใช้งานผ่านแพ็กเกจ AR Foundation ของ Unity
แพ็กเกจ ARCore Extensions for AR Foundation (ไม่บังคับ) ของ ARCore จะเพิ่มฟังก์ชันการทำงานเพิ่มเติม ซึ่งช่วยให้คุณใช้ฟีเจอร์ต่างๆ เช่น Cloud Anchors, ฟิลเตอร์การกำหนดค่ากล้อง รวมถึงการบันทึกและการเล่นใน แอปได้
ย้ายข้อมูลหรืออัปเกรดโปรเจ็กต์ที่มีอยู่
- หากต้องการย้ายข้อมูลโปรเจ็กต์ที่มีอยู่จาก ARCore SDK for 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

กำหนดค่า Render Pipeline
AR Foundation 4.x
AR Foundation 5.x
AR Foundation 6.x
ติดตั้งและเปิดใช้แพ็กเกจปลั๊กอินเฉพาะแพลตฟอร์ม
แพ็กเกจ AR Foundation มีอินเทอร์เฟซให้นักพัฒนาแอป Unity ใช้งาน แต่ไม่ได้ใช้ฟีเจอร์ AR ด้วยตัวเอง หากต้องการใช้ AR Foundation ในอุปกรณ์เป้าหมาย คุณจะต้องติดตั้งแพ็กเกจแยกต่างหากและเปิดใช้ปลั๊กอินที่เกี่ยวข้องสำหรับแต่ละแพลตฟอร์มด้วย
Android
แพ็กเกจ ARCore XR Plugin ช่วยให้คุณสร้างแอปเทคโนโลยีความจริงเสริม (AR) สำหรับอุปกรณ์ Android ได้ ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งแพ็กเกจนี้ในโปรเจ็กต์ Unity หากแอปพลิเคชันของคุณกำหนดเป้าหมายเป็นอุปกรณ์ Android ใช้เวอร์ชันเดียวกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ในโปรเจ็กต์ ให้ไปที่ Window > Package Manager
เลือก Unity Registry ข้าง Packages

พิมพ์ "ARCore XR plugin" ในแถบค้นหา

คลิก Install

ไปที่ Edit > Project Settings ใน XR Plug-in Management ให้เปิดแท็บ Android แล้วเปิดใช้ ARCore

iOS
ARKit XR Plugin ช่วยให้คุณสร้างแอปเทคโนโลยีความจริงเสริม (AR) สำหรับอุปกรณ์ iOS ได้ ทำตามขั้นตอนต่อไปนี้เพื่อติดตั้งแพ็กเกจนี้ในโปรเจ็กต์ Unity หากแอปพลิเคชันของคุณกำหนดเป้าหมายเป็นอุปกรณ์ iOS ใช้เวอร์ชันเดียวกับแพ็กเกจ AR Foundation เพื่อหลีกเลี่ยงปัญหาความเข้ากันได้
ในโปรเจ็กต์ ให้ไปที่ Window > Package Manager
เลือก Unity Registry ข้าง Packages

พิมพ์ "ARKit XR plugin" ในแถบค้นหา

คลิก 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
AR Foundation 6.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.helloAROther 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)
- ติดตั้ง ARCore APK แบบ 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.myappOther 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)