การเริ่มต้นใช้งาน Google Cardboard สำหรับ Unity อย่างรวดเร็ว

คู่มือนี้จะแสดงวิธีใช้ Google Cardboard XR Plugin for Unity ใน Unity เพื่อสร้างประสบการณ์ Virtual Reality (VR) ของคุณเอง

คุณใช้ Cardboard SDK เพื่อเปลี่ยนโทรศัพท์มือถือให้เป็นแพลตฟอร์ม VR ได้ สมาร์ทโฟนสามารถแสดงฉาก 3 มิติด้วยโหมดแสดงภาพสเตอริโอสโคป ติดตามและตอบสนองการเคลื่อนไหวของศีรษะ รวมถึงโต้ตอบกับแอปโดยการตรวจจับเมื่อผู้ใช้กดปุ่มแว่นตา

ในการเริ่มต้นใช้งาน คุณจะใช้ HelloCardboard ซึ่งเป็นเกมเดโมที่แสดงฟีเจอร์หลักของ Cardboard SDK ในเกม ผู้ใช้จะมองไปรอบๆ โลกเสมือนจริงเพื่อค้นหาและรวบรวมวัตถุ โดยจะแสดงวิธีต่อไปนี้

  • ตั้งค่าสภาพแวดล้อมการพัฒนาซอฟต์แวร์
  • ดาวน์โหลดและสร้างแอปสาธิต
  • สแกนคิวอาร์โค้ดของแว่น Cardboard เพื่อบันทึกพารามิเตอร์
  • ติดตามการเคลื่อนไหวของศีรษะผู้ใช้
  • แสดงผลภาพสเตอริโอสโคปโดยตั้งค่าการบิดเบือนที่ถูกต้องสำหรับดวงตาแต่ละข้าง
  • เปิดและปิดโหมด VR

ตั้งค่าสภาพแวดล้อมการพัฒนา

ข้อกำหนดของซอฟต์แวร์

นําเข้า SDK และสร้างโปรเจ็กต์ใหม่

ทําตามขั้นตอนต่อไปนี้เพื่อนําเข้า Unity SDK และสร้างโปรเจ็กต์ใหม่

  1. เปิด Unity และสร้างโปรเจ็กต์ 3D ใหม่
  2. ใน Unity ให้ไปที่หน้าต่าง > เครื่องมือจัดการแพ็กเกจ
  3. คลิก + แล้วเลือกเพิ่มแพ็กเกจจาก URL ของ Git
  4. วาง https://github.com/googlevr/cardboard-xr-plugin.git ลงในช่องป้อนข้อความ
    ควรเพิ่มแพ็กเกจลงในแพ็กเกจที่ติดตั้ง
  5. ไปที่แพ็กเกจ Google Cardboard XR Plugin for Unity ในส่วนแท็บลองฟัง ให้เลือกนําเข้าไปยังโปรเจ็กต์
    ชิ้นงานตัวอย่างควรโหลดลงใน Assets/Samples/Google Cardboard/<version>/Hello Cardboard

การกำหนดค่าฉาก HelloCardboard

  1. ไปที่ Assets/Samples/Google Cardboard/<version>/Hello Cardboard/Scenes เลือกเพิ่มฉากที่เปิดอยู่ แล้วเลือก HelloCardboard เพื่อเปิดฉากตัวอย่าง
  2. เปิดเมนูเลเยอร์ แล้วเลือกแก้ไขเลเยอร์...
  3. กําหนดเลเยอร์ใหม่ชื่อ "อินเทอร์แอกทีฟ"
  4. คลิก GameObject Treasure เพื่อเปิดหน้าต่างเครื่องมือตรวจสอบ ตั้งค่าเลเยอร์เป็น "อินเทอร์แอกทีฟ" หากหน้าต่างป๊อปอัปปรากฏขึ้นถามว่าคุณต้องการตั้งค่าเลเยอร์เป็น "อินเทอร์แอกทีฟ" สำหรับออบเจ็กต์ย่อยทั้งหมดด้วยหรือไม่ ให้คลิก "ใช่ เปลี่ยนออบเจ็กต์ย่อย"
  5. คลิก GameObject Player > Camera > CardboardReticlePointer เพื่อเปิดหน้าต่างเครื่องมือตรวจสอบ ในสคริปต์ "เคอร์เซอร์เล็งแบบ Cardboard" ให้เลือก Interactive เป็นมาสก์เลเยอร์การโต้ตอบของเล็ง

การกำหนดการตั้งค่าโปรเจ็กต์ Android

ไปที่ไฟล์ > การตั้งค่าการสร้าง

  1. เลือก Android แล้วเลือกเปลี่ยนแพลตฟอร์ม
  2. เลือกเพิ่มฉากเปิด แล้วเลือก HelloCardboard

การตั้งค่าโปรแกรมเล่น

การแก้ปัญหาและการนำเสนอ

ไปที่การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > ความละเอียดและการแสดงผล

  1. ตั้งค่าการวางแนวเริ่มต้นเป็นแนวนอนซ้ายหรือแนวนอนขวา
  2. ปิดใช้การปรับอัตราการแสดงเฟรมแบบเพิ่มประสิทธิภาพ

การตั้งค่าอื่น

