Bagikan melalui


Penyiapan kamera di Unity

Ketika Anda mengenakan headset realitas campuran, itu menjadi pusat dunia holografik Anda. Komponen Unity Camera akan secara otomatis menangani penyajian stereoskopis dan mengikuti gerakan dan rotasi kepala Anda. Namun, untuk sepenuhnya mengoptimalkan kualitas visual dan stabilitas hologram, Anda harus mengatur pengaturan kamera yang dijelaskan di bawah ini.

Headset imersif HoloLens vs VR

Pengaturan default pada komponen Unity Camera adalah untuk aplikasi 3D tradisional, yang memerlukan latar belakang seperti skybox karena tidak memiliki dunia nyata.

  • Saat berjalan pada headset imersif, Anda merender semua yang dilihat pengguna, sehingga Anda mungkin ingin menyimpan skybox.
  • Namun, ketika berjalan pada headset holografik seperti HoloLens, dunia nyata harus muncul di belakang semua yang dirender kamera. Atur latar belakang kamera menjadi transparan (di HoloLens, render hitam sebagai transparan) alih-alih tekstur Skybox:
    1. Pilih Kamera Utama di panel Hierarki
    2. Di panel Pemeriksa, temukan komponen Kamera dan ubah dropdown Hapus Bendera dari Skybox ke Warna Solid
    3. Pilih pemilih warna Latar Belakang dan ubah nilai RGBA menjadi (0, 0, 0, 0)
      1. Jika mengatur ini dari kode, Anda dapat menggunakan Unity Color.clear

MRTK akan menangani pengaturan kamera tertentu secara otomatis, berdasarkan konfigurasi di profil sistem kamera.

Namespace: Microsoft.MixedReality.Toolkit.CameraSystem
Jenis: MixedRealityCameraSystem

Untuk memeriksa ke buram kamera, sistem MixedRealityCamera memiliki IsOpaque properti .

CoreServices.CameraSystem.IsOpaque;

Penyiapan kamera

Apa pun pengalaman yang Anda kembangkan, Kamera Utama selalu merupakan komponen penyajian stereo utama yang terpasang pada layar yang dipasang di kepala perangkat Anda. Akan lebih mudah untuk menjabarkan aplikasi Anda jika Anda membayangkan posisi awal pengguna sebagai (X: 0, Y: 0, Z: 0). Karena Kamera Utama melacak pergerakan kepala pengguna, posisi awal pengguna dapat diatur dengan mengatur posisi awal Kamera Utama.

Pilihan utama yang perlu Anda buat adalah apakah Anda mengembangkan untuk Headset imersif HoloLens atau VR. Setelah Anda mendapatkannya, lewati ke bagian penyiapan mana pun yang berlaku.

Penyiapan kamera HoloLens

Untuk aplikasi HoloLens, Anda perlu menggunakan jangkar untuk objek apa pun yang ingin Anda kunci ke lingkungan adegan. Sebaiknya gunakan ruang yang tidak terbatas untuk memaksimalkan stabilitas dan membuat jangkar di beberapa kamar.

Ikuti tutorial langkah demi langkah ini untuk menambahkan dan mengonfigurasi Mixed Reality Toolkit secara otomatis di proyek Unity Anda. Dimungkinkan juga untuk bekerja langsung dengan kelas MixedRealityPlayspace dari MRTK untuk Unity dan mengatur Skala Target ke Dunia:

Jendela pengaturan MRTK

MRTK harus menangani posisi ruang bermain dan kamera secara otomatis, tetapi ada baiknya untuk memeriksa kembali:

Ruang putar MRTK

  1. Dari panel Hierarki , perluas MixedRealityPlayspace GameObject dan temukan objek anak Kamera Utama
  2. Di panel Inspektur , temukan komponen Transformasi dan ubah Posisi menjadi (X: 0, Y: 0, Z: 0)

Penyiapan kamera VR

Windows Mixed Reality mendukung aplikasi di berbagai skala pengalaman, dari aplikasi khusus orientasi dan skala duduk melalui aplikasi skala kamar. Di HoloLens, Anda dapat melangkah lebih jauh dan membangun aplikasi skala dunia yang memungkinkan pengguna berjalan melebihi 5 meter, menjelajahi seluruh lantai gedung dan seterusnya.

Langkah pertama Anda dalam membangun pengalaman realitas campuran di Unity adalah menentukan skala pengalaman mana yang akan ditargetkan aplikasi Anda:

Pengalaman skala kamar atau berdiri

Catatan

Jika Anda membangun untuk HL2, sebaiknya buat pengalaman tingkat mata, atau pertimbangkan untuk menggunakan Scene Understanding untuk alasan tentang lantai adegan Anda.

Gunakan kelas MixedRealityPlayspace dari MRTK untuk Unity dan atur Skala Target ke Ruangan atau Berdiri:

Jendela pengaturan MRTK

MRTK harus menangani posisi ruang bermain dan kamera secara otomatis, tetapi ada baiknya untuk memeriksa kembali:

Ruang putar MRTK

  1. Dari panel Hierarki , perluas MixedRealityPlayspace GameObject dan temukan objek anak Kamera Utama
  2. Di panel Inspektur , temukan komponen Transformasi dan ubah Posisi menjadi (X: 0, Y: 0, Z: 0)

