พัฒนาด้วย Unity สำหรับ Android XR

อุปกรณ์ XR ที่รองรับ
คำแนะนำนี้จะช่วยให้คุณสร้างประสบการณ์การใช้งานสำหรับอุปกรณ์ XR ประเภทนี้ได้
ชุดหูฟัง XR
แว่นตา XR แบบมีสาย

คู่มือนี้จะแสดงภาพรวมของการพัฒนาด้วย Unity สำหรับ Android XR Android XR ทำงานร่วมกับเครื่องมือและฟีเจอร์ที่คุ้นเคยซึ่งคุณคาดหวังจาก Unity และเนื่องจากการรองรับ Android XR ของ Unity สร้างขึ้นบน OpenXR ฟีเจอร์หลายอย่างที่อธิบายไว้ในภาพรวมของ OpenXR จึงรองรับใน Unity ด้วย

ทำตามคำแนะนำนี้เพื่อดูข้อมูลเกี่ยวกับสิ่งต่อไปนี้

  • การรองรับ Unity สำหรับ Android XR
    • ข้อมูลเบื้องต้นเกี่ยวกับ Unity XR
    • การพัฒนาและเผยแพร่แอปสำหรับ Android XR
    • แพ็กเกจ Unity สำหรับ Android XR
      • OpenXR ของ Unity: แพ็กเกจ Android XR
      • ส่วนขยาย Android XR สำหรับ Unity
      • ข้อควรพิจารณาเกี่ยวกับฟีเจอร์และความเข้ากันได้
  • การป้อนข้อมูลและการโต้ตอบ

การรองรับ Android XR ใน Unity

เมื่อสร้างแอป Unity สำหรับ Android XR คุณจะใช้ประโยชน์จากเครื่องมือและความสามารถของเทคโนโลยีความจริงผสมได้ใน Unity 6 เวอร์ชันล่าสุด ซึ่งรวมถึงเทมเพลตความจริงแบบผสมที่ใช้ XR Interaction Toolkit, AR Foundation และ OpenXR Plugin เพื่อช่วยให้คุณเริ่มต้นใช้งานได้อย่างรวดเร็ว เมื่อสร้างแอปด้วย Unity สำหรับ Android XR เราขอแนะนำให้ใช้ Universal Render Pipeline (URP) เป็น Render Pipeline และ Vulkan เป็น Graphics API ฟีเจอร์เหล่านี้ช่วยให้คุณ ใช้ประโยชน์จากฟีเจอร์กราฟิกบางอย่างของ Unity ซึ่ง รองรับเฉพาะ Vulkan ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีกำหนดค่าการตั้งค่าเหล่านี้ได้ในคู่มือการตั้งค่าโปรเจ็กต์

พื้นฐาน XR ของ Unity

หากคุณเพิ่งเริ่มต้นใช้งาน Unity หรือการพัฒนา XR โปรดดูคู่มือ XR ของ Unity เพื่อทำความเข้าใจแนวคิดและเวิร์กโฟลว์ XR ขั้นพื้นฐาน XR Manual มีข้อมูลเกี่ยวกับสิ่งต่อไปนี้

พัฒนาและเผยแพร่แอปสำหรับ Android

Unity มีเอกสารประกอบเชิงลึกสำหรับการพัฒนา สร้าง และเผยแพร่สำหรับ Android ซึ่งครอบคลุมหัวข้อต่างๆ รวมถึงสิทธิ์ของ Android ใน Unity, การตั้งค่าการสร้าง Android, การสร้างแอปสำหรับ Android และการส่งไปยัง Google Play

แพ็กเกจ Unity สำหรับ Android XR

