Invoersimulatieservice — MRTK2

MRTK-invoersimulatie

Met de invoersimulatie van MRTK kunt u verschillende typen interacties in de Unity-editor testen zonder dat u deze hoeft te bouwen en te implementeren op een apparaat. Hierdoor kunt u uw ideeën snel herhalen in het ontwerp- en ontwikkelproces. Gebruik toetsenbord- en muiscombinaties om gesimuleerde invoer te beheren.

De Input Simulation Service emuleert het gedrag van apparaten en platforms die mogelijk niet beschikbaar zijn in de Unity-editor. Enkele voorbeelden:

  • HoloLens- of VR-apparaathoofdtracering
  • Handbewegingen van HoloLens
  • HoloLens 2 handvolgen
  • HoloLens 2 oogtracering
  • VR-apparaatcontrollers

Waarschuwing

Dit werkt niet wanneer u unity's XR Holographic Emulation Emulation Mode = "Simulate in Editor" (XR Holographic Emulation > Emulation Mode) van Unity gebruikt. De simulatie van Unity in de editor neemt de controle weg van de invoersimulatie van MRTK. Als u de MRTK-invoersimulatieservice wilt gebruiken, moet u XR Holographic Emulation instellen op Emulatiemodus = "Geen"

MRTK-invoersimulatie gebruiken

Invoersimulatie is standaard ingeschakeld in de profielen die met MRTK worden verzonden. U kunt gewoon op de knop Afspelen klikken om de scène uit te voeren met ondersteuning voor invoersimulatie.

  • Druk op de toetsen W, A, S, D, Q, E om de camera te verplaatsen.
  • Houd de rechtermuisknop ingedrukt en beweeg de muis om rond te kijken.
  • Als u de gesimuleerde handen wilt weergeven, drukt u op de spatiebalk (rechterhand) of shift-links (linkerhand)
  • Als u gesimuleerde handen in de weergave wilt houden, drukt u op de T- of Y-toets
  • Als u gesimuleerde handen wilt draaien, houdt u Ctrl ingedrukt en beweegt u de muis

Cheatsheet voor invoersimulatie in de editor

Druk op Ctrl+H links in de scène HandInteractionExamples om een cheatsheet weer te geven met besturingselementen voor invoersimulatie.

Cheatsheet voor MRTK-invoersimulatie

De invoersimulatieservice inschakelen

Onder de configuratie van de invoersysteemgegevensprovider kan de Input Simulation-service worden geconfigureerd met het volgende.

  • Het type moet Microsoft.MixedReality.Toolkit.InputSimulationService >zijn.
  • Ondersteunde platformen omvatten standaard alle editorplatforms , omdat de service toetsenbord- en muisinvoer gebruikt.

Notitie

De Input Simulation-service kan worden gebruikt op andere platformeindpunten, zoals zelfstandig, door de eigenschap Supported Platform(s) te wijzigen om de gewenste doelen op te nemen.
Ondersteunde platformen voor invoersimulatie

Camerabesturing

Hoofdbewegingen kunnen worden geëmuleerd door de Input Simulation Service.

De camera draaien

  1. Beweeg de muisaanwijzer over het viewport-editorvenster. Mogelijk moet u op het venster klikken om de invoerfocus te geven als het drukken op de knop niet werkt.
  2. Houd de knop Muislook ingedrukt (standaard: rechtermuisknop).
  3. Beweeg de muis in het viewport-venster om de camera te draaien.
  4. Gebruik het schuifwiel om de camera rond de weergaverichting te draaien.

De draaisnelheid van de camera kan worden geconfigureerd door de instelling Snelheid van muisaanblik in het invoersimulatieprofiel te wijzigen.

U kunt ook de assen Look Horizontal/Look Vertical gebruiken om de camera te draaien (standaard: rechtervingerstick van gamecontroller).

De camera verplaatsen

Gebruik de assen Horizontaal/verplaatsen Verticale verplaatsen om de camera te verplaatsen (standaard: WASD-toetsen of linkervingerstick van gamecontroller).

Camerapositie en draaihoeken kunnen ook expliciet worden ingesteld in het gereedschapsvenster. De standaardwaarde van de camera kan worden hersteld met behulp van de knop Opnieuw instellen .

Controllersimulatie

De invoersimulatie ondersteunt geëmuleerde controllerapparaten (bijvoorbeeld bewegingscontrollers en handen). Deze virtuele controllers kunnen communiceren met elk object dat ondersteuning biedt voor reguliere controllers, zoals knoppen of grijpbare objecten.

Controllersimulatiemodus

