Rullningsobjektsamling – MRTK2

Rullningsobjektsamling

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

Komma igång med rullningsobjektsamlingen

Konfigurera scenen

  1. Skapa en ny unity-scen.
  2. Lägg till MRTK i scenen genom att gå till Mixed Reality Toolkit>Lägg till i scen och konfigurera.

Konfigurera rullningsobjektet

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

  2. Lägg till en rullningsobjektsamlingskomponent i spelobjektet.

    När rullningsobjektsamlingen läggs till kopplas en ruta och en nästan interaktionsbar komponent automatiskt till rotspelsobjektet. Med de här komponenterna kan rullningsobjektet lyssna på när och fjärran interaktionsindatahändelser, till exempel en pekartouch eller klicka.

    MRTK-rullningsobjektsamlingen 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 rullning av innehållsmaskering är aktiverat säkerställer elementet Urklippsgränser att endast det rullningsbara innehållet inom dess gränser visas. Urklippet begränsar spelobjektet har två komponenter: en inaktiverad ruta och en urklippsruta.

Rulla objektsamlingselement

Lägga till innehåll i rullningsobjektet

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

  1. Skapa ett tomt spelobjekt som underordnat rullningscontainern.
  2. Lägg till en rutnätsobjektsamlingskomponent i spelobjektet.
  3. För en lodrät rullning med en enskild kolumn går du till fliken Inspector och konfigurerar rutnätsobjektsamlingen enligt följande:
    • Num-kolumner: 1
    • Layout: kolumn och rad
    • Fästpunkt: uppe till vänster
  4. Ändra cellbredden och höjden enligt innehållsobjektens dimensioner.
  5. Lägg till innehållsobjekten som underordnade till rutnätsobjektet.
  6. Tryck på uppdateringssamling.

Rutnätslayout

Viktigt

Alla rullningsinnehållsobjektmaterial måste använda MRTK-standardskuggningen för att urklippseffekten på det visningsbara området ska fungera korrekt.

Anteckning

Om rullning av innehållsmaskering är aktiverat lägger rullningsobjektsamlingen till en komponent för materialinstanser i alla innehållsobjekt som har en återgivningskomponent kopplad. 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 området

  1. För lodrät rullning genom en enda kolumn med objekt konfigurerar du rullningsobjektsamlingen på fliken Inspector enligt följande:
    • Celler per nivå: 1
    • Välj antalet nivåer per sida enligt önskat antal synliga rader
  2. Ändra sidcellens bredd, höjd och djup enligt innehållsobjektens dimensioner.

Observera att innehållsobjekten som ligger utanför det rullningsbara området nu är inaktiverade, medan objekt som korsar rullningstråden delvis kan maskeras av urklippsprimeringen.

Synligt område

Testa rullningsobjektsamlingen i redigeraren

  1. Tryck på Spela upp och håll i blankstegsfältet för att visa en indatasimuleringshand.
  2. Flytta handen tills rullningen kolliderar eller något interaktivt rullningsinnehåll är i fokus och utlöser rullningsrörelsen genom att klicka och dra upp och ned med vänster mus.

Styra rullningsobjektet från kod

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

Ett exempel på hur du kommer åt sidnumreringsgränssnittet för rullningsobjektsamlingen kan användas under MRTK/Examples/Demos/ScrollingObjectCollection/Scripts mappen. Det rullningsbara sidnumreringsexemplet kan länkas till alla befintliga rullningsbara objektsamlingar 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);
    }
}

Egenskaper för rullningsobjektsamling

Allmänt Description
Rullningsriktning I vilken riktning innehållet ska rulla.
Sidnumrering Description
Celler per nivå Antal celler i en rad i upp-och-nedrullningsbart rullningsläge eller antal 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
Maskredigeringsläge Redigera lägen för att definiera gränserna för urklippsrutans maskering. "Auto" använder automatiskt sidnumreringsvärden. "Manuell" möjliggör direkt manipulering av urklippsruteobjektet.
Redigeringsläge för Collider Redigera lägen för att definiera rullningsinteraktionens kolliderargränser. "Auto" använder automatiskt sidnumreringsvärden. "Manuell" möjliggör direkt manipulering av kollideraren.
Kan rulla Aktiverar/inaktiverar rullning med nästan/långt interaktion.
Använd vid föråtergivning Växlar om scrollingObjectCollection 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) PaginationCurve tar att utvärdera.
Rullningströskel för handdel Avståndet, i meter, den aktuella pekaren kan färdas längs rullningsriktningen innan du utlöser en rullningsdrag.
Främre beröringsavstånd Avstånd i meter för att placera ett lokalt xy-plan som används för att kontrollera om en beröringsinteraktion startade framför rullningsvyn.
Tröskelvärde för frisläppning Ta ut belopp i meter från de rullningsgränser som krävs för att gå från beröring till frisläppt.
Hastighet Description
Typ av hastighet Önskad typ av hastighetsfall för rullningslisten.
Hastighetsmultiplikator Mängden (extra) hastighet som ska tillämpas på rullaren.
Hastighetsdämpning Mängden falloff som tillämpas på hastigheten.
Studsmultiplikator Multiplikator för att lägga till mer studs till överregistreringen av en lista när du använder falloff per ram eller falloff per objekt.
Felsökningsalternativ Description
Mask aktiverad Synlighetsläge för rullningsinnehåll. Standardvärdet maskerar alla objekt utanför det rullningsbara området.
Visa tröskelplan Om det är sant renderar redigeraren tröskelplanen för beröringsfrigöring runt rullningslistgränserna.
Felsöka sidnumrering Använd det här avsnittet om du vill felsöka sidnumreringen under körning.
Händelser Description
Vid klickning Utlöses när rullningsbakgrunden eller något av dess interaktiva innehåll får ett klick.
Vid beröring har startats Utlöses när rullningsbakgrunden kolliderar eller något av dess interaktiva innehåll får en nära interaktionskontakt.
Vid beröring avslutades Utlöses när en aktiv pekinteraktion avslutas när den nära interaktionspekaren korsar ett frisläppningströskelplan.
När momentum började Utlöses när rullningscontainern börjar röra sig genom interaktion, hastighetsfall eller sidnumrering.
Vid momentum-slut Utlöses när rullningscontainern slutar röra sig genom interaktion, hastighetsfall eller sidnumrering.

Rullningsexempelscen

ScrollingObjectCollection.unity-exempelscenen består av tre rullningsbara exempel, var och en med olika hastighetsfallskonfiguration. 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 rullningsobjektsamling

Rullningsexempel på prefabricering

För enkelhetens skull är två rullningsobjektsamlingsprefab tillgängliga att använda. Exempelprefaberna finns under MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs mappen .

Prefabs för rullningsobjektsamling

Se även