Staren en doorvoeren

Staren en doorvoeren is een fundamenteel invoermodel dat nauw verwant is aan de manier waarop we met de muis werken met onze computers: Wijs & klikken. Op deze pagina introduceren we twee typen gaze-invoer (hoofd- en oog-blik) en verschillende soorten doorvoeracties. Staren en doorvoeren wordt beschouwd als een ver invoermodel met indirecte manipulatie. Het kan het beste worden gebruikt voor interactie met holografische inhoud die buiten bereik is.

Mixed reality-headsets kunnen de positie en stand van het hoofd van de gebruiker gebruiken om de richtingsvectoren van het hoofd te bepalen. U kunt staren zien als een laser die recht vooruit wijst van direct tussen de ogen van de gebruiker. Dit is een vrij grove benadering van waar de gebruiker naar op zoek is. Uw toepassing kan deze straal snijden met virtuele of echte objecten en een cursor op die locatie tekenen om de gebruiker te laten weten waarop deze zich richt.

Naast hoofd staren bevatten sommige mixed reality-headsets, zoals HoloLens 2, oogtraceringssystemen die een oog-staarvector produceren. Dit biedt een nauwkeurige meting van waar de gebruiker naar op zoek is. In beide gevallen vertegenwoordigt de blik een belangrijk signaal voor de intentie van de gebruiker. Hoe beter het systeem de beoogde acties van de gebruiker kan interpreteren en voorspellen, hoe meer gebruikerstevredenheid en prestaties verbeteren.

Hieronder vindt u enkele voorbeelden van hoe u als mixed reality-ontwikkelaar kunt profiteren van hoofd- of oog-blik:

  • Uw app kan blik snijden met de hologrammen in uw scène om te bepalen waar de aandacht van de gebruiker is (nauwkeuriger met ogen kijken).
  • Uw app kan bewegingen en controllerdrukken kan channelen op basis van de blik van de gebruiker, waardoor de gebruiker naadloos zijn hologrammen kan selecteren, activeren, grijpen, schuiven of anderszins kan gebruiken.
  • Met uw app kan de gebruiker hologrammen op echte oppervlakken plaatsen door hun gazestraal te snijden met het mesh voor ruimtelijke toewijzing.
  • Uw app kan weten wanneer de gebruiker niet in de richting van een belangrijk object kijkt, wat ertoe kan leiden dat uw app visuele en audio-aanwijzingen geeft om naar dat object te gaan.

Ondersteuning voor apparaten

Invoermodel HoloLens (1e generatie) HoloLens 2 Immersive headsets
Hoofd-staren en doorvoeren ✔️ Aanbevolen ✔️ Aanbevolen (derde keuze: bekijk de andere opties) ➕ Alternatieve optie
Ogen staren en doorvoeren ❌ Niet beschikbaar ✔️ Aanbevolen (derde keuze: bekijk de andere opties) ❌ Niet beschikbaar

Ontwerpconcepten voor hoofd- en ogentraceringsdemo

Als u ontwerpconcepten voor hoofd- en ogentracering in actie wilt zien, bekijkt u onze videodemo Hologrammen ontwerpen - Hoofdtracering en oogtracering hieronder. Wanneer u klaar bent, gaat u verder voor een gedetailleerdere bespreking van specifieke onderwerpen.

Deze video is afkomstig uit de HoloLens 2-app Hologrammen ontwerpen. Download en geniet hier van de volledige ervaring.

Blik

Oog- of hoofd-staren?

Er zijn verschillende overwegingen bij de vraag of u het invoermodel 'oog-staren en doorvoeren' of 'hoofd-staren en doorvoeren' moet gebruiken. Als u ontwikkelt voor een immersive headset of voor HoloLens (1e generatie), is de keuze eenvoudig: Head-staren en doorvoeren. Als u ontwikkelt voor HoloLens 2, wordt de keuze iets moeilijker. Het is belangrijk om inzicht te hebben in de voordelen en uitdagingen die elk van deze voordelen en uitdagingen met zich mee brengen. We hebben een aantal brede pro's en oplichters in de onderstaande tabel gecompileerd om hoofd- versus oog-blik gericht te contrasteren. Dit is verre van voltooid en we raden u aan hier meer te weten te komen over eye-gaze targeting in mixed reality:

Oog-blik gericht Gericht op hoofd-blik
Snel! Langzamer
Lage inspanning (nauwelijks lichaamsbewegingen nodig) Kan vermoeiend zijn - Mogelijk ongemak (bijvoorbeeld nekbelasting)
Vereist geen cursor, maar subtiele feedback wordt aanbevolen Vereist om een cursor weer te geven
Geen vloeiende oogbewegingen – bijvoorbeeld niet goed voor tekenen Meer gecontroleerd en expliciet
Moeilijk voor kleine doelen (bijvoorbeeld kleine knoppen of weblinks) Betrouwbare! Geweldige terugval!
... ...