In het venster Hulpprogramma's voor invoersimulatie schakelt de instelling Standaardcontrollersimulatiemodus tussen drie verschillende invoermodellen. Deze standaardmodus kan ook worden ingesteld in het invoersimulatieprofiel.

  • Gearticuleerde handen: simuleert een volledig gearticuleerd handapparaat met gegevens over de gezamenlijke positie.

    Emuleert HoloLens 2 interactiemodel.

    Interacties die zijn gebaseerd op de exacte positie van de hand of die gebruikmaken van aanraking, kunnen in deze modus worden gesimuleerd.

  • Handbewegingen: simuleert een vereenvoudigd handmodel met luchttikken en basisbewegingen.

    Emuleert het HoloLens-interactiemodel.

    De focus wordt geregeld met behulp van de Gaze-aanwijzer. De beweging Air Tap wordt gebruikt om te communiceren met knoppen.

  • Bewegingscontroller: simuleert een bewegingscontroller die wordt gebruikt met VR-headsets die op dezelfde manier werkt als verre interacties met gearticuleerde handen.

    Emuleert vr-headset met interactiemodel voor controllers.

    De trigger-, grab- en menutoetsen worden gesimuleerd via toetsenbord- en muisinvoer.

De beweging van de controller simuleren

Houd de linker-/rechtercontrollermanipulatietoets (standaard: Shift links voor linkercontroller en Ruimte voor rechtercontroller) ingedrukt om de controle over een van beide controller te krijgen. Terwijl de manipulatietoets wordt ingedrukt, wordt de controller weergegeven in de viewport. Zodra de manipulatiesleutel is vrijgegeven, verdwijnen de controllers na een korte time-out voor het verbergen van controller.

Controllers kunnen worden ingeschakeld en geblokkeerd ten opzichte van de camera in het venster van de invoersimulatieprogramma's of door op de controllertoets links/rechts te drukken (standaard: T voor links en Y voor rechts). Druk nogmaals op de wisselknop om de controllers weer te verbergen. Als u de controllers wilt bewerken, moet de manipulatiesleutel voor de linker-/rechtercontroller worden vastgehouden. Dubbeltikken op de linker-/rechtercontrollermanipulatietoets kan ook de controllers in-/uitschakelen.

Met de muisbeweging wordt de controller in het weergavevlak verplaatst. Controllers kunnen verder of dichter bij de camera worden verplaatst met behulp van het muiswiel.

Als u controllers met de muis wilt draaien, houdt u zowel de linker-/rechtercontrollermanipulatietoets (shift links of spatie) als de knop Controller draaien (standaard: ctrl-links ) ingedrukt en beweegt u de muis om de controller te draaien. De draaisnelheid van de controller kan worden geconfigureerd door de instelling Voor de rotatiesnelheid van de muiscontroller in het invoersimulatieprofiel te wijzigen.

Alle handplaatsing kan ook worden gewijzigd in het venster met hulpmiddelen voor invoersimulatie, inclusief het opnieuw instellen van de standaardhanden.

Aanvullende profielinstellingen

  • Controller Depth Multiplier bepaalt de gevoeligheid van de muiswieldiepteverplaatsing. Een groter getal versnelt het zoomen van de controller.
  • Standaardcontrollerafstand is de oorspronkelijke afstand van controllers tot de camera. Als u op de knop Opnieuw instellen klikt, worden controllers ook op deze afstand weergegeven.
  • Controller Jitter Amount voegt willekeurige beweging toe aan controllers. Deze functie kan worden gebruikt om onnauwkeurige controllertracering op het apparaat te simuleren en ervoor te zorgen dat interacties goed werken met ruisinvoer.

Handbewegingen

Handbewegingen zoals knijpen, grijpen, pokken, enzovoort. kan ook worden gesimuleerd.

  1. Handbesturing inschakelen met de linker-/rechtercontrollermanipulatietoets (shift links of spatie)

  2. Houd tijdens het bewerken een muisknop ingedrukt om een handbeweging uit te voeren.

Elk van de muisknoppen kan worden toegewezen om de vorm van de hand te transformeren in een ander gebaar met behulp van de instellingen links/midden/rechter muisbeweging . De standaardhandbeweging is de vorm van de hand wanneer er geen knop wordt ingedrukt.

Notitie

De knijpbeweging is de enige beweging die op dit moment de actie 'Selecteren' uitvoert.

Manipulatie met één hand

  1. Druk op de linker-/rechtercontrollermanipulatietoets (Shift links of spatie) en houd deze ingedrukt
  2. Punt op object
  3. Muisknop ingedrukt houden om te knijpen
  4. Het object verplaatsen met de muis
  5. Laat de muisknop los om de interactie te stoppen

Tweehandige manipulatie

