Samsung Galaxy XR มาแล้ว ขับเคลื่อนโดย Android XR! บล็อกโพสต์นี้เป็นส่วนหนึ่งของ สัปดาห์แนะนำ Android XR ซึ่งเราจะจัดหาแหล่งข้อมูลต่างๆ เช่น บล็อกโพสต์ วิดีโอ โค้ดตัวอย่าง และอื่นๆ อีกมากมาย ซึ่งออกแบบมาเพื่อช่วยให้คุณได้เรียนรู้ สร้าง และเตรียมแอปสำหรับ Android XR
ตอนนี้เป็นช่วงเวลาที่ดีที่สุดในการเริ่มต้นพัฒนา XR เมื่อเดือนธันวาคมที่ผ่านมา เราได้ประกาศเปิดตัว Android XR ซึ่งเป็นแพลตฟอร์ม Android ใหม่ของ Google ที่สร้างขึ้นบนมาตรฐานแบบเปิด เช่น OpenXR และ Vulkan ซึ่งช่วยให้การพัฒนา XR เข้าถึงได้ง่ายกว่าที่เคย
และเมื่อใช้ร่วมกับเครื่องมือ XR ที่มีอยู่ของ Unity คุณจะได้รับสแต็กการพัฒนาที่มีประสิทธิภาพและพร้อมใช้งาน ซึ่งช่วยให้สร้างและติดตั้งใช้งานแอป XR ที่ทำงานในอุปกรณ์หลายเครื่องได้
ไม่ว่าคุณจะเคยพัฒนา XR มาก่อนหรือไม่ เราก็ต้องการช่วยให้คุณเริ่มต้นใช้งาน
บล็อกนี้จะช่วยให้คุณเริ่มต้นใช้งาน Android XR และการพัฒนา Unity ได้ เราจะมุ่งเน้นที่ขั้นตอนการกำหนดค่าสภาพแวดล้อม การทำความเข้าใจระบบนิเวศของแพ็กเกจ และการเริ่มต้นสร้าง
เมื่ออ่านบล็อกนี้จบ คุณจะมีความเข้าใจในเรื่องต่อไปนี้เป็นอย่างดี
- ระบบนิเวศของแพ็กเกจ
- ขั้นตอนการตั้งค่าที่สำคัญ
- วิธีการป้อนข้อมูล
- ความเป็นส่วนตัวและสิทธิ์
- เลเยอร์การเรียบเรียง
Unity สำหรับการพัฒนา Android XR
คุณอาจเลือก Unity เนื่องจากความเข้ากันได้ข้ามแพลตฟอร์ม ซึ่งช่วยให้คุณสร้างได้ครั้งเดียวและนำไปใช้กับ Android XR และอุปกรณ์ XR อื่นๆ
เมื่อใช้ Unity คุณจะได้รับประโยชน์จากระบบนิเวศและเครื่องมือ XR ที่มีประสิทธิภาพ Unity มีแพ็กเกจที่สร้างไว้แล้ว เช่น XR Interaction Toolkit, OpenXR plugin, XR composition layers, XR Hands, ร้านค้าสินทรัพย์ขนาดใหญ่ที่เต็มไปด้วยคอมโพเนนต์และเทมเพลตที่พร้อมใช้งานกับ XR รวมถึงเครื่องมือจำลองและการทดสอบ XR และตั้งแต่ Unity 6 เปิดตัวเมื่อเดือนพฤศจิกายนที่ผ่านมา คุณจะได้รับประโยชน์จากประสิทธิภาพของ Universal Render Pipeline (URP) ที่ดีขึ้น การรองรับกราฟิก Vulkan ที่ดีขึ้น และโปรไฟล์การสร้างที่ได้รับการปรับปรุงด้วย
ตัวอย่างโปรเจ็กต์บางส่วนที่จะช่วยให้คุณเห็นภาพว่าทำอะไรได้บ้างมีดังนี้
การตั้งค่าที่จำเป็น: รากฐานการพัฒนา
ข้อกำหนดและการติดตั้ง Unity 6
คุณจะต้องใช้ Unity 6 ในการสร้างแอป เนื่องจากเวอร์ชันก่อนหน้าไม่รองรับ Android XR ติดตั้ง Unity Hub ก่อน จากนั้นจึงติดตั้ง Unity 6 พร้อมโมดูล Android Build Support โดยทำตามขั้นตอนเหล่านี้
โปรไฟล์บิลด์ของ Android XR: ลดความซับซ้อนในการกำหนดค่า
โปรไฟล์การสร้าง Unity เป็นชิ้นงานของโปรเจ็กต์ที่จัดเก็บการตั้งค่าและการกำหนดค่าเฉพาะแพลตฟอร์ม ดังนั้นแทนที่จะต้องตั้งค่าที่แตกต่างกัน 15-20 รายการในหลายเมนูด้วยตนเอง คุณสามารถใช้โปรไฟล์บิลด์เพื่อดำเนินการนี้โดยอัตโนมัติได้
คุณสร้างโปรไฟล์บิลด์ของคุณเองได้ แต่ตอนนี้เราขอแนะนำให้ใช้โปรไฟล์บิลด์ Android XR เฉพาะที่เราสร้างขึ้น
คุณเลือกโปรไฟล์การสร้างได้โดยเลือกไฟล์ > โปรไฟล์การสร้างจากโปรเจ็กต์ Unity ดูวิธีการแบบเต็มได้ที่หน้าเวิร์กโฟลว์ พัฒนาสำหรับ Android XR
หากคุณทำการเปลี่ยนแปลงใดๆ ด้วยตนเอง คุณจะสร้างโปรไฟล์บิลด์ใหม่เพื่อแชร์กับทีมได้ วิธีนี้จะช่วยให้คุณได้รับประสบการณ์การสร้างที่สอดคล้องกันในทุกแพลตฟอร์ม
หลังจากทำตามขั้นตอนเหล่านี้แล้ว คุณจะสร้างและเรียกใช้ APK สำหรับอุปกรณ์ Android XR ได้
Graphics API: เหตุผลที่ Vulkan มีความสำคัญ
เมื่อตั้งค่าโปรเจ็กต์ Unity ด้วยโปรไฟล์บิลด์ Android XR แล้ว เราขอแนะนำให้ตรวจสอบก่อนว่าคุณได้ตั้งค่า Vulkan เป็นกราฟิก API แล้ว Android XR สร้างขึ้นเป็นแพลตฟอร์มที่ใช้ Vulkan เป็นหลัก ในเดือนมีนาคม 2025 Google ได้ประกาศว่าตอนนี้ Vulkan เป็น API กราฟิกอย่างเป็นทางการสำหรับ Android แล้ว ซึ่งเป็นกราฟิก API ระดับต่ำที่ทันสมัยซึ่งช่วยให้นักพัฒนาเพิ่มประสิทธิภาพของ GPU รุ่นใหม่ๆ ได้สูงสุด และปลดล็อกฟีเจอร์ขั้นสูง เช่น การติดตามรังสีและการทำงานแบบมัลติเธรด เพื่อภาพเกมที่สมจริงและสมจริง
มาตรฐานเหล่านี้ช่วยให้แอปพลิเคชันที่มีอยู่เข้ากันได้ดีที่สุด และช่วยลดปัญหาและค่าใช้จ่ายในการพอร์ต และยังช่วยให้เปิดใช้ฟีเจอร์ขั้นสูงของ Android XR ได้ เช่น URP Application Space Warp และการเรนเดอร์แบบโฟเวต
Unity 6 จะจัดการ Vulkan โดยอัตโนมัติ ดังนั้นเมื่อคุณใช้โปรไฟล์บิลด์ Android XR Unity จะกำหนดค่า Vulkan เป็น Graphics API ซึ่งจะช่วยให้คุณเข้าถึงฟีเจอร์ขั้นสูงทั้งหมดของ Android XR ได้โดยไม่ต้องกำหนดค่าด้วยตนเอง
คุณสามารถยืนยันการตั้งค่า Graphics API ได้โดยไปที่ "แก้ไข" > "การตั้งค่าโปรเจ็กต์" > "โปรแกรมเล่น" > "แท็บ Android" > "การตั้งค่าอื่นๆ" > "Graphics API"
ทำความเข้าใจระบบนิเวศของแพ็กเกจ
คุณใช้แพ็กเกจที่แตกต่างกัน 2 แพ็กเกจสำหรับ Android XR ใน Unity ได้ วิธีแรกคือการใช้ส่วนขยาย Android XR สำหรับ Unity และอีกวิธีคือการใช้แพ็กเกจ Unity OpenXR: Android XR
อาจฟังดูเหมือนเป็นสิ่งเดียวกัน แต่โปรดติดตามต่อไป
แพ็กเกจ Unity OpenXR: Android XR เป็นแพ็กเกจ Unity อย่างเป็นทางการสำหรับการรองรับ Android XR โดยมีฟีเจอร์ส่วนใหญ่ของ Android XR ซึ่งพร้อมใช้งานผ่านมาตรฐาน OpenXR นอกจากนี้ ยังช่วยให้ผสานรวม AR Foundation สำหรับฟีเจอร์ความจริงแบบผสมได้ด้วย ประโยชน์หลักของการใช้แพ็กเกจ Unity OpenXR: Android XR คือการมี API แบบรวมสำหรับการรองรับอุปกรณ์ XR
ส่วน Android XR Extensions for Unity คือแพ็กเกจ XR ของ Google ซึ่งออกแบบมาเพื่อการพัฒนาสำหรับอุปกรณ์ Android XR โดยเฉพาะ โดยจะเสริมแพ็กเกจ Unity OpenXR ด้วยฟีเจอร์เพิ่มเติม เช่น โหมดการผสมสภาพแวดล้อม การสร้างตาข่ายฉาก การติดตามรูปภาพ และการติดตามร่างกาย ข้อเสียคือคุณจะพัฒนาได้เฉพาะอุปกรณ์ Android XR เท่านั้น
การเลือกจะขึ้นอยู่กับความต้องการเฉพาะของคุณ แต่โดยทั่วไปเราขอแนะนำให้ใช้ Unity OpenXR: Android XR เนื่องจากมีความยืดหยุ่นมากกว่าสำหรับอุปกรณ์ที่แอปของคุณจะใช้งานร่วมกันได้ จากนั้นคุณสามารถเพิ่มส่วนขยาย Android XR สำหรับ Unity ตามข้อกำหนดของแอปพลิเคชัน
วิธีติดตั้งแพ็กเกจ
หากต้องการเพิ่มแพ็กเกจใหม่ ให้เปิดโปรเจ็กต์ใน Unity แล้วเลือก "หน้าต่าง" > "การจัดการแพ็กเกจ" > "Package Manager"
จากที่นี่ คุณจะติดตั้งแพ็กเกจเหล่านี้ได้จากแท็บ "Unity Registry"
คุณติดตั้งแพ็กเกจ Android XR สำหรับ Unity ผ่าน GitHub ได้โดยเลือกไอคอน ➕ เลือก "ติดตั้งแพ็กเกจจาก URL ของ Git" แล้วป้อน "https://github.com/android/android-xr-unity-package.git"
ฟีเจอร์ OpenXR ที่จำเป็น
ตอนนี้คุณได้ติดตั้งแพ็กเกจที่จำเป็นแล้ว มาเปิดใช้ฟีเจอร์หลักบางอย่างเพื่อให้โปรเจ็กต์ทำงานได้กัน
คุณเปิดใช้การตั้งค่า OpenXR สำหรับ Android ได้โดยไปที่ "แก้ไข" -> "การตั้งค่าโปรเจ็กต์" -> "การจัดการปลั๊กอิน XR" -> คลิก Android แล้วเปิดใช้ OpenXR
จากนั้นเราต้องเปิดใช้การรองรับ "การรองรับ Android XR" และเราจะครอบคลุมฟีเจอร์ OpenXR อื่นๆ ตามที่ต้องการ ตอนนี้เราเพียงแค่ต้องเปิดใช้การรองรับ Android XR
อินพุต
Android XR รองรับอินพุตสำหรับมือ เสียง การติดตามดวงตา คีย์บอร์ด และคอนโทรลเลอร์ เราขอแนะนำให้ติดตั้ง XR Interaction Toolkit และ XR Hands เนื่องจากมี Prefab ที่ดีที่สุดสำหรับการเริ่มต้นใช้งาน การใช้ Prefab เหล่านี้จะช่วยให้คุณมีทุกอย่างที่จำเป็นในการรองรับมือและตัวควบคุมในแอป
เมื่อติดตั้ง XR Hands และ XR Interactive Toolkit ทั้ง 2 อย่างแล้ว ฉันขอแนะนำให้คุณนำเข้า Starter Assets และ Hands Interaction Demo จากนั้นคุณต้องเปิดใช้โปรไฟล์การโต้ตอบด้วยมือและKhronos Simple Controller รวมถึงเปิดใช้ฟีเจอร์ระบบย่อยการติดตามการเคลื่อนไหวของมือและฟีเจอร์การเล็งด้วยการติดตามการเคลื่อนไหวของมือของ Meta
คุณแก้ไขการตั้งค่าเหล่านี้ได้โดยไปที่ "แก้ไข" > "การตั้งค่าโปรเจ็กต์" > "การจัดการปลั๊กอิน XR" > "OpenXR"
นอกจากนี้ เราขอแนะนำพรีแฟบของ Unity ที่ชื่อ XR Origin ซึ่งแสดงถึงตำแหน่งและการวางแนวของผู้ใช้ในพื้นที่ XR ซึ่งประกอบด้วยอุปกรณ์กล้องและคอมโพเนนต์การติดตามที่จำเป็นต่อการแสดงผลประสบการณ์ XR จากมุมมองที่ถูกต้อง
วิธีที่ง่ายที่สุดในการเพิ่มพรีแฟบนี้คือการนำเข้าจากเดโมการผสานรวมมือที่เรานำเข้าก่อนหน้านี้ ซึ่งดูได้ที่"ชุดเครื่องมือผสานรวมมือ" > "การโต้ตอบด้วยมือ" > "พรีแฟบ" > "XR Origin"
เราขอแนะนำให้ใช้ Prefab นี้แทนตัวเลือก "XR Origin" ในออบเจ็กต์เกม เนื่องจากใช้ XR Input Modality Manager ซึ่งจะสลับไปมาระหว่างมือและคอนโทรลเลอร์ของผู้ใช้โดยอัตโนมัติ ซึ่งจะช่วยให้คุณสลับระหว่างมือกับตัวควบคุมได้อย่างราบรื่น
ความเป็นส่วนตัวและสิทธิ์: การสร้างความไว้วางใจของผู้ใช้
ไม่ว่าคุณจะสร้างอะไร คุณจะต้องขอสิทธิ์รันไทม์จากผู้ใช้ เนื่องจากการทำความเข้าใจฉาก การติดตามดวงตา การติดตามใบหน้า และการติดตามการเคลื่อนไหวของมือจะให้สิทธิ์เข้าถึงข้อมูลที่อาจมีความละเอียดอ่อนต่อผู้ใช้มากขึ้น
ความสามารถเหล่านี้ให้ข้อมูลส่วนบุคคลที่ละเอียดกว่าแอปเดสก์ท็อปหรือแอปบนอุปกรณ์เคลื่อนที่แบบดั้งเดิม ดังนั้นสิทธิ์รันไทม์จึงช่วยให้ผู้ใช้ควบคุมข้อมูลที่เลือกแชร์ได้อย่างเต็มที่ ดังนั้น Android XR จึงมีสิทธิ์สำหรับฟีเจอร์แต่ละอย่างเหล่านี้เพื่อให้เป็นไปตามนโยบายด้านความปลอดภัยและความเป็นส่วนตัวของ Android
ตัวอย่างเช่น หากคุณใช้แพ็กเกจ XR Hands สำหรับท่าทางของมือที่กำหนดเอง คุณจะต้องขอสิทธิ์การติดตามการเคลื่อนไหวของมือ (ดูด้านล่าง) เนื่องจากแพ็กเกจนี้ต้องติดตามข้อมูลจำนวนมากเกี่ยวกับมือของผู้ใช้ ซึ่งรวมถึงการติดตามท่าทางของข้อต่อมือ รวมถึงความเร็วเชิงมุมและความเร็วเชิงเส้น
หมายเหตุ: หากต้องการดูรายการส่วนขยายทั้งหมดที่ต้องใช้สิทธิ์ โปรดดูข้อมูลในเว็บไซต์นักพัฒนาแอป XR
const string k_Permission = "android.permission.HAND_TRACKING";
#if UNITY_ANDROID
void Start()
{
if (!Permission.HasUserAuthorizedPermission(k_Permission))
{
var callbacks = new PermissionCallbacks();
callbacks.PermissionDenied += OnPermissionDenied;
callbacks.PermissionGranted += OnPermissionGranted;
Permission.RequestUserPermission(k_Permission, callbacks);
}
}
void OnPermissionDenied(string permission)
{
// handle denied permission
}
void OnPermissionGranted(string permission)
{
// handle granted permission
}
#endif // UNITY_ANDROIDการปรับปรุงคุณภาพของภาพด้วยเลเยอร์องค์ประกอบ
เลเยอร์การจัดองค์ประกอบเป็นวิธีที่แนะนำในการแสดงผลองค์ประกอบ UI ซึ่งช่วยให้แสดงองค์ประกอบต่างๆ ได้ในคุณภาพที่สูงกว่าไปป์ไลน์การแสดงผลมาตรฐานของ Unity มาก เนื่องจากทุกอย่างจะได้รับการแสดงผลโดยตรงไปยัง Compositor ของแพลตฟอร์ม
เช่น หากคุณแสดงข้อความ การแสดงผลมาตรฐานของ Unity มีแนวโน้มที่จะทำให้ข้อความเบลอ ขอบไม่คมชัด และมีอาร์ติแฟกต์ภาพ แต่หากใช้เลเยอร์คอมโพสิต ข้อความจะชัดเจนขึ้น เส้นขอบจะคมชัดขึ้น และประสบการณ์การใช้งานโดยรวมจะดีขึ้น
นอกจากข้อความแล้ว ยังแสดงวิดีโอ รูปภาพ และองค์ประกอบ UI ที่มีคุณภาพสูงขึ้นมากด้วย โดยทำได้ด้วยการใช้การรองรับเลเยอร์ Compositor ของรันไทม์แบบเนทีฟ
หากต้องการเปิดเลเยอร์การเรียบเรียง ให้เปิด Package Manager เลือก "Unity Register" แล้วติดตั้ง "XR Composition Layers"
สร้างและเรียกใช้
ตอนนี้คุณได้ติดตั้งแพ็กเกจ OpenXR และเปิดใช้ฟีเจอร์ต่างๆ แล้ว คุณจึงสามารถสร้างฉากและติดตั้งใช้งานกับชุดหูฟังโดยตรงเพื่อทดสอบได้
ขั้นตอนต่อไป: พัฒนาทักษะของคุณ
ตอนนี้คุณได้ตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Android XR และเข้าใจแนวคิดหลักแล้ว ต่อไปนี้คือขั้นตอนถัดไปในการเดินทางเพื่อพัฒนา XR
แหล่งข้อมูลที่จำเป็นสำหรับการเรียนรู้ต่อไป
- เอกสารประกอบสำหรับนักพัฒนา Android XR - คำแนะนำที่ครอบคลุมสำหรับฟีเจอร์ทั้งหมดของ Android XR
- คู่มือการพัฒนา XR ของ Unity - แหล่งข้อมูลการพัฒนา XR อย่างเป็นทางการของ Unity
ตัวอย่างโปรเจ็กต์ที่ควรสำรวจ
- ตัวอย่าง Android XR Unity - โปรเจ็กต์ตัวอย่างอย่างเป็นทางการของ Google ที่แสดงฟีเจอร์ต่างๆ ของ Android XR
- ตัวอย่าง Unity XR Interaction Toolkit - ตัวอย่างที่ครอบคลุมของการโต้ตอบ XR และกลไกการเล่นเกม
- เทมเพลต VR ของ Unity - จุดเริ่มต้นที่สมบูรณ์สำหรับโปรเจ็กต์ VR
- เทมเพลตผู้เล่นหลายคนใน VR - สำรวจประสบการณ์ XR ทางโซเชียล
-
ฮาวทูยินดีต้อนรับกลับสู่ชุดบล็อกโพสต์ "สร้างแอป Android อัจฉริยะ" ซึ่งเราจะนำแอป Android พื้นฐานมาเปลี่ยนให้เป็นประสบการณ์การใช้งานที่ปรับเปลี่ยนในแบบของคุณ ชาญฉลาด และมีเอเจนต์ ในโพสต์ก่อนหน้า เราได้แนะนำ Jetpacker ซึ่งเป็นแอปเดโมที่เราจะใช้ตลอดทั้งซีรีส์นี้
Caren Chang • อ่าน 6 นาที -
ฮาวทูยินดีต้อนรับกลับสู่ชุดบล็อกโพสต์ "สร้างแอป Android อัจฉริยะ" ซึ่งเราจะนำแอป Android พื้นฐานมาเปลี่ยนให้เป็นประสบการณ์การใช้งานที่ปรับเปลี่ยนในแบบของคุณ ชาญฉลาด และมีเอเจนต์
Thomas Ezan, Jolanda Verhoef, Caren Chang • อ่าน 8 นาที -
ฮาวทูJetpacker เป็นแอปที่แสดงความสามารถทางเทคนิคซึ่งทีมของเราสร้างขึ้นตั้งแต่ต้นสำหรับงาน Google I/O ปีนี้ (สร้างโดยใช้ Antigravity) โดยหลักๆ แล้ว Jetpacker จะช่วยให้ผู้ใช้วางแผน สำรวจ และเพลิดเพลินกับการผจญภัยครั้งใหญ่ครั้งต่อไป
Jolanda Verhoef • อ่าน 4 นาที
รับข้อมูลเชิงลึกด้านการพัฒนาแอป Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์