Pertimbangan

Unity, OpenXR, dan WebXR menyediakan toolkit serbaguna untuk membuat beragam interaksi dalam pengalaman imersif. Tujuannya adalah mengembangkan aplikasi immersive yang dapat berinteraksi dengan pengguna menggunakan pengalaman yang telah dipelajari. Anda dapat mendesain apa pun, mulai dari gestur sederhana hingga simulasi berbasis fisika yang kompleks.

Perhatikan bahwa aplikasi Unity, OpenXR, dan WebXR hanya beroperasi di Ruang Penuh.

Pelajari prinsip-prinsip desain Android XR.

Masukan

Aplikasi XR dapat mencakup interaksi dengan pelacakan tangan, mata, dan wajah; gestur; perintah suara; dan perangkat input tradisional seperti keyboard, mouse, dan pengontrol. Pertimbangkan input yang diperlukan aplikasi Anda untuk memberikan pengalaman pengguna yang alami dan mudah diakses.

  • Dukung gestur yang sudah dikenal untuk mengurangi kurva pembelajaran aplikasi Anda. Saat berinteraksi dengan UI 2D, gunakan gestur sistem standar seperti cubit. Untuk interaksi 3D seperti mengambil dan melempar bola, Anda harus mendesain dengan gestur yang meniru interaksi dunia nyata. Hal ini didasarkan pada pengetahuan pengguna yang sudah ada dan mengurangi kebutuhan akan tutorial.
  • Jika diperlukan gestur tambahan, pastikan gestur tersebut mudah dipelajari, diingat, dan dijalankan. Hindari gestur multi-langkah yang rumit atau posisi yang tidak wajar yang dapat menyebabkan ketidaknyamanan dan kelelahan. Pertimbangkan untuk memberikan panduan guna mengajarkan pengguna cara menggunakan gestur tangan.
  • Pastikan pengalaman Anda dapat digunakan dengan tangan kiri atau kanan. Jika tidak memungkinkan, ikuti preferensi tangan sistem.
  • Meskipun interaksi dua tangan dapat menjadi imersif, interaksi tersebut mungkin sulit bagi pengguna dengan mobilitas terbatas. Prioritaskan interaksi satu tangan untuk tindakan penting. Jika gestur dua tangan diperlukan, berikan metode alternatif satu tangan untuk mencapai hasil yang sama.
  • Aplikasi Unity, OpenXR, dan WebXR tidak otomatis mendapatkan manfaat dari data sebelumnya Android. Pertimbangkan untuk menerapkan data sebelumnya agar pengguna dapat mengakses gestur kembali Android XR untuk mengurungkan tindakan atau kembali menggunakan navigasi gestur.

Dua tangan menggunakan navigasi gestur.

UI

Elemen antarmuka pengguna seperti tombol, panel, dan teks sangat penting untuk interaksi alami di aplikasi XR. Desain harus memprioritaskan pengalaman pengguna yang lancar dan intuitif. Pilihan desain UI tertentu akan bergantung pada persyaratan unik aplikasi Anda.

  • Tempatkan elemen interaktif utama dan konten penting dalam garis pandang dan cakupan pandangan pengguna yang alami. Hal ini meningkatkan visibilitas dan memastikan pengalaman yang nyaman. Pertimbangkan bagaimana pengguna dimaksudkan untuk berinteraksi dengan antarmuka untuk menentukan jarak penempatannya. Misalnya, apakah mereka membidik dengan pointer laser, atau mengetuk tombol langsung dengan jari mereka? Konfigurasikan ukuran antarmuka Anda berdasarkan jarak yang diinginkan dari pengguna. Lihat panduan ukuran dan skala Android XR.
  • Saat mendesain elemen UI interaktif seperti tombol, pertimbangkan cara pengguna diharapkan berinteraksi dengan elemen tersebut, tingkat presisi yang diperlukan untuk setiap metode input — pelacakan tangan versus mouse, dan sesuaikan faktor seperti ukuran target dan spasi. Pastikan posisi UI memungkinkan interaksi yang nyaman. Berikan respons visual untuk tindakan pengguna. Lihat panduan gaya Android XR.
  • UI 2D seperti panel sangat cocok untuk interaksi berbasis menu. UI 3D seperti tombol, tuas, dan tombol fisik dapat lebih imersif saat berinteraksi dengan lingkungan spasial. Keseimbangan yang cermat antara interaksi berbasis panel untuk keterbacaan tinggi dan objek 3D untuk interaksi yang berfokus pada dunia dapat menciptakan pengalaman yang imersif dan efektif.
  • Pastikan teks dapat dibaca dengan menggunakan ukuran, jenis, dan kontras font yang sesuai. Posisikan UI berdasarkan jarak pengguna akan melihat teks. Gunakan font Signed Distance Field untuk rendering teks yang lancar dalam berbagai ukuran font. Lihat panduan tipografi Android XR.

