Rullningsobjektsamling

Rullningsobjektsamling

Samlingen MRTK-rullningsobjekt är en UX-komponent som möjliggör rullning av 3D-innehåll via ett inneslutet visningsbart område. Rullningsförflyttningen kan utlösas av nära eller långt indatainteraktion och av diskret sidnumrering. Den stöder både interaktiva och icke-interaktiva objekt.

Komma igång med samlingen med bläddringsobjekt

Konfigurera scenen

  1. Skapa en ny Unity-scen.
  2. Lägg till MRTK till scenen genom att gå till Mixed Reality Toolkit > Add to Scene och Konfigurera.

Konfigurera rullningsobjektet

  1. Skapa ett tomt spelobjekt i scenen och ändra dess position till (0, 0, 1).

  2. Lägg till en samlingskomponent för bläddringsobjekt i spelobjektet.

    När samlingen med bläddringsobjekt läggs till, kommer en box-krockare och en komponent som är nära att beröra interaktion automatiskt kopplas till rotspelsobjektet. Med de här komponenterna kan rullningsobjektet lyssna på händelser för interaktionsinmatning nära och långt, till exempel en pekare eller ett klick.

    Samlingen MRTK-rullningsobjekt har två viktiga element som skapas som underordnade spelobjekt under hierarkin för rotrullningsobjekt:

    • Container – Alla rullningsinnehållsobjekt måste vara underordnade containerspelobjektet.
    • Clipping bounds – Om bläddring av innehållsmaskering är aktiverat säkerställer elementet c bounds att endast det rullningsbara innehållet inom dess gränser är synligt. Spelobjektet med urklippsbundna gränser har två komponenter: en inaktiverad box-collider och en urklippningsruta.

Rullningsobjektsamlingselement

Lägga till innehåll i rullningsobjektet

Samlingen med bläddringsobjekt kan kombineras med en rutnätsobjektsamling för att layouta innehåll i ett rutnät med justerade element som har enhetlig storlek och avstånd.

  1. Skapa ett tomt spelobjekt som underordnad rullningscontainern.
  2. Lägg till en objektsamlingskomponent för rutnät i spelobjektet.
  3. Konfigurera rutnätsobjektsamlingen på kontrollfliken för en lodrät rullningslist på följande sätt:
    • Antal kolumner: 1
    • Layout: kolumn och rad
    • Fästpunkt: längst upp till vänster
  4. Ändra cellens bredd och höjd enligt måtten för innehållsobjekten.
  5. Lägg till innehållsobjekten som underordnade objekt till rutnätsobjektet.
  6. Tryck på Uppdatera samling.

Rutnätslayout

Viktigt

Valfritt rullningsinnehållsobjektmaterial måste använda MRTK-standardnyansen för att effekten på det visningsbara området ska fungera korrekt.

Anteckning

Om bläddring av innehållsmaskering är aktiverat lägger samlingen med bläddringsobjekt till en komponent för materialinstanser till alla innehållsobjekt som har en bifogad renderare. Den här komponenten används för att hantera livslängden för instanser av material och förbättra minnesprestanda.

Konfigurera det rullningsbara visningsområdet

  1. För lodrät bläddring genom en enda kolumn med objekt konfigurerar du samlingen med bläddringsobjekt på fliken Kontroll enligt följande:
    • Celler per nivå: 1
    • Välj antal nivåer per sida enligt önskat antal synliga rader
  2. Ändra sidcellens bredd, höjd och djup enligt måtten för innehållsobjekten.

Observera hur innehållsobjekten som ligger utanför det rullningsbara visningsområdet nu är inaktiverade, medan objekt som korsar rullningsramen delvis maskeras av den primitiva urklippt.

Visningsbart område

Testa samlingen med bläddringsobjekt i redigeraren

  1. Tryck på spela upp och håll ned blankstegsfältet för att visa en indatasimuleringshand.
  2. Flytta handen tills rullningskollidern eller något rullnings interaktivt innehåll är i fokus och utlöst rullningsförflyttningen genom att klicka och dra upp och ned med vänster mus.

Kontrollera rullningsobjektet från kod

Samlingen med MRTK-rullningsobjekt visar några offentliga metoder som gör det möjligt att flytta rullningscontainern genom att fästa dess position enligt pagination egenskapskonfigurationen.

