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 tab" > "Other settings" > "Graphics APIs"
ทำความเข้าใจระบบนิเวศของแพ็กเกจ
คุณสามารถใช้แพ็กเกจ 2 แบบที่แตกต่างกันสำหรับ Android XR ใน Unity แบบแรกคือการใช้ Android XR Extensions for 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 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 Objects เนื่องจากใช้ XR Input Modality Manager ซึ่งจะสลับระหว่างมือและตัวควบคุมของผู้ใช้โดยอัตโนมัติ ซึ่งจะช่วยให้คุณสลับระหว่างมือและตัวควบคุมได้สำเร็จมากที่สุด
ความเป็นส่วนตัวและสิทธิ์: สร้างความเชื่อมั่นของผู้ใช้
ไม่ว่าคุณจะสร้างอะไรก็ตาม คุณจะต้องขอสิทธิ์รันไทม์จากผู้ใช้ เนื่องจาก Scene Understanding, การติดตามดวงตา, การติดตามใบหน้า และการติดตามการเคลื่อนไหวของมือ ให้สิทธิ์เข้าถึงข้อมูลที่อาจมีความละเอียดอ่อนต่อผู้ใช้มากขึ้น
ความสามารถเหล่านี้ให้ข้อมูลส่วนบุคคลที่ละเอียดกว่าแอปเดสก์ท็อปหรือแอปบนอุปกรณ์เคลื่อนที่แบบดั้งเดิม ดังนั้นสิทธิ์รันไทม์จึงช่วยให้ผู้ใช้ควบคุมข้อมูลที่ต้องการแชร์ได้อย่างเต็มที่ ดังนั้น 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
- คู่มือการพัฒนา XR ของ Unity - แหล่งข้อมูลการพัฒนา XR อย่างเป็นทางการของ Unity
โปรเจ็กต์ตัวอย่างที่ควรสำรวจ
- ตัวอย่าง Android XR Unity - โปรเจ็กต์ตัวอย่างอย่างเป็นทางการของ Google ที่แสดงฟีเจอร์ต่างๆ ของ Android XR
- ตัวอย่าง XR Interaction Toolkit ของ Unity - ตัวอย่างที่ครอบคลุมของการโต้ตอบ XR และกลไกการเล่นเกม
- เทมเพลต VR ของ Unity - จุดเริ่มต้นที่สมบูรณ์แบบสำหรับโปรเจ็กต์ VR
- เทมเพลต VR แบบผู้เล่นหลายคน - สำรวจประสบการณ์ XR ทางสังคม
อ่านต่อ
-
วิธีการ
วันนี้ เรายินดีที่จะประกาศเปิดตัวข้อมูลเข้าสู่ระบบอีเมลใหม่ที่ยืนยันแล้วซึ่งออกโดย 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 นาที
-
วิธีการ
Google ตระหนักดีว่าผู้ใช้ Android ให้ความสำคัญกับปัญหาแบตเตอรี่หมดเร็วเป็นอันดับต้นๆ จึงได้ดำเนินการอย่างจริงจังเพื่อช่วยให้นักพัฒนาแอปสร้างแอปที่มีประสิทธิภาพด้านพลังงานมากขึ้น
Alice Yuan • ใช้เวลาอ่าน 8 นาที
รับข่าวสาร
รับข้อมูลเชิงลึกด้านการพัฒนา Android ล่าสุดส่งตรงถึงกล่องจดหมายของคุณ ทุกสัปดาห์