Oczy i ręce — MRTK2
Jak wspierać wygląd i ruch dłoni (spojrzenie na oko & gesty dłoni)
Na tej stronie wyjaśniono, jak używać kierowania wzroku jako podstawowego wskaźnika w połączeniu z ruchami ręcznymi. W naszych pokazach śledzenia oczu zestawu narzędzi MRTK opiszemy kilka przykładów użycia oczu i rąk, na przykład:
- Wybór: Patrząc na odległy przycisk holograficzny i po prostu wykonując gest szczypta, aby szybko go zaznaczyć.
- Pozycjonowanie (ten artykuł): Fluently przenieść hologram po scenie, po prostu patrząc na to, przypinając palec indeksowy i kciuk razem, aby go chwycić, a następnie poruszać go za pomocą ręki.
- Nawigacja: wystarczy spojrzeć na lokalizację, którą chcesz powiększyć, szczypać palcem indeksu i kciukiem i wyciągać rękę w kierunku ciebie, aby powiększyć.
Należy pamiętać, że zestaw MRTK jest obecnie zaprojektowany w sposób, który w odległości promienie dłoni działają jako priorytetowe wskaźniki ostrości. Oznacza to, że wskaźniki wzroku głowy i oka zostaną automatycznie pominięte po wykryciu ręki i staną się widoczne ponownie po napisie "Wybierz". Jednak może to nie być sposób, w jaki chcesz wchodzić w interakcje w oddali i raczej faworyzować prostą interakcję "spojrzenie i zatwierdzenie" niezależnie od obecności rąk w widoku.
Jak wyłączyć promienie dłoni
Aby wyłączyć wskaźnik promienia ręcznego, po prostu usuń wartość "DefaultControllerPointer" w ustawieniu konfiguracji Input -> Pointer MRTK. Aby używać oczu i rąk zgodnie z powyższym opisem w aplikacji, upewnij się również, że spełniasz wszystkie wymagania dotyczące korzystania ze śledzenia oczu.
Możesz również sprawdzić, jak profil wejściowy EyeTrackingDemoPointerProfile z przykładowego pakietu śledzenia oczu jest skonfigurowany jako odwołanie.
Jak zachować wskaźnik wzroku zawsze włączone
Aby uniknąć automatycznego pomijania wskaźnika wzroku głowy lub oka po wykryciu ręki, można określić spojrzenie PointerBehavior
, aby kontrolować, czy powinno być włączone, czy wyłączone.
// Turn on gaze pointer
PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn);
Zobacz Controllers Pointers and Focus