Objectverzameling scrollen

Objectverzameling scrollen

De MRTK-verzameling scrollobjecten is een UX-onderdeel waarmee u kunt schuiven van 3D-inhoud door een ingesloten weergavegebied. De verplaatsing van schuiven kan worden geactiveerd door bijna of veel invoerinteractie en door discrete paginering. Het ondersteunt zowel interactieve als niet-interactieve objecten.

Aan de slag met de verzameling scrollobjecten

De scène instellen

  1. Maak een nieuwe Unity-scène.
  2. Voeg MRTK toe aan de scène door te navigeren naar de Mixed Reality Toolkit Toevoegen aan > scène en Te configureren.

Het scrollobject instellen

  1. Maak een leeg gameobject in de scène en wijzig de positie in (0, 0, 1).

  2. Voeg een onderdeel voor het scrollen van de objectverzameling toe aan het gameobject.

    Wanneer de verzameling scrollobjecten wordt toegevoegd, worden er automatisch een box collider en een near interaction touchable-onderdeel gekoppeld aan het hoofdspelobject. Met deze onderdelen kan het scrollobject luisteren naar invoergebeurtenissen in de buurt en ver, zoals een aanwijzer of klik.

    De MRTK-verzameling scrollobjecten heeft twee belangrijke elementen die worden gemaakt als onderliggende gameobjecten onder de objecthiërarchie van de hoofdscrol:

    • Container - Alle objecten voor scroll-inhoud moeten children zijn van het container game-object.
    • Clipping bounds - Als het maskeren van schuifinhoud is ingeschakeld, zorgt het begrenzingselement ervoor dat alleen de schuifbare inhoud binnen de grenzen zichtbaar is. Het gameobject voor het afkapen van grenzen heeft twee onderdelen: een uitgeschakelde box collider en een knipvak.

Objectenverzamelingselementen schuiven

Inhoud toevoegen aan het schuifobject

De verzameling scrollobjecten kan worden gecombineerd met een rasterobjectverzameling om inhoud in een raster met uitgelijnde elementen met uniforme grootte en afstand in te delen.

  1. Maak een leeg gameobject als onderliggend object van de schuifcontainer.
  2. Voeg een onderdeel voor het verzamelen van rasterobjecten toe aan het gameobject.
  3. Voor een verticale schuif met één kolom configureert u op het tabblad Inspector de verzameling rasterobjecten als volgt:
    • Num-kolommen: 1
    • Indeling: kolom en rij
    • Anker: linksboven
  4. Wijzig de celbreedte en -hoogte op basis van de dimensies van de inhoudsobjecten.
  5. Voeg de inhoudsobjecten toe als kinderen van het rasterobject.
  6. Druk op Verzameling bijwerken.

Rasterindeling

Belangrijk

Elk objectmateriaal voor schuivende inhoud moet gebruikmaken van de mrtk-standaard shader om ervoor te zorgen dat het knipeffect op het te bekijken gebied goed werkt.

Notitie

Als het maskeren van schuifinhoud is ingeschakeld, voegt de verzameling scrollobjecten een materiaalinvoegingsonderdeel toe aan inhoudsobjecten die zijn gekoppeld aan een renderer. Dit onderdeel wordt gebruikt om de levensduur van exemplaren van materialen te beheren en de geheugenprestaties te verbeteren.

Het weergavegebied voor schuiven configureren

  1. Als u verticaal wilt schuiven door één kolom met objecten, configureert u op het tabblad Inspector de verzameling scrollobjecten als volgt:
    • Cellen per laag: 1
    • Kies het aantal lagen per pagina op basis van het gewenste aantal zichtbare rijen
  2. Wijzig de breedte, hoogte en diepte van de paginacel op basis van de afmetingen van de inhoudsobjecten.

U ziet hoe de inhoudsobjecten buiten het te scrollen weergavegebied nu zijn uitgeschakeld, terwijl objecten die het schuifkabelframe kruisen gedeeltelijk kunnen worden gemaskeerd door de primitieve knippen.

Weergavegebied

De verzameling scrollobjecten testen in de editor

  1. Druk op Afspelen en houd de spatiebalk in de wacht om de hand van een invoersimulatie weer te geven.
  2. Verplaats de hand totdat de scrollende collider of alle interactieve inhoud die schuift, zich op de focus richt en activeer de verplaatsing van het schuiven door met de linkermuis omhoog en omlaag te klikken en te slepen.

Het scrollobject beheren vanuit code

De mrtk-verzameling scrollobjecten toont een aantal openbare methoden waarmee de scrollcontainer kan worden verplaatst door de positie ervan uit telijnen op basis van de pagination configuratie van de eigenschappen.

Een voorbeeld van hoe u toegang krijgt tot de pagineringsinterface voor het verzamelen van schuifobjecten is beschikbaar voor gebruik onder de MRTK/Examples/Demos/ScrollingObjectCollection/Scripts map . Het voorbeeldscript voor doorscrolbare paginering kan worden gekoppeld aan een bestaande verzameling scrollobjecten in de scène. Er kan vervolgens naar het script worden verwezen door scèneonderdelen die Unity-gebeurtenissen weergeven (bijvoorbeeld MRTK-knop).

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

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