มี 2 แพ็กเกจที่รองรับการสร้างแอป Unity สำหรับ Android XR ทั้ง 2 แพ็กเกจนี้เป็นปลั๊กอินของผู้ให้บริการ XR ซึ่งเปิดใช้ได้ ผ่านแพ็กเกจการจัดการปลั๊กอิน XR ของ Unity ตัวจัดการปลั๊กอิน XR จะเพิ่มการตั้งค่าโปรเจกต์สำหรับการจัดการและให้ความช่วยเหลือเกี่ยวกับการโหลด การเริ่มต้น การตั้งค่า และการรองรับการสร้างสำหรับปลั๊กอิน XR หากต้องการอนุญาตให้แอป เรียกใช้ฟีเจอร์ OpenXR ในรันไทม์ โปรเจ็กต์ต้องมีฟีเจอร์ต่อไปนี้ ที่เปิดใช้ผ่านตัวจัดการปลั๊กอิน

รูปภาพนี้แสดงตัวอย่างตำแหน่งที่คุณเปิดใช้กลุ่มฟีเจอร์เหล่านี้ผ่านเอดิเตอร์ของ Unity ได้

รูปที่ 1 ตัวอย่างหน้าจอการจัดการปลั๊กอิน Unity XR

Unity OpenXR Android XR

แพ็กเกจ Unity OpenXR Android XR เป็น XR Plug-in สำหรับเพิ่ม การรองรับ Android XR ลงใน Unity ปลั๊กอิน XR นี้รองรับ Android XR สำหรับ Unity เป็นส่วนใหญ่ และช่วยให้อุปกรณ์ Android XR รองรับโปรเจ็กต์ AR Foundation AR Foundation ออกแบบมาสำหรับนักพัฒนาแอป ที่ต้องการสร้างประสบการณ์ AR หรือ Mixed Reality โดยจะแสดงอินเทอร์เฟซ สำหรับฟีเจอร์ AR แต่ไม่ได้ใช้ฟีเจอร์ใดๆ ด้วยตัวเอง แพ็กเกจ Unity OpenXR Android XR มีการติดตั้งใช้งาน หากต้องการเริ่มต้นใช้งานแพ็กเกจนี้ โปรดดูคู่มือแพ็กเกจ ซึ่งมีคำแนะนำการเริ่มต้นใช้งาน

ส่วนขยาย Android XR สำหรับ Unity

ส่วนขยาย Android XR สำหรับ Unity จะเสริมแพ็กเกจ OpenXR Android XR ของ Unity และมีฟีเจอร์เพิ่มเติมที่จะช่วยคุณสร้างประสบการณ์การใช้งานที่สมจริง โดยจะใช้เพียงอย่างเดียวหรือใช้ร่วมกับแพ็กเกจ Unity OpenXR Android XR ก็ได้

หากต้องการเริ่มต้นใช้งานแพ็กเกจนี้ ให้ทําตามคู่มือการตั้งค่าโปรเจ็กต์หรือ คู่มือเริ่มต้นฉบับย่อสําหรับการนําเข้าส่วนขยาย Android XR สําหรับ Unity

ข้อควรพิจารณาเกี่ยวกับฟีเจอร์และความเข้ากันได้

ตารางต่อไปนี้จะอธิบายฟีเจอร์ที่ Unity OpenXR รองรับ แพ็กเกจ Android XR และแพ็กเกจส่วนขยาย Android XR สำหรับ Unity และสามารถ ใช้เพื่อพิจารณาว่าแพ็กเกจใดมีฟีเจอร์ที่คุณต้องการและข้อควรพิจารณา ด้านความเข้ากันได้

ฟีเจอร์

Unity OpenXR: สตริงฟีเจอร์ Android XR

สตริงฟีเจอร์ของส่วนขยาย Android XR สำหรับ Unity

กรณีการใช้งานและลักษณะการทำงานที่คาดไว้

เซสชัน AR

Android XR: เซสชัน AR

  • การตั้งค่าฟีเจอร์รวมถึงการเพิ่มประสิทธิภาพการทิ้งบัฟเฟอร์ (Vulkan)

Android XR (ส่วนขยาย): การจัดการเซสชัน

  • การตั้งค่าฟีเจอร์ประกอบด้วยการสุ่มตัวอย่างย่อย (Vulkan) และ URP SpaceWarp (Vulkan)