Seseorang sepenuhnya tenggelam dalam lingkungan spasial dengan layar yang sangat besar. Mereka berdiri di atas batu, dengan kontrol UI dalam jangkauan tangan.

Interaksi spasial

Beberapa interaksi terkaya di XR melibatkan kemampuan pengguna untuk berinteraksi langsung dengan objek 3D. Tindakan ini bisa semudah mengambil, memeriksa, dan melempar objek. Hal ini juga mencakup interaksi yang lebih kompleks seperti menarik tuas, menekan tombol, dan berinteraksi dengan elemen yang sudah dipegang oleh pengguna — seperti menyemprotkan botol semprot. Untuk interaksi objek 3D yang intuitif, desain berdasarkan pengetahuan pengguna tentang dunia yang sudah ada sebelumnya.

  • Pertimbangkan untuk mengintegrasikan mesin fisika jika Anda ingin membuat tindakan yang realistis. Jika Anda mem-build dengan Unity, Unity memiliki game engine fisika bawaan. Perhatikan jumlah daya pemrosesan yang digunakan mesin fisika, dan optimalkan performa.
  • Kepercayaan lebih penting daripada realisme. Misalnya, jika pengguna yakin mereka melempar bola dengan keras, aplikasi harus menambahkan kekuatan ekstra ke bola di luar yang ditunjukkan sensor perangkat.
  • Objek harus dibuat agar sesuai dengan kemampuannya. Artinya, setiap kemungkinan tindakan yang dapat dilakukan pengguna pada atau dengan objek harus diperhitungkan di aplikasi Anda. Misalnya, donat dapat diambil, dilempar, dan dimakan. Daripada makan donat, aplikasi dapat menggunakan voice over yang menyatakan, "Saya tidak lapar saat ini". Solusi ini menangani tindakan yang diharapkan pengguna untuk dilakukan dengan donat.
  • Objek dapat dipegang menggunakan berbagai teknik, termasuk pengaitan, sambungan fisik, mengikuti, dan gaya fisika. Setiap teknik memiliki kelebihan dan kekurangannya sendiri. Sebelum menerapkan metode pengambilan kustom, Anda harus melakukan riset dan menguji berbagai pendekatan untuk menentukan pendekatan yang paling sesuai.
  • Ergonomi penting saat mendesain di lingkungan 3D. Untuk aksesibilitas, pertimbangkan untuk menambahkan pegangan ke permukaan datar agar pengguna dapat menyesuaikannya ke ketinggian yang nyaman. Pastikan untuk menguji setiap objek di ruang dengan berbagai pengguna, karena tubuh setiap orang berbeda.

Job Simulator, game VR yang sepenuhnya imersif dengan pengguna yang duduk di depan komputer vintage di bilik kantor. Game ini menyertakan tangan virtual yang dapat berinteraksi dengan objek 3D.

Desain tampilan

Adegan dapat berkisar dari dunia virtual yang sepenuhnya imersif hingga pengalaman augmented reality yang memadukan elemen virtual dengan lingkungan nyata pengguna. Desain adegan yang nyaman, fungsional, dan memanfaatkan kemampuan unik XR.

  • Batasi scene yang bergerak di sekitar pengguna seperti terbang. Hal ini dapat menyebabkan ketidaknyamanan, terutama jika tubuh fisik pengguna tetap diam. Beberapa teknik lokomosi seperti tunnel vision (dijelaskan di bagian berikut) membantu mengurangi ketidaknyamanan.
  • Untuk membuat pengalaman mixed reality, Anda dapat menggunakan kemampuan pemahaman adegan Android XR untuk mengintegrasikan objek virtual ke dalam lingkungan fisik pengguna.
  • Untuk aplikasi virtual reality, Anda dapat menyertakan tampilan terbatas dunia nyata dalam ruang virtual. Hal ini membantu pengguna tetap menyadari lingkungan sekitar dan berinteraksi dengan objek fisik tanpa meninggalkan pengalaman yang imersif.

Lokomosi

Pengalaman Android XR dianjurkan untuk memungkinkan pengguna bergerak bebas di ruang fisik mereka seperti yang ditentukan oleh batas yang dikonfigurasi. Misalnya, beberapa pengguna merasa pengalaman virtual lebih imersif jika didesain di sekitar ruang authored yang tidak bergerak. Jika Anda ingin pengguna bergerak di ruang virtual yang lebih besar daripada batas yang diizinkan, pertimbangkan untuk menggunakan teknik gerakan yang memperkuat gerakan seperti teleportasi.

