Windows Mixed Reality: Panduan Pengembang (Bagian 1)

Halo, Habr! Hari ini kami memulai serangkaian artikel tentang Windows Mixed Reality. Dalam kerangka kerjanya, kami akan mengembangkan aplikasi realitas campuran pada Unity dari awal. Ngomong-ngomong, semua ini akan berlangsung dalam format praktikum (kerja laboratorium), yaitu, Anda bisa sendiri, bersamaan dengan publikasi artikel, membuat aplikasi semacam itu. Bergabunglah sekarang!



Seluruh panduan akan terdiri dari 5 bagian. Itu akan diisi ulang setiap minggu. Di bawah ini Anda dapat pergi ke bagian yang Anda butuhkan.

Bagian 1: Ekspor aplikasi UWP untuk Windows Mixed Reality from Unity ;
Bagian 2: Mengatur lingkungan (VR) ;
Bagian 3: Pengendali ;
Bagian 4: Suara Spasial ;
Bagian 5: HoloLens dan Grafik .

Realitas campuran adalah kombinasi dari dunia nyata dengan konten virtual, lingkungan hibrid di mana objek fisik dan digital ada bersama dan berinteraksi satu sama lain.

Dalam tutorial ini, Anda akan membuat aplikasi untuk headset Windows Mixed Reality (VR) yang imersif dan perangkat Microsoft HoloLens (AR). Dengan Unity, Anda akan membuat ruang virtual tempat pengguna berinteraksi dengan speaker yang mereproduksi suara spasial. Pengguna akan mendengar suara dengan melakukan teleportasi ke berbagai titik di dalam ruangan atau memindahkan speaker itu sendiri di sekitar ruangan.

Aplikasi ini akan dibuat menggunakan Mixed Reality Toolkit untuk kompatibilitas maksimum dengan HoloLens. Menjelang akhir pelajaran, Anda akan membuat beberapa perubahan pada aplikasi untuk membuat pengalaman yang dioptimalkan untuk perangkat Hololens dari aplikasi realitas virtual.

Setelah menyelesaikan pelajaran, Anda:

  • belajar cara membuat aplikasi realitas virtual menggunakan Unity, dan menggabungkan pengetahuan ini;
  • Pelajari cara mengkonfigurasi Unity untuk membangun aplikasi UWP untuk Mixed Reality.
  • Pelajari cara menggunakan fitur Mixed Reality (MR) standar, seperti pengaturan kamera, pemrosesan input (kontrol tatapan, pengontrol gerakan dan gerakan), dan reproduksi suara spasial dalam aplikasi MR;
  • Pelajari cara membuat aplikasi Mixed Reality yang cocok untuk kacamata VR dan HoloLens.

Persyaratan perangkat keras


  • Komputer yang mendukung MR
  • [Opsional] Headset Realitas Campuran Campuran Immersive Windows dengan Pengontrol Gerakan
  • [Opsional] Perangkat HoloLens

Catatan Jika Anda tidak memiliki akses ke headset imersif atau perangkat HoloLens, Anda dapat melihat cara kerja aplikasi Anda di simulator Mixed Reality atau emulator HoloLens. Lihat tautan di bawah.

Persyaratan perangkat lunak


β€’ Visual Studio 2017 . Edisi apa pun akan dilakukan, termasuk Edisi Komunitas gratis. Selama instalasi, komponen dan beban kerja berikut ini harus dipilih:


Catatan Di Visual Studio, akses ke berbagai toolkit dapat diperoleh menggunakan menu Alat -> Dapatkan Alat dan Fitur (Alat -> Dapatkan Alat dan Komponen).

β€’ Unity 2017.4.3 (saat memilih komponen selama instalasi, Anda perlu menambahkan .Net Scripting Backend);

β€’ OS Windows 10 Fall Creators Update (atau lebih baru);

  • Untuk mengaktifkan mode pengembang, buka Pengaturan -> Perbarui & keamanan -> Untuk pengembang.

β€’ [Opsional] Emulator HoloLens atau simulator Mixed Reality .

Ekspor UWP Windows Aplikasi Realitas Campuran dari Unity


1. Buat proyek Persatuan dan impor sumber daya


Untuk praktik ini, kita perlu mengimpor beberapa sumber daya yang diperlukan. Unduh dua paket Unity ini dan simpan di komputer Anda.

  • Paket Holotoolkit
    Ini adalah snapshot dari Microsoft Mixed Reality Toolkit , satu set skrip dan komponen yang mempercepat pengembangan aplikasi untuk Microsoft HoloLens dan headset yang mendukung Windows Mixed Reality.
  • Paket SpatialSoundLab.Unity
    Paket khusus disiapkan untuk pelajaran praktis ini. Berisi sumber daya (model, bahan dan klip suara) yang akan digunakan untuk bekerja dengan suara spasial.

Setelah menerima file sumber daya, kita dapat membuat proyek Unity.

1. Buka editor Unity dan klik New.

2. Pilih nama untuk proyek (misalnya, SpeakerPlacement).

3. Nyalakan 3D untuk templat, nonaktifkan analitik, dan klik Create project .

4. Untuk mengimpor paket Unity, pilih Aset -> Impor Paket -> Paket Kustom dari menu, dan navigasikan ke paket Holotoolkit.unitypackage yang sebelumnya disimpan.



5. Jangan batalkan pilihan item untuk mengimpor semua file. Klik Import .



Proses impor terdiri dari beberapa tahap dan mungkin memakan waktu beberapa menit. Jika impor paket berhasil, folder bernama Holotoolkit muncul di jendela proyek di bawah folder Aset.



6. Juga mengimpor file SpatialSoundLab.UnityPackage dengan mengulangi langkah-langkah di atas.

7. Folder Aset sekarang harus berisi kedua paket.



2. Penerapan parameter proyek


Selanjutnya, kita perlu mengkonfigurasi proyek Unity kita untuk membangun aplikasi untuk Windows Mixed Reality. Tugas ini akan membantu kami menyelesaikan Toolkit Realitas Campuran.

1. Di menu atas, buka bagian Mixed Reality Toolkit -> Configure (Mixed Reality Toolkit -> Pengaturan) dan pilih Terapkan Pengaturan Realitas Proyek Campuran.



2. Pilih kotak centang Pakai InputManager Sumbu khusus Toolkit dan klik tombol Terapkan.



Untuk tujuan referensi, kami memberikan deskripsi masing-masing parameter:

  • Target Windows Universal UWP (Build for Windows Universal UWP) - Menentukan platform target untuk Unity. Opsi lain untuk platform target dapat dilihat dengan memilih File -> Build Settings.
  • Build for Direct3D: Menetapkan nilai D3D untuk parameter Tipe Bangun di bagian Pengaturan Bangun. Untuk aplikasi Mixed Reality yang dirancang untuk headset tertutup, XAML tidak didukung.
  • Pengaturan Aktifkan parameter XR sama dengan pengaturan parameter yang Didukung Realitas Virtual di Pengaturan Pemain -> bagian Pengaturan XR.
  • Pengaturan Aktifkan .NET scripting sama dengan pengaturan .NET untuk Pengaturan Pemain -> Pengaturan Lainnya -> Scripting Backend (Pengaturan Player -> Pengaturan Lainnya -> Platform Scripting). Opsi IL2CPP juga akan berfungsi, tetapi untuk konsistensi di lab ini, kami sarankan untuk menggunakan varian .NET.
  • Parameter penggunaan InputManager spesifik Toolkit mengubah sumbu bagian Edit -> Pengaturan Proyek -> Manajer Input untuk mengaktifkan dukungan untuk semua sumbu yang digunakan dalam kotak peralatan . Dengan kata lain, itu termasuk dukungan untuk gamepad Xbox dan pengontrol untuk Mixed Reality.
  • Jika Anda membuat aplikasi hanya untuk headset imersif, Anda dapat memilih kotak centang Target Occluded Devices. Karena kami akan mentransfer aplikasi kami ke perangkat HoloLens, kami tidak akan memilih kotak centang ini.

Kami telah memberikan dukungan untuk Mixed Reality, tetapi ada beberapa pengaturan lagi yang perlu dibuat untuk platform Windows universal.

3. Di menu atas, buka bagian Mixed Reality Toolkit -> Configure (Mixed Reality Toolkit -> Settings) dan pilih Apply UWP Capability Settings.



4. Pilih kotak centang Persepsi Spasial jika Anda bermaksud untuk mentransfer aplikasi ini ke perangkat HoloLens. Ini akan memungkinkan kita untuk memetakan lingkungan dan menemukan permukaan untuk mengakomodasi speaker.

5. Klik tombol Apply untuk menyimpan perubahan Anda.

6. Selanjutnya, buka kotak dialog File -> Build Settings menggunakan pintasan keyboard Ctrl + Shift + B, pilih Universal Windows Platform, lalu klik Switch Platform. Tambahkan adegan terbuka ke majelis dengan mencentang kotak di sebelah nama adegan dan mengklik tombol Tambahkan Pemandangan Terbuka. Konfirmasikan tawaran untuk menyimpan lokasi dan pilih nama yang sesuai untuk itu. Kami menyebut adegan kami Main.

3. Terapkan pengaturan pemandangan dan tambahkan objek Realitas Campuran


Sekarang kita perlu mengatur adegan. Mari kita tambahkan objek yang akan menangani pergerakan kamera dan sinyal dari controller.

1. Dari menu atas, buka bagian Mixed Reality Toolkit -> Configure (Mixed Reality Toolkit -> Pengaturan) dan pilih Terapkan Pengaturan Proyek Realitas Campuran.



2. Biarkan semua pengaturan default dipilih dan klik tombol Terapkan.



Untuk tujuan referensi, kami memberikan deskripsi semua parameter ini:

  • Prefab MixedRealityCameraParent ditambahkan ke tempat kejadian. Prefab ini menambahkan kamera standar (utama) ke titik asal (0,0,0), dan juga menambahkan dukungan untuk pengontrol gerakan dan batas.
  • InputManager prefab ditambahkan ke tempat kejadian. Ini memberikan dukungan input (pandangan, kontrol gerakan, input sentuh, atau gamepad Xbox).
  • DefaultCursor prefab ditambahkan ke tempat kejadian.

Semua objek yang ditambahkan akan terlihat di panel Hierarki Persatuan.

Ini melengkapi pengaturan dan persiapan proyek dan adegan untuk membuat aplikasi UWP untuk MR.

Simpan adegan dan desain.

3. Klik File -> Save Scenes. Ketika diminta untuk memilih nama untuk adegan itu, beri nama Main (atau muncul dengan nama lain yang sesuai).

4. Klik File -> Save Project.

Catatan Untuk deskripsi terperinci dari semua parameter yang digunakan di sini, lihat panduan pemasangan proyek Reality Campuran ini .

4. Menyebarkan aplikasi di headset


Sekarang Anda tidak perlu melakukan ini, tetapi jika Anda memutuskan untuk membangun sebuah proyek, gunakan instruksi berikut untuk meluncurkannya.

Menyebarkan proyek pada headset imersif

1. Masuk ke Mixed Reality Toolkit -> Build Window (Mixed Reality Toolkit -> Build Window).

2. Klik Open in Visual Studio . Tindakan ini akan memakan waktu beberapa menit - selama waktu ini semua sumber daya akan dikompilasi dan solusi untuk Visual Studio akan dibuat atau diperbarui.

Catatan Jika pesan muncul di Unity bahwa tidak ada solusi terbuka untuk proyek dan Anda ditanya apakah Anda harus menyelesaikan perakitan, pilih Ya, Bangun.

3. Setelah build selesai, Unity akan memulai Visual Studio.

4. Di bilah alat Visual Studio standar, ubah platform solusi aktif dari ARM ke x64. Untuk target penyebaran, Anda harus memilih Mesin Lokal.



Jika Anda tidak melakukan debug, kami sarankan Anda juga mengubah tipe build dari Debug ke Release, karena build debug Unity paling lambat.

5. Buka aplikasi dengan menekan tombol putar.

Menyebarkan proyek pada perangkat HoloLens

Prosedur untuk menyebarkan proyek pada perangkat HoloLens sangat mirip dengan prosedur di atas untuk headset imersif dengan satu-satunya pengecualian bahwa Anda perlu memilih perangkat target lain dan memilih x86 sebagai platform.

1. Masuk ke Mixed Reality Toolkit -> Build Window (Mixed Reality Toolkit -> Build Window).

2. Klik Open in Visual Studio . Tindakan ini akan memakan waktu beberapa menit - selama waktu ini semua sumber daya akan dikompilasi dan solusi untuk Visual Studio akan dibuat atau diperbarui.

Catatan Jika pesan muncul di Unity bahwa tidak ada solusi terbuka untuk proyek dan Anda ditanya apakah Anda harus menyelesaikan perakitan, pilih Ya, Bangun.

3. Setelah build selesai, Unity akan memulai Visual Studio.

4. Di bilah alat Visual Studio standar, ubah platform solusi aktif dari ARM ke x86 dan pilih target yang tepat untuk penerapan:

  • jika penyebaran melalui USB, pilih Perangkat;
  • jika penyebaran melalui Wi-Fi, pilih Mesin jarak jauh dan konfigurasikan komputer jarak jauh.



Jika Anda tidak melakukan debug, kami sarankan Anda juga mengubah tipe build dari Debug ke Release, karena build debug Unity paling lambat.

5. Buka aplikasi dengan menekan tombol putar.

Untuk informasi tentang menerbitkan aplikasi ke Toko Microsoft, lihat situs Pengembang Windows .

Aplikasi Penempatan Speaker


Dalam aplikasi Penempatan Speaker untuk menempatkan speaker, pengguna akan memiliki opsi berikut:

  • menggunakan pengontrol gerak, pengguna dapat berteleportasi ke berbagai titik ruang tamu virtual atau bergerak di sekitarnya;
  • Anda juga dapat memilih speaker, memindahkan, memutar, menyalakan dan mematikannya dan mendengarkan suara spasial di seluruh ruangan.

Di bawah ini adalah daftar sumber daya model dan musik kami.

  • Rak itan -> RoomPrefab.prefab - ruang tamu virtual untuk headset imersif.
  • Models -> Speaker.3DS - model speaker kami, yang akan kami ubah menjadi prefab yang berfungsi.
  • Audio -> ChillBlueLagoon.mp3 - file musik (Anda dapat menggunakan file apa pun dalam format MP3, OGG, WAV atau AIFF).

Fitur lain akan diimplementasikan menggunakan Mixed Reality Toolkit. Komponen kit ini akan digunakan untuk menambah interoperabilitas.

Asli
Penulis: Eric Ahlstrom, cbarkerms, Madison Hight

Source: https://habr.com/ru/post/id418655/


All Articles