Bagikan melalui


Gambaran umum pengambilan realitas campuran

Catatan

Lihat Merender dari kamera PV di bawah ini untuk panduan tentang kemampuan MRC baru untuk HoloLens 2.

Anda dapat mengambil foto atau video mixed reality capture (MRC) kapan saja, tetapi ada beberapa hal yang perlu diingat saat mengembangkan aplikasi Anda. Ini termasuk praktik terbaik untuk kualitas visual MRC dan responsif terhadap perubahan sistem saat MRC sedang ditangkap.

Pengembang juga dapat mengintegrasikan pengambilan dan penyisipan realitas campuran dengan lancar ke dalam aplikasi mereka.

MRC di HoloLens (generasi pertama) mendukung video dan foto hingga 720p, sementara MRC di HoloLens 2 mendukung video hingga 1080p dan foto hingga resolusi 4K.

Pentingnya MRC berkualitas

Baik itu cuplikan layar realitas campuran di halaman Microsoft Store Anda atau pengguna lain yang berbagi konten pengambilan di jejaring sosial, media Mixed Reality Capture sering kali menjadi paparan pertama pengguna ke aplikasi Anda. Anda dapat menggunakan MRC untuk mendemo aplikasi Anda, mendidik pengguna, mendorong pengguna untuk berbagi interaksi dunia campuran mereka, dan untuk penelitian pengguna dan pemecahan masalah.

Bagaimana MRC memengaruhi aplikasi Anda

Mengaktifkan MRC di aplikasi Anda

Secara default, aplikasi tidak perlu melakukan apa pun untuk memungkinkan pengguna mengambil tangkapan realitas campuran.

Mengaktifkan penyelarasan yang ditingkatkan untuk MRC di aplikasi Anda

Secara default, pengambilan realitas campuran menggabungkan output holografik mata kanan dengan kamera foto/video (PV). Kedua sumber ini digabungkan menggunakan titik fokus yang ditetapkan oleh aplikasi imersif yang sedang berjalan.

Ini berarti bahwa hologram di luar bidang fokus tidak akan sejajar karena jarak fisik antara kamera PV dan layar kanan.

Mengatur titik fokus

Aplikasi imersif (di HoloLens) harus mengatur titik fokus di mana mereka ingin bidang stabilisasi mereka berada. Ini memastikan keselarasan terbaik dalam headset dan dalam pengambilan realitas campuran.

Jika titik fokus tidak diatur, bidang stabilisasi akan default menjadi 2 meter.

Render dari kamera PV (keikutsertaan)

HoloLens 2 menambahkan kemampuan aplikasi imersif untuk dirender dari kamera PV saat pengambilan realitas campuran berjalan. Untuk memastikan aplikasi mendukung render tambahan dengan benar, aplikasi harus ikut serta dalam fungsionalitas ini.

Render dari kamera PV menawarkan peningkatan berikut atas pengalaman MRC default:

  • Keselarasan hologram dengan lingkungan fisik dan tangan Anda untuk interaksi dekat harus akurat di semua jarak. Hindari memiliki offset pada jarak selain titik fokus seperti yang mungkin Anda lihat di MRC default.
  • Mata kanan dalam headset tidak akan disusupi, karena tidak akan digunakan untuk merender hologram untuk output MRC.

Pelajari selengkapnya tentang penyajian dari kamera PV (DirectX).

Praktik terbaik (khusus HoloLens)

MRC diharapkan untuk bekerja tanpa upaya pengembangan tambahan, tetapi ada beberapa hal yang harus diperhatikan ketika memberikan pengalaman penangkapan realitas campuran terbaik.

MRC menggunakan saluran alfa hologram untuk menyatu dengan citra kamera

Langkah terpenting adalah memastikan aplikasi Anda membersihkan ke hitam transparan alih-alih membersihkan ke hitam buram. Di Unity, ini dilakukan secara default dengan MixedRealityToolkit. Jika Anda mengembangkan di non-Unity, Anda mungkin perlu membuat perubahan satu baris.

Berikut adalah beberapa artefak yang mungkin Anda lihat di MRC jika aplikasi Anda tidak dihapus menjadi hitam transparan:

Contoh Kegagalan: Tepi hitam di sekitar konten (gagal menghapus ke hitam transparan)

Kegagalan untuk menghapus ke hitam transparan: artefak tepi hitam di sekitar hologram Gagal menghapus ke hitam transparan: artefak tepi hitam di sekitar hologram

Contoh Kegagalan: Seluruh adegan latar belakang hologram tampak hitam. Mengatur nilai alfa latar belakang dari satu hasil dalam latar belakang hitam

Mengatur nilai alfa latar belakang 1 menghasilkan latar belakang hitam

Hasil yang Diharapkan: Hologram muncul dengan benar dipadukan dengan dunia nyata (hasil yang diharapkan jika membersihkan ke hitam transparan)

Hasil yang diharapkan jika membersihkan ke hitam transparan

Solusi:

  • Ubah konten apa pun yang muncul sebagai hitam buram untuk memiliki nilai alfa 0.
  • Pastikan aplikasi membersihkan ke hitam transparan.
  • Unity default untuk menghapus secara otomatis dengan MixedRealityToolkit, tetapi jika itu adalah aplikasi non-Unity, Anda harus memodifikasi warna yang digunakan dengan ID3D11DeiceContext::ClearRenderTargetView(). Anda ingin memastikan Anda menghapus hitam transparan (0,0,0,0) alih-alih hitam buram (0,0,0,1).

