Designen och implementeringen av handspårning i 'Myst' PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.

Designen och implementeringen av handspårning i "Myst"

Använda Presence Platforms uppgraderade Hand Tracking API, introducerade vi Hand Tracking med vår senaste uppdatering till myst på Meta Quest-plattformen, med titeln "Hands & More". Vi är superglada över att äntligen låta folk spela myst på Quest utan fysiska kontroller! I det här inlägget kommer vi att diskutera utvecklingen och iterationen av att implementera handspårning myst— och i synnerhet lägga till mer stöd för det i Unreal Engine 4.27.2.

Designen och implementeringen av handspårning i 'Myst' PlatoBlockchain Data Intelligence. Vertikal sökning. Ai.Gästartikel av Hannah Gamiel

Hannah Gamiel är utvecklingsdirektör på Cyan—studion bakom originaletMyst' spel — och hjälpte till att utveckla det nya 'Myst (2020)' som inkluderar VR-stöd. Hon kommer ursprungligen från en rent teknisk bakgrund och hjälper nu till att leda produktionen av alla titlar och hanterar affärs- och teknikinsatser på Cyan. Hon har arbetat med titlar som 'Myst' (2020), 'The Witness', 'Braid, Anniversary Edition', 'Obduction', 'Firmament' (kommer snart!) och mer.

Designfas & överväganden

Designa navigering för handspårning

Bild som visar vart du vill åka. Du tänkte förmodligen peka, eller hur? Det är därför vi valde att använda en "pekande" metod för att röra sig in myst.

När du är i teleporteringsläge kan du peka på vart du vill åka och teleporteringsringen visas på din destination. När du "avpekar" (genom att sträcka ut resten av fingrarna, eller helt enkelt dra tillbaka pekfingret i handflatan), utförs teleporteringen.

När du är i mjukt rörelseläge, kommer att peka med din fri-rörelsedominerande hand (som kan konfigureras i våra kontrollinställningar, men är vänsterhanden som standard) smidigt att flytta runt dig i den riktning du pekar.

När vi testade rörelse med att peka, fann vi att handspårning ibland kan vara opålitlig med ditt pekfinger och långfinger när det är blockerat av resten av din hand. Systemet är inte säker på om dessa fingrar pekar helt eller helt "inneslutna" i din hand. Vi lade till lite av en "fudge"-faktor till koden för att ta hänsyn till mer stabil rörelseinitiering/-exekvering på den här fronten - vilket vi kommer att gå in på lite senare när vi diskuterar ändringar som gjorts av färdighandspårning stöd i Unreal Engine.

Vrida

'Point'-metoden fungerar inte för alla navigeringsanvändningar. När det kommer till vändning kombinerade vi till en början pekning med handledsrotation. Att jämföra spelarens handled och kamerans framåtvektor skulle indikera riktningen för svängen (och hur stor svängen ska vara). Vi provade detta till en början eftersom det verkade intuitivt att hålla "pekande"-temat för navigering mellan alla lägen.

Det uppstod dock komplikationer i komforttester. I speltestning skulle de flesta spelare peka framåt med handflatan vänd mot marken, som man troligen skulle göra när man försökte peka på något utanför ett spel också. Att rotera handleden till vänster och höger (runt handledens uppaxel) medan du har handflatan vänd mot marken är utmanande och har ett mycket begränsat rörelseomfång, särskilt om du försöker vända dig bort från bröstet.

Det här problemet är detsamma även om du bad en spelare att peka på något framför honom med handflatorna vända inåt. Du kan böja in handleden mot din kropp ganska mycket, men du kommer inte att få samma rörelseomfång när du böjer handleden bort från kroppen.

Så hur löste vi detta? Det slutade med att vi valde att vända oss till en "tummen upp"-gest istället för en pek-finger-pekande gest.

Tänk dig att göra tummen upp. Vrid nu handleden åt höger och vänster. Observera att även om du inte har ett stort rörelseomfång är det fortfarande ganska konsekvent att peka antingen "vänster" och "höger" med tummen i denna gest.

Detta är vad vi nöjde oss med för att aktivera handspårningsläget. Även om att peka med tummen inte verkar vara det mest intuitiva sättet att vända, det gjorde blir det mest bekväma och konsekventa sättet att göra det på.

Om du vrider din handled åt vänster eller höger från tummen upp med snäppsvängning påbörjas en enda snäppsväng. Du måste sedan återställa din hand till "mitten" (rakt upp) position för att återställa snappet, och dessutom vänta på att en mycket kort nedkylning inträffar för att initiera en snapsväng igen.

Med mjuk vridning, kommer du att vrida handleden i tummen upp-läge att börja rotera dig åt vänster eller höger – när du lämnar en "död zon" som förhindrar att en sväng inträffar tills du passerar tröskeln.

Hantera konflikter mellan rörelse och objektinteraktion

Att peka finger är naturligtvis en för bred gest för att antas bara användas för navigering. Människor kommer att göra samma pekgest för att trycka på knappar eller interagera med andra saker i världen bara av vana eller av sina egna förväntningar. Det skulle vara ganska jobbigt att gå fram till (men inte höger upp till) en knapp, peka med fingret för att trycka på den och flytta sedan plötsligt (och oönskat) närmare den i spelet (eller initiera en teleportering oavsiktligt)!

Sättet vi förhindrar att rörelser inträffar medan spelaren interagerar med något är genom att förhindra någon rörelsekod från att avfyras när handen som gör "rörelse"-gesten är inom ett visst intervall för ett interagerbart objekt. Det här sortimentet har justerats flera gånger för att komma till en bra "sweet spot" baserat på speltestning.

