Käsitsi jälgimise kavandamine ja rakendamine Myst PlatoBlockchaini andmeluures. Vertikaalne otsing. Ai.

Käsitsi jälgimise disain ja rakendamine rakenduses "Myst"

Kasutamine Presence Platformi täiendatud käsitsi jälgimise API, tutvustasime käsitsi jälgimist oma viimase värskendusega Myst platvormil Meta Quest, pealkirjaga "Käed ja muu". Oleme ülimalt põnevil, et saame lõpuks inimestel mängida Myst Questil ilma füüsiliste kontrolleriteta! Selles postituses käsitleme käsitsi jälgimise juurutamise arengut ja iteratsiooni Myst— ja eelkõige sellele suurema toe lisamine versioonis Unreal Engine 4.27.2.

Käsitsi jälgimise kavandamine ja rakendamine Myst PlatoBlockchaini andmeluures. Vertikaalne otsing. Ai.Külalisartikkel, autor Hannah Gamiel

Hannah Gamiel on ettevõtte arendusdirektor Cyan- originaali taga olev stuudiomüst' mängud ja aidanud arendada uut "Müst" (2020)", mis sisaldab VR-i tuge. Algselt puhtalt tehnilise taustaga ta aitab nüüd juhtida kõigi pealkirjade tootmist ning juhib Cyani äri- ja tehnikaalaseid jõupingutusi. Ta on töötanud selliste pealkirjade kallal nagu "Myst" (2020), "The Witness", "Braid, Anniversary Edition", "Obduction", "Firmament" (varsti!) ja palju muud.

Disainifaas ja kaalutlused

Navigatsiooni kujundamine käsitsi jälgimiseks

Pilt, mis näitab, kuhu soovite minna. Tõenäoliselt mõtlesite osutada, eks? Seetõttu otsustasime sisse liikumiseks kasutada osutamise meetodit Myst.

Kui olete teleportimisrežiimis, saate näidata, kuhu soovite minna, ja teie sihtkohta ilmub teleportimisrõngas. Kui eemaldate näpunäiteid (ülejäänud sõrmed sirutades või lihtsalt osutussõrme tagasi peopessa tõmmates), teostatakse teleport.

Kui olete sujuva liikumise režiimis, hakkab vaba liikumist domineeriva käega osutamine (mida saab meie juhtnuppude seadetes konfigureerida, kuid on vaikimisi vasak käsi) liigutama teid sujuvalt selles suunas, kuhu osutate.

Osutamisega liikumist testides avastasime, et käe jälgimine võib osuti sõrme ja keskmise sõrmega mõnikord osutuda ebausaldusväärseks, kui see on ülejäänud käe poolt ummistunud. Süsteem pole kindel, kas need sõrmed on täielikult suunatud või on teie käes täielikult suletud. Lisasime koodile natuke "fudge" tegurit, et võtta arvesse liikumise stabiilsemat käivitamist/käivitamist – mida käsitleme veidi hiljem, kui arutleme kasutusel olevas käsitsi jälgimises tehtud muudatuste üle. tugi Unreal Engine'is.

Pööramine

Punktimeetod ei tööta kõigi navigeerimisviiside puhul. Kui rääkida pööramisest, siis alguses ühendasime osutamise randme pööramisega. Mängija randme ja kaamera ettepoole suunatud vektori võrdlemine näitaks pöörde suunda (ja seda, kui suur pööre peaks olema). Proovisime seda alguses, kuna tundus intuitiivne hoida suunamise teema navigeerimiseks kõigi režiimide vahel.

Mugavustestides tekkisid aga komplikatsioonid. Mängu testimisel osutab enamik mängijaid ettepoole, peopesa maapinnaga, nagu tõenäoliselt ka siis, kui üritatakse osutada millelegi väljaspool mängu. Randme pööramine vasakule ja paremale (ümber randme ülestelje), kui peopesa on maapinnaga suunatud, on keeruline ja selle liigutuste ulatus on väga piiratud, eriti kui proovite oma rinnalt ära pöörata.

See probleem on sama isegi siis, kui palusite mängijal peopesad sissepoole suunata millelegi enda ees olevale poole. Saate oma randme sisse painutada suunas oma keha üsna palju, kuid te ei saa sama liikumisulatust, kui painutage randme kehast eemale.