Ett exempel på hur du kommer åt sidnumreringsgränssnittet för rullningsobjektsamlingen finns att använda under MRTK/Examples/Demos/ScrollingObjectCollection/Scripts mappen . Det rullningsbara exempelskriptet för sidnumrering kan länkas till valfri befintlig samling med bläddringsobjekt i scenen. Skriptet kan sedan refereras till av scenkomponenter som exponerar Unity-händelser (t.ex. MRTK-knappen).

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

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

Bläddring av egenskaper för objektsamling

Allmänt Description
Rullningsriktning Den riktning som innehållet ska rullas i.
Sidnumrering Description
Celler per nivå Antalet celler på en rad i upp-nedrullningsvyn eller antalet celler i en kolumn i rullningsvyn till vänster till höger.
Nivåer per sida Antal synliga nivåer i rullningsområdet.
Sidcell Sidnumreringscellens dimensioner.
Avancerade inställningar Description
Maskera redigeringsläget Redigeringslägen för att definiera urklippsrutan som maskerar gränser. "Auto" använder automatiskt sidnumreringsvärden. "Manuell" möjliggör direkt manipulering av c grupprincipobjektet.
Ändringsläge för Collider Redigeringslägen för att definiera gränser för rullningsinteraktionskollidern. "Auto" använder automatiskt sidnumreringsvärden. "Manuell" möjliggör direkt manipulering av krockaren.
Kan rulla Aktiverar/inaktiverar bläddring med interaktion nära/långt.
Använd vid föråtergivning Växlar om rullningslistenObjectCollection ska använda händelsen Camera OnPreRender för att hantera innehållssynlighet.
Sidnumreringskurva Animeringskurva för sidnumrering.
Animeringslängd Hur lång tid (i sekunder) som PaginationCurve tar att utvärdera.
Tröskelvärde för hand-delta-rullning Avståndet i meter, den aktuella pekaren kan färdas längs rullningsriktningen innan du utlöser ett rullnings dra.
Fronttouch-avstånd Avstånd i meter för att placera ett lokalt xy-plan som används för att kontrollera om en pekinteraktion startade framför rullningsvyn.
Tröskelvärde för lansering Det finns en mängd i meter, från de rullningsgränser som krävs för att övergå från kontakt till utgiven.
Hastighet Description
Typ av hastighet Önskad typ av hastighetsfall för rullningslisten.
Hastighetsmultiplikator Mängden (extra) hastighet som ska tillämpas på rullningslisten.
Hastighetens 900 000 Mängden falloff som tillämpas på hastigheten.
Bounce-multiplikator Multiplikator för att lägga till mer bounce till overscroll för en lista när du använder falloff per bildruta eller falloff per objekt.
Felsökningsalternativ Description
Mask aktiverad Synlighetsläge för bläddringsinnehåll. Standardvärdet maskerar alla objekt utanför det rullningsbara området.
Visa tröskelvärden Om sant återger redigeraren tröskelvärdena för touch-versionen runt rullningsgränserna.
Felsöka sidnumrering Använd det här avsnittet för att felsöka sidnumreringen under körning.
Händelser Description
Vid klickning Utlöses när rullningsbakgrundskollidern eller något av dess interaktiva innehåll får ett klick.
On Touch har startats Utlöses när rullningsbakgrundskollidern eller något av dess interaktiva innehåll tar emot en nära interaktionstouch.
On Touch har avslutats Utlöses när en aktiv touch-interaktion avslutas när pekaren för nära interaktion passerar ett tröskelvärde för lansering.
Vid start Utlöses när rullningscontainern börjar röra sig efter interaktion, hastighetsnedbrytning eller sidnumrering.
Vid slut Utlöses när rullningscontainern slutar att flyttas genom interaktion, hastighetsnedbrytning eller sidnumrering.

Rullningsexempelscen

ScrollingObjectCollection.unity-exempelscenen består av tre rullningsbara exempel, var och en med olika hastighetsnedrullningsbar konfiguration. Exempelscenen innehåller väggar för att visa beteendet för ytplacering som är inaktiverade som standard i hierarkin. Exempelscenen finns under MRTK/Examples/Demos/ScrollingObjectCollection/Scenes mappen .

Exempelscen för att bläddra i objektsamling

Prefab-exempel för bläddring

För enkelhetens skull är det möjligt att använda två prefab-rullningsobjektsamlingar. Exempel prefabs finns under MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs mappen .

Prefab-objekt för rullningsobjektsamling

Se även