Posouvání kolekce objektů – MRTK2

Posouvání kolekce objektů

Kolekce objektů posouvání MRTK je komponenta uživatelského rozhraní, která umožňuje posouvání 3D obsahu v obsažené zobrazitelné oblasti. Pohyb posouvání může být aktivován téměř nebo daleko vstupní interakcí a diskrétní stránkováním. Podporuje interaktivní i neinteraktivní objekty.

Začínáme s kolekcí objektů posouvání

Nastavení scény

  1. Vytvořte novou scénu unity.
  2. Přidejte do scény sadu MRTK tak, že přejdete na sadu nástrojů> Mixed RealityPřidat do scény a Konfigurovat.

Nastavení objektu posouvání

  1. Vytvořte ve scéně prázdný herní objekt a změňte jeho umístění na (0, 0, 1).

  2. Přidejte komponentu kolekce posouvání objektů do herního objektu.

    Po přidání kolekce posouvání objektů se k objektu kořenové hry automaticky připojí uchytávačka rámečku a dotyková komponenta téměř interakce . Tyto komponenty umožňují objektu posouvání naslouchat vstupním událostem blízké a vzdálené interakce, jako je dotyk nebo kliknutí ukazatelem.

    Kolekce posouvání objektů MRTK má dva důležité prvky, které jsou vytvořeny jako podřízené herní objekty v hierarchii objektů kořenového posouvání:

    • Container - Všechny objekty obsahu, které se posouvají, musí být podřízené objektu hry kontejneru.
    • Clipping bounds - Pokud je povoleno posouvání maskování obsahu, element clipping bounds zajišťuje, že je viditelný pouze posouvatelný obsah uvnitř jeho hranic. Objekt hry s ořezáváním hranic má dvě komponenty: zakázanou schytávačku a ořezovou krabici.

Posouvání prvků kolekce objektů

Přidání obsahu do objektu posouvání

Kolekci posouvání objektů je možné kombinovat s kolekcí objektů mřížky , aby se obsah rozkresloval v mřížce zarovnaných prvků, které mají jednotnou velikost a mezery.

  1. Vytvořte prázdný herní objekt jako podřízený objekt kontejneru scroll.
  2. Přidejte komponentu kolekce objektů mřížky do herního objektu.
  3. Pro svislé posouvání s jedním sloupcem nakonfigurujte na kartě inspektoru kolekci objektů mřížky následujícím způsobem:
    • Počet sloupců: 1
    • Rozložení: sloupec a řádek
    • Ukotvení: vlevo nahoře
  4. Změňte šířku a výšku buňky podle rozměrů objektů obsahu.
  5. Přidejte objekty obsahu jako podřízené objektu mřížky.
  6. Stiskněte kolekci aktualizací.

Rozložení mřížky

Důležité

Jakýkoli materiál objektu obsahu posouvání musí používat standardní shader MRTK , aby efekt oříznutí na zobrazitelné oblasti fungoval správně.

Poznámka

Pokud je povoleno posouvání maskování obsahu, kolekce posouvání objektů přidá komponentu instance materiálu ke všem objektům obsahu, které mají připojený vykreslovací modul. Tato komponenta slouží ke správě životnosti materiálů v instancích a ke zlepšení výkonu paměti.

Konfigurace zobrazované oblasti pro posouvání

  1. Pokud chcete svisle procházet jeden sloupec objektů, nakonfigurujte na kartě Inspektor kolekci objektů posouvání následujícím způsobem:
    • Buňky na úroveň: 1
    • Zvolte počet vrstev na stránku podle požadovaného počtu viditelných řádků.
  2. Změňte šířku,výšku a hloubku buňky stránky podle rozměrů objektů obsahu.

Všimněte si, že objekty obsahu, které se nacházejí mimo oblast umožňující posouvání, jsou nyní zakázány, zatímco objekty protínající drátový model posouvání můžou být částečně maskovány primitivem oříznutí.

Zobrazitelná oblast

Testování kolekce objektů posouvání v editoru

  1. Stisknutím klávesy Play a podržením mezerníku zobrazte vstupní simulační ruku.
  2. Posouvejte rukou, dokud nebude fokus na schytávač posouvání nebo interaktivní obsah pro posouvání, a aktivujte pohyb posouvání kliknutím a přetažením nahoru a dolů levou myší.

Řízení objektu posouvání z kódu

Kolekce objektů posouvání MRTK zveřejňuje několik veřejných metod, které umožňují přesun kontejneru posouvání tak, že přichytí jeho pozici podle pagination konfigurace vlastností.