Kuidas me siis selle lahendasime? Lõppkokkuvõttes määrasime kursori ja sõrmega osutamise liigutuse asemel pöidla üles tõstmise liigutuse.

Kujutage ette, et hoiate pöidla üles. Nüüd keerake randme paremale ja vasakule. Pange tähele, et kuigi teil ei ole tohutut liikumisulatust, on selle žesti puhul pöidlaga „vasakule” ja „paremale” osutamine siiski üsna ühtlane.

See on see, mida me käsitsi jälgimise režiimis keerates otsustasime. Kuigi pöidlaga osutamine ei tundu olevat kõige intuitiivsem viis pööramiseks, on see siiski tegin lõpuks kõige mugavam ja järjepidevam viis seda teha.

Krõpsuga keerates põhjustab randme pööramine pöidla üles tõstetud asendist vasakule või paremale ühe klõpsuga pöörde. Seejärel peate klõpsu lähtestamiseks viima oma käe tagasi keskmisse (sirge üles) asendisse ja ootama, kuni toimub väga lühike jahtumine, et uuesti klõpsatus pöörata.

Sujuva pööramise korral hakkab pöidla üles tõstetud asendis randme pööramine teid vasakule või paremale pöörama – kui lahkute "surnud tsoonist", mis takistab pöörde toimumist kuni läve ületamiseni.

Liikumise ja objektide vastasmõju pooside vaheliste konfliktide käsitlemine

Muidugi on näpuga näitamine liiga lai žest, et eeldada, et seda kasutatakse ainult navigeerimiseks. Inimesed teevad sama osutava žesti, et vajutada nuppe või suhelda muude asjadega maailmas lihtsalt harjumusest või oma ootustest. Selle juurde kõndimine oleks päris tüütu (aga mitte õige kuni) nupuni, osutage selle vajutamiseks sõrmega ja liikuge siis ootamatult (ja soovimatult) sellele mängus lähemale (või käivitage tahtmatult teleport)!

Liikumise vältimise viis, kui mängija võib millegagi suhelda, on see, et takistame mis tahes liikumiskoodi vallandumist, kui liigutusliigutust tegev käsi on interakteeruva objekti teatud vahemikus. Seda vahemikku on mitu korda muudetud, et jõuda mängutestimise põhjal heale "armsale kohale".

Oleme leidnud, et see magus koht asub nimetissõrme otsa luu maailmaruumi asukohast umbes 25 cm kaugusel. Myst on täis erineva suurusega interaktiivseid objekte (kõike alates väikestest nuppudest kuni väga suurte hoobadeni), mis on paigutatud nii avaratesse kohtadesse kui ka kitsastesse koridoridesse, nii et selle arvuga leppimiseks kulus meil üsna palju katsetamist. Algselt proovisime 60 cm (umbes kaks jalga), kuid see takistas liikumist, kui mängijad pidid siiski objektile lähemale jõudma. Samuti põhjustas kõik alla 25 cm mängija soovimatu liikumise vallandamist, kui mängijad üritasid haarata või puudutada eset.

Üks meie parimaid testimisalasid oli Myst Islandil asuv generaatoriruum, kus teed läbi kitsa sissepääsu ja seejärel tervitab sind kohe nuppe täis paneel. Kui interaktsiooni testimise ala oli liiga suur, ei saanud mängijad liikuda läbi sisestuse ja paneeli poole, kuna see tuvastas nimetissõrme ulatuses olevad nupud.

See tähendab, et 25 cm on see, mis konkreetselt töötas Myst. Teistel mängudel võib olla vaja seda numbrit kohandada, kui nad soovivad oma kriteeriume silmas pidades midagi sarnast rakendada.

Objektide interaktsioonide kujundamine käsitsi jälgimiseks

Praegu on kõik haaratavad interaktsioonid sisse Myst on loodud töötama käsitsi jälgimisega – klappide keeramine, uste avamine, nuppude vajutamine, raamatulehtede pööramine jne.

Suhtlemine lükkab tagasi selle, mille jaoks olime juba ette valmistanud Myst puutetundlike kontrolleritega. Seal ühendab käepideme nupu vajutamine teie käe mängusisese võrgusilma kujutise automaatselt „haaratud“ poosiks, pannes käe rusikasse (kui see on tühi) või haarates mõnest esemest kinni. Käsijälgimise puhul oleme lisanud koodi, mis annab kvalifitseeritud oletuse, millal olete oma sõrmed piisavalt kõverdanud, et millestki kinni haarata ja käivitada sama loogika, nagu eelnevalt mainitud.