หากต้องการใช้ฟีเจอร์จากแพ็กเกจใดแพ็กเกจหนึ่ง คุณต้องเปิดใช้ฟีเจอร์ AR Session สำหรับแพ็กเกจนั้น คุณเปิดใช้ฟีเจอร์ทั้ง 2 ชุดพร้อมกันได้ โดยฟีเจอร์แต่ละรายการจะจัดการความขัดแย้งตามความเหมาะสม

การติดตามอุปกรณ์

ไม่มี

ไม่มี

การติดตามอุปกรณ์ใช้เพื่อติดตามตำแหน่งและการหมุนของอุปกรณ์ในพื้นที่จริง GameObject ของ XR Origin จะจัดการการติดตามอุปกรณ์และแปลงวัตถุที่ติดตามได้เป็นระบบพิกัดของ Unity โดยอัตโนมัติโดยใช้คอมโพเนนต์ XROrigin และลำดับชั้น GameObject ที่มีกล้องและ TrackedPoseDriver

กล้อง

Android XR: กล้อง AR

ไม่มี

ฟีเจอร์นี้รองรับการประมาณแสงและการส่งผ่านแบบเต็มหน้าจอ

การตรวจจับเครื่องบิน

Android XR: ระนาบ AR

Android XR (ส่วนขยาย): เครื่องบิน

ฟีเจอร์ทั้ง 2 นี้เหมือนกันทุกประการ คุณจะใช้ฟีเจอร์ใดก็ได้ Android XR (ส่วนขยาย): มี Plane เพื่อให้นักพัฒนาแอปใช้ฟีเจอร์ Android XR (ส่วนขยาย): การติดตามออบเจ็กต์และ Anchor แบบถาวรได้โดยไม่ต้องขึ้นอยู่กับทรัพยากร Dependency ของแพ็กเกจ Unity OpenXR Android XR ในอนาคต เราจะนำ Android XR (ส่วนขยาย): Plane ออกเพื่อเปลี่ยนไปใช้ Android XR: AR Anchor

การติดตามออบเจ็กต์

ไม่มี

Android XR (ส่วนขยาย): การติดตามออบเจ็กต์

ฟีเจอร์นี้รองรับการตรวจจับและติดตามออบเจ็กต์ในสภาพแวดล้อมจริง ซึ่งใช้ร่วมกับคลังออบเจ็กต์อ้างอิง

การติดตามใบหน้า

Android XR: ใบหน้า AR

  • XR_ANDROID_eye_tracking เท่านั้น
  • ไม่มีการติดตามใบหน้า

Android XR: การติดตามใบหน้า

  • XR_ANDROID_face_tracking

การรองรับดวงตาของอวตารมีให้ผ่านฟีเจอร์ Android XR: AR Face เข้าถึงสีหน้าของผู้ใช้ผ่านฟีเจอร์การติดตามใบหน้าของ Android XR คุณใช้ฟีเจอร์ทั้ง 2 นี้ร่วมกันได้

การแคสต์รังสี

Android XR: AR Raycast

  • สมอเครื่องบิน
  • Depth Anchor

ไม่มี

ฟีเจอร์นี้ช่วยให้คุณส่งรังสีและคำนวณจุดตัดระหว่างรังสีนั้นกับวัตถุที่ติดตามระนาบหรือวัตถุที่ติดตามความลึกซึ่งตรวจพบในสภาพแวดล้อมจริงได้

แองเคอร์

Android XR: Anchor AR

Android XR (ส่วนขยาย): Anchor

  • การตั้งค่าฟีเจอร์รวมถึงความคงทน

ฟีเจอร์ทั้ง 2 รายการรองรับทั้ง Spatial Anchor และ Plane Anchor โดยคุณจะใช้ฟีเจอร์ใดฟีเจอร์หนึ่งก็ได้ สำหรับ Anchor แบบถาวร ให้ใช้ Android XR (ส่วนขยาย): Anchor ในอนาคต เราจะนำ Android XR (ส่วนขยาย): Anchor ออก และฟีเจอร์ Anchor ทั้งหมดจะอยู่ใน Android XR: AR Anchor

