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 โดยทำตามขั้นตอนเหล่านี้
โปรไฟล์บิลด์ของ 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 รุ่นใหม่ๆ ได้สูงสุด และปลดล็อกฟีเจอร์ขั้นสูง เช่น Ray Tracing และ Multithreading เพื่อภาพเกมที่สมจริงและสมจริง
มาตรฐานเหล่านี้ช่วยให้แอปพลิเคชันที่มีอยู่ของคุณมีความเข้ากันได้ดีที่สุด และช่วยลดปัญหาและค่าใช้จ่ายในการพอร์ต และยังช่วยให้เปิดใช้ฟีเจอร์ขั้นสูงของ 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 สำหรับ 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 จากมุมมองที่ถูกต้อง
วิธีที่ง่ายที่สุดในการเพิ่ม Prefab นี้คือการนำเข้าจากเดโมการผสานรวมมือที่เรานำเข้าก่อนหน้านี้ ซึ่งดูได้ที่นี่ "ชุดเครื่องมือการผสานรวมมือ" > "การโต้ตอบด้วยมือ" > "Prefab" > "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
ตัวอย่างโปรเจ็กต์ที่ควรสำรวจ
- ตัวอย่าง Unity สำหรับ Android XR - โปรเจ็กต์ตัวอย่างอย่างเป็นทางการของ Google ที่แสดงฟีเจอร์ต่างๆ ของ Android XR
- ตัวอย่างชุดเครื่องมือการโต้ตอบ XR ของ Unity - ตัวอย่างที่ครอบคลุมของการโต้ตอบ XR และกลไกการเล่นเกม
- เทมเพลต VR ของ Unity - จุดเริ่มต้นที่สมบูรณ์สำหรับโปรเจ็กต์ VR
- เทมเพลตผู้เล่นหลายคนใน VR - สำรวจประสบการณ์ XR ทางโซเชียล
อ่านต่อ
-
ฮาวทู
การบังคับใช้คุณภาพทางเทคนิคของแบตเตอรี่มาถึงแล้ว: วิธีเพิ่มประสิทธิภาพกรณีการใช้งาน Wake Lock ทั่วไป
Google ทราบดีว่าผู้ใช้ Android กังวลเรื่องแบตเตอรี่หมดเร็วเป็นอย่างมาก จึงได้ดำเนินการอย่างจริงจังเพื่อช่วยให้นักพัฒนาแอปสร้างแอปที่ประหยัดพลังงานมากขึ้น
Alice Yuan • ใช้เวลาอ่าน 8 นาที
-
ฮาวทู
เราต้องการแสดงตัวอย่างฟีเจอร์ที่เปิดใช้ AI โดยใช้ทั้งโมเดลในอุปกรณ์และโมเดลในระบบคลาวด์ เพื่อเป็นแรงบันดาลใจให้คุณสร้างประสบการณ์การใช้งานที่ยอดเยี่ยมสำหรับผู้ใช้
Thomas Ezan, Ivy Knight • ใช้เวลาอ่าน 2 นาที
-
ฮาวทู
คู่มือการปรับระดับประสิทธิภาพมี 5 ระดับ เราจะเริ่มจากระดับ 1 ซึ่งเป็นการแนะนำเครื่องมือประสิทธิภาพที่ต้องใช้ความพยายามในการนำไปใช้เพียงเล็กน้อย และจะเพิ่มขึ้นไปจนถึงระดับ 5 ซึ่งเหมาะสำหรับแอปที่มีทรัพยากรในการดูแลกรอบประสิทธิภาพที่กำหนดเอง
Alice Yuan • ใช้เวลาอ่าน 9 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณทุกสัปดาห์