Bagikan melalui


Port aplikasi VR ke Windows Mixed Reality

Windows 10 mencakup dukungan untuk headset imersif dan holografik. Perangkat lain seperti Oculus Rift atau HTC Vive memiliki dependensi pada pustaka yang ada di atas API platform sistem operasi. Untuk membawa aplikasi VR Win32 Unity yang ada ke Windows Mixed Reality, Anda perlu menargetkan ulang penggunaan VR SDK khusus vendor ke API dan plugin VR lintas vendor Unity.

Porting aplikasi VR ke Windows Mixed Reality memerlukan proses tingkat tinggi berikut:

  1. Pastikan PC Anda menjalankan Windows 10, versi 1709 (Fall Creator's Update) atau yang lebih baru, atau Windows 11.
  2. Tingkatkan ke versi terbaru grafis atau mesin game Anda. Mesin game harus mendukung SDK Windows 10 versi 10.0.15063.0 atau yang lebih tinggi.
  3. Tingkatkan middleware, plug-in, dan komponen. Jika aplikasi Anda berisi komponen apa pun, tingkatkan ke versi terbaru.
  4. Targetkan versi Unity terbaru dan plugin OpenXR. Hapus dependensi pada SDK duplikat. Bergantung pada perangkat mana yang ditargetkan konten Anda, hapus atau kompilasi SDK tersebut secara kondisional.
  5. Atasi masalah build khusus untuk aplikasi, mesin, dan dependensi komponen Anda.

Langkah-langkah porting umum

Mulailah dengan langkah-langkah porting umum berikut:

  1. Pastikan Anda memiliki perangkat keras pengembangan yang tepat. Panduan penggemar VR mencantumkan perangkat keras pengembangan yang direkomendasikan.

  2. Tingkatkan ke penerbangan terbaru Windows 10.

    1. Menginstal Windows 10 Creators Update
    2. Bergabunglah dengan Program Windows Insider.
    3. Aktifkan Mode Pengembang
    4. Beralih ke penerbangan Cepat Windows Insider melalui Pengaturan > Pembaruan & Bagian Keamanan.

    Catatan

    Platform Windows Mixed Reality masih dalam pengembangan aktif. Bergabunglah dengan Program Windows Insider untuk mengakses penerbangan Windows Insider Fast. Jangan mendapatkan build pratinjau dari cincin Insider Skip Ahead, karena build tersebut tidak paling stabil untuk pengembangan realitas campuran.

  3. Jika Anda menggunakan Visual Studio, tingkatkan ke build terbaru. Lihat Menginstal alat di bawah Visual Studio 2022. Pastikan untuk menginstal Pengembangan Game dengan beban kerja Unity.

Langkah-langkah port unity

Tinjau langkah-langkah umum untuk memastikan lingkungan pengembangan Anda disiapkan dengan benar. Untuk memindahkan konten Unity yang sudah ada, ikuti langkah-langkah berikut:

1. Tingkatkan ke build publik terbaru Unity dengan dukungan Windows MR

  1. Simpan salinan proyek Anda sebelum memulai.
  2. Unduh build publik Unity terbaru yang direkomendasikan dengan dukungan Windows Mixed Reality.
  3. Jika proyek Anda dibangun pada versi Unity yang lebih lama, tinjau Panduan Peningkatan Unity.
  4. Ikuti petunjuk untuk menggunakan pembaruan API otomatis Unity.
  5. Lihat apakah Anda perlu membuat perubahan lain untuk menjalankan proyek Anda, dan bekerja melalui kesalahan dan peringatan apa pun.

2. Tingkatkan middleware Anda ke versi terbaru

Dengan pembaruan Unity apa pun, Anda mungkin perlu memperbarui satu atau beberapa paket middleware yang bergantung pada game atau aplikasi Anda. Memperbarui ke middleware terbaru meningkatkan kemungkinan keberhasilan di seluruh proses porting lainnya.

3. Targetkan aplikasi Anda untuk berjalan di Win32

Dari dalam aplikasi Unity Anda:

  1. Navigasi kePengaturan BuildFile>.
  2. Pilih PC, Mac, Linux Mandiri.
  3. Atur platform target ke Windows.
  4. Atur arsitektur ke x86.
  5. Pilih Ganti Platform.

Catatan

Jika aplikasi Anda memiliki dependensi pada layanan khusus perangkat, seperti pencocokan pembuatan dari Steam, nonaktifkan sekarang. Anda dapat menghubungkan layanan setara Windows nanti.

4. Tambahkan dukungan untuk Plugin OpenXR Mixed Reality

  1. Pilih dan instal versi Unity dan plugin XR. Meskipun Unity 2020.3 LTS dengan plugin OpenXR Mixed Reality adalah yang terbaik untuk pengembangan Mixed Reality, Anda juga dapat membangun aplikasi dengan konfigurasi Unity lainnya.

  2. Hapus atau kompilasi dukungan pustaka apa pun secara kondisional khusus untuk VR SDK lain. Aset tersebut dapat mengubah pengaturan dan properti pada proyek Anda dengan cara yang tidak kompatibel dengan Windows Mixed Reality.

    Misalnya, jika proyek Anda mereferensikan SteamVR SDK, perbarui proyek Anda untuk menggunakan API VR umum Unity, yang mendukung Windows Mixed Reality dan SteamVR.

  3. Dalam proyek Unity Anda, targetkan SDK Windows 10.

  4. Untuk setiap adegan, siapkan kamera.

5. Siapkan perangkat keras Windows Mixed Reality Anda

  1. Tinjau langkah-langkah dalam Penyiapan headset imersif.
  2. Pelajari cara Menggunakan simulator Windows Mixed Reality dan Menavigasi beranda Windows Mixed Reality.

6. Gunakan panggung untuk menempatkan konten di lantai

Anda dapat membangun pengalaman Mixed Reality di berbagai skala pengalaman. Jika Anda memindahkan pengalaman skala duduk, pastikan Unity diatur ke jenis ruang pelacakan stasioner :

XRDevice.SetTrackingSpaceType(TrackingSpaceType.Stationary);

Kode ini menetapkan sistem koordinat dunia Unity untuk melacak bingkai referensi stasioner. Dalam mode Pelacakan stasioner, konten yang Anda tempatkan di editor tepat di depan lokasi default kamera (maju adalah -Z) muncul di depan pengguna saat aplikasi diluncurkan. Untuk memberi tahu asal duduk pengguna, Anda dapat memanggil XR Unity. Metode InputTracking.Recenter .

Jika Anda memindahkan pengalaman skala berdiri atau pengalaman skala ruangan, Anda menempatkan konten relatif terhadap lantai. Alasan Anda tentang lantai pengguna menggunakan tahap spasial, yang mewakili asal tingkat lantai yang ditentukan pengguna. Tahap spasial dapat mencakup batas ruang opsional yang Anda siapkan selama eksekusi pertama.

Untuk pengalaman ini, pastikan Unity diatur ke jenis ruang pelacakan RoomScale . RoomScale adalah default, tetapi atur secara eksplisit dan pastikan Anda kembali true. Praktik ini menangkap situasi di mana pengguna telah memindahkan komputer mereka dari ruangan yang mereka kalibrasi.

if (XRDevice.SetTrackingSpaceType(TrackingSpaceType.RoomScale))
{
    // RoomScale mode was set successfully.  App can now assume that y=0 in Unity world coordinate represents the floor.
}
else
{
    // RoomScale mode was not set successfully.  App can't make assumptions about where the floor plane is.
}

Setelah aplikasi Anda berhasil mengatur jenis ruang pelacakan RoomScale, konten yang ditempatkan pada bidang y=0 muncul di lantai. Asal pada (0, 0, 0) adalah tempat khusus di lantai tempat pengguna berdiri selama pengaturan ruangan, dengan -Z mewakili arah maju yang mereka hadapi selama pengaturan.

Dalam kode skrip, Anda kemudian dapat memanggil TryGetGeometry metode pada UnityEngine.Experimental.XR.Boundary jenis untuk mendapatkan poligon batas, menentukan jenis TrackedAreabatas . Jika pengguna menentukan batas, Anda mendapatkan kembali daftar simpul. Anda kemudian dapat memberikan pengalaman skala ruangan kepada pengguna, di mana mereka dapat berjalan di sekitar adegan yang Anda buat.

Sistem secara otomatis merender batas ketika pengguna mendekatinya. Aplikasi Anda tidak perlu menggunakan poligon ini untuk merender batas itu sendiri.

Contoh hasil:

Contoh hasil

Untuk informasi selengkapnya, lihat Sistem koordinat di Unity.

7. Bekerja melalui model input Anda

Setiap game atau aplikasi yang menargetkan tampilan yang dipasang di kepala (HMD) yang ada memiliki serangkaian input yang ditanganinya, jenis input yang dibutuhkan untuk pengalaman, dan API tertentu yang dipanggilnya untuk mendapatkan input tersebut. Mudah dan mudah untuk memanfaatkan input yang tersedia di Windows Mixed Reality.

Lihat panduan port input untuk Unity untuk detail tentang bagaimana Windows Mixed Reality mengekspos input, dan bagaimana input memetakan ke apa yang dilakukan aplikasi Anda sekarang.

Penting

Jika Anda menggunakan pengontrol HP Reverb G2, lihat Pengontrol HP Reverb G2 di Unity untuk instruksi pemetaan input lebih lanjut.

8. Menguji dan menyetel performa

Windows Mixed Reality tersedia di banyak perangkat, mulai dari PC game kelas atas hingga PC mainstream pasar yang luas. Perangkat ini memiliki anggaran komputasi dan grafis yang berbeda secara signifikan yang tersedia untuk aplikasi Anda.

Jika Anda memindahkan aplikasi menggunakan PC premium dengan anggaran komputasi dan grafis yang signifikan, pastikan untuk menguji dan memprofilkan aplikasi Anda di perangkat keras yang mewakili pasar target Anda. Untuk informasi selengkapnya, lihat Windows Mixed Reality pedoman kompatibilitas perangkat keras PC minimum.

Unity dan Visual Studio mencakup profiler performa, dan panduan penerbitan Microsoft dan Intel tentang pembuatan profil performa dan pengoptimalan.

Untuk diskusi performa yang luas, lihat Memahami performa untuk Mixed Reality. Untuk detail spesifik tentang Unity, lihat Rekomendasi performa untuk Unity.

Pemetaan input

Untuk informasi dan instruksi pemetaan input, lihat Panduan port input untuk Unity.

Penting

Jika Anda menggunakan pengontrol HP Reverb G2, lihat Pengontrol HP Reverb G2 di Unity untuk instruksi pemetaan input lebih lanjut.

Lihat juga