การบดบัง

Android XR: การบดบัง AR

  • ความลึกของสภาพแวดล้อม

ไม่มี

การบดบังช่วยให้เนื้อหาความเป็นจริงแบบผสมในแอปของคุณปรากฏเป็นแบบซ่อนหรือถูกบดบังบางส่วนอยู่ด้านหลังวัตถุในสภาพแวดล้อมจริง

เมตริกประสิทธิภาพ

เมตริกประสิทธิภาพของ Android XR

ไม่มี

ใช้ฟีเจอร์นี้เพื่อเข้าถึงเมตริกประสิทธิภาพสำหรับอุปกรณ์ Android XR

เลเยอร์การคอมโพสิต

การรองรับเลเยอร์การจัดองค์ประกอบ (ต้องใช้ปลั๊กอิน OpenXR และเลเยอร์การจัดองค์ประกอบ XR)

Android XR: เลเยอร์การจัดองค์ประกอบแบบส่งผ่าน

  • XR_ANDROID_composition_layer_passthrough_mesh

ใช้การรองรับเลเยอร์การคอมโพสิตของ Unity เพื่อสร้างเลเยอร์การคอมโพสิตพื้นฐาน (เช่น สี่เหลี่ยมจัตุรัส ทรงกระบอก การฉายภาพ) Android XR: เลเยอร์การจัดองค์ประกอบการส่งผ่านสามารถใช้เพื่อสร้างเลเยอร์การส่งผ่านที่มีตาข่ายที่กำหนดเองได้ โดยอ่านจาก GameObject ของ Unity

การแสดงผลแบบโฟเวต

การแสดงผลแบบโฟเวต (ต้องใช้ปลั๊กอิน OpenXR)

  • รองรับการเรนเดอร์แบบโฟเวตที่ติดตามดวงตา: พื้นที่ที่มีความละเอียดสูงกว่าจะอยู่ตรงกลางที่ผู้ใช้กำลังมอง ทำให้ผู้ใช้สังเกตเห็นได้น้อยลง

โฟเวชัน (เดิม)

การเรนเดอร์แบบโฟเวตช่วยเพิ่มความเร็วในการเรนเดอร์ด้วยการลดความละเอียดของพื้นที่ในวิสัยทัศน์รอบข้างของผู้ใช้ ฟีเจอร์การเรนเดอร์แบบโฟเวตของ Unity รองรับเฉพาะแอปที่ใช้ URP และ Vulkan ฟีเจอร์ Foveation (เดิม) ในส่วนขยาย Android XR สำหรับ Unity ยังรองรับ Built-in Render Pipeline และ OpenGL ES ด้วย เราขอแนะนำให้ใช้ฟีเจอร์การเรนเดอร์แบบโฟเวตของ Unity เมื่อเป็นไปได้ และโปรดทราบว่าทั้ง URP และ Vulkan เป็นตัวเลือกที่แนะนำเมื่อสร้างสำหรับ Android XR

พื้นที่อ้างอิงแบบไม่จำกัด

ไม่มี

Android XR: พื้นที่อ้างอิงแบบไม่จำกัด

ฟีเจอร์นี้จะตั้งค่าโหมดต้นทางการติดตามของ XRInputSubsystem เป็น Unbounded Unbounded หมายความว่า XRInputSubsystem จะติดตาม InputDevice ทั้งหมดที่เกี่ยวข้องกับ World Anchor ซึ่งอาจเปลี่ยนแปลงได้

โหมดผสมสภาพแวดล้อม

ไม่มี

โหมดการผสมสภาพแวดล้อม

ฟีเจอร์นี้ช่วยให้คุณตั้งค่าโหมดการผสมผสานสภาพแวดล้อม XR ซึ่งควบคุมวิธีที่ภาพเสมือนผสานรวมกับสภาพแวดล้อมในโลกจริงเมื่อเปิดใช้การแสดงภาพ