ไปที่การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > การตั้งค่าอื่นๆ

  1. เลือก OpenGLES2, OpenGLES3 หรือ Vulkan หรือใช้ร่วมกันในGraphics API
  2. เลือก Android 8.0 'Oreo' (API level 26) ขึ้นไปในระดับ API ขั้นต่ำ
  3. เลือก API level 33 ขึ้นไปในระดับ API เป้าหมาย
  4. เลือก IL2CPP ใน Scripting Backend
  5. เลือกสถาปัตยกรรมที่ต้องการโดยเลือก ARMv7, ARM64 หรือทั้ง 2 รายการในสถาปัตยกรรมเป้าหมาย
  6. เลือก Require ในการเข้าถึงอินเทอร์เน็ต
  7. เลือก Input System Package (New) ในการจัดการอินพุตที่ใช้งานอยู่
  8. ระบุโดเมนของบริษัทในส่วนชื่อแพ็กเกจ
  9. หากเลือก Vulkan เป็น Graphics API ให้ทำดังนี้
    • ยกเลิกการเลือกช่องทำเครื่องหมายใช้การหมุนจอแสดงผลระหว่างการแสดงผลในการตั้งค่า Vulkan
    • หาก Unity เป็นเวอร์ชัน 2021.2 ขึ้นไป ให้เลือก ETC2 ในรูปแบบการบีบอัดพื้นผิว
  10. หาก Unity เป็นเวอร์ชัน 2023.1 ขึ้นไป ให้เลือก Activity แล้วล้าง GameActivity ในApplication Entry Point

การตั้งค่าการเผยแพร่

ไปที่การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > การตั้งค่าการเผยแพร่

  1. ในส่วนสร้าง ให้เลือก Custom Main Gradle Template และ Custom Gradle Properties Template
  2. เพิ่มบรรทัดต่อไปนี้ลงในส่วน dependencies ของ Assets/Plugins/Android/mainTemplate.gradle

      implementation 'androidx.appcompat:appcompat:1.6.1'
      implementation 'com.google.android.gms:play-services-vision:20.1.3'
      implementation 'com.google.android.material:material:1.12.0'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. เพิ่มบรรทัดต่อไปนี้ลงใน Assets/Plugins/Android/gradleTemplate.properties

      android.enableJetifier=true
      android.useAndroidX=true
    

การตั้งค่าการจัดการปลั๊กอิน XR

ไปที่การตั้งค่าโปรเจ็กต์ > การจัดการปลั๊กอิน XR

  1. เลือก Cardboard XR Plugin ในส่วนผู้ให้บริการปลั๊กอิน

สร้างโปรเจ็กต์

ไปที่ไฟล์ > การตั้งค่าการสร้าง

  1. เลือกสร้าง หรือเลือกอุปกรณ์แล้วเลือกสร้างและเรียกใช้

การกำหนดการตั้งค่าโปรเจ็กต์ iOS

ไปที่ไฟล์ > การตั้งค่าการสร้าง

  1. เลือก iOS แล้วเลือกเปลี่ยนแพลตฟอร์ม
  2. เลือกเพิ่มฉากเปิด แล้วเลือก HelloCardboard

การตั้งค่าโปรแกรมเล่น

การแก้ปัญหาและการนำเสนอ

ไปที่การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > ความละเอียดและการแสดงผล

  1. ตั้งค่าการวางแนวเริ่มต้นเป็นแนวนอนซ้ายหรือแนวนอนขวา

การตั้งค่าอื่น

ไปที่การตั้งค่าโปรเจ็กต์ > โปรแกรมเล่น > การตั้งค่าอื่นๆ

  1. ในคำอธิบายการใช้งานกล้อง ให้เขียน Cardboard SDK requires camera permission to read the QR code (required to get the encoded device parameters).
  2. ในเวอร์ชัน iOS เป้าหมายขั้นต่ำ ให้เขียน 12.0
  3. ระบุโดเมนของบริษัทในส่วนชื่อแพ็กเกจ

การตั้งค่าการจัดการปลั๊กอิน XR

ไปที่การตั้งค่าโปรเจ็กต์ > การจัดการปลั๊กอิน XR

  1. เลือก Cardboard XR Plugin ในส่วนผู้ให้บริการปลั๊กอิน

สร้างโปรเจ็กต์

ไปที่ไฟล์ > การตั้งค่าการสร้าง

  1. เลือกสร้างหรือสร้างและเรียกใช้

การปรับจุดศูนย์กลางใหม่

Cardboard SDK ช่วยให้คุณศูนย์รวมอุปกรณ์ติดตามการเคลื่อนไหวของศีรษะได้โดยใช้ Recenter()

ทําตามขั้นตอนต่อไปนี้เพื่อลองใช้ด้วยแอปพลิเคชันตัวอย่าง

  1. ย้ายอุปกรณ์ไปยังตำแหน่งที่ต้องการจัดศูนย์ใหม่ (ใช้เป็นท่าทางศีรษะมองไปข้างหน้าใหม่)
  2. กดทริกเกอร์ของอุปกรณ์ Cardboard ค้างไว้อย่างน้อย 3 วินาที
  3. ปล่อยทริกเกอร์
  4. ตอนนี้ท่าทางเริ่มต้นอยู่ในทิศทางที่กล้องชี้ไป

วิธีเปิดและปิดโหมด VR

Unity XR Plugin Management API ช่วยให้คุณเปิดหรือปิดโหมด VR สำหรับปลั๊กอิน Google Cardboard XR สำหรับ Unity ได้ เอกสารประกอบสำหรับผู้ใช้ปลายทางและตัวอย่างการใช้งานมีอยู่ในเอกสารประกอบสำหรับผู้ใช้ปลายทางของ Unity

ฉาก VrMode ในตัวอย่าง HelloCardboard แสดงการใช้งานพื้นฐานของ API ข้างต้น ในฉากนี้ คุณสามารถปิดโหมด VR ได้โดยแตะออก และเปิดโหมดอีกครั้งได้โดยแตะที่ใดก็ได้บนหน้าจอ ดูรายละเอียดเกี่ยวกับวิธีดำเนินการนี้ได้จาก VrModeController.cs

ขั้นตอนถัดไป