Direktmodifiering med händerna

Knappen

Direkt manipulering är en indatamodell som inbegriper att röra hologram direkt med händerna. Tanken bakom detta begrepp är att objekt beter sig precis som de skulle göra i den verkliga världen. Knappar kan aktiveras genom att bara trycka på dem, objekt kan hämtas genom att ta tag i dem och 2D-innehåll fungerar som en virtuell pekskärm. Direkt manipulation är affordance-baserad, vilket innebär att den är användarvänlig. Det finns inga symboliska gester för att lära användarna. Alla interaktioner är byggda kring ett visuellt element som du kan trycka på eller hämta. Det anses vara en "nära" indatamodell eftersom den bäst används för att interagera med innehåll inom räckhåll.

Stöd för enheter

Indatamodell HoloLens (första generationen) HoloLens 2 Integrerande headset
Direktmodifiering med händerna ❌ Stöds inte ✔️ Rekommenderas ➕ Stöds. För användargränssnittet rekommenderar vi att du pekar och checkar in med händerna i stället.

Direkt manipulation är en primär indatamodell på HoloLens 2, som använder det nya ledade handspårningssystemet. Indatamodellen är också tillgänglig på integrerande headset med hjälp av rörelsestyrenheter, men rekommenderas inte som ett primärt sätt att interagera utanför objektmanipulering. Direkt manipulering är inte tillgängligt på HoloLens (första generationen).



Grundläggande demonstration av handspårning och instinktiva interaktioner

Om du vill se designbegrepp för huvud- och ögonspårning i praktiken kan du titta på vår videodemo Designing Holograms - Head Tracking and Eye Tracking nedan. När du är klar kan du fortsätta med en mer detaljerad genomgång av specifika ämnen.

Den här videon är hämtad från appen "Designing Holograms" HoloLens 2. Ladda ned och njut av den fullständiga upplevelsen här.

Kolliderande fingertopp

På HoloLens 2 identifieras och tolkas användarens händer som vänster- och högerskelettmodeller. För att implementera idén att röra hologram direkt med händerna, helst, kan fem kolliderare fästas på de fem fingertopparna för varje handskelettmodell. Men på grund av bristen på taktil feedback kan 10 kolliderande fingertoppar orsaka oväntade och oförutsägbara kollisioner med hologram.

Vi föreslår att du bara sätter en collider på varje pekfinger. De kolliderande pekfingrarna kan fortfarande fungera som aktiva beröringspunkter för olika beröringsgester som involverar andra fingrar. Touchgester inkluderar tryck med ett finger, en fingertryckning, tvåfingertryck och femfingertryck, som du ser nedan:

kolliderande fingertopp
Kolliderande fingertopp

Tryck med ett finger
Tryck med ett finger

Tryck med ett finger
Tryck med ett finger

Tryck med fem fingrar
Tryck med fem fingrar



Sphere collider

I stället för att använda en slumpmässig generisk form föreslår vi att du använder en sphere collider. Sedan kan du visuellt rendera den för att ge bättre tips för nära mål. Sfärens diameter bör matcha tjockleken på pekfingret för att öka beröringsprecisionen. Det är enklare att hämta variabeln för fingertjocklek genom att anropa hand-API:et.

Fingertoppsmarkör

Förutom att återge en kolliderande sfär på pekfingret har vi skapat en avancerad fingertoppsmarkör för att få en bättre upplevelse med nära mål. Det är en ringformad markör som är fäst vid pekfingret. Enligt närhet reagerar den dynamiskt på ett mål för orientering och storlek enligt beskrivningen nedan:

  • När ett pekfinger rör sig mot ett hologram är markören alltid parallell med hologramytan och krymper gradvis dess storlek.
  • Så fort fingret rör vid ytan krymper markören till en punkt och genererar en touchhändelse.

Med interaktiv feedback kan användarna uppnå uppgifter med hög precision nära mål, till exempel att utlösa en hyperlänk eller trycka på en knapp enligt nedan.

Fingertoppsmarkör långt
Fingertoppsmarkör långt

Fingertoppsmarkör nära
Fingertoppsmarkör nära

Kontakt med fingertoppsmarkör
Kontakt med fingertoppsmarkör


Avgränsningsruta med närhetsskuggare

Själva hologrammet kräver också möjligheten att ge feedback både visuellt och ljud för att kompensera bristen på taktil feedback. För det genererar vi begreppet avgränsningsruta med en närhetsskuggare. En avgränsningsruta är ett minsta volymtriskt område som omger ett 3D-objekt. Avgränsningsrutan har en interaktiv återgivningsmekanism som kallas närhetsskuggare. Närhetsskuggaren beter sig:

Hovra (långt) med visuell feedback
Hovring (långt)
När pekfingret är inom ett intervall gjuts en fingertopps spotlight på avgränsningsboxens yta.

Hovra (nära) med visuell feedback
Hovring (nära)
När fingertoppen kommer närmare ytan krymper spotlighten.

Kontakten börjar
Kontakten börjar
Så snart fingertoppen rör vid ytan ändrar hela avgränsningsrutan färg eller genererar visuella effekter för att återspegla pektillståndet.

Kontakten slutar
Kontakten slutar
En ljudeffekt kan också aktiveras för att förbättra den visuella touch-feedbacken.



Tryckbar knapp

Med en kolliderande fingertopp är användarna nu redo att interagera med en grundläggande holografisk UI-komponent, till exempel en tryckbar knapp. En tryckbar knapp är en holografisk knapp som är anpassad för en direkt fingertryckning. Återigen, på grund av bristen på taktil feedback, utrustar en tryckbar knapp ett par mekanismer för att ta itu med taktila feedbackrelaterade problem.

  • Den första mekanismen är en avgränsningsruta med en närhetsskuggare, som beskrivs i föregående avsnitt. Det ger användarna en bättre närhetskänsla när de närmar sig och får kontakt med en knapp.
  • Den andra mekanismen är depression. Depression skapar en känsla av att trycka ner efter att en fingertopp kontaktar en knapp. Mekanismen säkerställer att knappen rör sig tätt med fingertoppen längs djupaxeln. Knappen kan utlösas när den når ett valt djup (vid tryck) eller lämnar djupet (vid släpp) när den har passerat genom den.
  • Ljudeffekten bör läggas till för att förbättra feedbacken när knappen utlöses.

tryckbar knapp långt
Fingret är långt borta

tryckbar knapp nära
Fingermetoder

tryckbar knappkontakt börjar
Kontakten börjar

tryckbar knapptryckning
Tryck nedåt



2D-skifferinteraktion

En 2D-skiffer är en holografisk container som används som värd för 2D-appinnehåll, till exempel en webbläsare. Designkonceptet för att interagera med en 2D-skiffer via direkt manipulering är detsamma som att interagera med en fysisk pekskärm.

Så här interagerar du med skifferkontakten

Touch
Touch
Tryck på en hyperlänk eller en knapp med ett pekfinger.

Skrollar
Skrollar
Använd ett pekfinger för att rulla upp och ned ett skifferinnehåll.

Zoom
Zoom
Användarens två pekfingrar används för att zooma in och ut ur skifferinnehållet, enligt fingrarnas relativa rörelse.

För att manipulera 2D-skiffer själv

Bild som visar grab and drag-funktionen
Flytta
Flytta händerna mot hörn och kanter för att visa de närmaste manipuleringspriserna. Ta tag i Holobar högst upp på 2D-skiffern, vilket gör att du kan flytta hela skiffern.

Bild som visar skalningsfunktion
Skalning
Ta tag i manipulationspriserna och gör enhetlig skalning genom hörnpriserna.

Reflow
Omforma flöde
Ta tag i manipulationspriserna och flöda om via edge-råden.



3D-objektmanipulering

HoloLens 2 låter användarna styra och manipulera 3D-holografiska objekt genom att använda en avgränsningsruta för varje 3D-objekt. Avgränsningsrutan ger bättre djupuppfattning genom dess närhetsskuggare. Med avgränsningsrutan finns det två designmetoder för 3D-objektmanipulering.

Affordance-baserad manipulering

Med affordance-base-manipulering kan du manipulera 3D-objektet via en avgränsningsruta tillsammans med manipulationspriserna runt det.

Bild som visar en avgränsningsruta för objekt och flyttfunktion
Flytta
Så snart en användares hand är nära ett 3D-objekt, avslöjas avgränsningsrutan och närmaste råd. Användarna kan ta tag i avgränsningsrutan för att flytta hela objektet.

Bild som visar hur användaren tar tag i en objektkant för att rotera
Rotera
Användare kan hämta gränspriserna för att rotera.

Bild som visar hur användaren tar tag i ett objekthörn för att skala
Skalning
Användare kan ta tag i hörnpriserna för att skala enhetligt.


Icke-affordance-baserad manipulering

Icke-affordance-baserad manipulering bifogar inte affordance till avgränsningsrutan. Användarna kan bara visa avgränsningsrutan och sedan interagera direkt med den. Om avgränsningsrutan tas med en hand associeras översättningen och rotationen av objektet med rörelse och handorientering. När objektet tas med två händer kan användarna översätta, skala och rotera det enligt relativa rörelser i två händer.