Vi har upptäckt att den här söta fläcken är cirka 25 cm från världsrymdplatsen för benet på pekfingrets spets. myst är full av interaktiva föremål i olika storlekar (allt från små knappar till mycket stora spakar) uppställda i både vidöppna utrymmen och smala korridorer, så det tog oss en hel del tester för att sätta oss fast på detta nummer. Vi försökte först 60 cm (cirka två fot), men det förhindrade rörelse från att uppstå när spelarna fortfarande behövde komma närmare ett föremål. På samma sätt orsakade allt under 25 cm oönskade spelares rörelser när spelare försökte greppa eller röra ett föremål.

Ett av våra bästa testområden var generatorrummet på Myst Island, där du tar dig igenom en smal entré och sedan omedelbart möts av en panel full med knappar. När interaktionstestområdet var för stort kunde spelarna inte röra sig genom ingången och mot panelen eftersom den upptäckte knappar inom pekfingrets räckvidd.

Som sagt, 25 cm är vad som fungerade specifikt för myst. Andra spel kan behöva justera detta antal om de vill implementera något liknande, med sina egna kriterier i åtanke.

Designa objektinteraktioner för handspårning

Just nu, alla gripbara interaktioner in myst är byggda för att fungera med handspårning – att vrida ventiler, öppna dörrar, trycka på knappar, vända boksidor och så vidare.

Interaktionerna piggy-back av vad vi redan hade ställt in för myst med Touch-kontroller. Där, genom att trycka på greppknappen blandas automatiskt in-game mesh-representationen av din hand till en "gripen" pose, antingen genom att stoppa handen i en knytnäve (om den är tom) eller ta tag i ett föremål. Med handspårning har vi lagt till kod som kommer att göra en kvalificerad gissning om när du har krökt fingrarna tillräckligt för att "gripa" något och initiera samma logik som nämnts tidigare.

Till exempel, när du använder handspårning och din hand svävar över något som går att ta tag i, blir din handfärg orange (detta är exakt vad som händer när du inte använder handspårning i myst VR också). När du tar tag i ett interagerbart föremål genom att börja krypa ihop fingrarna till en knytnäve, ersätter en orange sfär ditt handnät och representerar var handen är fäst vid föremålet.

Anledningen till att vi valde den här metoden istället för att göra anpassade poserbara maskor för dina händer – eller låta dina händer/fingrar verka fysiskt interagera med delar av dessa objekt – är för att vi ville att interaktionerna skulle vara i paritet med vad vi erbjuder på pekkontrollsidan för nu.

Att trycka på knappar fungerar dock annorlunda. Det finns inget behov av abstraktion eftersom knappar inte är gripbara föremål, och istället låter vi dig helt enkelt trycka på en knapp med hjälp av genererade kapselkolliderar mellan var och en av fingerlederna på det poserbara handnätet. Du kan göra alla möjliga konstiga och roliga saker på grund av detta – som att bara använda din pinky eller ringfingrets knoge för att interagera med varje knapp i spelet, om du verkligen vill.

Den här implementeringen skiljer sig något från hur Touch-kontroller interagerar med knappar i spelet eftersom vi vanligtvis förväntar oss att spelare använder greppknappen på sin handkontroll för att ställa in handen så att den är ett poserat "fingerpekande" mesh för att få en exakt knapp i spelet tryck på deras ände. Med handspårning finns det uppenbarligen betydligt mer flexibilitet i den pose du kan skapa med handen, och därför betydligt fler sätt att trycka på knappar med samma noggrannhet.

Meny/UI-interaktioner

För att interagera med menyer slutade vi med samma interaktionsparadigm som Meta använder för Quest-plattformen: en nypa med två fingrar mellan tummen och pekfingret, på vardera sidan. Detta kan användas både för att öppna vår meny i spelet och interagera med element i menyn. Ingen mening med att uppfinna hjulet på nytt här när spelare redan har lärt sig att göra detta i menyerna på OS-nivå när de först aktiverar handspårning på Quest!

Att kommunicera allt detta till spelaren

Eftersom handspårning inte är en lika vanlig ingång på Quest som Touch-kontroller, och eftersom det kan finnas vissa personer som spelar myst för allra första gången (eller till och med spela deras allra första VR-spel!), försökte vi vara hänsynsfulla med hur vi kommunicerar all denna information om handspårning till spelaren. Vi såg till att inkludera en annan version av vårt "kontrollerdiagram" speciellt anpassat för att beskriva handspårningsinteraktioner (när det är aktiverat i myst), och vi visar spelaren specialiserade aviseringar som berättar exakt hur de ska röra sig med händerna.

Dessutom trodde vi att det skulle vara viktigt att påminna spelaren om hur man får en smidig handspårningsupplevelse, när den väl har aktiverats. Spelaren meddelas in mysts meny att handspårningsstabiliteten är mycket bättre om de ser till att de är i ett väl upplyst rum och håller händerna inom sitt synfält.

Meta informerar också spelare om att dessa är nyckeln till en välföljd miljö för handspårning, men vi inser att vissa spelare kan hoppa in i ett spel som inte har analyserat Metas meddelanden om detta först, så vi har valt att påminna folk om de glömt.

Fortsätt på sida 2: Motormodifieringar gjorda på overkligt »

Tidsstämpel:

Mer från Vägen till VR