Dengan teleportasi, pengguna mengarahkan dan memilih, atau menggunakan pengontrol untuk langsung berpindah ke lokasi baru. Ini sangat cocok untuk menempuh jarak yang jauh dengan cepat, dan sering kali merupakan metode gerakan yang menyebabkan paling sedikit mabuk perjalanan. Menutupi layar sebentar selama transisi dapat lebih meminimalkan ketidaknyamanan.

Metode gerakan lainnya

Jika Anda menggunakan metode gerakan lain, pertimbangkan juga untuk menawarkan teleportasi sebagai alternatif.

  • Berjalan di tempat dengan mengayunkan tangan: Simulasikan berjalan dengan mengayunkan tangan atau menggerakkan pengontrol ke atas dan ke bawah. Beberapa pengguna mungkin merasa hal ini melelahkan atau kurang intuitif.
  • Gerakan berkelanjutan: Gunakan joystick atau thumbstick pengontrol untuk menggerakkan diri virtual Anda di lingkungan. Dalam sebagian besar situasi, Anda harus menghindari metode ini karena merupakan penyebab umum mabuk perjalanan.

Jika Anda memutuskan untuk menggunakan gerakan dalam pengalaman, tawarkan beberapa opsi untuk menampung preferensi individu dan meningkatkan pengalaman pengguna.

Mabuk gerak dapat terjadi jika ada ketidaksesuaian antara gerakan fisik pengguna dan pengalaman virtual mereka. Untuk mengoptimalkan kenyamanan pengguna selama lokomosi:

  • Pastikan cakrawala virtual tetap stabil dan rata.
  • Jika gerakan berkelanjutan diperlukan, hindari akselerasi atau deselerasi progresif. Pertahankan kecepatan agar tetap konsisten.
  • Tunnel vision dapat membantu mengurangi mabuk perjalanan dengan mempersempit bidang tampilan pengguna selama gerakan, dengan efek vignetting yang membatasi gerakan yang dirasakan di area periferal.
  • Untuk rotasi, arahkan sudut pandang pengguna ke sudut tertentu. Hal ini mungkin menyebabkan beberapa kebingungan, tetapi akan mengurangi mabuk perjalanan.
  • Pengguna memiliki tingkat toleransi yang berbeda. Izinkan mereka menyesuaikan setelan kenyamanan sesuai preferensi mereka, seperti memilih metode gerakan, mengaktifkan atau menonaktifkan visi terowongan, atau menyesuaikan kecepatan gerakan.

Audio spasial

Suara adalah alat yang efektif untuk membuat lanskap suara imersif yang membawa pengguna ke dunia lain dan membangkitkan emosi tertentu. Audio spasial memosisikan suara secara akurat di lingkungan virtual.

  • Ambisonics seperti skybox untuk audio, yang memberikan lanskap suara imersif bagi pengguna Anda. Gunakan ambisonics untuk suara lingkungan latar belakang atau skenario lainnya tempat Anda ingin mereplikasi medan suara sferis penuh yang mengelilingi pendengar.
  • Petunjuk audio yang di-spasialisasi dapat memandu perhatian pengguna.
  • Buat efek suara menjadi spasial untuk meningkatkan pengalaman imersif.
  • Dengan memindahkan audio suara ke lokasi speaker, pengguna akan merasa seperti berada di sana meskipun mereka tidak menghadap langsung ke speaker.
  • Mengizinkan pengguna menyesuaikan audio. Misalnya, mereka mungkin ingin menonaktifkan atau mengubah volume musik latar belakang, efek suara, atau sulih suara.
  • Pertimbangkan untuk menambahkan subtitel bagi orang yang tunarungu atau mengalami gangguan pendengaran.

Pertimbangan lainnya untuk kenyamanan

Untuk memprioritaskan aksesibilitas, berikan opsi yang dapat disesuaikan yang memenuhi beragam kemampuan dan preferensi. Hal ini memastikan berbagai pengguna dapat menikmati pengalaman imersif.

  • Buat aplikasi Anda berjalan pada 72 frame per detik: Hal ini akan membantu meminimalkan judder visual dan mencegah mual.
  • Beri pengguna kontrol: Agar aplikasi Anda mudah digunakan bagi pengguna dengan tingkat kecocokan yang berbeda dengan XR, izinkan pengguna menyesuaikan pengalaman mereka dengan setelan yang dapat disesuaikan. Pertimbangkan untuk mengizinkan pengguna memetakan ulang tombol dan gestur pengontrol agar sesuai dengan kebutuhan atau preferensi fisik mereka. Misalnya, pengguna dengan mobilitas tangan terbatas dapat memanfaatkan tata letak tombol yang berbeda atau kontrol input yang lebih besar dan sederhana.

Untuk panduan tentang platform tertentu, lihat:

Mengembangkan untuk OpenXR

Mengembangkan dengan Unity

Dokumentasi WebXR