Rullningsobjektsamling – MRTK2
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
- Skapa en ny unity-scen.
- Lägg till MRTK i scenen genom att gå till Mixed Reality Toolkit>Lägg till i scen och konfigurera.
Konfigurera rullningsobjektet
Skapa ett tomt spelobjekt i scenen och ändra dess position till (0, 0, 1).
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.
-
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.
- Skapa ett tomt spelobjekt som underordnat rullningscontainern.
- Lägg till en rutnätsobjektsamlingskomponent i spelobjektet.
- 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
- Ändra cellbredden och höjden enligt innehållsobjektens dimensioner.
- Lägg till innehållsobjekten som underordnade till rutnätsobjektet.
- Tryck på uppdateringssamling.
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
- 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
- Ä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.
Testa rullningsobjektsamlingen i redigeraren
- Tryck på Spela upp och håll i blankstegsfältet för att visa en indatasimuleringshand.
- 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 .
Rullningsexempel på prefabricering
För enkelhetens skull är två rullningsobjektsamlingsprefab tillgängliga att använda. Exempelprefaberna finns under MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs
mappen .