Hand coach

Příklad: Ruční trenér

Ruční trenér aktivuje 3D modelované ruce, když systém nezjistí ruce uživatele. Tato funkce je komponenta pro výuku, která pomáhá uživatele vést, když se toto gesto neučte. Pokud uživatelé po určitou dobu nesníží zadané gesto, budou ruce ve smyčce se zpožděním. Ruční trenér by mohl představovat stisknutí tlačítka nebo vyzvednutí hologramu.

Hand coach provided

Aktuální model interakce představuje širokou škálu ovládacích prvků gest, jako je posouvání, velký výběr a blízko klepnutí. Níže je úplný seznam existujících ručních gest poskytovaných v MRTK:

Příklad možnosti Near Select
Příklad možnosti Near Select – Použito ukazuje, jak vybrat tlačítka nebo zavřít interagovatelné objekty.

Příklad air tapu
Příklad air tapu – slouží k zobrazení, jak vybrat objekty, které jsou daleko

Příklad přesunutí
Příklad přesunutí objektu v prostoru použitém k zobrazení, jak přesunout hologram v prostoru

Příklad otočení
Příklad Rotate-Used, jak obměně hologramů nebo objektů

Příklad škálování
Příklad škálování – slouží k zobrazení, jak manipulovat s hologramy tak, aby byl větší nebo menší.

Příklad Proutku
Příklad Funkce Se – Navrhované použití k zobrazení nabídek

Příklad tří tlísek HandFlip
Příklad hand flipu – další způsob, jak vybídne nabídky hand

Příklad posouvání
Příklad posunutí – slouží k posouvání seznamu nebo dlouhého dokumentu.

Koncepty návrhu

Pro Hololens2 jsme navrhli interakce pomocí rukou na základě nesnachocených a přirozených gest rukou. Věříme, že jsou pro většinu uživatelů intuitivní, takže jsme nevytvářel vyhrazené okamžiky učení gest. Místo toho jsme vytvořili ručního trenéra, který uživatelům pomůže se s těmito gesty dozvědět, pokud se zasekli nebo nejsou se interakcemi s hologramy neznámé. Bez výukového okamžiku jsme měli pocit, že nejlepší možností by bylo ukázat uživatelům, jak provést akci tím, že ji předvedete. Zjistili jsme, že uživatelé toto gesto dokázali zjistit, ale potřebovali trochu poradit. Pokud bychom detekovali, že uživatel po určitou dobu s objektem interaguje, aktivoval by se trenér hand prokazující správnou umístění ruky a prstu.

Intuitivní

Při animaci rukou by to mělo být zřejmé a nemělo by to způsobovat žádné nejasnosti. Ruční animace je znázornění gesta, které se snažíte vyzvat uživatele, aby porozuměl.

Pokud například chcete, aby uživatel stiskl tlačítko, aktivoval by se ruční stisknutí tlačítka.

Příklad: Hand coach Near Tap
Hand Coach demonstrující near tapping a gem

Ruční škálování

S nabídkami uživatelského rozhraní jsme otestovali různé velikosti rukou a měli jsme pocit, že pokud by ruce byly skutečné, měl to hrozivý pocit. Pokud byly příliš malé, bylo obtížné toto gesto vidět a porozumět mu.

Hlas a ruce

Neočekávejte, že uživatelé mohou naslouchat jedné sadě instrukcí hlasem a sledovat různé pokyny prostřednictvím trenéra Hand. Sekvencujte své pokyny, abyste uživatelům pomohli soustředit se a soupeřit o jejich pozornost, abyste snížili přetížení senzorů.

Můžu si vytvořit vlastní?

Ano. Doporučujeme, abyste si pro hru vytvořili vlastní jedinečné gesto a přispěli zpět ke komunitě. Poskytli jsme soubor Maya s rukou rigged(Rigged), kterou můžete použít pro vaši aplikaci. Můžete si ji stáhnout tady: Stáhnout HandCoach_MRTK.zip

Příklad animovaných rukou v aplikaci Maya
Příklad animovaného ručního posouní boxu v aplikaci Maya

Doporučený nástroj pro vytváření

Mnozí z 3D malířů volí použití aplikace Autodesk Maya, která může pomocí HoloLens transformovat způsob vytváření prostředků. Poskytnutý soubor s rukou je binární soubor Maya, proto se doporučuje použít aplikaci Maya k animace a exportu rukou. Pokud dáváte přednost použití jiného 3D programu, tady je . FBX: HandCoachMRTK_FBX.zip si vlastní nastavení kontroleru.

Pokud používáte k dispozici ke stažení maya Hand File, doporučujeme v Unity ruce zmenšovat na 0,6.