Eigenschappen van objectverzameling schuiven

Algemeen Description
Schuifrichting De richting waarin inhoud moet schuiven.
Paginering Description
Cellen per laag Het aantal cellen in een rij in de schuifweergave omhoog/omlaag of het aantal cellen in een kolom in de schuifweergave links-rechts.
Lagen per pagina Aantal zichtbare lagen in het schuifgebied.
Paginacel Dimensies van de pagineringscel.
Geavanceerde instellingen Description
Bewerkingsmodus maskeren Modi bewerken voor het definiëren van de grenzen van het klembordmaskering. 'Auto' gebruikt automatisch pagineringswaarden. 'Handmatig' maakt directe manipulatie van het klemvakobject mogelijk.
De bewerkingsmodus Collider Bewerkingsmodi voor het definiëren van de grenzen van de botser voor schuifinteractie. 'Auto' gebruikt automatisch pagineringswaarden. 'Handmatig' maakt directe manipulatie van de collider mogelijk.
Kan schuiven Hiermee/ schuift u met bijna/veel interactie uitgeschakeld.
Gebruiken bij vooraf renderen Schakelt of de scrollingObjectCollection de gebeurtenis Camera OnPreRender gebruikt om de zichtbaarheid van inhoud te beheren.
Pagineringscurve Animatiecurve voor paginering.
Animatielengte De hoeveelheid tijd (in seconden) die de Pagination Curve nodig heeft om te evalueren.
Drempelwaarde voor hand delta scrollen De afstand, in meters, kan de huidige aanwijzer langs de schuifrichting gaan voordat een schuifversleep wordt activeren.
Afstand front-touch Afstand, in meters, om een lokaal xy-vlak te plaatsen dat wordt gebruikt om te controleren of er een aanraakinteractie aan de voorzijde van de schuifweergave is gestart.
Drempelwaarde voor release Het bedrag in meters intrekken vanaf de schuifgrenzen die nodig zijn om over te gaan van aanraking die is ingeschakeld naar vrijgegeven.
Snelheid Description
Type snelheid Het gewenste type snelheidsval voor de schuifbalk.
Vermenigvuldigingssnelheid De hoeveelheid (extra) snelheid die moet worden toegepast op de schuifbalk.
Snelheidssytempmeter De hoeveelheid afval die wordt toegepast op de snelheid.
Vermenigvuldiger van bounce Vermenigvuldiger om meer bounce toe te voegen aan de overscroll van een lijst bij gebruik van afval per frame of afval per item.
Opties voor foutopsporing Description
Masker ingeschakeld Zichtbaarheidsmodus van scroll-inhoud. Met de standaardwaarde worden alle objecten buiten het te scrollen weergavegebied gemaskeerd.
Drempelvlakken tonen Indien waar, geeft de editor de drempelvlakken van de aanraak release weer rond de schuifgrenzen.
Paginering voor foutopsporing Gebruik deze sectie om fouten op te sporen in de schuif paginering tijdens runtime.
Gebeurtenissen Description
Klik op Wordt geactiveerd wanneer de scrollachtergrondbotser of een van de interactieve inhoud een klik ontvangt.
On touch started (Aan de slag) Wordt geactiveerd wanneer de botser op de achtergrond van de schuif of een van de interactieve inhoud een bijna-interactie-aanraking ontvangt.
Bij aanraking beëindigd Wordt geactiveerd wanneer een actieve aanraakinteractie wordt beëindigd wanneer de bijna-interactiepunt een drempelwaarde voor de release overschrijdt.
Bij gestarte start Wordt geactiveerd wanneer de schuifcontainer begint te bewegen door interactie, snelheidsval of paginering.
Bij beëindigde tijd Wordt geactiveerd wanneer de schuifcontainer niet meer wordt verplaatst door interactie, snelheidsval of paginering.

Scène met scrollvoorbeeld

De scène ScrollingObjectCollection.unity bestaat uit drie scrollbare voorbeelden, elk met een andere snelheidsvalideringsconfiguratie. De voorbeeldscène bevat muren om het gedrag voor de plaatsing van de oppervlakte weer te geven dat standaard is uitgeschakeld in de hiërarchie. De voorbeeldscène vindt u onder de MRTK/Examples/Demos/ScrollingObjectCollection/Scenes map .

Voorbeeldscène voor het scrollen van objectverzameling

Voorbeeld van prefabs scrollen

Voor het gemak zijn er twee prefabs voor het scrollen van objectverzameling beschikbaar voor gebruik. De voorbeeld-prefabs vindt u onder de MRTK/Examples/Demos/ScrollingObjectCollection/Prefabs map .

Prefabs van objectverzameling scrollen

Zie ook