Of u nu head-gaze of eye-gaze gebruikt voor uw gaze-and-commit-invoermodel, elk model heeft verschillende sets ontwerpbeperkingen. Deze worden afzonderlijk behandeld in de artikelen eye-gaze en commit en head-gaze en commit .



Cursor

Voor hoofdkijken moeten de meeste apps een cursor of een andere auditieve/visuele indicatie gebruiken om de gebruiker vertrouwen te geven in wat ze gaan gebruiken. U plaatst deze cursor meestal in de wereld waar hun hoofdstraal eerst een object kruist, wat een hologram of een echt oppervlak kan zijn.

Voor ogenkijken raden we over het algemeen aan om geen cursor weer te geven, omdat dit snel afleidend en vervelend kan worden voor de gebruiker. Markeer in plaats daarvan visuele doelen subtiel of gebruik een flauw ogencursor om vertrouwen te geven in wat de gebruiker op het punt staat te communiceren. Bekijk onze ontwerprichtlijnen voor ooggebaseerde invoer op HoloLens 2 voor meer informatie.

Een voorbeeld van een visuele cursor om staren weer te geven
Afbeelding: Een voorbeeld van een visuele cursor om staren weer te geven



Doorvoeren

Nadat we het hebben over verschillende manieren om naar een doel te staren , gaan we het wat meer hebben over het doorvoergedeelte in staren en doorvoeren. Nadat een object of UI-element is gericht, kan de gebruiker er interactie mee hebben of erop klikken met behulp van een secundaire invoer. Dit staat bekend als de doorvoerstap van het invoermodel.

De volgende doorvoermethoden worden ondersteund:

  • Handbeweging met luchttikken (dat wil gezegd, uw hand voor u opsteken en uw wijsvinger en duim samenbrengen)
  • Zeg 'select' of een van de gerichte spraakopdrachten
  • Op één knop drukken op een HoloLens Clicker
  • Op de knop A drukken op een Xbox-gamepad
  • Op de knop A drukken op een adaptieve Xbox-controller

Staar- en luchtbeweging

Luchttikken is een tikkend gebaar waarbij de hand rechtop wordt gehouden. Als u een luchttik wilt gebruiken, tilt u uw wijsvinger op naar de kant-en-klaarpositie, knijpt u vervolgens met uw duim en tilt u uw wijsvinger weer op om los te laten. Op HoloLens (1e generatie) is luchttikken de meest voorkomende secundaire invoer.

Vinger in de stand gereed
Vinger in de stand gereed

Druk op de vinger omlaag om te tikken of te klikken
Druk op de vinger omlaag om te tikken of te klikken

Luchtkraan is ook beschikbaar op HoloLens 2. Het is ontspannen van de oorspronkelijke versie. Bijna alle soorten knijpen worden nu ondersteund zolang de hand rechtop staat en stilhoudt. Dit maakt het veel gemakkelijker voor gebruikers om de beweging te leren en te gebruiken. Deze nieuwe luchtkraan vervangt de oude via dezelfde API, zodat bestaande toepassingen automatisch het nieuwe gedrag krijgen na het opnieuw compileren van HoloLens 2.



Staar en spraakopdracht 'Selecteren'

Spraakopdrachten is een van de belangrijkste interactiemethoden in mixed reality. Het biedt een krachtig handsfree mechanisme om het systeem te besturen. Er zijn verschillende typen modellen voor spraakinteractie:

  • De algemene opdracht 'Selecteren' die een klikactivering of doorvoer als secundaire invoer gebruikt.
  • Objectopdrachten (bijvoorbeeld 'Sluiten' of 'Groter maken') voeren een actie uit en voeren deze door als secundaire invoer.
  • Voor globale opdrachten (bijvoorbeeld 'Ga naar start') is geen doel vereist.
  • Gespreksgebruikersinterfaces of entiteiten zoals Cortana hebben een ai-functie voor natuurlijke taal.
  • Aangepaste spraakopdrachten

Raadpleeg onze richtlijnen voor spraakopdrachten voor meer informatie over details en een uitgebreide lijst met beschikbare spraakopdrachten en hoe u deze kunt gebruiken.



Gaze en HoloLens Clicker

De HoloLens Clicker is het eerste randapparaat dat speciaal is gebouwd voor HoloLens. Het is opgenomen in HoloLens (1e generatie) Development Edition. Met de HoloLens Clicker kan een gebruiker met minimale beweging met de hand klikken en doorvoeren als secundaire invoer. De HoloLens Clicker maakt verbinding met HoloLens (1e generatie) of HoloLens 2 via Bluetooth Low Energy (BTLE).