Näiteks kui kasutate käsitsi jälgimist ja teie käsi hõljub millegi kohal, millest on haaratav, muutub teie käe värv oranžiks (see juhtub täpselt siis, kui te ei kasuta käsitsi jälgimist Myst samuti VR). Kui haarate interaktiivsest objektist, hakates sõrmi rusikasse kõverdama, asendab teie käevõrku oranž kera ja tähistab kohta, kus käsi on objekti külge kinnitatud.

Põhjus, miks me kasutasime seda meetodit, selle asemel, et teha teie käte jaoks kohandatud positsioneeritavaid võrgusilmasid või lasta kätel/sõrmedel näida olevat nende objektide osadega füüsiliselt suhtlemas, on see, et soovisime, et koostoimed oleksid võrdväärsed meie pakutavaga. praegu puutetundliku kontrolleri poolel.

Nuppude vajutamine toimib siiski erinevalt. Abstraktsiooni pole vaja, kuna nupud ei ole haaratavad objektid ja selle asemel lubame teil lihtsalt nuppu vajutada, kasutades genereeritud kapslite põrkajaid positsioneeritava käevõrgu iga sõrmeliigese vahel. Selle tõttu saate teha igasuguseid veidraid ja lõbusaid asju – näiteks kasutada mängu iga nupuga suhtlemiseks ainult oma roosat või sõrmusesõrme sõrmenukki, kui seda tõesti soovite.

See teostus erineb veidi sellest, kuidas puutetundlikud kontrollerid mängus nuppudega suhtlevad selle poolest, et tavaliselt eeldame, et mängijad kasutavad oma kontrolleri haardenuppu, et seada käsi nn sõrmega osutava võrguna, et saada täpne mängusisene nupp. vajuta nende otsa. Käejälgimise abil on käega loodud poosis ilmselgelt oluliselt rohkem paindlikkust ja seega oluliselt rohkem võimalusi sama täpsusega nuppude vajutamiseks.

Menüü/kasutajaliidese interaktsioonid

Menüüdega suhtlemisel kasutasime sama interaktsiooniparadigmat, mida Meta kasutab Questi platvormi puhul: kummagi käe pöidla ja nimetissõrme vahel kahe sõrmega pigistada. Seda saab kasutada nii meie mängusisese menüü avamiseks kui ka menüü elementidega suhtlemiseks. Siin pole mõtet jalgratast uuesti leiutada, kui mängijaid õpetatakse seda juba OS-i taseme menüüdes tegema, kui nad Questis esimest korda käte jälgimise lubavad!

Kõige selle edastamine mängijale

Kuna käsitsi jälgimine ei ole Questis nii tavaline sisend kui puutetundlikud kontrollerid ja mõned inimesed võivad mängida. Myst esimest korda (või isegi nende esimest VR-mängu mängides!) püüdsime olla tähelepanelik sellega, kuidas me edastame mängijale kogu selle teabe käte jälgimise kohta. Lisasime kindlasti oma "kontrolleri diagrammi" teise versiooni, mis on spetsiaalselt kohandatud käsitsi jälgimise interaktsioonide kirjeldamiseks (kui see on lubatud Myst) ja näitame mängijale spetsiaalseid teatisi, mis annavad neile täpselt teada, kuidas kätega ringi liikuda.

Lisaks pidasime oluliseks meelde tuletada mängijale, kuidas sujuv käte jälgimise kogemus, kui see on sisse lülitatud. Mängijat teavitatakse sisse Mysti menüü järgi on käte jälgimise stabiilsus palju parem, kui nad tagavad, et nad on hästi valgustatud ruumis ja hoiavad käsi oma vaateväljas.

Meta teavitab mängijaid ka sellest, et need on hästi jälgitava kätejälgimise keskkonna võtmeks, kuid me mõistame, et mõned mängijad võivad mängu hüpata, kui Meta sellekohaseid teateid pole esmalt sõelunud, seega oleme otsustanud inimestele meelde tuletada, kui nad unustavad.

Jätka lehel 2: Unrealis tehtud mootori muudatused »

Ajatempel:

Veel alates Tee VR-i