Anda sekarang dapat menyetel nilai alfa aset Anda jika mau, tetapi biasanya tidak perlu. Sebagian besar waktu, MRC akan terlihat bagus di luar kotak. MRC mengasumsikan alfa pra-kalikan. Nilai alfa hanya akan memengaruhi pengambilan MRC.

Apa yang diharapkan ketika MRC diaktifkan di HoloLens

Berikut ini berlaku untuk HoloLens (generasi pertama) dan HoloLens 2, kecuali dinyatakan lain:

  • Sistem akan membatasi aplikasi ke rendering 30-Hz. Ini menciptakan beberapa headroom agar MRC berjalan sehingga aplikasi tidak perlu menyimpan cadangan anggaran yang konstan dan juga cocok dengan framerate rekaman video MRC 30 fps
  • Konten hologram di mata kanan perangkat mungkin tampak "berkilau" saat merekam/streaming MRC: teks mungkin menjadi lebih sulit dibaca dan tepi hologram mungkin tampak lebih jaggy (memilih ke render kamera ketiga di HoloLens 2 menghindari penyusupan ini)
  • Foto dan video MRC akan menghormati titik fokus aplikasi jika aplikasi telah mengaktifkannya, yang akan membantu memastikan hologram diposisikan secara akurat. Untuk video, Titik Fokus dihaluskan sehingga hologram mungkin tampak perlahan melayang jika kedalaman Titik Fokus berubah secara signifikan. Hologram yang berada pada kedalaman yang berbeda dari titik fokus mungkin muncul offset dari dunia nyata (lihat contoh di bawah di mana Titik Fokus diatur pada 2 meter tetapi hologram diposisikan pada 1 meter).

Hologram pada 2 meter akan muncul dengan sempurna terdaftar ke dunia. Hologram pada jarak dekat atau jauh mungkin sedikit diimbangi.

Mengintegrasikan fungsionalitas MRC dari dalam aplikasi Anda

Aplikasi realitas campuran Anda dapat memulai pengambilan foto atau video MRC dari dalam aplikasi, dan konten yang diambil tersedia untuk aplikasi Anda tanpa disimpan ke "Rol kamera" perangkat. Anda dapat membuat perekam MRC kustom atau memanfaatkan UI pengambilan kamera bawaan.

MRC dengan UI kamera bawaan

Pengembang dapat menggunakan CAMERA Capture UI API untuk mendapatkan foto atau video realitas campuran yang diambil pengguna hanya dengan beberapa baris kode.

API ini meluncurkan UI kamera MRC bawaan tempat pengguna dapat mengambil foto atau video dan mengembalikan pengambilan yang dihasilkan ke aplikasi Anda. Anda dapat membuat perekam Mixed Reality Capture kustom jika perlu menambahkan UI kamera Anda sendiri atau akses tingkat bawah untuk mengambil aliran.

Membuat perekam MRC kustom

Meskipun pengguna selalu dapat memicu foto atau video menggunakan layanan pengambilan MRC sistem, aplikasi mungkin ingin membangun aplikasi kamera kustom yang menyertakan hologram dalam aliran kamera seperti MRC. Ini memungkinkan aplikasi untuk memulai pengambilan dari input pengguna, membangun UI rekaman kustom, atau menyesuaikan pengaturan MRC untuk memberi nama beberapa contoh.

HoloStudio menambahkan kamera MRC kustom menggunakan efek MRC

HoloStudio menambahkan kamera MRC kustom menggunakan efek MRC

Aplikasi Unity akan melihat Locatable_camera_in_Unity properti untuk mengaktifkan hologram.

Aplikasi lain dapat melakukan ini dengan menggunakan WINDOWS Media Capture API untuk mengontrol Kamera dan menambahkan efek Video dan Audio MRC untuk menyertakan hologram virtual dan audio aplikasi diam dan video.

Pelajari selengkapnya membuat perekam MRC kustom (DirectX).

Batasan MRC simultan

Anda perlu mengetahui batasan tertentu saat beberapa aplikasi mengakses MRC secara bersamaan.

Akses kamera foto/video

Di HoloLens 1, MRC akan gagal mengambil foto atau mengambil video saat proses merekam video atau mengambil foto. Sebaliknya juga benar: jika MRC berjalan, aplikasi akan gagal mendapatkan akses ke kamera.

Dengan HoloLens 2, Anda dapat berbagi akses ke kamera. Jika Anda tidak memerlukan kontrol langsung atas resolusi atau kecepatan bingkai, Anda dapat menginisialisasi MediaCapture menggunakan properti SharedMode dengan SharedReadOnly.

Akses kamera foto/video MRC bawaan

Pelajari tentang akses kamera foto/video MRC bawaan (DirectX).

Akses MRC untuk pengembang

Kami sarankan Anda selalu meminta Kontrol eksklusif untuk kamera saat menggunakan MRC. Ini akan memastikan aplikasi Anda memiliki kontrol penuh atas pengaturan untuk kamera selama Anda mengetahui batasan yang tercantum di atas.

Pelajari selengkapnya tentang akses MRC untuk pengembang (DirectX).

Lihat juga