Voor het bewerken van objecten met twee handen tegelijk wordt de permanente handmodus aanbevolen.

  1. Schakel beide handen in door op de wisseltoetsen (T/Y) te drukken.
  2. Manipuleer met één hand tegelijk:
    1. Ruimte vasthouden om de rechterhand te besturen
    2. Verplaats de hand naar de plaats waar u het object wilt vastpakken
    3. Druk op de linkermuisknop om de knijpbeweging te activeren.
    4. Laat de ruimte los om te stoppen met het bedienen van de rechterhand. De hand wordt vastgevroren en vergrendeld in het knijpbeweging omdat deze niet meer wordt gemanipuleerd.
  3. Herhaal het proces met de andere hand en pak hetzelfde object op een tweede plek.
  4. Nu beide handen hetzelfde object grijpen, kunt u een van beide verplaatsen om bewerkingen met twee handen uit te voeren.

GGV-interactie (Gaze, Gesture en Voice)

Standaard is GGV-interactie ingeschakeld in de editor, terwijl er geen gearticuleerde handen aanwezig zijn in de scène.

  1. Draai de camera om de blikcursor op het interactiebare object te wijzen (rechtermuisknop)
  2. Klik op de linkermuisknop en houd deze ingedrukt om te communiceren
  3. De camera opnieuw draaien om het object te bewerken

U kunt dit uitschakelen door de optie Is hand vrije invoer ingeschakeld in het invoersimulatieprofiel in te schakelen.

Daarnaast kunt u gesimuleerde handen gebruiken voor GGV-interactie

  1. GGV-simulatie inschakelen door handsimulatiemodus in te schakelen op Bewegingen in het invoersimulatieprofiel
  2. Draai de camera om de blikcursor op het interactiebare object te wijzen (rechtermuisknop)
  3. Ruimte vasthouden om de rechterhand te besturen
  4. Klik op de linkermuisknop en houd deze ingedrukt om te communiceren
  5. Het object verplaatsen met de muis
  6. Laat de muisknop los om de interactie te stoppen

Teleport-gebeurtenissen genereren

Als u de teleportgebeurtenis in invoersimulatie wilt verhogen, configureert u de handbewegingsinstellingen in het profiel voor invoersimulatie zodat de ene de startbeweging voor teleport uitvoert en de andere de teleport-eindbeweging . Met de gebaar Start van Teleport wordt de Teleport-aanwijzer weergegeven, terwijl de teleport-actie Einde de teleportactie voltooit en de gebruiker verplaatst.

De y-positie van de resulterende teleport is afhankelijk van de verplaatsing van de camera langs de y-as. In de editor is dit standaard 0, dus gebruik de Q - en E-toetsen om het naar de juiste hoogte aan te passen.

Teleportinstellingen voor invoersimulatie

Interactie met bewegingscontroller

De gesimuleerde bewegingscontrollers kunnen op dezelfde manier worden gemanipuleerd als gelede handen. Het interactiemodel is vergelijkbaar met verre interactie van gearticuleerde hand, terwijl de trigger- en greep- en menutoetsen zijn toegewezen aan respectievelijk de linkermuisknop, de G - en M-toets .

Oogtracering

Oogtraceringssimulatie kan worden ingeschakeld door de optie Positie van het oog simuleren in het invoersimulatieprofiel in te schakelen. Dit mag niet worden gebruikt met GGV- of bewegingscontrollerstijlinteracties (zorg er dus voor dat Standaardcontrollersimulatiemodus is ingesteld op Gelede hand).

Venster Hulpprogramma's voor invoersimulatie

Schakel het venster met invoersimulatiehulpprogramma's in vanuit het menuInvoersimulatie van Mixed Reality>Toolkit-hulpprogramma's>>. Dit venster biedt toegang tot de status van de invoersimulatie tijdens de afspeelmodus.

Viewport-knoppen (optioneel)

Een prefab voor knoppen in de editor om de basisplaatsing van de hand te regelen, kan worden opgegeven in het invoersimulatieprofiel onder Indicatoren Prefab. Dit is een optioneel hulpprogramma. Dezelfde functies kunnen worden geopend in het venster met invoersimulatiehulpprogramma's.

Notitie

De viewport-indicatoren zijn standaard uitgeschakeld, omdat ze momenteel soms interacties met de Unity-gebruikersinterface kunnen verstoren. Zie probleem #6106. Als u wilt inschakelen, voegt u de prefab InputSimulationIndicators toe aan Indicatoren Prefab.

Handpictogrammen geven de status van de gesimuleerde handen weer:

  • Pictogram Niet-bijgehouden hand De hand volgt niet. Klik om de hand in te schakelen.
  • Bijgehouden handpictogram De hand wordt bijgehouden, maar niet gecontroleerd door de gebruiker. Klik om de hand te verbergen.
  • Pictogram gecontroleerde hand De hand wordt gevolgd en bestuurd door de gebruiker. Klik om de hand te verbergen.
  • Handpictogram opnieuw instellen Klik om de standaardpositie van de hand te herstellen.

Zie ook