Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pada intinya, aplikasi realitas campuran menempatkan hologram di dunia Anda yang terlihat seperti dan terdengar objek nyata. Ini melibatkan penempatan dan orientasi hologram yang tepat di tempat-tempat yang bermakna di dunia, apakah dunia adalah ruang fisik mereka atau dunia virtual yang telah Anda buat. Windows menyediakan berbagai sistem koordinat dunia nyata untuk mengekspresikan geometri --ini dikenal sebagai sistem koordinat spasial. Anda dapat menggunakan sistem ini untuk alasan tentang posisi hologram, orientasi, sinar tatapan , atau posisi tangan.
Dukungan perangkat
Fitur | HoloLens (generasi ke-1) | HoloLens 2 | Headset imersif |
Bingkai referensi stasioner | ✔️ | ✔️ | ✔️ |
Bingkai referensi terlampir | ✔️ | ✔️ | ✔️ |
Bingkai referensi tahap | Belum didukung | Belum didukung | ✔️ |
Jangkar spasial | ✔️ | ✔️ | ✔️ |
Pemetaan spasial | ✔️ | ✔️ | ❌ |
Pemahaman adegan | ❌ | ✔️ | ❌ |
Skala pengalaman realitas campuran
Anda dapat merancang aplikasi realitas campuran untuk berbagai pengalaman pengguna, dari penampil video 360 derajat menggunakan orientasi headset hingga aplikasi dan game skala dunia penuh menggunakan pemetaan spasial dan jangkar spasial:
Skala pengalaman | Persyaratan | Contoh pengalaman |
---|---|---|
Orientasi saja | Orientasi headset (selaras dengan gravitasi) | Penampil video 360° |
Skala duduk | Di atas ditambah posisi headset berdasarkan posisi nol | Game balap atau simulator ruang angkasa |
Skala berdiri | Di atas ditambah asal lantai panggung | Permainan aksi di mana Anda menunduk dan menghindang di tempat |
Skala kamar | Poligon batas panggung di atas plus | Permainan teka-teki di mana Anda berjalan di sekitar teka-teki |
Skala dunia | Jangkar spasial (dan biasanya pemetaan spasial) | Permainan dengan musuh yang berasal dari dinding nyata Anda, seperti RoboRaid |
Pengalaman menskalakan di atas mengikuti model "boneka bersarang". Prinsip desain utama untuk Windows Mixed Reality adalah ini: headset tertentu mendukung aplikasi yang dibangun untuk skala pengalaman target dan semua skala yang lebih rendah.
Pelacakan 6DOF | Lantai ditentukan | Pelacakan 360° | Batas yang ditentukan | Spatial anchors | Pengalaman maks |
---|---|---|---|---|---|
No | - | - | - | - | Orientasi saja |
Ya | Tidak | - | - | - | Duduk |
Ya | Ya | Tidak | - | - | Berdiri - Maju |
Ya | Ya | Ya | Tidak | - | Berdiri - 360° |
Ya | Ya | Ya | Ya | Tidak | Ruang |
Ya | Ya | Ya | Ya | Ya | Dunia |
Bingkai referensi Tahap belum didukung di HoloLens. Aplikasi skala kamar di HoloLens saat ini perlu menggunakan pemetaan spasial atau pemahaman adegan untuk menemukan lantai dan dinding pengguna.
Sistem koordinat spasial
Semua aplikasi grafis 3D menggunakan sistem koordinat Kartesius untuk alasan tentang posisi dan orientasi objek virtual. Sistem koordinat ini menetapkan tiga sumbu tegak lurus: X, Y, dan Z. Setiap objek yang Anda tambahkan ke adegan akan memiliki posisi XYZ dalam sistem koordinatnya. Windows memanggil sistem koordinat yang memiliki arti nyata di dunia fisik sistem koordinat spasial , yang mengekspresikan nilai koordinatnya dalam meter. Ini berarti bahwa objek menempatkan dua unit terpisah pada sumbu X, Y, atau Z akan muncul dua meter terpisah satu sama lain ketika dirender dalam realitas campuran. Mengetahui hal ini, Anda dapat dengan mudah merender objek dan lingkungan dalam skala dunia nyata.
Secara umum, sistem koordinat Kartesius disebut sebagai "tangan kanan" atau "tangan kiri" karena Anda dapat menggunakan posisi tangan untuk menunjukkan arah sumbu XYZ. Dalam kedua sistem koordinat, sumbu X positif menunjuk ke kanan dan sumbu Y positif menunjuk ke atas. Perbedaan antara keduanya adalah bahwa dalam sistem koordinat tangan kanan, sumbu Z menunjuk ke arah Anda, sementara dalam sistem koordinat tangan kiri, sumbu Z menunjuk jauh dari Anda.
Sistem koordinat spasial pada Windows (dan oleh karena itu, Windows Mixed Reality) selalu bertangan kanan.
[! CATATAN]
- Unity dan Unreal menggunakan sistem koordinat sebelah kiri.
- Meskipun koordinat tangan kiri dan kanan adalah sistem yang paling umum, ada sistem koordinat lain yang digunakan dalam perangkat lunak 3D. Misalnya, tidak biasa bagi aplikasi pemodelan 3D untuk menggunakan sistem koordinat di mana sumbu Y menunjuk ke arah atau jauh dari penampil dan sumbu Z menunjuk ke atas.
Membangun pengalaman orientasi-saja atau berskala duduk
Kunci untuk penyajian holografik adalah mengubah tampilan aplikasi Anda dari hologramnya setiap bingkai saat pengguna bergerak, untuk mencocokkan gerakan kepala yang diprediksi. Anda dapat membangun pengalaman skala duduk yang menghormati perubahan pada posisi kepala pengguna dan orientasi kepala menggunakan bingkai referensi stasioner.
Beberapa konten harus mengabaikan pembaruan posisi kepala, tetap diperbaiki pada judul dan jarak yang dipilih dari pengguna selalu. Contoh utama adalah video 360 derajat: karena video diambil dari satu perspektif tetap, itu akan merusak ilusi agar posisi tampilan bergerak berdasarkan konten, meskipun orientasi tampilan berubah saat pengguna melihat-lihat. Anda dapat membangun pengalaman khusus orientasi tersebut menggunakan bingkai referensi yang terlampir.
Bingkai referensi stasioner
Sistem koordinat yang disediakan oleh bingkai referensi stasioner berfungsi untuk menjaga posisi objek di dekat pengguna senyaman mungkin berdasarkan dunia, sambil menghormati perubahan posisi kepala pengguna.
Untuk pengalaman skala duduk di mesin game seperti Unity, bingkai referensi stasioner adalah apa yang mendefinisikan "asal dunia" mesin. Objek yang ditempatkan pada koordinat dunia tertentu menggunakan bingkai referensi stasioner untuk menentukan posisinya di dunia nyata menggunakan koordinat yang sama. Konten yang tetap diletakkan di dunia, bahkan saat pengguna berjalan-jalan, dikenal sebagai konten yang terkunci di dunia.
Aplikasi biasanya akan membuat satu bingkai referensi stasioner pada startup dan menggunakan sistem koordinatnya sepanjang masa pakai aplikasi. Sebagai pengembang aplikasi di Unity, Anda hanya dapat mulai menempatkan konten berdasarkan asal, yang akan berada di posisi dan orientasi kepala awal pengguna. Jika pengguna pindah ke tempat baru dan ingin melanjutkan pengalaman skala duduk mereka, Anda dapat memberi tahu pusat asal dunia di lokasi tersebut.
Seiring waktu, karena sistem mempelajari lebih lanjut tentang lingkungan pengguna, sistem dapat menentukan bahwa jarak antara berbagai titik di dunia nyata lebih pendek atau lebih lama dari yang diyakini sistem sebelumnya. Jika Anda merender hologram dalam bingkai referensi stasioner untuk aplikasi di HoloLens di mana pengguna berkeliaran di luar luas sekitar 5 meter, aplikasi Anda dapat mengamati penyimpangan di lokasi hologram yang diamati. Jika pengalaman Anda memiliki pengguna yang berkeliaran di luar 5 meter, Anda membangun pengalaman skala dunia, yang akan memerlukan teknik lain untuk menjaga hologram tetap stabil, seperti yang dijelaskan di bawah ini.
Bingkai referensi terlampir
Bingkai referensi terlampir bergerak dengan pengguna saat mereka berjalan-jalan, dengan judul tetap yang ditentukan saat aplikasi pertama kali membuat bingkai. Ini memungkinkan pengguna dengan nyaman melihat-lihat konten yang ditempatkan dalam bingkai referensi tersebut. Konten yang dirender dengan cara relatif pengguna ini disebut konten yang dikunci tubuh.
Ketika headset tidak dapat mengetahui di mana headset berada di dunia, bingkai referensi terlampir menyediakan satu-satunya sistem koordinat, yang dapat digunakan untuk merender hologram. Ini membuatnya ideal untuk menampilkan antarmuka pengguna fallback untuk memberi tahu pengguna bahwa perangkat mereka tidak dapat menemukannya di dunia. Aplikasi yang berskala duduk atau lebih tinggi harus menyertakan fallback orientasi-saja untuk membantu pengguna melaju lagi, dengan UI yang mirip dengan yang ditunjukkan di rumah Mixed Reality.
Membangun pengalaman skala berdiri atau skala kamar
Untuk melampaui skala duduk pada headset imersif dan membangun pengalaman skala berdiri, Anda dapat menggunakan bingkai referensi tahap.
Untuk memberikan pengalaman skala ruangan, memungkinkan pengguna berjalan-jalan dalam batas 5 meter yang telah ditentukan sebelumnya, Anda juga dapat memeriksa batas panggung.
Bingkai referensi tahap
Ketika pertama kali menyiapkan headset imersif, pengguna mendefinisikan panggung, yang mewakili ruangan tempat mereka akan mengalami realitas campuran. Tahap ini secara minimal mendefinisikan asal panggung, sistem koordinat spasial yang berpusat pada posisi lantai yang dipilih pengguna dan orientasi ke depan tempat mereka ingin menggunakan perangkat. Dengan menempatkan konten dalam sistem koordinat tahap ini di bidang lantai Y=0, Anda dapat memastikan hologram Anda muncul dengan nyaman di lantai ketika pengguna berdiri, memberi pengguna pengalaman skala berdiri.
Batas tahap
Pengguna juga dapat secara opsional menentukan batas tahap, area di dalam ruangan yang telah mereka bersihkan untuk bergerak dalam realitas campuran. Jika demikian, aplikasi dapat membangun pengalaman skala ruangan, menggunakan batas ini untuk memastikan bahwa hologram selalu ditempatkan di mana pengguna dapat menjangkaunya.
Karena bingkai referensi tahap menyediakan sistem koordinat tetap tunggal untuk menempatkan konten relatif lantai, ini adalah jalur termampukan untuk porting aplikasi skala berdiri dan skala ruangan yang dikembangkan untuk headset realitas virtual. Namun, seperti halnya platform VR tersebut, sistem koordinat tunggal hanya dapat menstabilkan konten dalam diameter sekitar 5 meter (16 kaki), sebelum efek lengan tuas menyebabkan konten jauh dari pusat untuk bergeser secara nyata saat sistem menyesuaikan. Untuk melampaui 5 meter, diperlukan jangkar spasial.
Membangun pengalaman berskala dunia
HoloLens memungkinkan pengalaman skala dunia sejati yang memungkinkan pengguna berkeliaran melebihi 5 meter. Untuk membangun aplikasi skala dunia, Anda memerlukan teknik baru di luar yang digunakan untuk pengalaman skala kamar.
Mengapa sistem koordinat kaku tunggal tidak dapat digunakan melebihi 5 meter
Saat ini, saat menulis game, aplikasi visualisasi data, atau aplikasi realitas virtual, pendekatan umumnya adalah membangun satu sistem koordinat dunia absolut yang dapat dipetakan kembali oleh semua koordinat lainnya. Di lingkungan tersebut, Anda selalu dapat menemukan transformasi stabil yang mendefinisikan hubungan antara dua objek di dunia tersebut. Jika Anda tidak memindahkan objek tersebut, transformasi relatifnya akan selalu tetap sama. Sistem koordinat global semacam ini bekerja dengan baik ketika merender dunia virtual murni di mana Anda mengetahui semua geometri terlebih dahulu. Aplikasi VR skala kamar saat ini biasanya membangun sistem koordinat skala kamar absolut semacam ini dengan asalnya di lantai.
Sebaliknya, perangkat realitas campuran yang tidak tertambat seperti HoloLens memiliki pemahaman dinamis berbasis sensor tentang dunia, terus menyesuaikan pengetahuannya dari waktu ke waktu lingkungan pengguna saat mereka berjalan banyak meter di seluruh lantai bangunan. Dalam pengalaman skala dunia, jika Anda menempatkan semua hologram Anda dalam satu sistem koordinat yang kaku, hologram tersebut akan selalu menyimpang dari waktu ke waktu, baik berdasarkan dunia atau satu sama lain.
Misalnya, headset saat ini mungkin percaya dua lokasi di dunia terpisah 4 meter, dan kemudian memperbaiki pemahaman itu, mempelajari bahwa lokasi sebenarnya terpisah 3,9 meter. Jika hologram tersebut awalnya ditempatkan terpisah 4 meter dalam satu sistem koordinat yang kaku, salah satunya kemudian akan selalu muncul 0,1 meter dari dunia nyata.
Spatial anchors
Windows Mixed Reality memecahkan masalah yang dijelaskan di bagian sebelumnya dengan memungkinkan Anda membuat jangkar spasial untuk menandai poin penting di dunia di mana pengguna telah menempatkan hologram. Jangkar spasial mewakili titik penting di dunia yang harus dilacak sistem dari waktu ke waktu.
Ketika perangkat belajar tentang dunia, jangkar spasial ini dapat menyesuaikan posisi mereka berdasarkan satu sama lain sesuai kebutuhan untuk memastikan setiap jangkar tetap tepat di mana ia ditempatkan berdasarkan dunia nyata. Dengan menempatkan jangkar spasial di lokasi di mana pengguna menempatkan hologram dan kemudian memposisikan hologram tersebut berdasarkan jangkar spasialnya, Anda dapat memastikan hologram mempertahankan stabilitas optimal, bahkan saat pengguna menjelajah di puluhan meter.
Penyesuaian jangkar spasial yang berkelanjutan ini berdasarkan satu sama lain adalah perbedaan utama antara sistem koordinat dari jangkar spasial dan bingkai referensi stasioner:
Hologram yang ditempatkan dalam bingkai referensi stasioner semuanya menjaga hubungan yang kaku satu sama lain. Namun, saat pengguna berjalan jauh, sistem koordinat bingkai tersebut dapat melayang berdasarkan dunia untuk memastikan bahwa hologram di samping pengguna tampak stabil.
Hologram yang ditempatkan dalam bingkai panggung referensi juga menjaga hubungan yang kaku satu sama lain. Berbeda dengan bingkai stasioner, bingkai panggung selalu tetap di tempat berdasarkan asal fisik yang ditentukan. Namun, konten yang dirender dalam sistem koordinat tahap di luar batas 5 meter hanya akan tampak stabil saat pengguna berdiri di dalam batas itu.
Hologram yang ditempatkan menggunakan satu jangkar spasial dapat menyimpang berdasarkan hologram yang ditempatkan menggunakan jangkar spasial lainnya. Ini memungkinkan Windows untuk meningkatkan pemahamannya tentang posisi setiap jangkar spasial, bahkan jika, misalnya, satu jangkar perlu menyesuaikan dirinya sendiri ke kiri dan jangkar lain perlu menyesuaikan dengan benar.
Berbeda dengan bingkai referensi stasioner, yang selalu mengoptimalkan stabilitas di dekat pengguna, bingkai tahap referensi dan jangkar spasial memastikan stabilitas di dekat asalnya. Ini membantu hologram tersebut tetap tepat di tempat dari waktu ke waktu, tetapi juga berarti bahwa hologram yang dirender terlalu jauh dari asal sistem koordinat mereka akan mengalami efek lengan tuas yang semakin parah. Ini karena penyesuaian kecil pada posisi dan orientasi panggung atau jangkar diperbesar sebanding dengan jarak jangkar tersebut.
Aturan praktis yang baik adalah memastikan bahwa apa pun yang Anda render berdasarkan sistem koordinat jangkar spasial yang jauh berada dalam jarak sekitar 3 meter dari asalnya. Untuk asal tahap terdekat, penyajian konten jauh tidak apa-apa, karena kesalahan posisi yang meningkat hanya akan memengaruhi hologram kecil yang tidak akan banyak bergeser dalam tampilan pengguna.
Persistensi jangkar spasial
Jangkar spasial juga dapat memungkinkan aplikasi Anda mengingat lokasi penting bahkan setelah aplikasi ditangguhkan atau perangkat dimatikan.
Anda dapat menyimpan ke disk jangkar spasial yang dibuat aplikasi Anda, lalu memuatnya kembali nanti, dengan mempertahankannya ke penyimpanan jangkar spasial aplikasi Anda. Saat menyimpan atau memuat jangkar, Anda menyediakan kunci string yang bermakna bagi aplikasi Anda, untuk mengidentifikasi jangkar nanti. Anggap kunci ini sebagai nama file untuk jangkar Anda. Jika Anda ingin mengaitkan data lain dengan jangkar tersebut, seperti model 3D yang ditempatkan pengguna di lokasi tersebut, simpan data tersebut ke penyimpanan lokal aplikasi Anda dan kaitkan dengan kunci yang Anda pilih.
Dengan mempertahankan jangkar ke toko, pengguna Anda dapat menempatkan hologram individual atau menempatkan ruang kerja di mana aplikasi akan menempatkan berbagai hologramnya, dan kemudian menemukan hologram tersebut nanti di mana mereka mengharapkannya, atas banyak kegunaan aplikasi Anda.
Hindari konten yang dikunci kepala
Kami sangat mencegah penyajian konten yang dikunci kepala, yang tetap berada di tempat tetap di layar (seperti HUD). Secara umum, konten yang dikunci kepala tidak nyaman bagi pengguna dan tidak merasa seperti bagian alami dunia mereka.
Konten yang dikunci kepala biasanya harus diganti dengan hologram yang melekat pada pengguna atau ditempatkan di dunia itu sendiri. Misalnya, kursor umumnya harus didorong keluar ke dunia, penskalaan secara alami untuk mencerminkan posisi dan jarak objek di bawah tatapan pengguna.
Menangani kesalahan pelacakan
Di beberapa lingkungan seperti lorong gelap, mungkin tidak mungkin untuk headset menggunakan pelacakan luar dalam untuk menemukan dirinya dengan benar di dunia. Ini dapat menyebabkan hologram tidak muncul atau muncul di tempat yang salah jika ditangani dengan tidak benar. Kami sekarang membahas kondisi di mana hal ini dapat terjadi, dampaknya pada pengalaman pengguna, dan tips untuk menangani situasi ini dengan terbaik.
Headset tidak dapat melacak karena data sensor tidak memadai
Terkadang, sensor headset tidak dapat mencari tahu di mana headset berada. Hal ini dapat terjadi jika:
- Ruangan itu gelap
- Jika sensor ditutupi oleh rambut atau tangan
- Jika lingkungan tidak memiliki tekstur yang cukup.
Ketika ini terjadi, headset tidak akan dapat melacak posisinya dengan akurasi yang cukup untuk merender hologram yang terkunci di dunia. Anda tidak dapat mengetahui di mana jangkar spasial, bingkai stasioner, atau bingkai panggung didasarkan pada perangkat. Namun, Anda masih dapat merender konten yang dikunci isi dalam bingkai referensi terlampir.
Aplikasi Anda harus memberi tahu pengguna cara mendapatkan pelacakan posisional kembali, merender beberapa konten yang dikunci tubuh fallback yang menjelaskan beberapa tips, seperti mengungkap sensor dan menyalakan lebih banyak lampu.
Headset salah melacak karena perubahan dinamis di lingkungan
Perangkat tidak dapat melacak dengan benar jika ada banyak perubahan dinamis di lingkungan, seperti banyak orang berjalan-jalan di dalam ruangan. Dalam hal ini, hologram mungkin tampak melompat atau melayang saat perangkat mencoba melacak dirinya sendiri di lingkungan dinamis ini. Sebaiknya gunakan perangkat di lingkungan yang kurang dinamis jika Anda mencapai skenario ini.
Trek headset salah karena lingkungan telah berubah secara signifikan dari waktu ke waktu
Ketika Anda mulai menggunakan headset di lingkungan di mana furnitur, dinding menggantung, dan sebagainya, telah dipindahkan, ada kemungkinan bahwa beberapa hologram mungkin muncul bergeser dari lokasi aslinya. Hologram sebelumnya juga dapat melompat-lompat saat pengguna bergerak di ruang baru karena pemahaman sistem tentang ruang Anda tidak lagi benar. Sistem kemudian mencoba memulihkan lingkungan sambil juga mencoba mendamaikan fitur ruangan. Dalam skenario ini, disarankan untuk mendorong pengguna untuk mengganti hologram yang mereka sematkan di dunia jika mereka tidak muncul di tempat yang diharapkan.
Trek headset salah karena ruang yang identik di lingkungan
Terkadang, rumah atau ruang lain mungkin memiliki dua area yang identik. Misalnya, dua ruang konferensi yang identik, dua area sudut yang identik, dua poster identik besar yang mencakup bidang pandang perangkat. Dalam skenario seperti itu, perangkat mungkin, kadang-kadang, bingung antara bagian yang identik dan menandainya sebagai sama dalam representasi internalnya. Hal ini dapat menyebabkan hologram dari beberapa area muncul di lokasi lain. Perangkat mungkin mulai sering kehilangan pelacakan karena representasi internal lingkungan telah rusak. Dalam hal ini, disarankan untuk mengatur ulang pemahaman lingkungan sistem. Mengatur ulang peta menyebabkan hilangnya semua penempatan jangkar spasial. Hal ini akan menyebabkan headset dilacak dengan baik di area unik lingkungan. Namun, masalahnya mungkin terulang kembali jika perangkat bingung di antara area yang identik lagi.