Projektowanie UX haptycznego

Mapowanie stałych HAL-API wprowadzone w Mapowanie stałych między HAL a interfejsem 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 haptyczne: kiedy, co i jak w przypadku nowych interfejsów Haptic API.

Mapowanie stałych

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

Wybieranie efektów haptycznych

Według siły haptycznej (VibrationEffect)

EFFECT_CLICK to najlepszy punkt wyjścia do określenia preferowanej siły haptycznej (VibrationEffect): to mediana między „lekkimi” haptycznymi EFFECT_TICK a „ciężkimi” haptycznymi EFFECT_HEAVY_CLICK. Zaczynając od EFFECT_CLICK, możesz zwiększyć lub zmniejszyć energię koncepcyjną, dodając siłę za pomocą EFFECT_HEAVY_CLICK lub zmniejszając siłę za pomocą EFFECT_TICK. Pamiętaj, że EFFECT_DOUBLE_CLICK zapewnia największą energię koncepcyjną, ponieważ jest powtarzany.

Siła reakcji haptycznych

Rysunek 2. Ustawienia siły haptycznej

Według zdarzeń wejściowych i elementów interfejsu (HapticFeedbackConstants)

Jeśli Twój cel jest powiązany z konkretnymi zdarzeniami wejściowymi (np. długie naciśnięcie lub przesunięcie) albo elementami interfejsu (np. klawiaturą), znajdź predefiniowane stałe haptyczne w HapticFeedbackConstants. Nazwa każdej stałej odnosi się do konkretnych przypadków użycia, takich jak KEYBOARD_PRESS lub LONG_PRESS.

Symulowanie zdarzeń naciśnięcia przycisku w rzeczywistości

Dotykowe reakcje haptyczne na zdarzenia wejściowe (wirtualne przyciski programowe) mogą symulować naciśnięcia przycisków za pomocą fizycznych elementów (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 pochodzącego z naciśnięcia przycisku jest większa niż w przypadku zwolnienia przycisku. Dlatego reakcja haptyczna na naciśnięcie przycisku jest silniejsza niż reakcja haptyczna na zwolnienie przycisku.

Wibracje przy naciśnięciu i zwolnieniu przycisku

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

Siła haptyczna: afordancja naciśnięcia przycisku

Zdarzenia wejściowe z krótszym i lżejszym zaangażowaniem są powiązane z lżejszymi haptycznymi. Zdarzenia wejściowe z dłuższym i głębszym zaangażowaniem są powiązane z silniejszymi haptycznymi.

Reakcja haptyczna przycisku

Rysunek 4. Efekty haptyczne według afordancji

Symulowanie wirtualnej tekstury w zdarzeniu wejściowym gestu

Dane wejściowe oparte na gestach (np. przewijanie lub przesuwanie) można dopasować do wirtualnych tekstur haptycznych, gdy palec przesuwa się po ekranie wraz z wizualnymi interfejsami, np. generując powtarzające się reakcje haptyczne, gdy palec przesuwa się po interfejsie zegara z wirtualnymi elementami interfejsu.

Efekty wirtualnych tekstur haptycznych mają być powtarzane. Często sprawia to, że odczuwalna energia jest wyższa niż amplituda (gdy efekt jest wywoływany bez powtórzenia lub tylko raz). Z tego powodu stałe haptyczne przeznaczone do wirtualnych tekstur haptycznych (np. CLOCK_TICK lub TEXT_HANDLE_MOVE) muszą być subtelne, aby zapewnić wrażenie ruchu dzięki powtarzającym się wskazówkom.

Tekstura wirtualna

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

Uwzględnianie emocji

Aby uwzględnić pozytywne lub negatywne emocje w efektach haptycznych, zastosuj silniejsze odczucia w przypadku negatywnych emocji, aby przyciągnąć uwagę użytkownika.

Haptyczne nastawienie

Rysunek 6. Efekty haptyczne z emocjami

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

Aby uniknąć słyszalnego hałasu spowodowanego długimi wibracjami w przypadku haptycznych, przyspiesz płynnie wzorzec, aby utworzyć efekt narastania. Aby to zrobić, użyj createWaveform(long[] timings, int[] amplitudes, int repeat).

Długie wibracje

Rysunek 7. Efekt narastania długich wibracji