Indatasimuleringstjänst – MRTK2

MRTK-indatasimulering

Med MRTK:s indatasimulering kan du testa olika typer av interaktioner i Unity-redigeraren utan att skapa och distribuera till en enhet. På så sätt kan du snabbt iterera dina idéer i design- och utvecklingsprocessen. Använd tangentbords- och muskombinationer för att styra simulerade indata.

Indatasimuleringstjänsten emulerar beteendet för enheter och plattformar som kanske inte är tillgängliga i Unity-redigeraren. Exempel:

  • HoloLens- eller VR-enhetshuvudspårning
  • HoloLens handgester
  • HoloLens 2 ledad handspårning
  • HoloLens 2 ögonspårning
  • VR-enhetsstyrenheter

Varning

Detta fungerar inte när du använder Unitys XR Holographic Emuulation Emulation > Mode = "Simulate in Editor". Unitys redigeringssimulering tar kontroll från MRTK:s indatasimulering. För att kunna använda TJÄNSTEN FÖR MRTK-indatasimulering måste du ange XR Holographic Emuulation till emuleringsläge = "Ingen"

Använda MRTK-indatasimulering

Indatasimulering är aktiverat som standard i de profiler som levereras med MRTK. Du kan helt enkelt klicka på knappen Spela upp för att köra scenen med stöd för indatasimulering.

  • Tryck på tangenterna W, A, S, D, Q, E för att flytta kameran.
  • Håll höger musknapp och flytta musen för att se dig omkring.
  • Om du vill ta upp de simulerade händerna trycker du på Blanksteg (höger hand) eller Vänster skift(vänster hand)
  • Om du vill behålla simulerade händer i vyn trycker du på T- eller Y-tangenten
  • Om du vill rotera simulerade händer trycker du på och håller ned Ctrl-tangenten och flyttar musen

I cheat sheet för simulering av indata i redigeraren

Tryck på Vänster Ctrl + H i HandInteractionExamples-scenen för att ta fram ett fuskblad med indatasimuleringskontroller.

Översikt över MRTK-indatasimulering

Aktivera indatasimuleringstjänsten

Under konfigurationen för indatasystemdataprovidern kan tjänsten Indatasimulering konfigureras med följande.

  • Typen måste vara Microsoft.MixedReality.Toolkit.Input > InputSimulationService.
  • Plattformar som stöds som standard innehåller alla redigeringsplattformar , eftersom tjänsten använder tangentbords- och musinmatning.

Anteckning

Indatasimuleringstjänsten kan användas på andra plattformsslutpunkter, till exempel fristående genom att ändra egenskapen Plattform(ar) som stöds så att den inkluderar önskade mål.
Plattformar som stöds för indatasimulering

Kamerakontroll

Huvudförflyttning kan emuleras av indatasimuleringstjänsten.

Rotera kameran

  1. Hovra över visningsportredigerarens fönster. Du kan behöva klicka på fönstret för att ge det indatafokus om knapptryckning inte fungerar.
  2. Tryck på och håll musknappen ( standard: Höger musknapp).
  3. Flytta musen i viewport-fönstret för att rotera kameran.
  4. Använd rullningshjulet för att rulla kameran runt visningsriktningen.

Kamerans rotationshastighet kan konfigureras genom att ändra inställningen För mussökningshastighet i indatasimuleringsprofilen.

Du kan också använda axlarna Look Horizontal/Look Vertical (Lodrätt utseende) för att rotera kameran (standard: höger tumsticka för spelstyrenhet).

Flytta kameran

Använd flytta vågräta/flytta lodräta axlar för att flytta kameran (standard: WASD-nycklar eller spelstyrenhet vänster tumsticka).

Kameraposition och rotationsvinklar kan också anges uttryckligen i verktygsfönstret. Kameran kan återställas till standardinställningen med hjälp av knappen Återställ .

Kontrollantsimulering

Indatasimuleringen stöder emulerade styrenheter (t.ex. rörelsestyrenheter och händer). Dessa virtuella kontrollanter kan interagera med alla objekt som stöder vanliga kontrollanter, till exempel knappar eller grabbbara objekt.

Simuleringsläge för kontrollant

