คู่มือนี้จะแสดงภาพรวมของการพัฒนาด้วย Unity สำหรับ Android XR Android XR ทำงานร่วมกับเครื่องมือและฟีเจอร์ที่คุ้นเคยซึ่งคุณคาดหวังจาก Unity และเนื่องจากการรองรับ Android XR ของ Unity สร้างขึ้นบน OpenXR ฟีเจอร์หลายอย่างที่อธิบายไว้ในภาพรวมของ OpenXR จึงได้รับการรองรับใน Unity ด้วย
ทำตามคำแนะนำนี้เพื่อดูข้อมูลเกี่ยวกับสิ่งต่อไปนี้
- การรองรับ Unity สำหรับ Android XR
- ข้อมูลเบื้องต้นเกี่ยวกับ Unity XR
- การพัฒนาและเผยแพร่แอปสำหรับ Android XR
- แพ็กเกจ Unity สำหรับ Android XR
- Unity OpenXR: แพ็กเกจ Android XR
- Android XR Extensions สำหรับ Unity
- ข้อควรพิจารณาเกี่ยวกับฟีเจอร์และความเข้ากันได้
- การป้อนข้อมูลและการโต้ตอบ
การรองรับ Unity สำหรับ Android XR
เมื่อสร้างแอป Unity สำหรับ Android XR คุณสามารถใช้ประโยชน์จากเครื่องมือและความสามารถด้านเทคโนโลยีความจริงแบบผสม (MR) ใน Unity 6 เวอร์ชันล่าสุด ซึ่งรวมถึงเทมเพลตเทคโนโลยีความจริงแบบผสม (MR) ที่ใช้ XR Interaction Toolkit, AR Foundation และ OpenXR Plugin เพื่อช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็ว เมื่อสร้างแอปด้วย Unity สำหรับ Android XR เราขอแนะนำให้ใช้ Universal Render Pipeline (URP) เป็นไปป์ไลน์การแสดงผลและ Vulkan เป็น Graphics API ฟีเจอร์เหล่านี้ช่วยให้คุณใช้ประโยชน์จากฟีเจอร์กราฟิกบางอย่างของ Unity ซึ่งรองรับเฉพาะ Vulkan เท่านั้น ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีกำหนดการตั้งค่าเหล่านี้ได้ในคู่มือการตั้งค่าโปรเจ็กต์
พื้นฐาน Unity XR
หากคุณเพิ่งเริ่มใช้ Unity หรือการพัฒนา XR โปรดดูคู่มือ XR ของ Unity เพื่อทำความเข้าใจแนวคิดและเวิร์กโฟลว์พื้นฐานของ XR คู่มือ XR มีข้อมูลเกี่ยวกับสิ่งต่อไปนี้
- ปลั๊กอินผู้ให้บริการ XR ซึ่งรวมถึง Unity OpenXR: Android XR และส่วนขยาย Android XR สำหรับ Unity
- แพ็กเกจการสนับสนุน XR เพื่อเพิ่มฟีเจอร์ระดับแอปพลิเคชันเพิ่มเติม
- คู่มือสถาปัตยกรรม XR ที่อธิบายชุดซอฟต์แวร์โครงสร้างพื้นฐาน Unity XR และระบบย่อย XR
- การตั้งค่าโปรเจ็กต์ XR
- การสร้างและเรียกใช้แอป XR
- คำแนะนำเกี่ยวกับกราฟิก XR ซึ่งรวมถึง Universal Render Pipeline, การแสดงภาพสเตอริโอ, การแสดงภาพแบบ Foveated, ขอบเขตการแสดงผลแบบหลายมุมมอง และเวลาที่ใช้ในการแสดงผลเฟรม VR
- คำแนะนำด้านเสียง XR รวมถึงการรองรับเครื่องมือสร้างเสียงรอบทิศทาง
พัฒนาและเผยแพร่แอปสำหรับ Android
Unity มีเอกสารประกอบเชิงลึกสำหรับการพัฒนา การสร้าง และการเผยแพร่สำหรับ Android ซึ่งครอบคลุมหัวข้อต่างๆ เช่น สิทธิ์ของ Android ใน Unity, การตั้งค่าบิลด์ Android, การสร้างแอปสำหรับ Android และการนำส่งไปยัง Google Play
แพ็กเกจ Unity สำหรับ Android XR
มีแพ็กเกจ 2 รายการที่รองรับการสร้างแอป Unity สำหรับ Android XR ทั้ง 2 แพ็กเกจนี้เป็นปลั๊กอินของผู้ให้บริการ XR ซึ่งเปิดใช้ได้ผ่านแพ็กเกจการจัดการปลั๊กอิน XR ของ Unity เครื่องมือจัดการปลั๊กอิน XR จะเพิ่มการตั้งค่าโปรเจ็กต์เพื่อจัดการและให้ความช่วยเหลือเกี่ยวกับการโหลด การเริ่มต้น การตั้งค่า และการรองรับบิลด์สำหรับปลั๊กอิน XR หากต้องการอนุญาตให้แอปเรียกใช้ฟีเจอร์ OpenXR ขณะรันไทม์ โปรเจ็กต์ต้องเปิดใช้ฟีเจอร์เหล่านี้ผ่านเครื่องมือจัดการปลั๊กอิน
รูปภาพนี้แสดงตัวอย่างตำแหน่งที่คุณสามารถเปิดใช้กลุ่มฟีเจอร์เหล่านี้ผ่านเครื่องมือแก้ไขของ Unity
Unity OpenXR Android XR
แพ็กเกจ Unity OpenXR Android XR เป็นปลั๊กอิน XR สำหรับเพิ่มการรองรับ Android XR ลงใน Unity ปลั๊กอิน XR นี้ให้การรองรับ Android XR ส่วนใหญ่สำหรับ Unity และเปิดใช้การรองรับอุปกรณ์ Android XR สำหรับโปรเจ็กต์ AR Foundation AR Foundation ออกแบบมาสำหรับนักพัฒนาแอปที่ต้องการสร้างประสบการณ์ AR หรือเทคโนโลยีความจริงแบบผสม (MR) โดยจะทำหน้าที่เป็นอินเทอร์เฟซสำหรับฟีเจอร์ AR แต่ไม่ได้ใช้ฟีเจอร์ใดๆ ด้วยตัวเอง แพ็กเกจ Unity OpenXR Android XR จะเป็นตัวจัดการการติดตั้งใช้งาน หากต้องการเริ่มต้นใช้งานแพ็กเกจนี้ โปรดดูคู่มือแพ็กเกจซึ่งมีคู่มือเริ่มต้นใช้งาน
Android XR Extensions สำหรับ Unity
ส่วนขยาย Android XR สำหรับ Unity จะเสริมแพ็กเกจ Unity OpenXR Android XR และมีฟีเจอร์เพิ่มเติมเพื่อช่วยคุณสร้างประสบการณ์ที่สมจริง โดยจะใช้เพียงอย่างเดียวหรือใช้ร่วมกับแพ็กเกจ Unity OpenXR Android XR ก็ได้
หากต้องการเริ่มต้นใช้งานแพ็กเกจนี้ ให้ทำตามคู่มือการตั้งค่าโปรเจ็กต์หรือคู่มือเริ่มใช้งานฉบับย่อสำหรับการนำเข้าส่วนขยาย Android XR สำหรับ Unity
ข้อควรพิจารณาเกี่ยวกับฟีเจอร์และความเข้ากันได้
ตารางต่อไปนี้อธิบายฟีเจอร์ที่แพ็กเกจ Unity OpenXR: Android XR และแพ็กเกจ Android XR Extensions for Unity รองรับ และสามารถใช้เพื่อระบุว่าแพ็กเกจใดมีฟีเจอร์ที่คุณต้องการและข้อควรพิจารณาเกี่ยวกับความเข้ากันได้
ฟีเจอร์ |
Unity OpenXR: สตริงฟีเจอร์ Android XR |
สตริงฟีเจอร์ของ Android XR Extensions สำหรับ Unity |
กรณีการใช้งานและลักษณะการทำงานที่คาดไว้ |
|---|---|---|---|
Android XR: เซสชัน AR
|
Android XR (ส่วนขยาย): การจัดการเซสชัน
|
หากต้องการใช้ฟีเจอร์จากแพ็กเกจใดแพ็กเกจหนึ่ง คุณต้องเปิดใช้ฟีเจอร์เซสชัน AR สำหรับแพ็กเกจนั้น คุณสามารถเปิดใช้ทั้ง 2 ชุดฟีเจอร์พร้อมกันได้ โดยฟีเจอร์แต่ละรายการจะจัดการกับความขัดแย้งตามความเหมาะสม |
|
ไม่มี |
ไม่มี |
การติดตามอุปกรณ์ใช้เพื่อติดตามตำแหน่งและการหมุนของอุปกรณ์ในพื้นที่จริง GameObject ของ XR Origin จะจัดการการติดตามอุปกรณ์และการเปลี่ยนสิ่งที่ติดตามได้เป็นระบบพิกัดของ Unity โดยอัตโนมัติโดยใช้คอมโพเนนต์ XROrigin และลำดับชั้น GameObject ที่มีกล้องและ TrackedPoseDriver |
|
Android XR: กล้อง AR |
ไม่มี |
ฟีเจอร์นี้รองรับการประมาณแสงและฟีเจอร์ส่งผ่านวิดีโอแบบเต็มหน้าจอ |
|
Android XR: AR Plane |
ไม่มี |
ฟีเจอร์นี้รองรับการตรวจจับและติดตามพื้นผิวเรียบในสภาพแวดล้อมจริง |
|
ไม่มี |
Android XR (ส่วนขยาย): การติดตามวัตถุ |
ฟีเจอร์นี้รองรับการตรวจจับและติดตามวัตถุในสภาพแวดล้อมจริง โดยใช้ร่วมกับคลังวัตถุอ้างอิง |
|
Android XR: AR Face
|
Android XR: การติดตามใบหน้า
|
การรองรับดวงตาของอวาตาร์จะให้บริการผ่านฟีเจอร์ Android XR: AR Face เข้าถึงการแสดงสีหน้าของผู้ใช้ผ่านฟีเจอร์ Android XR: การติดตามใบหน้า คุณใช้ฟีเจอร์ทั้ง 2 อย่างนี้ร่วมกันได้ |
|
Android XR: AR Raycast
|
ไม่มี |
ฟีเจอร์นี้ช่วยให้คุณฉายรังสีและคำนวณจุดตัดระหว่างรังสีนั้นกับสิ่งที่ติดตามได้ในระนาบหรือสิ่งที่ติดตามได้ในเชิงลึกซึ่งตรวจพบในสภาพแวดล้อมจริง |
|
Android XR: AR Anchor |
ไม่มี |
AR Anchor รองรับ Anchor เชิงพื้นที่ ระนาบ และถาวรผ่าน AR Foundation |
|
Android XR: การบดบัง AR
|
ไม่มี |
การบดบังช่วยให้เนื้อหาเทคโนโลยีความจริงแบบผสม (MR) ในแอปปรากฏเป็นแบบซ่อนหรือถูกบดบังบางส่วนหลังวัตถุในสภาพแวดล้อมจริง |
|
เมตริกประสิทธิภาพ |
เมตริกประสิทธิภาพของ Android XR |
ไม่มี |
ใช้ฟีเจอร์นี้เพื่อเข้าถึงเมตริกประสิทธิภาพสำหรับอุปกรณ์ Android XR |
การรองรับเลเยอร์องค์ประกอบ (ต้องใช้ปลั๊กอิน OpenXR และเลเยอร์องค์ประกอบ XR) |
Android XR: เลเยอร์การจัดองค์ประกอบแบบส่งผ่าน
|
ใช้การรองรับเลเยอร์องค์ประกอบของ Unity เพื่อสร้างเลเยอร์องค์ประกอบพื้นฐาน (เช่น สี่เหลี่ยม ทรงกระบอก การฉายภาพ) Android XR: สามารถใช้เลเยอร์องค์ประกอบ Passthrough เพื่อสร้างเลเยอร์ Passthrough ที่มี Mesh ที่กำหนดเอง โดยอ่านจาก GameObject ของ Unity |
|
Foveated Rendering (ต้องใช้ปลั๊กอิน OpenXR)
|
การแสดงผลแบบ Foveated (เดิม) |
การแสดงผลแบบ Foveated ช่วยเพิ่มความเร็วในการแสดงผลโดยการลดความละเอียดของพื้นที่ในมุมมองรอบข้างของผู้ใช้ ฟีเจอร์การแสดงผลแบบ Foveated ของ Unity รองรับเฉพาะแอปที่ใช้ URP และ Vulkan เท่านั้น ฟีเจอร์ Foveation (เดิม) ในส่วนขยาย Android XR สำหรับ Unity ยังรองรับไปป์ไลน์การแสดงผลในตัวและ OpenGL ES ด้วย เราขอแนะนำให้ใช้ฟีเจอร์การแสดงผลแบบ Foveated ของ Unity หากเป็นไปได้ และโปรดทราบว่าเราขอแนะนำให้ใช้ทั้ง URP และ Vulkan เมื่อสร้างสำหรับ Android XR |
|
ไม่มี |
ฟีเจอร์นี้จะตั้งค่าโหมดต้นทางการติดตาม XRInputSubsystem เป็น Unbounded Unbounded บ่งบอกว่า XRInputSubsystem ติดตาม InputDevice ทั้งหมดที่เกี่ยวข้องกับ Anchor ของโลก ซึ่งอาจมีการเปลี่ยนแปลง |
||
ไม่มี |
โหมดการผสมสภาพแวดล้อม |
ฟีเจอร์นี้ช่วยให้คุณตั้งค่าโหมดผสมผสานสภาพแวดล้อม XR ซึ่งควบคุมวิธีที่ภาพเสมือนจริงผสมผสานกับสภาพแวดล้อมในโลกจริงเมื่อเปิดใช้ฟีเจอร์ส่งผ่านภาพ |
|
ไม่มี |
ช่วยให้ |
||
ไม่มี |
ให้กลยุทธ์การกำหนดค่าการตรวจสอบสิทธิ์เซสชัน (คีย์ API, แบบไม่ใช้คีย์ และโทเค็นการตรวจสอบสิทธิ์) สำหรับบริการที่ใช้ระบบคลาวด์ |
||
ไม่มี |
ขยาย Unity ARFace ด้วยรูปแบบการติดตามใบหน้าแบบหลายโมดัลที่กำหนดค่าได้ ( |
||
ไม่มี |
อนุญาตให้ค้นหาสถานะแบตเตอรี่รันไทม์และระดับการชาร์จของตัวควบคุมที่เชื่อมต่อและเส้นทางอินพุตโดยใช้ |
||
Android XR: กล้อง AR |
ไม่มี |
เปิดใช้การค้นหาและการตั้งค่าระดับการหรี่แสงแบบส่งผ่านในโลกจริงโดยใช้ ARCameraFeature ของ Unity |
|
ไม่มี |
แจกแจงพร็อพเพอร์ตี้ส่วนขยายรันไทม์และความสามารถของอุปกรณ์โดยใช้ |
||
ไม่มี |
อนุญาตให้ค้นหาสถานะก่อนเปิดใช้งานของสภาพแวดล้อมรันไทม์ (รวมถึงโหมดผสมสภาพแวดล้อม ความทึบแสงแบบพาสทรู และรูปแบบอินพุตที่ใช้งานอยู่) โดยใช้ |
||
Android XR: กรอบล้อมรอบ AR |
ให้การรองรับการตรวจจับกรอบล้อมรอบสำหรับวัตถุ 3 มิติในสภาพแวดล้อมจริงโดยใช้เฟรมเวิร์กเอนทิตีเชิงพื้นที่ OpenXR ( |
||
ไม่มี |
ขยายความสามารถของ Anchor โดยใช้ |
||
ไม่มี |
อนุญาตให้แสดงผลเนื้อหาแอปพลิเคชันภายในคอนเทนเนอร์เชิงปริมาตร 3 มิติที่ระบบจัดการในโหมด Full Space พร้อม API และเหตุการณ์ Callback ใน |
การป้อนข้อมูลและการโต้ตอบ
Android XR รองรับอินพุตแบบหลายโมดัลที่เป็นธรรมชาติ
นอกจากนี้ยังรองรับอุปกรณ์ต่อพ่วง เช่น คอนโทรลเลอร์ 6DoF, เมาส์ และแป้นพิมพ์จริง นอกเหนือจากการติดตามมือและการติดตามดวงตา ซึ่งหมายความว่าแอปสำหรับ Android XR ควรจะรองรับการโต้ตอบด้วยมือ และไม่สามารถคาดเดาได้ว่าอุปกรณ์ทั้งหมดจะมาพร้อมกับตัวควบคุม
โปรไฟล์การโต้ตอบ
Unity ใช้โปรไฟล์การโต้ตอบเพื่อจัดการวิธีที่แอปพลิเคชัน XR ของคุณสื่อสารกับอุปกรณ์และแพลตฟอร์ม XR ต่างๆ โปรไฟล์เหล่านี้จะกำหนดอินพุตและเอาต์พุตที่คาดไว้สำหรับการกำหนดค่าฮาร์ดแวร์ที่แตกต่างกัน ซึ่งจะช่วยส่งเสริมความเข้ากันได้และฟังก์ชันการทำงานที่สอดคล้องกันในแพลตฟอร์มต่างๆ การเปิดใช้โปรไฟล์การโต้ตอบจะช่วยให้มั่นใจได้ว่าแอปพลิเคชัน XR ของคุณทำงานได้อย่างถูกต้องกับอุปกรณ์ต่างๆ รักษาการแมปอินพุตที่สอดคล้องกัน และมีสิทธิ์เข้าถึงฟีเจอร์ XR ที่เฉพาะเจาะจง วิธีตั้งค่าโปรไฟล์การโต้ตอบ
- เปิดหน้าต่าง การตั้งค่าโปรเจ็กต์ (เมนู: Edit > Project Settings)
- คลิก XR Plug-in Management เพื่อขยายส่วนปลั๊กอิน (หากจำเป็น)
- เลือก OpenXR ในรายการปลั๊กอิน XR
- ในส่วนโปรไฟล์การโต้ตอบ ให้เลือกปุ่ม + เพื่อเพิ่มโปรไฟล์
- เลือกโปรไฟล์ที่จะเพิ่มจากรายการ
การโต้ตอบด้วยมือ
การโต้ตอบด้วยมือ (XR_EXT_hand_interaction) มีให้โดยปลั๊กอิน OpenXR และคุณสามารถแสดงเลย์เอาต์อุปกรณ์ <HandInteraction> ในระบบอินพุต Unity ได้โดยเปิดใช้โปรไฟล์การโต้ตอบด้วยมือ ใช้โปรไฟล์การโต้ตอบนี้สำหรับการป้อนข้อมูลด้วยมือที่รองรับโดยท่าทางการดำเนินการ 4 ท่าที่ OpenXR กำหนดไว้ ได้แก่ "บีบ" "แตะ" "เล็ง" และ "จับ" หากต้องการฟังก์ชันการโต้ตอบด้วยมือหรือการติดตามการเคลื่อนไหวของมือเพิ่มเติม โปรดดู XR Hands ในหน้านี้
การโต้ตอบด้วยการจ้องด้วยตา
การโต้ตอบด้วยการจ้องมอง (XR_EXT_eye_gaze_interaction) มีให้โดยปลั๊กอิน OpenXR และคุณสามารถใช้เลย์เอาต์นี้เพื่อดึงข้อมูลท่าทางของดวงตา (ตำแหน่งและการหมุน) ที่ส่วนขยายแสดงผลได้ อ่านข้อมูลเพิ่มเติมเกี่ยวกับการโต้ตอบด้วยการจ้องมองในคู่มือการป้อนข้อมูล OpenXR
การโต้ตอบกับตัวควบคุม
Android XR รองรับโปรไฟล์ตัวควบคุม Oculus Touch สำหรับตัวควบคุม 6DoF โปรไฟล์ทั้ง 2 รายการนี้มาจากปลั๊กอิน OpenXR
การโต้ตอบด้วยเมาส์
โปรไฟล์การโต้ตอบด้วยเมาส์ของ Android XR (XR_ANDROID_mouse_interaction) มีให้โดยส่วนขยาย Android XR สำหรับ Unity โดยจะแสดงเลย์เอาต์อุปกรณ์ <AndroidXRMouse> ในระบบอินพุตของ Unity
การโต้ตอบด้วยท่าทางฝ่ามือ
ปลั๊กอิน OpenXR รองรับการโต้ตอบด้วยท่าทางของฝ่ามือ (XR_EXT_palm_pose) ซึ่งจะแสดงเลย์เอาต์ <PalmPose> ภายในระบบอินพุตของ Unity
ท่าทางฝ่ามือไม่ได้มีไว้เพื่อเป็นทางเลือกแทนส่วนขยายหรือแพ็กเกจที่ทำการติดตามการเคลื่อนไหวของมือสำหรับกรณีการใช้งานที่ซับซ้อนมากขึ้น แต่สามารถใช้เพื่อวางเนื้อหาภาพเฉพาะแอป เช่น ภาพอวาตาร์ ท่าทางของฝ่ามือประกอบด้วยทั้งตำแหน่งและการวางแนวของฝ่ามือ
XR Hands
แพ็กเกจ XR Hands ช่วยให้คุณเข้าถึงข้อมูลการติดตามการเคลื่อนไหวของมือได้โดยใช้ XR_EXT_hand_tracking และ XR_FB_hand_tracking_aim รวมถึงมี Wrapper สำหรับแปลงข้อมูลข้อต่อมือจากการติดตามการเคลื่อนไหวของมือเป็นท่าทางอินพุต หากต้องการใช้ฟีเจอร์ที่แพ็กเกจ XR Hands มีให้ ให้เปิดใช้ฟีเจอร์ระบบย่อยการติดตามการเคลื่อนไหวของมือและการติดตามการเคลื่อนไหวของมือ Meta โดยใช้ OpenXR
แพ็กเกจ XR hands จะมีประโยชน์หากคุณต้องการข้อมูลท่าทางมือหรือข้อต่อมือที่ละเอียดยิ่งขึ้น หรือเมื่อต้องทำงานกับท่าทางสัมผัสที่กำหนดเอง
ดูรายละเอียดเพิ่มเติมได้ที่เอกสารประกอบของ Unity สำหรับการตั้งค่า XR Hands ในโปรเจ็กต์
ขอบเขตความเชื่อมั่นในการติดตามใบหน้า
ส่วนขยาย XR_ANDROID_face_tracking จะให้ค่าความเชื่อมั่นสำหรับบริเวณใบหน้า 3 ส่วน ได้แก่ ด้านซ้ายบน ด้านขวาบน และใบหน้าส่วนล่าง ค่าเหล่านี้มีตั้งแต่ 0 (ไม่มั่นใจ) ถึง 1 (มั่นใจสูงสุด) ซึ่งบ่งบอกถึงความแม่นยำของการติดตามใบหน้าสำหรับแต่ละบริเวณ
คุณสามารถใช้ค่า Confidence เหล่านี้เพื่อปิดใช้ Blendshape อย่างต่อเนื่องหรือใช้ฟิลเตอร์ภาพ (เช่น การเบลอ) กับบริเวณใบหน้าที่เกี่ยวข้อง สำหรับพื้นฐาน ให้ปิดใช้งานรูปทรงผสมในบริเวณใบหน้าที่เกี่ยวข้อง
บริเวณ "ใบหน้าส่วนล่าง" หมายถึงทุกอย่างที่อยู่ใต้ดวงตา ซึ่งรวมถึงปาก คาง แก้ม และจมูก ส่วนบน 2 ส่วน ได้แก่ บริเวณดวงตาและคิ้วทางด้านซ้ายและขวาของใบหน้า
ข้อมูลโค้ด C# ต่อไปนี้แสดงวิธีเข้าถึงและใช้ข้อมูลความเชื่อมั่นในสคริปต์ Unity
using UnityEngine;
using Google.XR.Extensions;
public class FaceTrackingConfidence : MonoBehaviour
{
void Update()
{
if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.HasValue)
{
DebugTextTopCenter.text = "XrInstance hasn't been initialized.";
return;
}
else if (!XRFaceTrackingFeature.IsFaceTrackingExtensionEnabled.Value)
{
DebugTextTopCenter.text = "XR_ANDROID_face_tracking is not enabled.";
return;
}
for (int x = 0; x < _faceManager.Face.ConfidenceRegions.Length; x++)
{
switch (x)
{
case (int)XRFaceConfidenceRegion.Lower:
regionText = "Bottom";
break;
case (int)XRFaceConfidenceRegion.LeftUpper:
regionText = DebugTextConfidenceLeft;
break;
case (int)XRFaceConfidenceRegion.RightUpper:
regionText = DebugTextConfidenceRight;
break;
}
}
}
ดูข้อมูลเพิ่มเติมได้ที่เอกสารประกอบเกี่ยวกับส่วนขยาย Android XR สำหรับ Unity
เลือกวิธีแสดงผลมือ
Android XR รองรับการแสดงผลมือ 2 วิธี ได้แก่ Hand Mesh และเครื่องมือแสดงภาพ Prefab
เมชมือ
แพ็กเกจ Android XR Unity มีฟีเจอร์ Hand Mesh ที่ให้สิทธิ์เข้าถึง XR_ANDROID_hand_mesh extension ฟีเจอร์ Hand Mesh จะแสดงเมชสำหรับมือของผู้ใช้ Hand mesh ประกอบด้วยจุดยอดของสามเหลี่ยมที่แสดงถึงเรขาคณิตของมือ ฟีเจอร์นี้มีไว้เพื่อใช้สร้างเมชที่ปรับเปลี่ยนในแบบของคุณซึ่งแสดงถึงรูปทรงเรขาคณิตจริงของมือผู้ใช้สำหรับการแสดงภาพ
XR Hands Prefab
แพ็กเกจ XR Hands มีตัวอย่างที่เรียกว่าเครื่องมือแสดงภาพมือ ซึ่งมีมือซ้ายและมือขวาที่ทำริกกิ้งอย่างสมบูรณ์เพื่อแสดงภาพมือของผู้ใช้ที่เหมาะสมกับบริบท
ท่าทางสัมผัสของระบบ
Android XR มีท่าทางสัมผัสของระบบเพื่อเปิดเมนูให้ผู้ใช้ย้อนกลับ เปิด Launcher หรือดูภาพรวมของแอปที่ทำงานอยู่ ผู้ใช้สามารถเปิดใช้งานเมนูระบบนี้ได้โดยใช้การบีบนิ้วด้วยมือข้างที่ถนัด
เมื่อผู้ใช้โต้ตอบกับเมนูการนำทางของระบบ แอปพลิเคชันจะตอบสนองต่อเหตุการณ์การติดตามการเคลื่อนไหวของศีรษะเท่านั้น แพ็กเกจ XR Hands สามารถตรวจจับได้เมื่อผู้ใช้ดำเนินการบางอย่าง เช่น การโต้ตอบกับเมนูการนำทางของระบบนี้ การตรวจสอบ AimFlags, SystemGesture และ DominantHand จะช่วยให้คุณทราบเมื่อมีการดำเนินการของระบบนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ AimFlags ได้ที่เอกสารประกอบ Enum MetaAimFlags ของ Unity
XR Interaction Toolkit
แพ็กเกจ XR Interaction Toolkit เป็นระบบการโต้ตอบระดับสูงที่อิงตามคอมโพเนนต์สำหรับการสร้างประสบการณ์ VR และ AR โดยมีเฟรมเวิร์กที่ทำให้การโต้ตอบแบบ 3 มิติและ UI พร้อมใช้งานจากเหตุการณ์อินพุตของ Unity โดยรองรับงานการโต้ตอบต่างๆ เช่น การตอบสนองแบบรู้สึกได้ การตอบสนองด้วยภาพ และการเคลื่อนที่
OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร