Projektowanie UX haptycznego

Mapowanie stałych HAL-API wprowadzone w sekcji Mapowanie stałych między HAL a API jest oparte na wysoce zalecanych zasadach projektowania UX. Zasady projektowania UX określają podstawy tego, jak, kiedy i czego używać podczas korzystania z interfejsów Android Haptics API. Więcej informacji o tych podstawowych zasadach znajdziesz w artykule Zaawansowane wibracje: kiedy, co i jak w przypadku nowych interfejsów API wibracji.

Mapowanie stałe

Rysunek 1. Mapowanie stałych HAL-API: model dyskretny

Wybieranie efektów dotykowych

Według siły reakcji haptycznej (VibrationEffect)

EFFECT_CLICK to najlepsze miejsce, aby zacząć określać preferowaną siłę wibracji (VibrationEffect): jest to wartość środkowa między „lekkimi” wibracjami EFFECT_TICK a „mocnymi” wibracjami EFFECT_HEAVY_CLICK. Zacznij od EFFECT_CLICK. Możesz zwiększyć lub zmniejszyć energię koncepcyjną, dodając siłę za pomocą EFFECT_HEAVY_CLICK lub zmniejszając ją za pomocą EFFECT_TICK. Pamiętaj, że EFFECT_DOUBLE_CLICK ma największą moc koncepcyjną, ponieważ jest powtarzany.

Siła reakcji haptycznych

Rysunek 2. Ustawienia siły wibracji

Według zdarzeń wprowadzania danych i elementów interfejsu (HapticFeedbackConstants)

Jeśli Twój cel jest powiązany z określonymi zdarzeniami wejściowymi (np. długim naciśnięciem lub przesunięciem) albo elementami interfejsu (np. klawiaturą), gotowe stałe haptyczne znajdziesz w HapticFeedbackConstants. Nazwa każdej stałej odnosi się do konkretnych przypadków użycia, np. KEYBOARD_PRESS lub LONG_PRESS.

Symulowanie rzeczywistych zdarzeń naciśnięcia przycisku

Dotykowe sygnały haptyczne zdarzeń wejściowych (wirtualne przyciski programowe) mogą symulować naciśnięcia przycisków za pomocą elementów fizycznych (takich jak mechaniczne przyciski fizyczne).

Zdarzenie wejściowe: przepływ interakcji parami

Zdarzenie kliknięcia ma symulować działanie przycisku mechanicznego, który jest naciskany, a następnie zwalniany. Odczuwalna energia impulsu mechanicznego wywołanego naciśnięciem przycisku jest większa niż w przypadku jego zwolnienia. Dlatego reakcja haptyczna przy naciśnięciu przycisku jest silniejsza niż reakcja haptyczna przy jego zwolnieniu.

Wibracje przy naciśnięciu i zwolnieniu przycisku

Rysunek 3. Efekty haptyczne według binarnego zdarzenia wejściowego

Siła wibracji: reakcja na naciśnięcie przycisku

Zdarzenia wejściowe z krótszym i lżejszym zaangażowaniem są powiązane z lżejszymi wibracjami. Z dłuższym i głębszym zaangażowaniem użytkownika wiążą się silniejsze wibracje.

Reakcja haptyczna przy naciskaniu

Rysunek 4. Efekty dotykowe według funkcji

Symulowanie wirtualnej tekstury w zdarzeniu wejściowym gestu

Dane wejściowe oparte na gestach (np. przewijanie) mogą być dopasowane do wirtualnych tekstur haptycznych, gdy palec przesuwa się po ekranie wraz z wizualnymi elementami interfejsu, np. generując powtarzające się sygnały haptyczne, gdy palec przesuwa się po interfejsie zegara z wirtualnymi elementami interfejsu w postaci kresek.

Efekty wirtualnych tekstur haptycznych mają być powtarzane. Często sprawia to, że postrzegana energia jest wyższa niż amplituda (gdy efekt jest nazywany bez powtórzeń lub tylko raz). Dlatego stałe wartości haptyczne zaprojektowane z myślą o wirtualnych teksturach haptycznych (np. CLOCK_TICK lub TEXT_HANDLE_MOVE) muszą być subtelne, aby wywoływać wrażenie ruchu poprzez powtarzające się sygnały.

Tekstura wirtualna

Rysunek 5. Efekty dotykowe symulujące wirtualną teksturę

Uwzględnij sentymenty

Aby uwzględnić w efektach haptycznych pozytywne lub negatywne emocje, zastosuj silniejsze wibracje w przypadku negatywnych emocji, aby zwrócić uwagę użytkownika.

Haptyczne nastawienie

Rysunek 6. Efekty haptyczne z informacjami o emocjach

Unikaj słyszalnego hałasu spowodowanego długimi wibracjami

Aby uniknąć słyszalnego hałasu spowodowanego długimi wibracjami w przypadku haptyki uwagi, płynnie przyspieszaj wzorzec, aby uzyskać efekt narastania. Użyj w tym celu argumentu createWaveform(long[] timings, int[] amplitudes, int repeat).

Długie wibracje

Rysunek 7. Efekt długiego narastania wibracji