I fönstret verktyg för indatasimulering växlar inställningen För standardstyrenhetssimuleringsläge mellan tre distinkta indatamodeller. Det här standardläget kan också anges i indatasimuleringsprofilen.

  • Ledade händer: Simulerar en fullständigt ledad handenhet med gemensamma positionsuppgifter.

    Emulerar HoloLens 2 interaktionsmodell.

    Interaktioner som baseras på handens exakta placering eller användning av beröring kan simuleras i det här läget.

  • Handgester: Simulerar en förenklad handmodell med lufttryck och grundläggande gester.

    Emulerar HoloLens interaktionsmodell.

    Fokus styrs med hjälp av blickpekaren. Air Tap-gesten används för att interagera med knappar.

  • Rörelsestyrenhet: Simulerar en rörelsestyrenhet som används med VR-headset som fungerar på samma sätt som vida interaktioner med ledade händer.

    Emulerar VR-headset med interaktionsmodell för styrenheter.

    Tangenterna trigger, grab och menu simuleras via tangentbords- och musinmatning.

Simulera kontrollantförflyttning

Tryck på och håll ned manipulationsnyckeln för vänster/höger styrenhet (standard: Vänster skift för vänster styrenhet och utrymme för höger styrenhet) för att få kontroll över någon av styrenheterna. Medan manipuleringsnyckeln trycks ned visas kontrollanten i visningsporten. När manipuleringsnyckeln har släppts försvinner kontrollanterna efter en kort timeout för kontrollantens döljning.

Styrenheter kan växlas på och frysas i förhållande till kameran i fönstret för indatasimuleringsverktyg eller genom att trycka på växlingsknappen vänster/höger styrenhet (standard: T för vänster och Y för höger). Tryck på växlingsknappen igen för att dölja styrenheterna igen. För att manipulera styrenheterna måste manövreringsnyckeln för vänster/höger styrenhet hållas. Dubbeltryckning på den vänstra/högra styrenhetsmanipuleringsnyckeln kan också aktivera/inaktivera styrenheterna.

Musflyttning flyttar kontrollanten i visningsplanet. Styrenheter kan flyttas längre eller närmare kameran med hjälp av mushjulet.

Om du vill rotera kontrollanter med musen håller du ned både den vänstra/högra styrenhetsmanipuleringsnyckeln (vänster skift eller blanksteg) ochstyrenhetsknappen Rotera (standard: Vänster Ctrl-knapp ) och flyttar sedan musen för att rotera kontrollanten. Styrenhetens rotationshastighet kan konfigureras genom att ändra inställningen rotationshastighet för musstyrenheten i indatasimuleringsprofilen.

All handplacering kan också ändras i fönstret för indatasimuleringsverktyg, inklusive återställning av händer till standard.

Ytterligare profilinställningar

  • Multiplikator för styrenhetsdjup styr känsligheten för musrullningshjulets djupförflyttning. Ett större tal påskyndar kontrollantens zoomning.
  • Standardstyrenhetsavstånd är det initiala avståndet för styrenheter från kameran. Om du klickar på knappen Återställ placerar styrenheterna även på det här avståndet.
  • Controller Jitter Amount lägger till slumpmässig rörelse till kontrollanter. Den här funktionen kan användas för att simulera felaktig kontrollantspårning på enheten och se till att interaktioner fungerar bra med brusindata.

Handgester

Handgester som att nypa, ta tag i, peta osv. kan också simuleras.

  1. Aktivera handkontroll med hjälp av den vänstra/högra styrenhetsmanipuleringsnyckeln (vänster skift eller blanksteg)

  2. Tryck och håll en musknapp för att utföra en handgest medan du manipulerar.

Var och en av musknapparna kan mappas för att omvandla handformen till en annan gest med hjälp av inställningarna för vänster/mitten/höger musgest . Standardhandgesten är handens form när ingen knapp trycks in.

Anteckning

Gesten Nyp är den enda gesten som utför åtgärden "Välj" just nu.

Enhandsmanipulation

  1. Tryck på och håll ned manipulationsnyckeln för vänster/höger styrenhet (vänster skift eller blanksteg)
  2. Punkt vid objekt
  3. Håll musknappen för att nypa
  4. Flytta objektet med musen
  5. Släpp musknappen för att stoppa interaktionen

Dubbel manipulering