Meer informatie en instructies voor het koppelen van het apparaat

Afbeelding: HoloLens Clicker

HoloLens Clicker



Staren en Xbox draadloze controller

De Xbox draadloze controller voert een klikactivering uit als een secundaire invoer met behulp van de knop 'A'. Het apparaat is toegewezen aan een standaardset acties waarmee u kunt navigeren en het systeem kunt beheren. Als u de controller wilt aanpassen, gebruikt u de toepassing Xbox-accessoires om uw Xbox draadloze controller te configureren.

Een Xbox-controller koppelen met uw pc

Afbeelding: Xbox draadloze controller

Xbox draadloze controller



Staren en Xbox Adaptive Controller

De Xbox Adaptive Controller is voornamelijk ontworpen om te voldoen aan de behoeften van gamers met beperkte mobiliteit en is een geïntegreerde hub voor apparaten die mixed reality toegankelijker maakt.

De Xbox Adaptive Controller voert een klikactie uit als een secundaire invoer met behulp van de A-knop. Het apparaat is toegewezen aan een standaardset acties waarmee u kunt navigeren en het systeem kunt beheren. Als u de controller wilt aanpassen, gebruikt u de toepassing Xbox-accessoires om uw Xbox Adaptive Controller te configureren.

Xbox Adaptive Controller
Xbox Adaptive Controller

Sluit externe apparaten aan, zoals schakelaars, knoppen, bevestigingen en joysticks, om een aangepaste controllerervaring te creëren die uniek is voor u. Knoppen, duimsticks en triggeringangen worden geregeld met ondersteunende apparaten die zijn aangesloten via 3,5 mm-aansluitingen en USB-poorten.

Xbox Adaptive Controller-poorten
Xbox Adaptive Controller-poorten

Instructies voor het koppelen van het apparaat

Meer informatie is beschikbaar op de Xbox-site



Samengestelde bewegingen

Een tik in de lucht

De luchttikbeweging (en de andere gebaren hieronder) reageert alleen op een specifieke tik. Als u andere tikken wilt detecteren, zoals Menu of Grasp, moet uw toepassing rechtstreeks gebruikmaken van de interacties op het lagere niveau die worden beschreven in de sectie met de twee belangrijkste onderdeelbewegingen hierboven.

Tikken en vasthouden

Vasthouden is simpelweg het handhaven van de positie van de neerwaartse vinger van de luchtkraan. De combinatie van luchttikken en vasthouden maakt verschillende complexere 'klik- en sleep'-interacties mogelijk in combinatie met armbewegingen, zoals het ophalen van een object in plaats van het te activeren of secundaire interacties met de muis, zoals het weergeven van een contextmenu. Wees echter voorzichtig bij het ontwerpen voor dit gebaar, omdat gebruikers tijdens een uitgebreid gebaar de neiging kunnen hebben om hun handpostuur te ontspannen.

Manipulatie

Manipulatiebewegingen kunnen worden gebruikt om een hologram te verplaatsen, het formaat ervan te wijzigen of te draaien wanneer u wilt dat het hologram 1:1 reageert op de handbewegingen van de gebruiker. Eén gebruik voor dergelijke 1:1-bewegingen is om de gebruiker in de wereld te laten tekenen of schilderen. De eerste gerichtheid voor een manipulatiebeweging moet worden gedaan door te staren of te wijzen. Zodra het tikken en vasthouden wordt gestart, wordt elke objectmanipulatie afgehandeld door handbewegingen, waardoor de gebruiker vrij is om rond te kijken tijdens het manipuleren.

Navigatiebewegingen werken als een virtuele joystick en kunnen worden gebruikt om door UI-widgets te navigeren, zoals radiale menu's. U tikt en houdt vast om het gebaar te starten en beweegt vervolgens uw hand in een genormaliseerde 3D-kubus, gecentreerd rond de eerste druk. U kunt uw hand langs de X-, Y- of Z-as verplaatsen van een waarde van -1 naar 1, waarbij 0 het beginpunt is. Navigatie kan worden gebruikt om doorlopende schuif- of zoombewegingen op basis van snelheid te bouwen, vergelijkbaar met het schuiven in een 2D-gebruikersinterface door op de middelste muisknop te klikken en de muis vervolgens omhoog en omlaag te bewegen.