Příklad přístupu k rozhraní stránkování kolekce objektů posouvání je k dispozici ve MRTK/Examples/Demos/ScrollingObjectCollection/Scripts složce. Ukázkový skript stránkování s možností posouvání lze propojit s libovolnou existující kolekcí objektů posouvání ve scéně. Na skript pak mohou odkazovat komponenty scény, které zveřejňují události Unity (například tlačítko MRTK).

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

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

Posouvání vlastností kolekce objektů

Obecné Popis
Směr posouvání Směr, ve kterém se má obsah posouvat.
Stránkování Popis
Buňky na vrstvu Počet buněk v řádku v zobrazení posunu nahoru a dolů nebo počet buněk ve sloupci v levém pravém zobrazení posouvání.
Vrstvy na stránku Počet viditelných vrstev v oblasti posouvání
Buňka stránky Rozměry stránkovací buňky.
Rozšířená nastavení Popis
Režim úprav masky Upravte režimy pro definování hranic maskování rámečku výřezu. Funkce Auto automaticky používá hodnoty stránkování. Ruční umožňuje přímou manipulaci s objektem výřezového rámečku.
Režim úprav uchytávače Upravte režimy pro definování hranic s collideru interakce posouvání. Funkce Auto automaticky používá hodnoty stránkování. "Ruční" umožňuje přímou manipulaci s uchytávačem.
Může se posouvat Povolí nebo zakáže posouvání s téměř nebo dalekou interakcí.
Použití při předběžném vykreslení Přepíná, jestli scrollingObjectCollection bude používat událost Camera OnPreRender ke správě viditelnosti obsahu.
Křivka stránkování Křivka animace pro stránkování.
Délka animace Doba (v sekundách) bude trvat vyhodnocení paginationCurve.
Prahová hodnota posunu ručně Vzdálenost v metrech může aktuální ukazatel před aktivací posouvání procházet po směru posouvání.
Vzdálenost předního dotykového ovládání Vzdálenost v metrech pro umístění místní roviny XY, která se používá k ověření, jestli v přední části zobrazení posouvání začalo dotykové ovládání.
Prahová hodnota verze Odpojte množství v metrech od hranic posouvání potřebných k přechodu z dotykového ovládání na uvolněné.
Rychlost Popis
Typ rychlosti Požadovaný typ sousoší rychlosti pro posuvník.
Násobitel rychlosti Velikost (extra) rychlosti, která se má použít pro posouvání.
Tlumení rychlosti Množství spadnutí použitého na rychlost.
Násobitel odrazu Multiplikátor pro přidání dalšího odrazu do nadsazení seznamu při použití falloff na rámec nebo falloff na položku.
Možnosti ladění Popis
Maska povolena Režim viditelnosti obsahu posouvání. Výchozí hodnota bude maskovat všechny objekty mimo oblast zobrazení posouvání.
Zobrazit roviny prahových hodnot Pokud je hodnota true, editor vykreslí roviny prahové hodnoty uvolnění dotykového ovládání kolem hranic posouvání.
Ladění stránkování Tato část slouží k ladění stránkování posouvání za běhu.
Události Popis
Při kliknutí Aktivuje se, když se s colliderem pozadí posouvání nebo kterýmkoli z jeho interaktivního obsahu dostane kliknutí.
Při dotykovém ovládání se spustilo Aktivuje se, když se uchytá s collider pozadí posouvání nebo jakýkoli interaktivní obsah téměř dotkne interakce.
Při dotyku skončilo Aktivuje se při ukončení aktivní dotykové interakce, když ukazatel téměř interakce překročí rovinu prahové hodnoty uvolnění.
Na spádu začal Aktivuje se, když se kontejner posuvníku začne pohybovat interakcí, poklesem rychlosti nebo stránkováním.
Na moment skončil Aktivuje se, když se kontejner posuvníku přestane pohybovat interakcí, poklesem rychlosti nebo stránkováním.

Ukázková scéna posouvání

Ukázková scéna ScrollingObjectCollection.unity se skládá ze 3 posouvatelných příkladů, z nichž každý má jinou konfiguraci poklesu rychlosti. Ukázková scéna obsahuje zdi, které znázorňují chování umístění povrchu, které je ve výchozím nastavení v hierarchii zakázané. Ukázková scéna se nachází ve MRTK/Examples/Demos/ScrollingObjectCollection/Scenes složce .

Ukázková scéna kolekce objektů posouvání

Ukázkové ukázky posouvání

Pro usnadnění používání jsou k dispozici dva prefaby kolekce objektů, které se posouvají. Ukázkové předfaby najdete ve MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs složce .

Posouvání prefab kolekce objektů

Viz také