Specifik manipulering kräver precision. Vi rekommenderar att du använder affordance-baserad manipulering eftersom det ger en hög kornighetsnivå. För flexibel manipulering rekommenderar vi att du använder icke-affordance-manipulering eftersom det möjliggör omedelbara och lekfulla upplevelser.



Instinktiva gester

Med HoloLens (1:a generationen) lärde vi användarna ett par fördefinierade gester, till exempel bloom och luftkran. För HoloLens 2 ber vi inte användarna att memorera några symboliska gester. Alla nödvändiga användargester, där användarna behöver interagera med hologram och innehåll, är instinktiva. Sättet att uppnå instinktiva gester är att hjälpa användare att utföra gester genom utformningen av UI-råd.

Om vi till exempel uppmanar användaren att ta ett objekt eller en kontrollpunkt med en nypa med två fingrar ska objektet eller kontrollpunkten vara små. Om vi vill att användaren ska ta tag i fem fingrar ska objektet eller kontrollpunkten vara relativt stort. Precis som med knappar skulle en liten knapp begränsa användarna att trycka på den med ett enda finger. En stor knapp skulle uppmuntra användarna att trycka på den med handflatorna.

Bild som visar hur användaren tar tag i ett litet objekt för att flytta
Litet objekt

Bild som visar användaren som tar mellanmörkt objekt för att flytta
Mellanmörkt objekt

Bild som visar hur användaren tar tag i stora objekt för att flytta
Stort objekt




Symmetrisk design mellan händer och 6 DoF-styrenheter

Du kanske har märkt att det finns interaktionsparalleller som vi kan dra mellan händer i AR och rörelsestyrenheter i VR. Båda indata kan användas för att utlösa direkt manipulering i respektive miljö. I HoloLens 2 fungerar greppande och släpande med händer på nära avstånd ungefär på samma sätt som grab-knappen gör på WMR-rörelsestyrenheter. Detta ger användarna interaktionsförtrogenhet mellan de två plattformarna, vilket kan vara användbart om du någonsin bestämmer dig för att portera ditt program mellan plattformar.



Optimera med ögonspårning

Direkt manipulering kan kännas magiskt om det fungerar som avsett. Men det kan också bli frustrerande om du inte kan flytta handen någonstans utan att oavsiktligt utlösa ett hologram. Ögonspårning kan hjälpa till att bättre identifiera vad användarens avsikt är.

  • När: Minska oavsiktligt utlösande av ett manipulationssvar. Med ögonspårning kan du bättre förstå vad en användare för närvarande är engagerad i. Anta till exempel att du läser igenom en holografisk text (instruktionstext) när du sträcker dig över för att hämta det verkliga arbetsverktyget.

På så sätt flyttar du handen av misstag över några interaktiva holografiska knappar som du inte ens hade märkt tidigare. Den kan till exempel ligga utanför användarens fältvy (FoV).

Om användaren inte har tittat på ett hologram på ett tag, men en touch- eller grepphändelse har identifierats för det, är interaktionen sannolikt oavsiktlig.

  • Vilket: Förutom att åtgärda falska positiva aktiveringar innehåller ett annat exempel bättre identifiering av vilka hologram som ska hämtas eller petas som den exakta skärningspunkten kanske inte är tydliga ur ditt perspektiv, särskilt om flera hologram placeras nära varandra.

    Även om ögonspårning på HoloLens 2 har begränsningar baserat på hur exakt det kan bestämma din ögonöga, kan detta fortfarande vara användbart för nära interaktioner på grund av djupskillnader när du interagerar med handindata. Det innebär att det ibland är svårt att avgöra om din hand ligger bakom eller framför ett hologram för att till exempel exakt ta tag i en manipuleringswidget.

  • Var du ska: Använd information om vad en användare tittar på med snabbkastande gester. Ta ett hologram och dra det ungefär mot ditt avsedda mål.

    Även om detta ibland fungerar kan snabba handgester resultera i mycket felaktiga mål. Ögonspårning kan dock förbättra precisionen i gesten.



Manipulering i MRTK (Mixed Reality Toolkit) för Unity

Med MRTK kan du enkelt uppnå vanligt manipuleringsbeteende med hjälp av skriptet ObjectManipulator. Med ObjectManipulator kan du ta tag i och flytta objekt direkt med händer eller med handstråle. Det stöder också dubbelhänt manipulering för skalning och rotation av ett objekt.


Se även