För att manipulera objekt med två händer samtidigt rekommenderas beständigt handläge.

  1. Växla på båda händerna genom att trycka på växlingsknapparna (T/Y).
  2. Manipulera en hand i taget:
    1. Håll blanksteg för att styra den högra handen
    2. Flytta handen till den plats där du vill ta tag i objektet
    3. Tryck på vänster musknapp för att aktivera Gesten Nyp .
    4. Frigör utrymme för att sluta styra den högra handen. Handen kommer att frysas på plats och låsas in i Pinch-gesten eftersom den inte längre manipuleras.
  3. Upprepa processen med den andra handen och ta tag i samma objekt på en andra plats.
  4. Nu när båda händerna tar tag i samma objekt kan du flytta någon av dem för att utföra tvåhandsmanipulering.

GGV-interaktion (blick, gest och röst)

Som standard är GGV-interaktion aktiverat i redigeringsprogrammet medan det inte finns några ledade händer i scenen.

  1. Rotera kameran för att peka blickmarkören mot det interaktionsbara objektet (höger musknapp)
  2. Klicka och håll kvar vänster musknapp för att interagera
  3. Rotera kameran igen för att ändra objektet

Du kan inaktivera detta genom att växla alternativet Är handfri inmatning aktiverat i indatasimuleringsprofilen.

Dessutom kan du använda simulerade händer för GGV-interaktion

  1. Aktivera GGV-simulering genom att växla handsimuleringsläge till gester i profilen för indatasimulering
  2. Rotera kameran för att peka blickmarkören mot det interaktionsbara objektet (höger musknapp)
  3. Håll blanksteg för att styra den högra handen
  4. Klicka och håll kvar vänster musknapp för att interagera
  5. Flytta objektet med musen
  6. Släpp musknappen för att stoppa interaktionen

Höjning av teleporthändelser

Om du vill höja teleporteringshändelsen i indatasimuleringen konfigurerar du inställningarna för handgest i profilen för indatasimulering så att den ena utför teleportstartgesten medan den andra utför teleporteringsslutgesten . Teleportstart-gesten tar upp teleportpekaren, medan teleportens slut gesure slutför teleporteringsåtgärden och flyttar användaren.

Din resulterande teleporterings y-position är beroende av kamerans förskjutning längs y-axeln. I redigeraren är detta 0 som standard, så använd Q - och E-nycklarna för att justera det till rätt höjd.

Teleporteringsinställningar för indatasimulering

Interaktion med rörelsestyrenhet

De simulerade rörelsestyrenheterna kan manipuleras på samma sätt som ledade händer. Interaktionsmodellen liknar långt interaktion med ledad hand medan utlösaren, greppet och menytangenterna mappas till vänster musknapp, G respektive M-nyckel .

Ögonspårning

Simulering av ögonspårning kan aktiveras genom att kontrollera alternativet Simulera ögonposition i indatasimuleringsprofilen. Detta bör inte användas med interaktioner i GGV- eller rörelsestyrenhetsstil (så se till att standardstyrenhetssimuleringsläget är inställt på Ledad hand).

Fönstret Verktyg för indatasimulering

Aktivera fönstret för indatasimuleringsverktyg från menyn Mixed Reality>Toolkit>Utilities>Input Simulation( Indatasimulering). Det här fönstret ger åtkomst till tillståndet för indatasimulering under uppspelningsläget.

Viewport-knappar (valfritt)

En prefab för knappar i redigeringsprogrammet för att styra grundläggande handplacering kan anges i indatasimuleringsprofilen under Indikatorer Prefab. Det här är ett valfritt verktyg. Samma funktioner kan nås i fönstret verktyg för indatasimulering.

Anteckning

Visningsportindikatorerna är inaktiverade som standard eftersom de för närvarande ibland kan störa Unitys gränssnittsinteraktioner. Se problem #6106. Om du vill aktivera lägger du till prefab för InputSimulationIndicators i Indicators Prefab.

Handikoner visar tillståndet för de simulerade händerna:

  • Handikon som inte spårats Handen spårar inte. Klicka för att aktivera handen.
  • Ikon för spårad hand ikon Handen spåras, men styrs inte av användaren. Klicka för att dölja handen.
  • Kontrollerad handikon Handen spåras och styrs av användaren. Klicka för att dölja handen.
  • Återställ handikonen Klicka här om du vill återställa handen till standardpositionen.

Se även