Rekaman animasi input — MRTK2

MRTK memiliki sistem perekaman di mana pergerakan kepala dan data pelacakan tangan dapat disimpan dalam file animasi. Data yang direkam kemudian dapat diputar kembali menggunakan sistem simulasi input.

Input rekaman adalah alat yang berguna dalam berbagai situasi:

  • Membuat pengujian otomatis untuk interaksi, manipulasi, pemecah, dll. Menciptakan pergerakan pengontrol dan tangan untuk tes ini dapat memakan waktu. Merekam input secara langsung dapat mempercepat proses dan menyediakan data dunia nyata.
  • Mengajarkan penggunaan elemen UX melalui animasi. Menunjukkan kepada pengguna cara berinteraksi dengan tombol dan objek lain dapat menghaluskan kurva pembelajaran.
  • Men-debug perilaku tak terduga yang mungkin ditemui selama penggunaan reguler. Sistem perekaman mendukung konsep "buffer bergulir" yang memungkinkan perekaman input terbaru di latar belakang. Lihat Layanan Perekaman Input.

Layanan perekaman dan pemutaran

Dua layanan sistem input disediakan untuk merekam dan memutar kembali input masing-masing.

Layanan perekaman input

InputRecordingService mengambil data dari transformasi kamera utama dan pengontrol tangan aktif dan menyimpannya di buffer internal. Ketika diminta, data ini kemudian diserialisasikan ke dalam file biner untuk penyimpanan dan pemutaran ulang nanti.

animasi inputMerekam

Untuk mulai merekam input, panggil StartRecording fungsi . StopRecording akan menjeda perekaman (tetapi tidak membuang data yang direkam sejauh ini, gunakan DiscardRecordedInput untuk melakukan ini jika diperlukan).

Secara default, ukuran buffer rekaman dibatasi hingga 30 detik. Ini memungkinkan layanan perekaman untuk tetap merekam di latar belakang tanpa mengumpulkan terlalu banyak data, lalu menyimpan 30 detik terakhir jika diperlukan. Interval waktu dapat diubah menggunakan RecordingBufferTimeLimit properti , atau perekaman bisa tidak terbatas menggunakan UseBufferTimeLimit opsi .

Data dalam buffer perekaman dapat disimpan dalam file biner menggunakan fungsi SaveInputAnimation .

Untuk detail tentang format file biner, lihat Spesifikasi Format File Animasi Input.

Layanan pemutaran input

InputPlaybackService membaca file biner dengan data animasi input dan kemudian menerapkan data ini melalui InputSimulationService untuk membuat ulang gerakan yang direkam.

diagram Putar Kembali

Untuk mulai memutar kembali animasi input, animasi harus dimuat dari file menggunakan fungsi LoadInputAnimation .

Panggil Putar, Jeda, atau Hentikan untuk mengontrol pemutaran animasi.

Waktu animasi saat ini juga dapat dikontrol langsung dengan properti LocalTime .

Peringatan

Mengulang atau mengatur ulang animasi input atau mengatur secara LocalTime langsung dengan menggosok garis waktu dapat menghasilkan hasil yang tidak terduga saat memanipulasi adegan! Hanya gerakan input yang direkam, setiap perubahan tambahan seperti memindahkan objek atau membalik sakelar tidak akan diatur ulang. Pastikan untuk memuat ulang adegan jika perubahan yang tidak dapat diubah telah dibuat.

Alat editor untuk merekam dan memutar animasi input

Sejumlah alat ada di editor Unity untuk merekam dan memeriksa animasi input. Alat-alat ini dapat diakses di jendela alat simulasi input, yang dapat dibuka dari menu Simulasi Input Utilitas > Toolkit > Mixed Reality.

Catatan

Perekaman input dan pemutaran hanya berfungsi selama mode putar.

Jendela perekaman input memiliki dua mode:

  • Merekam untuk merekam input selama mode putar dan menyimpannya ke file animasi.

    Saat beralih pada tombol perekaman, InputRecordingService diaktifkan untuk merekam input. Saat mematikan tombol perekaman, pilihan penyimpanan file ditampilkan dan animasi input yang direkam disimpan ke tujuan yang dipilih.

    Batas waktu buffer juga dapat diubah dalam mode ini.

  • Pemutaran untuk memuat file animasi lalu membuat ulang input melalui sistem simulasi input.

    Animasi harus dimuat dalam mode ini terlebih dahulu. Setelah merekam input dalam mode perekaman, animasi yang dihasilkan dimuat secara otomatis. Atau klik tombol "Muat" untuk memilih file animasi yang ada.

    Tombol kontrol waktu dari kiri ke kanan adalah:

    • Reset waktu pemutaran ke awal animasi.
    • Putar animasi terus menerus dari waktu ke waktu.
    • Langkah maju satu kali langkah.

    Slider juga dapat digunakan untuk menggosok melalui garis waktu animasi.

Peringatan

Mengulang atau mengatur ulang animasi input atau menggosok garis waktu dapat menghasilkan hasil yang tidak terduga saat memanipulasi adegan! Hanya gerakan input yang direkam, setiap perubahan tambahan seperti memindahkan objek atau membalik sakelar tidak akan diatur ulang. Pastikan untuk memuat ulang adegan jika perubahan yang tidak dapat diubah telah dibuat.