Menggulir koleksi objek — MRTK2

Scrolling object collection

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

  1. Buat adegan unity baru.
  2. Tambahkan MRTK ke adegan dengan menavigasi ke Mixed Reality Toolkit>Tambahkan ke Adegan dan Konfigurasikan.

Menyiapkan objek pengguliran

  1. Buat objek game kosong di adegan dan ubah posisinya menjadi (0, 0, 1).

  2. 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.

Scrolling object collection elements

Menambahkan konten ke objek pengguliran

Koleksi objek pengguliran dapat dikombinasikan dengan koleksi objek kisi ke konten tata letak dalam kisi elemen yang diratakan yang memiliki ukuran dan spasi yang seragam.

  1. Buat objek permainan kosong sebagai anak dari kontainer gulir.
  2. Tambahkan komponen pengumpulan objek kisi ke objek game.
  3. 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
  4. Ubah lebar dan tinggisel sesuai dengan dimensi objek konten.
  5. Tambahkan objek konten sebagai turunan dari objek kisi.
  6. Tekan perbarui koleksi.

Grid layout

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

  1. 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
  2. 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.

Viewable area

Menguji koleksi objek pengguliran di editor

  1. Tekan putar dan tahan bilah spasi untuk menampilkan tangan simulasi input.
  2. Gerakkan tangan hingga tabrakan bergulir atau konten interaktif yang menggulir terfokus dan picu 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.
Penentuan halaman 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 Kamera 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 salah satu konten interaktifnya menerima sentuhan interaksi dekat.
Saat disentuh berakhir Dipicu saat interaksi sentuhan 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 pagination.
Pada momentum berakhir Dipicu saat kontainer gulir berhenti bergerak berdasarkan interaksi, jatuhnya kecepatan, atau penomoran halaman.

Menggulir contoh adegan

Adegan contoh ScrollingObjectCollection.unity terdiri dari 3 contoh yang dapat digulir, 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 .

Scrolling object collection example scene

Menggulir contoh prefab

Untuk kenyamanan, dua prefab pengumpulan objek pengguliran tersedia untuk digunakan. Contoh prefab dapat ditemukan di MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs bawah folder .

Scrolling object collection prefabs

Lihat juga