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 ที่ครบวงจร โดยมีแพ็กเกจที่สร้างขึ้นแล้ว เช่น XR Interaction Toolkit, ปลั๊กอิน OpenXR, เลเยอร์การจัดองค์ประกอบ XR, XR Hands, Asset Store ขนาดใหญ่ที่เต็มไปด้วยคอมโพเนนต์และเทมเพลตที่พร้อมใช้งานกับ 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 เฉพาะที่เราสร้างขึ้น
คุณเลือกโปรไฟล์บิลด์ได้โดยเลือก File > Build Profile จากโปรเจ็กต์ Unity ดูวิธีการทั้งหมดได้ในหน้าเวิร์กโฟลว์ พัฒนาสำหรับ Android XR
หากคุณทำการเปลี่ยนแปลงด้วยตนเอง คุณจะสร้างโปรไฟล์บิลด์ใหม่เพื่อแชร์กับทีมได้ วิธีนี้จะช่วยให้คุณได้รับประสบการณ์การใช้งานบิลด์ที่สอดคล้องกัน
หลังจากทำตามขั้นตอนเหล่านี้ คุณจะสร้างและเรียกใช้ APK สำหรับอุปกรณ์ Android XR ได้
Graphics API: เหตุผลที่ Vulkan มีความสำคัญ
เมื่อตั้งค่าโปรเจ็กต์ Unity ด้วยโปรไฟล์บิลด์ Android XR แล้ว เราขอแนะนำให้ตรวจสอบก่อนว่าคุณได้ตั้งค่า Vulkan เป็น Graphics API Android XR สร้างขึ้นเป็นแพลตฟอร์มที่ใช้ Vulkan เป็นหลัก ในเดือนมีนาคม 2025 Google ได้ประกาศว่า Vulkan เป็น Graphics API อย่างเป็นทางการสำหรับ Android แล้ว โดยเป็น Graphics API ระดับต่ำที่ทันสมัย ซึ่งช่วยให้นักพัฒนาแอปเพิ่มประสิทธิภาพของ GPU ที่ทันสมัยให้ได้สูงสุด และปลดล็อกฟีเจอร์ขั้นสูง เช่น Ray-Tracing และ Multithreading เพื่อให้ภาพเกมมีความสมจริงและสมจริงยิ่งขึ้น
มาตรฐานเหล่านี้มอบความเข้ากันได้ที่ดีที่สุดสำหรับแอปพลิเคชันที่มีอยู่ และช่วยลดปัญหาและค่าใช้จ่ายในการพอร์ต นอกจากนี้ยังช่วยให้คุณเปิดใช้ฟีเจอร์ขั้นสูงของ Android XR เช่น URP Application Space Warp และ Foveated Rendering ได้
Unity 6 จัดการ Vulkan โดยอัตโนมัติ ดังนั้นเมื่อคุณใช้โปรไฟล์บิลด์ Android XR, Unity จะกำหนดค่า Vulkan เป็น Graphics API ซึ่งจะช่วยให้คุณเข้าถึงฟีเจอร์ขั้นสูงทั้งหมดของ Android XR ได้โดยไม่ต้องกำหนดค่าด้วยตนเอง
คุณตรวจสอบการตั้งค่า Graphics API ได้โดยไปที่ "Edit" > "Project Settings" > "Player" > "แท็บ Android" > "Other settings" > "Graphics APIs"
ทำความเข้าใจระบบนิเวศของแพ็กเกจ
คุณสามารถใช้แพ็กเกจ 2 แบบที่แตกต่างกันสำหรับ Android XR ใน Unity แบบแรกคือใช้ Android XR Extensions for Unity และแบบที่ 2 คือใช้แพ็กเกจ 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 Extensions for Unity ตามข้อกำหนดของแอปพลิเคชัน
วิธีติดตั้งแพ็กเกจ
หากต้องการเพิ่มแพ็กเกจใหม่ ให้เปิดโปรเจ็กต์ใน Unity แล้วเลือก "Window" > "Package Management" > "Package Manager"
จากที่นี่ คุณสามารถติดตั้งแพ็กเกจเหล่านี้จากแท็บ "Unity Registry" ได้
คุณสามารถติดตั้งแพ็กเกจ Android XR for Unity ผ่าน GitHub ได้โดยเลือกไอคอน ➕ แล้วเลือก "Install package from git URL" จากนั้นป้อน "https://github.com/android/android-xr-unity-package.git"
ฟีเจอร์ OpenXR ที่จำเป็น
ตอนนี้คุณได้ติดตั้งแพ็กเกจที่จำเป็นแล้ว เรามาเปิดใช้ฟีเจอร์หลักบางอย่างเพื่อให้โปรเจ็กต์ทำงานได้
คุณสามารถเปิดใช้การตั้งค่า OpenXR สำหรับ Android ได้โดยไปที่ "Edit" -> "Project Settings" -> "XR Plugin Management" -> คลิก Android แล้วเปิดใช้ OpenXR
จากนั้นเราต้องเปิดใช้การรองรับ "Android XR support" โดยเราจะกล่าวถึงฟีเจอร์ OpenXR อื่นๆ ตามความจำเป็น ตอนนี้เราเพียงแค่ต้องเปิดใช้การรองรับ Android XR
อินพุต
Android XR รองรับอินพุตสำหรับมือ เสียง การติดตามดวงตา แป้นพิมพ์ และตัวควบคุม เราขอแนะนำให้ติดตั้ง XR Interaction Toolkit และ XR Hands เนื่องจากมี Prefab ที่ดีที่สุดสำหรับการเริ่มต้นใช้งาน การใช้ Prefab เหล่านี้จะช่วยให้คุณมีทุกสิ่งที่จำเป็นในการรองรับมือและตัวควบคุมในแอป
เมื่อติดตั้งทั้ง XR Hands และ XR Interactive Toolkit แล้ว เราขอแนะนำให้คุณนำเข้า Starter Assets และ Hands Interaction Demo จากนั้นคุณต้องเปิดใช้โปรไฟล์ Hand Interaction และ Khronos Simple Controller รวมถึงเปิดใช้ฟีเจอร์ Hand Tracking Subsystem และ Meta Hand Tracking Aim
คุณสามารถแก้ไขการตั้งค่าเหล่านี้ได้โดยไปที่ "Edit" > "Project Settings" > "XR Plug-in Management" > "OpenXR"
นอกจากนี้ เรายังขอแนะนำ Prefab ของ Unity อย่าง XR Origin ซึ่งแสดงถึงตำแหน่งและการวางแนวของผู้ใช้ในพื้นที่ XR โดยมี Camera Rig และคอมโพเนนต์การติดตามที่จำเป็นในการแสดงผลประสบการณ์ XR จากมุมมองที่ถูกต้อง
วิธีที่ง่ายที่สุดในการเพิ่ม Prefab นี้คือการนำเข้าจาก Hands Integration Demo ที่เรานำเข้าก่อนหน้านี้ ซึ่งดูได้ที่ "Hands Integration Toolkit" > "Hand Interaction" > "Prefabs" > "XR Origin"
เราขอแนะนำให้ใช้ Prefab นี้แทนตัวเลือก "XR Origin" ใน Game Object เนื่องจากใช้ 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 และเปิดใช้ฟีเจอร์ต่างๆ รวมถึงการตั้งค่า Prefab สำหรับการเคลื่อนไหวของมือและศีรษะแล้ว คุณสามารถสร้างฉากและติดตั้งใช้งานในชุดหูฟังโดยตรงเพื่อทำการทดสอบได้
ขั้นตอนถัดไป: พัฒนาทักษะของคุณ
ตอนนี้คุณได้ตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Android XR และเข้าใจแนวคิดหลักแล้ว ขั้นตอนถัดไปในการเดินทางเพื่อพัฒนา XR มีดังนี้
แหล่งข้อมูลที่จำเป็นสำหรับการเรียนรู้เพิ่มเติม:
- เอกสารประกอบสำหรับนักพัฒนาแอป Android XR - คู่มือที่ครอบคลุมสำหรับฟีเจอร์ทั้งหมดของ Android XR
- คู่มือการพัฒนา Unity XR - แหล่งข้อมูลการพัฒนา XR อย่างเป็นทางการของ Unity
โปรเจ็กต์ตัวอย่างที่ควรสำรวจ:
- ตัวอย่าง Android XR Unity - โปรเจ็กต์ตัวอย่างอย่างเป็นทางการของ Google ที่แสดงฟีเจอร์ต่างๆ ของ Android XR
- ตัวอย่าง XR Interaction Toolkit ของ Unity - ตัวอย่างที่ครอบคลุมของการโต้ตอบ XR และกลไกการเล่นเกม
- เทมเพลต VR ของ Unity - จุดเริ่มต้นที่สมบูรณ์แบบสำหรับโปรเจ็กต์ VR
- เทมเพลต VR แบบผู้เล่นหลายคน - สำรวจประสบการณ์ XR ทางสังคม
-
วิธีการแม้ว่าประสิทธิภาพของแอปมักจะเทียบเท่ากับ UI ที่ราบรื่นและเวลาเริ่มต้นที่รวดเร็ว แต่หน่วยความจำก็เป็นรากฐานที่เงียบซึ่งเมตริกที่มองเห็นได้เหล่านี้สร้างขึ้น เราเห็นการเปลี่ยนแปลงที่หน่วยความจำของอุปกรณ์มีความสำคัญมากกว่าที่เคย
Alice Yuan, Ajesh Pai, Fung Lam • ใช้เวลาอ่าน 10 นาที -
วิธีการวันนี้ เรายินดีที่จะประกาศเปิดตัวข้อมูลเข้าสู่ระบบอีเมลที่ยืนยันแล้วรายการใหม่ซึ่งออกโดย Google โดยตอนนี้นักพัฒนาแอปสามารถดึงข้อมูลนี้ได้โดยตรงจาก Digital Credential API ของ Credential Manager ใน Android
Niharika Arora, Jean-Pierre Pralle • ใช้เวลาอ่าน 3 นาที -
วิธีการไม่ว่าคุณจะใช้ Gemini ใน Android Studio, Gemini CLI, Antigravity หรือเอเจนต์ของบุคคลที่สาม เช่น Claude Code หรือ Codex ภารกิจของเราคือการทำให้การพัฒนา Android คุณภาพสูงเป็นไปได้ทุกที่
Adarsh Fernando, Esteban de la Canal • ใช้เวลาอ่าน 4 นาที
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์