Nesne koleksiyonunu kaydırma

Nesne koleksiyonunu kaydırma

MRTK kaydırma nesnesi koleksiyonu, 3D içeriğin, değiştirilebilir bir alan üzerinden kaydırılarak kaydır değiştirilebilir bir UX bileşenidir. Kaydırma hareketi, yakın veya uzak giriş etkileşimi ve ayrık sayfalama ile tetiklenir. Hem etkileşimli hem de etkileşimli olmayan nesneleri destekler.

Kayan nesne koleksiyonunu çalışmaya başlama

Sahneyi ayarlama

  1. Yeni bir Unity sahnesi oluşturun.
  2. Karma Gerçeklik Araç Seti Sahneye Ekle ve Yapılandır'a giderek MRTK'yi sahneye ekleyin.

Kayan nesneyi ayarlama

  1. Sahnede boş bir oyun nesnesi oluşturun ve konumunu (0, 0, 1) olarak değiştirebilirsiniz.

  2. Oyun nesnesine kayan nesne koleksiyonu bileşeni ekleyin.

    Kayan nesne koleksiyonu eklenmiştir, bir kutu harmanlayıcı ve neredeyse etkileşime temas edilebilir bir bileşen kök oyun nesnesine otomatik olarak eklenir. Bu bileşenler, kaydırma nesnesinin işaretçi dokunması veya tıklaması gibi yakın ve uzak etkileşim giriş olaylarını dinlemesine olanak sağlar.

    MRTK kaydırma nesnesi koleksiyonu, kök kaydırma nesnesi hiyerarşisi altında alt oyun nesneleri olarak oluşturulan iki önemli öğeye sahiptir:

    • Container - Tüm kayan içerik nesneleri, kapsayıcı oyunu nesnesinin alt nesneleridir.
    • Clipping bounds - İçerik maskeleme kaydırma etkinse, kırpma sınırları öğesi yalnızca sınırları içindeki kaydırılabilir içeriğin görünür durumda olması sağlar. Kırpma sınırları oyun nesnesinin iki bileşeni vardır: devre dışı bırakılmış bir kutu harmanlayıcı ve kırpma kutusu.

Nesne koleksiyonu öğelerini kaydırma

Kaydırma nesnesine içerik ekleme

Kaydıran nesne koleksiyonu, tekdüdüz boyuta ve boşluklara sahip hizalanmış öğelerin kılavuzunda içeriği düzen için bir kılavuz nesnesi koleksiyonuyla bir araya toplanmış olabilir.

  1. Kaydırma kapsayıcısı alt nesnesi olarak boş bir oyun nesnesi oluşturun.
  2. Oyun nesnesine bir kılavuz nesnesi koleksiyonu bileşeni ekleyin.
  3. Dikey tek sütunlu kaydırma için denetçi sekmesinde kılavuz nesnesi koleksiyonunu aşağıdaki gibi yapılandırabilirsiniz:
    • Sayı sütunları:1
    • Düzen:sütun ve satır
    • Yer:sol üst
  4. İçerik nesnelerininboyutlarına göre hücre genişliğini ve yüksekliğini değiştirme.
  5. İçerik nesnelerini kılavuz nesnesinin children olarak ekleyin.
  6. Koleksiyonu güncelleştir'e basın.

Kılavuz düzeni

Önemli

Tüm kayan içerik nesnesi malzemeleri, değiştirilebilir alanda kırpma etkisinin düzgün çalışması için MRTK standart gölgelendiriciyi kullan olmalıdır.

Not

İçerik maskelemeyi kaydırma etkinse, kaydırma nesnesi koleksiyonu işleyicinin bağlı olduğu tüm içerik nesnelerine bir malzeme örneği bileşeni ekler. Bu bileşen, örnekli malzemelerin ömrünü yönetmek ve bellek performansını geliştirmek için kullanılır.

Kayan değiştirilebilir alanı yapılandırma

  1. Tek bir nesne sütununda dikey kaydırma için denetçi sekmesinde kaydırma nesnesi koleksiyonunu aşağıdaki gibi yapılandırabilirsiniz:
    • Katman başına hücre sayısı:1
    • İstenen görünür satır sayısına göre sayfa başına katman sayısını seçin
  2. Sayfa hücresi genişliğini,yüksekliğinive derinliğini içerik nesnelerinin boyutlarına göre değiştirebilirsiniz.

Kaydırma değiştirilebilir alanı dışındaki içerik nesnelerinin artık devre dışı bırakılmıştır, ancak kaydırma tel çerçevesini kesişen nesneler kırpma temel ilkesi tarafından kısmen maskelenebilir.

Değiştirilebilir alan

Kayan nesne koleksiyonunu düzenleyicide test etme

  1. Giriş simülasyonu eli göstermek için oynat'a basın ve boşluk çubuğunu basılı tutun.
  2. Kayan harmanlayıcıya veya kayan etkileşimli içerik odakta olana kadar el hareket ettirin ve sol fareyle yukarı ve aşağı tıklayarak kaydırma hareketini tetikler.

Koddan kaydırma nesnesini denetleme

MRTK kaydırma nesnesi koleksiyonu, özellik yapılandırmasına göre konumunu yaslamayla kaydırma kapsayıcısını taşımaya olanak sağlayan birkaç genel pagination yöntemi gösterir.

Klasör altında, kayan nesne koleksiyonu sayfalama arabirimine erişmeye örnek olarak MRTK/Examples/Demos/ScrollingObjectCollection/Scripts kullanılabilir. Kaydırılabilir sayfalama örnek betiği, sahnenin herhangi bir mevcut kaydırma nesnesi koleksiyonuna bağlanabilir. Betik daha sonra Unity olaylarını (örneğin MRTK düğmesi) ortaya çıkaran sahne bileşenleri tarafından başvurulabilirsiniz.

public class ScrollablePagination : MonoBehaviour
{
    [SerializeField]
    private ScrollingObjectCollection scrollView;

    public void ScrollByTier(int amount)
    {
        scrollView.MoveByTiers(amount);
    }
}

Nesne koleksiyonu özelliklerini kaydırma

Genel Description
Kaydırma yönü İçeriğin kaydırma yönü.
Sayfalandırma Description
Katman başına hücre sayısı Aşağı kaydırma görünümündeki bir satırdaki hücre sayısı veya sağ sol kaydırma görünümündeki bir sütundaki hücre sayısı.
Sayfa başına katman sayısı Kaydırma alanında görünen katman sayısı.
Sayfa hücresi Sayfalama hücresi boyutları.
Gelişmiş ayarlar Description
Maske düzenleme modu Kırpma kutusu maskeleme sınırlarını tanımlamak için modları düzenleyin. 'Otomatik', sayfalama değerlerini otomatik olarak kullanır. 'El ile' kırpma kutusu nesnesinin doğrudan işlemeye olanak sağlar.
Collider düzenleme modu Kaydırma etkileşimi harmanlayıcı sınırlarını tanımlamak için modları düzenleyin. 'Otomatik', sayfalama değerlerini otomatik olarak kullanır. 'El ile', harmanlayıcının doğrudan işlemeye olanak sağlar.
Kaydırılabilir Yakın/uzak etkileşimle kaydırmayı etkinleştiren/devre dışı bırakan.
Ön işlemede kullanma ScrollingObjectCollection'ın içerik görünürlüğünü yönetmek için Camera OnPreRender olayı kullanıp kullanmayacaklarını iki durumlu olarak değiştirerek.
Sayfalama eğrisi Sayfalandırma için animasyon eğrisi.
Animasyon uzunluğu PaginationCurve'ın değerlendirmesi için gereken süre (saniye olarak).
El delta kaydırma eşiği Metre olarak uzaklık, bir kaydırma sürüklemesini tetiklemeden önce geçerli işaretçi kaydırma yönü boyunca hareket ediyor olabilir.
Ön dokunma uzaklığı Kaydırma görünümünün önünde bir dokunma etkileşiminin başlatılabilir olup olduğunu doğrulamak için kullanılan yerel xy düzlemini konumlandırmak için metre olarak uzaklık.
Yayın eşiği Dokunmadan serbest bırakmaya geçiş için gereken kaydırma sınırlarından metreler içinde miktarı geri çekme.
Hız Description
Hız türü Kaydırma için istenen hız düşüşü türü.
Hız çarpanı Kaydırmacıya uygulanacak (ek) hız miktarı.
Hız sabiti Hıza uygulanan düşüş miktarı.
Geri dönen çarpan Çerçeve başına falloff veya öğe başına falloff kullanılırken listenin aşırı kaydına daha fazla geri dönen eklemeye yönelik çarpan.
Hata ayıklama seçenekleri Description
Maske etkin Kaydırma içeriğinin görünürlük modu. Varsayılan değer, kaydırma değiştirilebilir alanı dışındaki tüm nesneleri maskeler.
Eşik düzlemlerini gösterme True ise düzenleyici, dokunma serbest bırakma eşiği düzlemlerini kaydırma sınırlarının çevresinde işler.
Sayfalamada hata ayıklama Çalışma zamanı sırasında kaydırma sayfalama hata ayıklaması yapmak için bu bölümü kullanın.
Ekinlikler Description
Tıklarken Kaydırma arka plan harmanlayıcı veya etkileşimli içeriklerden herhangi biri bir tıklama aldığında tetiklenir.
Dokunmaya başlandı Kaydırma arka plan harmanlayıcı veya etkileşimli içeriklerden herhangi biri yakın etkileşim dokunuşu aldığında tetiklenir.
Dokunma sona ermiştir Yakın etkileşim işaretçisi yayın eşiği düzlemini aştı mı etkin bir dokunma etkileşimi sonlandırılsa tetiklenir.
Ivme başlatıldı Kaydırma kapsayıcısı etkileşime, hız düşüşüne veya sayfalamaya göre hareketye başladığında tetiklenir.
Ivme sona erdi Kaydırma kapsayıcısı etkileşim, hız düşüşü veya sayfalama tarafından hareket etme durduğunda tetiklenir.

Örnek sahneyi kaydırma

ScrollingObjectCollection.unity örnek sahnesinde her biri farklı hız düşüş yapılandırmasına sahip 3 kaydırılabilir örnek yer alır. Örnek sahne, hiyerarşide varsayılan olarak devre dışı bırakılmış yüzey yerleştirme davranışını göstermek için duvarları içerir. Örnek sahne, klasörünün altında MRTK/Examples/Demos/ScrollingObjectCollection/Scenes bulunabilir.

Nesne koleksiyonu örnek sahneyi kaydırma

Kaydırma örneği önfazlaları

Kolaylık olması için, iki kaydırma nesnesi koleksiyonu önfazı kullanılabilir. Örnek prefabs klasörünün altında MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs bulunabilir.

Nesne koleksiyonu önfazlarını kaydırma

Ayrıca bkz.