Příklad: Hand coach rig in Maya
Rigged Hands

Technické specifikace

  • Dvouručný soubor je k dispozici ve formátu Maya Ascii.
  • Funkce Right a Left Hand je k dispozici v binárním formátu Maya.
  • Nastavte soubor Maya na 24 FPS.
  • V souboru je levá a pravá ruky, kterou je možné použít pro dvě ruce nebo gesta s jednou rukou. Pravá ruky bude viditelná jenom ve výchozím nastavení.
  • Doporučujeme ponechat na začátku a konci vyrovnávací paměť přibližně 10 snímků pro prolnutí.
  • Pokud animuje objekt se zadaným cílem, jeho osvědčeným postupem je animace na výchozí pole nebo hodnotu Null.
  • Pokud rukou animuje fyzický objekt, jako je rámeček, osvědčeným postupem není animace překladu v aplikaci Maya, ale čekání na animace v Unity nebo v Kódu.
  • Viditelná animace by měla mít 1,5 sekundy, aby bylo možné předat smysluplné informace.
  • Až budete s animací spokojeni:

Export z aplikace Maya

Jakmile budete s animací spokojeni

  • Vybrat vše, co chcete: Vybrat > hierarchii

    Příklad: Hierarchie v nabídce

  • Vyladíte si animaci: Přepnutí na animaci >> klíče animace

    Příklad: Umístění nabídky Bake Animation

  • Odstranění zařízení Controller Rig: Outliner > MainR_Grp nebo MainL_Grp

    Příklad: Controller Rig Menu Location

  • Exportovat jako FBX: Vyberte JNT + Mesh: Výběr > exportu souboru (pole možností) > Výběr exportu

    Příklad: Export umístění nabídky výběru

    Příklad: Umístění nabídky

    Příklad: Umístění nabídky Možnosti exportu

Když exportujete jako FBX a přenesli jste ho do Unity, zmenšete ruce na 0,6. Zjistili jsme, že se jedná o perfektní rovnováhu při zobrazování rukou.

Příklad: Unity Nastavení
Unity Nastavení pro HandCoach_R, které najdete v MRTK

Implementace hands do projektu Unity

Osvědčené postupy

  • Doporučujeme v Unity škálovat ruce dolů na 0,6.

  • Ruce by se měly přehrát dvakrát, a pokud nejsou dokončené, pak se nepřetržitě ve smyčce nepřerušuje, dokud se nedokončí gesto. Ruce by měly být ve smyčce dvakrát, aby měl uživatel čas se zaregistrovat a vidět gesto. Ruce by měly postupně doprovázet a ztrácet mezi smyčkami.

  • Pokud jsou ruce uživatele viditelné fotoaparáty HL2, ale uživatelé nebudou s nimi nic dělat, zobrazí se ruce po 10 sekundách.

  • Pokud fotoaparáty HL2 nezobrazují ruce uživatele, zobrazí se po 5 sekundách.

  • Pokud jsou ruce uživatele viditelně sledovány fotoaparáty HL2 uprostřed animace, animace se dokončí a zeslábne.

  • Pokud začtete hlasové ovládání, doporučujeme, aby odpovídalo gestu ruky.

  • Pokud jste aspoň jednou naučili ruce, opakujte gesto jenom v případě, že je uživatel zablokován.

  • Pokud jsou kritické konkrétní pozice prstu/ruky, zajistěte, aby uživatelé jasně viděli tyto nuance v animaci. Zkuste ruce zachycovat, aby byly nejdůležitější části jasně viditelné.

  • Pokud si všimnete toho, že máte ruce v ruce, musíte přejít do nastavení kvality Unity a zvýšit tak počet náručí. Přejděte na stránku Edit Project Nastavení Quality Other Blend Weights (Upravit ostatní >>> váhy blendu v > Unity). Ujistěte se, že jsou zaškrtnuté 4 nárty, aby se vyhlédl Smooth.

    Příklad: Project Nastavení okno

Čemu se vyhnout

  • Příliš velké škálování rukou
  • umístění rukou příliš blízko k uživateli
  • Ruce by se měly učit jenom jednou. Nad vyučováním může dojít k nejasnostem a zmatkům.
  • Když ho přinášíte do Unity, stáhněte si nejnovější MRTK tady: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Materiál: Teaching_Hand2
    • Skripty: Přečtěte si pokyny MRTK pro ruční trenéra MRTK.
    • Nastavení pro každý projekt
      • Scéna nastavená na UPW: Pokyny najdete v tématu Konfigurace unity Project pro Windows Mixed Reality

Viz také