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 tangkapan 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 (pada 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 untuk 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)

Failure to clear to transparent black: black edge artifacts around holograms Failing to clear to transparent black: black edge artifacts around holograms

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

Setting a background alpha value of 1 results in a black background

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

Expected result if clearing to transparent black

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 pada 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 untuk render kamera ketiga pada 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).

Holograms at 2 meters will appear perfectly registered to the world. Holograms at close or far distances may be slightly offset.

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 "Kamera roll" perangkat. Anda dapat membuat perekam MRC kustom atau memanfaatkan UI pengambilan kamera bawaan.

MRC dengan UI kamera bawaan

Pengembang dapat menggunakan Kamera 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 adds a custom MRC camera using MRC effects

Aplikasi Unity akan melihat Locatable_camera_in_Unity properti untuk mengaktifkan hologram.

Aplikasi lain dapat melakukan ini dengan menggunakan API Windows Media Capture 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

Pada 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