Pengalaman duduk

Gunakan kelas MixedRealityPlayspace dari MRTK untuk Unity dan atur Skala Target ke Seated:

Jendela pengaturan MRTK

MRTK harus menangani posisi ruang bermain dan kamera secara otomatis, tetapi ada baiknya untuk memeriksa kembali:

Ruang putar MRTK

  1. Dari panel Hierarki , perluas MixedRealityPlayspace GameObject dan temukan objek anak Kamera Utama
  2. Di panel Inspektur , temukan komponen Transformasi dan ubah Posisi menjadi (X: 0, Y: 0, Z: 0)

Menyiapkan latar belakang kamera

Jika Anda menggunakan MRTK, latar belakang kamera secara otomatis dikonfigurasi dan dikelola. Untuk proyek XR SDK atau Legacy WSA, sebaiknya atur latar belakang kamera menjadi hitam pekat di HoloLens dan pertahankan skybox untuk VR.

Menggunakan beberapa kamera

Ketika ada beberapa komponen Kamera dalam adegan, Unity tahu kamera mana yang akan digunakan untuk penyajian stereoskopis berdasarkan GameObject mana yang memiliki tag MainCamera. Di XR warisan, ia juga menggunakan tag ini untuk menyinkronkan pelacakan kepala. Di XR SDK, pelacakan kepala didorong oleh skrip TrackedPoseDriver yang terpasang pada kamera.

Berbagi buffer kedalaman

Berbagi buffer kedalaman aplikasi Anda ke Windows setiap bingkai akan memberi aplikasi Anda salah satu dari dua peningkatan dalam stabilitas hologram, berdasarkan jenis headset yang Anda render untuk:

  • Headset imersif VR dapat mengurus proyeksi ulang posisional ketika buffer kedalaman disediakan, menyesuaikan hologram Anda untuk kesalahan prediksi dalam posisi dan orientasi.
  • Headset HoloLens memiliki beberapa metode yang berbeda. HoloLens 1 akan secara otomatis memilih titik fokus ketika buffer kedalaman disediakan, mengoptimalkan stabilitas hologram di sepanjang bidang yang paling berpotongan konten. HoloLens 2 akan menstabilkan konten menggunakan Depth LSR (lihat Remarks).

Dialog konfigurasi MRTK akan mencoba mengatur pengaturan buffer kedalaman untuk XR SDK dan WSA warisan, tetapi ada baiknya untuk memeriksa tab tersebut dan memverifikasi pengaturan di Unity.

Menggunakan bidang kliping

Merender konten yang terlalu dekat dengan pengguna bisa tidak nyaman dalam realitas campuran. Anda dapat menyesuaikan bidang klip dekat dan jauh pada komponen Kamera.

  1. Pilih Kamera Utama di panel Hierarki
  2. Di panel Pemeriksa, temukan Komponen Kamera Mengklip Bidang dan ubah kotak teks Dekat dari 0,3 menjadi 0,85. Konten yang dirender lebih dekat dapat menyebabkan ketidaknyamanan pengguna dan harus dihindari sesuai pedoman jarak render.

Memcentang kamera

Jika Anda membangun pengalaman berskala duduk, Anda dapat memposisikan kembali asal dunia Unity di posisi kepala pengguna saat ini dengan memanggil XR. Metode InputTracking.Recenter di XR warisan atau metode XRInputSubsystem.TryRecenter di XR SDK.

Teleportasi

Fitur ini biasanya dicadangkan untuk pengalaman VR:

MRTK menyediakan sistem teleport dalam kotak yang secara otomatis bekerja di seluruh tangan dan pengontrol artikulasi.

Mode projeksi ulang

Baik HoloLens maupun headset imersif akan memproyeksikan ulang setiap bingkai yang dirender aplikasi Anda untuk menyesuaikan kesalahan posisi head pengguna yang sebenarnya saat foton dipancarkan.

Secara default:

  • Headset imersif VR akan mengurus proyeksi ulang posisi jika aplikasi menyediakan buffer kedalaman untuk bingkai tertentu. Headset imersif juga akan menyesuaikan hologram Anda untuk kesalahan prediksi dalam posisi dan orientasi. Jika buffer kedalaman tidak disediakan, sistem hanya akan memperbaiki kesalahan pemahaman dalam orientasi.
  • Headset Holografik seperti HoloLens 2 akan mengurus proyeksi ulang posisional apakah aplikasi menyediakan buffer kedalamannya atau tidak. Proyeksi ulang posisional dimungkinkan tanpa buffer kedalaman pada HoloLens karena penyajian sering kali jarang dengan latar belakang stabil yang disediakan oleh dunia nyata.

MRTK saat ini tidak memiliki pembantu untuk mode proyeksi ulang. Silakan lihat salah satu tab lainnya untuk informasi lebih lanjut.

Titik Pemeriksaan Pengembangan Berikutnya

Jika Anda mengikuti perjalanan pengembangan Unity yang telah kami susun, Anda berada di tengah-tengah menjelajahi blok bangunan inti MRTK. Dari sini, Anda dapat melanjutkan ke blok penyusun berikutnya:

Atau lompat ke kemampuan dan API platform Mixed Reality:

Anda selalu dapat kembali ke titik pemeriksaan pengembangan Unity kapan saja.

Lihat juga