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

คู่มือนี้แสดงวิธีใช้ปลั๊กอิน XR ของ Google Cardboard สำหรับ 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. คลิกปุ่มโปรแกรมเล่น > กล้อง > CardboardReticlePointer GameObject สำหรับ เปิดหน้าต่างเครื่องมือตรวจสอบ ใน "เคอร์เซอร์เป้าแบบ Carboard" สคริปต์ เลือก "อินเทอร์แอกทีฟ" เป็น Reticle Interaction Layer Mask

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

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

  1. เลือก Android แล้วเลือก Switch Platform
  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. ระบุโดเมนบริษัทของคุณในชื่อแพ็กเกจ
  8. หากเลือก Vulkan เป็น Graphics API:
    • ยกเลิกการเลือกช่องทำเครื่องหมายใช้การหมุนจอแสดงผลระหว่างการแสดงผลใน Vulkan การตั้งค่า
    • หาก Unity เวอร์ชัน 2021.2 ขึ้นไป ให้เลือก ETC2 ใน Texture รูปแบบการบีบอัด
  9. หาก Unity เวอร์ชัน 2023.1 ขึ้นไป ให้เลือก Activity และล้างข้อมูล GameActivity ใน Application Entry Point

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

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

  1. ในส่วนสร้าง ให้เลือก Custom Main Gradle Template และ Custom Gradle Properties Template
  2. เพิ่มบรรทัดต่อไปนี้ในส่วนทรัพยากร Dependency ของ 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.6.1'
      implementation 'com.google.protobuf:protobuf-javalite:3.19.4'
    
  3. เพิ่มบรรทัดต่อไปนี้ใน Assets/Plugins/Android/gradleTemplate.properties:

      android.enableJetifier=true
      android.useAndroidX=true
    

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

ไปที่การตั้งค่าโปรเจ็กต์ > XR Plug-in Management

  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. ใน Target เวอร์ชัน iOS ต่ำสุด ให้เขียน 12.0
  3. ระบุโดเมนบริษัทของคุณในชื่อแพ็กเกจ

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

ไปที่การตั้งค่าโปรเจ็กต์ > XR Plug-in Management

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

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

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

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

กำลังจัดกึ่งกลางใหม่

Cardboard SDK ช่วยให้คุณทำสิ่งต่อไปนี้ได้ จัดกึ่งกลางศีรษะติดตามโดยใช้ Recenter()

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

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

การเปิดและปิดโหมด VR

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

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

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