Navigatie met rails verwijst naar het vermogen om bewegingen in een bepaalde as te herkennen totdat een bepaalde drempelwaarde op die as is bereikt. Dit is alleen nuttig wanneer beweging in meer dan één as is ingeschakeld in een toepassing door de ontwikkelaar, bijvoorbeeld als een toepassing is geconfigureerd om navigatiebewegingen over de X-, Y-as te herkennen, maar ook opgegeven X-as met rails. In dit geval herkent het systeem handbewegingen over de X-as zolang ze binnen een denkbeeldige rails (geleiding) op de X-as blijven, als er ook handbewegingen plaatsvinden op de Y-as.

In 2D-apps kunnen gebruikers verticale navigatiebewegingen gebruiken om te schuiven, te zoomen of binnen de app te slepen. Hiermee worden virtuele vingerbewegingen naar de app geïnjecteerd om aanraakbewegingen van hetzelfde type te simuleren. Gebruikers kunnen selecteren welke van deze acties worden uitgevoerd door te schakelen tussen de hulpprogramma's op de balk boven de toepassing, door de knop te selecteren of '<Scroll/Drag/Zoom> Tool' te zeggen.

Meer informatie over samengestelde bewegingen

Gebarenherkenning

Een voordeel van het gebruik van gebarenherkenning is dat u een gebarenherkenning alleen kunt configureren voor de gebaren die het momenteel beoogde hologram kan accepteren. Het platform voert alleen ondubbelzinnigheid uit als dat nodig is om onderscheid te maken tussen die specifieke ondersteunde bewegingen. Op deze manier kan een hologram dat alleen luchttikken ondersteunt, elke tijd tussen het indrukken en loslaten accepteren, terwijl een hologram dat zowel tikken als vasthouden ondersteunt, het tikken kan promoveren tot een wachtstand na de drempelwaarde voor de wachttijd.

Handherkenning

HoloLens herkent handbewegingen door de positie van een of beide handen te volgen die zichtbaar zijn voor het apparaat. HoloLens ziet handen wanneer ze in de gereedheidstoestand zijn (de achterkant van de hand die u met wijsvinger naar boven gericht) of de ingedrukt toestand (de achterkant van de hand naar u toe gericht is met de wijsvinger omlaag). Wanneer handen zich in andere poses bevinden, negeert HoloLens deze. Voor elke hand die HoloLens detecteert, hebt u toegang tot de positie zonder oriëntatie en de ingedrukt toestand. Als de hand de rand van het gebaarframe nadert, krijgt u ook een richtingsvector, die u aan de gebruiker kunt laten zien, zodat deze weet hoe ze hun hand moeten verplaatsen om deze terug te krijgen waar HoloLens het kan zien.

Gebaarkader

Voor bewegingen op HoloLens moet de hand zich binnen een gebaarframe bevinden, in een bereik dat de camera's met gebarendetectie op de juiste manier kunnen zien, van neus tot taille en tussen de schouders. Gebruikers moeten worden getraind op dit gebied van erkenning, zowel voor het succes van de actie als voor hun eigen comfort. Veel gebruikers gaan er in eerste instantie van uit dat het gebarenframe in hun zicht moet zijn via HoloLens en houden hun armen ongemakkelijk op om te communiceren. Wanneer u de HoloLens Clicker gebruikt, is het niet nodig dat handen zich binnen het gebaarframe bevinden.

Met name voor doorlopende bewegingen bestaat het risico dat gebruikers hun handen buiten het gebaarkader bewegen terwijl ze zich in het midden bevinden, bijvoorbeeld wanneer ze een holografisch object verplaatsen en het beoogde resultaat verliezen.

Er zijn drie dingen die u moet overwegen:

  • Gebruikers informeren over het bestaan en de geschatte grenzen van het gebaarframe. Dit wordt geleerd tijdens de installatie van HoloLens.

  • Gebruikers waarschuwen wanneer hun bewegingen de grenzen van het gebaarframe binnen een toepassing naderen of verbreken, in de mate dat een verloren gebaar leidt tot ongewenste resultaten. Onderzoek heeft de belangrijkste kwaliteiten van een dergelijk meldingssysteem aangetoond. De HoloLens-shell biedt een goed voorbeeld van dit type melding: visual op de centrale cursor, die de richting aangeeft waarin grensoverschrijding plaatsvindt.

  • De gevolgen van het verbreken van de grenzen van het gebaarframe moeten worden geminimaliseerd. In het algemeen betekent dit dat het resultaat van een beweging moet worden gestopt bij de grens en niet moet worden omgekeerd. Als een gebruiker bijvoorbeeld een holografisch object door een ruimte verplaatst, moet de beweging stoppen wanneer het gebaarframe wordt doorbroken en niet terugkeren naar het beginpunt. De gebruiker ondervindt mogelijk enige frustratie, maar begrijpt mogelijk sneller de grenzen en hoeft de volledige beoogde acties niet elke keer opnieuw te starten.

Zie ook