Menggulir koleksi objek — MRTK2
Kumpulan objek gulir MRTK adalah komponen UX yang memungkinkan pengguliran konten 3D melalui area yang dapat dilihat yang terkandung. Gerakan pengguliran dapat dipicu oleh interaksi input dekat atau jauh dan dengan penomoran halaman diskrit. Ini mendukung objek interaktif dan non-interaktif.
Mulai menggunakan koleksi objek pengguliran
Menyiapkan adegan
- Buat adegan unity baru.
- Tambahkan MRTK ke adegan dengan menavigasi ke Mixed Reality Toolkit>Tambahkan ke Adegan dan Konfigurasikan.
Menyiapkan objek pengguliran
Buat objek game kosong di adegan dan ubah posisinya menjadi (0, 0, 1).
Tambahkan komponen pengumpulan objek gulir ke objek permainan.
Ketika koleksi objek gulir ditambahkan, tabrakan kotak dan komponen yang dapat disentuh interaksi dekat akan secara otomatis dilampirkan ke objek permainan akar. Komponen-komponen ini memungkinkan objek gulir mendengarkan peristiwa input interaksi dekat dan jauh, seperti sentuhan pointer atau klik.
Kumpulan objek pengguliran MRTK memiliki dua elemen penting yang dibuat sebagai objek permainan anak di bawah hierarki objek pengguliran akar:
-
Container
- Semua objek konten bergulir harus anak-anak dari objek permainan kontainer. -
Clipping bounds
- Jika menggulir masking konten diaktifkan, elemen pengklipan batas memastikan bahwa hanya konten yang dapat digulirkan di dalam batas-batasnya yang terlihat. Objek permainan terikat kliping memiliki dua komponen: collider kotak yang dinonaktifkan dan kotak kliping.
-
Menambahkan konten ke objek pengguliran
Koleksi objek pengguliran dapat dikombinasikan dengan kumpulan objek kisi ke konten tata letak dalam kisi elemen yang diratakan yang memiliki ukuran dan spasi yang seragam.
- Buat objek permainan kosong sebagai anak dari kontainer gulir.
- Tambahkan komponen pengumpulan objek kisi ke objek game.
- Untuk gulir kolom tunggal vertikal, di tab inspektur, konfigurasikan kumpulan objek kisi sebagai berikut:
- Kolom num: 1
- Tata letak: kolom lalu baris
- Jangkar: kiri atas
- Ubah lebar dan tinggisel sesuai dengan dimensi objek konten.
- Tambahkan objek konten sebagai turunan dari objek kisi.
- Tekan perbarui koleksi.
Penting
Setiap materi objek konten yang bergulir harus menggunakan shader standar MRTK agar efek kliping pada area yang dapat dilihat berfungsi dengan baik.
Catatan
Jika menggulir masking konten diaktifkan, koleksi objek gulir akan menambahkan komponen instans material ke objek konten apa pun yang memiliki penyaji yang terpasang. Komponen ini digunakan untuk mengelola masa pakai bahan instans dan meningkatkan performa memori.
Mengonfigurasi area yang dapat dilihat pengguliran
- Untuk menggulir vertikal melalui satu kolom objek, di tab inspektur, konfigurasikan pengumpulan objek pengguliran sebagai berikut:
- Sel per tingkat: 1
- Pilih jumlah tingkatan per halaman sesuai dengan jumlah baris yang terlihat yang diinginkan
- Ubah lebar, tinggi, dan kedalamansel halaman sesuai dengan dimensi objek konten.
Perhatikan bagaimana objek konten yang terbaring di luar area yang dapat dilihat gulir sekarang dinonaktifkan, sementara objek yang berpotongan kawat gulir mungkin ditutupi sebagian oleh primitif kliping.
Menguji koleksi objek pengguliran di editor
- Tekan putar dan tahan bilah spasi untuk menampilkan tangan simulasi input.
- Gerakkan tangan hingga pengguliran tabrakan atau konten interaktif yang menggulir terfokus dan memicu gerakan pengguliran dengan mengklik dan menyeret ke atas dan ke bawah dengan mouse kiri.
Mengontrol objek pengguliran dari kode
Pengumpulan objek gulir MRTK memaparkan beberapa metode publik yang memungkinkan pemindahan kontainer pengguliran dengan memposisikan posisinya sesuai dengan pagination
konfigurasi properti.
Contoh cara mengakses antarmuka penomoran halaman pengumpulan objek bergulir tersedia untuk digunakan di MRTK/Examples/Demos/ScrollingObjectCollection/Scripts
bawah folder . Skrip contoh penomoran halaman yang dapat digulirkan dapat ditautkan ke koleksi objek gulir yang ada di adegan. Skrip kemudian dapat dirujuk oleh komponen adegan yang mengekspos peristiwa Unity (misalnya, tombol MRTK).
public class ScrollablePagination : MonoBehaviour
{
[SerializeField]
private ScrollingObjectCollection scrollView;
public void ScrollByTier(int amount)
{
scrollView.MoveByTiers(amount);
}
}
Menggulir properti kumpulan objek
Umum | Deskripsi |
---|---|
Arah gulir | Arah di mana konten harus menggulir. |
Paginasi | Deskripsi |
---|---|
Sel per tingkat | Jumlah sel dalam baris pada tampilan gulir atas-bawah atau jumlah sel dalam kolom pada tampilan gulir kiri-kanan. |
Tingkatan per halaman | Jumlah tingkatan yang terlihat di area pengguliran. |
Sel halaman | Dimensi sel penomoran halaman. |
Pengaturan tingkat lanjut | Deskripsi |
---|---|
Mode edit mask | Edit mode untuk menentukan batas masking kotak kliping. 'Otomatis' secara otomatis menggunakan nilai penomoran halaman. 'Manual' memungkinkan manipulasi langsung objek kotak kliping. |
Mode edit collider | Edit mode untuk menentukan batas collider interaksi gulir. 'Otomatis' secara otomatis menggunakan nilai penomoran halaman. 'Manual' memungkinkan manipulasi langsung dari collider. |
Dapat menggulir | Mengaktifkan/menonaktifkan pengguliran dengan interaksi dekat/jauh. |
Gunakan pada pre render | Beralih apakah scrollingObjectCollection akan menggunakan peristiwa Camera OnPreRender untuk mengelola visibilitas konten. |
Kurva penomoran halaman | Kurva animasi untuk pagination. |
Panjang animasi | Jumlah waktu (dalam detik) yang akan diperlukan PaginationCurve untuk dievaluasi. |
Ambang gulir delta tangan | Jarak, dalam meter, penunjuk saat ini dapat berjalan di sepanjang arah gulir sebelum memicu seret gulir. |
Jarak sentuh depan | Jarak, dalam meter, untuk memposisikan bidang xy lokal yang digunakan untuk memverifikasi apakah interaksi sentuh dimulai di depan tampilan gulir. |
Ambang batas rilis | Jumlah penarikan, dalam meter, dari batas gulir yang diperlukan untuk transisi dari sentuhan yang terlibat ke dilepaskan. |
Kecepatan | Deskripsi |
---|---|
Jenis kecepatan | Jenis falloff kecepatan yang diinginkan untuk penggulung. |
Pengali kecepatan | Jumlah kecepatan (ekstra) yang akan diterapkan ke penggulir. |
Kecepatan lembab | Jumlah falloff yang diterapkan pada kecepatan. |
Pengali pantulan | Pengali untuk menambahkan lebih banyak bounce ke overscroll daftar saat menggunakan falloff per bingkai atau falloff per item. |
Opsi debug | Deskripsi |
---|---|
Masker diaktifkan | Mode visibilitas konten gulir. Nilai default akan menutupi semua objek di luar area yang dapat dilihat gulir. |
Tampilkan bidang ambang | Jika true, editor akan merender bidang ambang batas rilis sentuh di sekitar batas gulir. |
Penomoran halaman debug | Gunakan bagian ini untuk men-debug paginasi gulir selama runtime. |
Acara | Deskripsi |
---|---|
Saat diklik | Dipicu saat collider latar belakang gulir atau salah satu konten interaktifnya menerima klik. |
Saat disentuh dimulai | Dipicu saat collider latar belakang gulir atau konten interaktifnya menerima sentuhan interaksi dekat. |
Saat disentuh berakhir | Dipicu saat interaksi sentuh aktif dihentikan saat pointer interaksi dekat melewati bidang ambang batas rilis. |
Pada momentum dimulai | Dipicu saat kontainer gulir mulai bergerak berdasarkan interaksi, falloff kecepatan, atau paginasi. |
Pada momentum berakhir | Dipicu saat kontainer gulir berhenti bergerak berdasarkan interaksi, falloff kecepatan, atau paginasi. |
Menggulir contoh adegan
Adegan contoh ScrollingObjectCollection.unity terdiri dari 3 contoh yang dapat digulirkan, masing-masing dengan konfigurasi falloff kecepatan yang berbeda. Contoh adegan berisi dinding untuk menunjukkan perilaku penempatan permukaan yang dinonaktifkan secara default dalam hierarki. Contoh adegan dapat ditemukan di MRTK/Examples/Demos/ScrollingObjectCollection/Scenes
bawah folder .
Menggulir prefab contoh
Untuk kenyamanan, dua prefab pengumpulan objek bergulir tersedia untuk digunakan. Contoh prefab dapat ditemukan di MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs
bawah folder .