เชิงพื้นที่ (VPS)

ไม่มี

Android XR: Geospatial

ช่วยให้ XRGeospatialManager เข้าถึงความสามารถของระบบกำหนดตำแหน่งด้วยภาพ (VPS) ตรวจสอบความพร้อมใช้งานของตำแหน่ง และคำนวณท่าทางเชิงพื้นที่

Google Cloud Auth

ไม่มี

Android XR: Google Cloud

ระบุกลยุทธ์การกำหนดค่าการตรวจสอบสิทธิ์เซสชัน (คีย์ API, ไม่ต้องใช้คีย์ และโทเค็นการตรวจสอบสิทธิ์) สำหรับบริการที่สำรองข้อมูลไว้ในระบบคลาวด์

Multimodal Face

ไม่มี

Android XR (ส่วนขยาย): ใบหน้าแบบมัลติโมดัล

ขยาย Unity ARFace ด้วยรูปแบบการติดตามใบหน้าแบบหลายรูปแบบที่กำหนดค่าได้ (XRFaceTrackerMode)

การแสดงสถานะแบตเตอรี่

ไม่มี

การแสดงสถานะแบตเตอรี่

อนุญาตให้ค้นหาสถานะแบตเตอรี่รันไทม์และระดับการชาร์จของคอนโทรลเลอร์และเส้นทางอินพุตที่เชื่อมต่อโดยใช้ XRBatteryStateDisplayFeature

การลดแสงแบบส่งผ่านทั่วโลก

Android XR: กล้อง AR

ไม่มี

ช่วยให้สามารถค้นหาและตั้งค่าระดับการหรี่แสงของฟีเจอร์การส่งผ่านโลกจริงโดยใช้ ARCameraFeature ของ Unity

การแจงนับพร็อพเพอร์ตี้ของระบบ

ไม่มี

Android XR: พร็อพเพอร์ตี้ของระบบ

แสดงรายการพร็อพเพอร์ตี้ของส่วนขยายรันไทม์และความสามารถของอุปกรณ์โดยใช้ XR_ANDROID_enumerate_system_extension_properties

การตั้งค่าที่แนะนำ

ไม่มี

Android XR: การตั้งค่าที่แนะนำ

อนุญาตให้ค้นหาสถานะก่อนเปิดตัวของสภาพแวดล้อมรันไทม์ (รวมถึงโหมดผสมสภาพแวดล้อม ความทึบแสงแบบส่งผ่าน และรูปแบบอินพุตที่ใช้งานอยู่) โดยใช้ XRRecommendedSettingsFeature.TryGetRecommendedSettings

การป้อนข้อมูลและการโต้ตอบ

Android XR รองรับการป้อนข้อมูลแบบธรรมชาติหลายรูปแบบ

นอกจากแฮนด์และอายแทร็กกิ้งแล้ว ระบบยังรองรับอุปกรณ์ต่อพ่วงต่างๆ เช่น คอนโทรลเลอร์ 6DoF เมาส์ และแป้นพิมพ์จริงด้วย ซึ่งหมายความว่าแอปสำหรับ Android XR ควรจะรองรับการโต้ตอบด้วยมือ และไม่สามารถ ถือว่าอุปกรณ์ทุกเครื่องจะมาพร้อมกับคอนโทรลเลอร์

โปรไฟล์การโต้ตอบ

Unity ใช้โปรไฟล์การโต้ตอบเพื่อจัดการวิธีที่แอปพลิเคชัน XR สื่อสารกับอุปกรณ์และแพลตฟอร์ม XR ต่างๆ โปรไฟล์เหล่านี้ กำหนดอินพุตและเอาต์พุตที่คาดไว้สำหรับการกำหนดค่าฮาร์ดแวร์ต่างๆ เพื่อส่งเสริมความเข้ากันได้และฟังก์ชันการทำงานที่สอดคล้องกันในแพลตฟอร์มต่างๆ การเปิดใช้โปรไฟล์การโต้ตอบจะช่วยให้มั่นใจได้ว่าแอปพลิเคชัน XR จะทำงานได้อย่างถูกต้องในอุปกรณ์ต่างๆ รักษาการแมปอินพุตที่สอดคล้องกัน และมีสิทธิ์เข้าถึงฟีเจอร์ XR ที่เฉพาะเจาะจง วิธีตั้งค่าโปรไฟล์การโต้ตอบ

  1. เปิดหน้าต่างการตั้งค่าโปรเจ็กต์ (เมนู: แก้ไข > การตั้งค่าโปรเจ็กต์)
  2. คลิกการจัดการปลั๊กอิน XR เพื่อขยายส่วนปลั๊กอิน (หากจำเป็น)
  3. เลือก OpenXR ในรายการปลั๊กอิน XR
  4. ในส่วนโปรไฟล์การโต้ตอบ ให้เลือกปุ่ม + เพื่อเพิ่มโปรไฟล์
  5. เลือกโปรไฟล์ที่จะเพิ่มจากรายการ

การโต้ตอบด้วยมือ

การโต้ตอบด้วยมือ (XR_EXT_hand_interaction) มาจากปลั๊กอิน OpenXR และคุณสามารถแสดง<HandInteraction> เลย์เอาต์อุปกรณ์ในระบบอินพุตของ Unity ได้โดยการเปิดใช้โปรไฟล์การโต้ตอบด้วยมือ ใช้โปรไฟล์การโต้ตอบนี้สำหรับการป้อนข้อมูลด้วยมือที่ท่าทางสัมผัส 4 ท่าที่กำหนดโดย OpenXR รองรับ ได้แก่ "หยิก" "จิ้ม" "เล็ง" และ "จับ" หากต้องการฟังก์ชันการโต้ตอบด้วยมือหรือการติดตามการเคลื่อนไหวของมือเพิ่มเติม โปรดดูมือ XR ในหน้านี้

การโต้ตอบด้วยการจ้องด้วยตา

การโต้ตอบด้วยการมอง (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 Input System

การโต้ตอบท่าฝ่ามือ

ปลั๊กอิน OpenXR รองรับการโต้ตอบท่าทางฝ่ามือ (XR_EXT_palm_pose) ซึ่งแสดงเลย์เอาต์ <PalmPose> ภายในระบบอินพุตของ Unity ท่าฝ่ามือไม่ได้มีไว้เพื่อเป็นทางเลือกแทนส่วนขยายหรือแพ็กเกจที่ ติดตามมือสำหรับ Use Case ที่ซับซ้อนกว่า แต่สามารถใช้เพื่อ วางเนื้อหาภาพเฉพาะแอป เช่น ภาพอวตาร ท่าฝ่ามือประกอบด้วย ทั้งตำแหน่งและทิศทางของฝ่ามือ

มือ XR

แพ็กเกจ XR Hands ช่วยให้คุณเข้าถึงข้อมูลการติดตามการเคลื่อนไหวของมือได้โดยใช้ XR_EXT_hand_tracking และ XR_FB_hand_tracking_aim รวมถึงมี Wrapper เพื่อแปลง ข้อมูลข้อต่อของมือจากการติดตามการเคลื่อนไหวของมือเป็นท่าทางอินพุต หากต้องการใช้ฟีเจอร์ที่แพ็กเกจ XR Hands มีให้ ให้เปิดใช้ฟีเจอร์ระบบย่อยการติดตามการเคลื่อนไหวของมือและการติดตามการเคลื่อนไหวของมือ Meta Aim OpenXR

ตัวอย่างแสดงวิธีเปิดใช้การติดตามมือ แพ็กเกจมือ XR มีประโยชน์ในกรณีที่คุณต้องการท่าทางมือหรือข้อมูลข้อต่อมือที่ละเอียดยิ่งขึ้น หรือเมื่อคุณต้องการทำงานร่วมกับท่าทางที่กำหนดเอง

ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบของ Unity สำหรับการตั้งค่ามือ XR ในโปรเจ็กต์

ขอบเขตความเชื่อมั่นในการติดตามใบหน้า

ส่วนขยาย XR_ANDROID_face_tracking จะให้ค่าความเชื่อมั่นสำหรับ 3 ภูมิภาคของใบหน้า ได้แก่ ด้านซ้ายบน ด้านขวาบน และด้านล่างของใบหน้า ค่าเหล่านี้มีตั้งแต่ 0 (ไม่มีความเชื่อมั่น) ถึง 1 (มีความเชื่อมั่นสูงสุด) ซึ่งบ่งบอกถึงความแม่นยำของการติดตามใบหน้าสำหรับแต่ละภูมิภาค

คุณสามารถใช้ค่าความเชื่อมั่นเหล่านี้เพื่อปิดใช้ Blendshape หรือ ใช้ฟิลเตอร์ภาพ (เช่น การเบลอ) กับบริเวณใบหน้าที่เกี่ยวข้องได้ สำหรับ การปิดใช้งาน 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 วิธี ได้แก่ ตาข่ายมือและเครื่องมือแสดงภาพสำเร็จรูป

โครงข่ายมือ

แพ็กเกจ Android XR Unity มีฟีเจอร์ Hand Mesh ที่ให้ สิทธิ์เข้าถึง XR_ANDROID_hand_mesh extension ฟีเจอร์ Hand Mesh จะแสดง Mesh สำหรับมือของผู้ใช้ Hand Mesh มีจุดยอดของ สามเหลี่ยมที่แสดงถึงรูปทรงของมือ ฟีเจอร์นี้มีไว้เพื่อ ใช้ในการสร้างตาข่ายที่ปรับตามโปรไฟล์ของผู้ใช้ซึ่งแสดงถึงรูปทรงเรขาคณิตจริงของมือผู้ใช้ เพื่อการแสดงภาพ

Prefab ของมือ XR

แพ็กเกจ XR Hands มีตัวอย่างชื่อ Hands visualizer ซึ่งมีมือซ้ายและขวาที่ติดตั้งอุปกรณ์ครบถ้วน สำหรับการแสดงภาพมือของผู้ใช้ที่เหมาะสมกับบริบท

ท่าทางสัมผัสของระบบ

Android XR มีท่าทางสัมผัสของระบบเพื่อเปิดเมนูให้ผู้ใช้กลับไป เปิด Launcher หรือดูภาพรวมของแอปที่กำลังทำงานอยู่ ผู้ใช้สามารถเปิดใช้งานเมนูระบบนี้ได้โดยใช้การบีบนิ้วด้วยมือข้างที่ถนัด

เมื่อผู้ใช้โต้ตอบกับเมนูการนำทางของระบบ แอปพลิเคชัน จะตอบสนองต่อเหตุการณ์การติดตามการเคลื่อนไหวของศีรษะเท่านั้น แพ็กเกจ XR Hands สามารถตรวจจับได้เมื่อผู้ใช้ดำเนินการบางอย่าง เช่น โต้ตอบกับเมนูการนำทางของระบบนี้ การตรวจสอบ AimFlags, SystemGesture และ DominantHand จะช่วยให้คุณทราบ เมื่อระบบดำเนินการนี้ ดูข้อมูลเพิ่มเติมเกี่ยวกับ AimFlags ได้ที่เอกสารประกอบ Enum MetaAimFlags ของ Unity

ชุดเครื่องมือ XR Interaction

แพ็กเกจชุดเครื่องมือการโต้ตอบ XR เป็นระบบการโต้ตอบระดับสูงที่อิงตามคอมโพเนนต์สำหรับการสร้างประสบการณ์ VR และ AR โดยจะ มีเฟรมเวิร์กที่ทำให้การโต้ตอบ 3 มิติและ UI พร้อมใช้งานจากเหตุการณ์อินพุตของ Unity โดยรองรับงานการโต้ตอบต่างๆ รวมถึงการตอบสนองแบบรู้สึกได้ ภาพ และการเคลื่อนที่


OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร