Kami melanjutkan serangkaian artikel di Windows Mixed Reality dan mengembangkan dari awal aplikasi realitas campuran Unity dalam format praktikum. Anda sendiri dapat, secara paralel dengan publikasi artikel, membuat aplikasi semacam itu. Hari ini kita akan berbicara tentang suara spasial dan bagaimana menciptakan perasaan berada dalam realitas yang berbeda.

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 .
Suara spasial
Speaker siap, sekarang cobalah untuk memulai dan menghentikan pemutaran suara spasial. Di bagian ini, kami akan menambahkan sumber suara dan kontrol pemutaran audio.
Karena beberapa tugas yang dihadapi kami mirip dengan yang diselesaikan sebelumnya, kami akan memberikan instruksi dalam bentuk daftar untuk mempercepat proses.
Periksa tindakan Anda dengan tangkapan layar yang ada di akhir setiap tahap besar, dan lihat tautan tambahan untuk instruksi dalam instruksi.
Menambahkan sumber suara
Untuk memutar suara dari speaker, Anda perlu menambahkan komponen Unity
AudioSource ke dalamnya.
- Pilih objek Speaker di tempat kejadian dan klik Tambah Komponen -> Audio -> Sumber Audio.
- Klik ikon crosshair kecil di sebelah kanan properti Klip Audio komponen Sumber Audio dan pilih Chill Blue Lagoon.
- Hapus centang kotak Play On Awake, karena kami akan mengontrol pemutaran menggunakan tombol. Kami akan mengubah pengaturan untuk dukungan suara spasial nanti.

Menambahkan kontrol pemutaran ke speaker
Untuk menambahkan tombol putar ke speaker, ikuti langkah-langkah ini:
1. Pada panel Proyek, cari prefab CircleButton di Aset -> HoloToolkit -> UX -> Prefabs -> Buttons folder (Resources -> HoloToolkit -> UX -> Prefabs -> Buttons) dan seret ke panel Hierarchy dengan menambahkan cetakan ini ke adegan sebagai anak dari objek Speaker.
2. Beri tombol yang ditambahkan nama PlayButton.

3. Tingkatkan ukuran PlayButton dengan mengatur properti Transform Scale-nya menjadi (90, 90, 90).
4. Setelah memilih objek PlayButton, klik Tambahkan Komponen -> Acara -> Pemicu Acara (Tambah Komponen -> Acara -> Pemicu Acara).
5. Klik Tambahkan Jenis Acara Baru -> Klik Pointer.
6. Klik tombol + di bagian bawah daftar acara yang kosong.
7. Seret objek Speaker dari panel Hierarki ke bidang untuk membuang acara berlabel None (Object).
8. Dalam daftar drop-down No Function, pilih AudioSource-> Play ().

Untuk menambahkan tombol jeda ke speaker, ikuti langkah-langkah ini:
1. Gandakan PlayButton dengan menekan Ctrl + D atau mengklik kanan sumber daya di panel Hierarchy dan memilih Duplicate, lalu ganti namanya menjadi PauseButton.
2. Untuk fungsi Pemicu Acara objek PauseButton, tetapkan nilainya ke AudioSource-> Pause ().

Sekarang tombol-tombol ini seharusnya berfungsi, tetapi sulit untuk menggunakannya, karena saling tumpang tindih. Masalah lain - pengguna tidak melihatnya ketika speaker diputar ke samping. Untuk mengatasi masalah ini, lakukan hal berikut:
1. Setel properti Transform Position dari PlayButton ke (-6, 18, 0).
2. Untuk properti Transform Position dari PauseButton, atur nilainya (6, 18, 0).
3. Pada panel Hierarki, klik kanan objek Speaker dan pilih Buat Kosong untuk membuat objek anak kosong. Ganti nama GameObject yang ditambahkan ke ButtonBillboard. Untuk mengganti nama objek, klik kanan dan pilih Ubah nama.
4. Seret kedua tombol ke objek ButtonBillboard, menjadikannya objek anak-anak dari objek ini.
5. Dengan objek ButtonBillboard dipilih di Inspektur, klik Tambahkan Komponen -> Billboard. Komponen Billboard dapat ditemukan menggunakan bilah pencarian. Skrip Billboard dari Mixed Reality Toolkit membuat objek terus-menerus menghadap kamera dan sering digunakan untuk elemen antarmuka pengguna.
6. Anda perlu mendapatkan struktur berikut untuk papan iklan:

Untuk membuat tombol putar dan jeda lebih mudah dibedakan, Anda dapat mengganti ikon standarnya dengan yang lain. Ini dapat dilakukan dalam beberapa cara, tetapi kami akan menggunakan yang paling sederhana, mengingat ukuran proyek kami.
1. Dengan PlayButton dipilih, gulir ke bawah Inspektur ke komponen Ikon Tombol Majemuk.
2. Pilih kotak centang Abaikan Ikon.
3. Seret sprite Mulai dari folder Aset -> Tekstur ke properti Ikon Ganti komponen Komponen Tombol Ikon.
4. Ulangi langkah ini untuk objek PauseButton menggunakan Pause sprite.

Menambahkan Surround Sound
Sekarang kami memiliki speaker yang dapat dinyalakan, dimatikan dan dipindahkan di sekitar ruang tamu virtual. Namun, kami tidak memiliki suara spasial yang meningkatkan efek kehadiran dalam aplikasi kami.
Di Unity, suara spasial diimplementasikan menggunakan plug-in Spatializer. File plug-in adalah bagian dari Unity, sehingga mudah untuk mengimplementasikan suara spasial.
1. Buka Edit -> Pengaturan Proyek -> bagian Audio (Edit -> Pengaturan Proyek -> Suara).
2. Untuk parameter Plugin Spatializer, ubah nilainya dari None ke MS HRTF Spatializer.
Karena surround sound system Microsoft saat ini hanya mendukung laju sampling 48.000 Hz, Rate Sampel Sistem juga harus ditetapkan ke 48.000 (jika belum dilakukan) untuk mencegah kegagalan HRTF.

Sekarang Anda perlu mengatur pengaturan untuk klip suara itu sendiri.
1. Pada panel Hierarki, pilih objek Speaker.
2. Gulir ke komponen Sumber Audio pada panel Inspektur dan pilih kotak centang Spasialisasi.
3. Untuk parameter Spatial Blend, pilih 3D (nilai numerik adalah 1).
4. Buka menu Pengaturan Suara 3D.
5. Untuk mengatur pengaturan suara 3D yang optimal untuk aplikasi kita, atur nilai Logarithmic Rolloff untuk parameter Volume Rolloff, dan atur parameter Min Distance ke 3.
6. Dengan Pembicara dipilih, klik Tambah Komponen -> Audio Emitter. Ini adalah kelas dalam Mixed Reality Toolkit yang menggunakan komponen AudioSource yang tersambung dan subset filter suara Unity untuk menerapkan dan mengontrol efek suara, seperti penyerapan.

Simpan dan jalankan
Sekarang pembicara kami benar-benar siap. Mari mengubahnya menjadi cetakan.
1. Seret objek Speaker ke Aset -> folder Rak itan untuk mengubahnya menjadi cetakan.
Mengubah speaker menjadi cetakan, kita akan membuat objek dari itu yang dapat digunakan kembali. Setelah itu, kami akan dapat membuat sejumlah instance speaker untuk adegan kami atau adegan lain dari proyek ini.
Sekarang mari kita simpan adegan (dengan menekan Ctrl + S) dan jalankan untuk melihat hasil pekerjaan kita.
Sekarang kita dapat melakukan banyak hal menarik:
- mainkan dan hentikan bunyi;
- gerakkan speaker lebih dekat ke diri Anda sendiri, memperhatikan bahwa suaranya semakin keras dan jelas;
- pindahkan speaker lebih jauh dari Anda, perhatikan bahwa volume suara berkurang.
Jangan lupa bahwa Anda dapat memindahkan diri ke berbagai titik di ruangan dengan menekan tombol "Maju" pada lompatan dan memilih titik di lantai yang ingin Anda tuju. Dengan cara ini, Anda dapat bergerak lebih jauh dari speaker.
AsliPenulis: Eric Ahlstrom, cbarkerms, Madison Hight