Haptics UX design

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Mapowanie stałych HAL-API wprowadzone w kroku 2 listy kontrolnej haptycznej jest oparte na wysoce zalecanych zasadach projektowania UX. Zasady projektowania UX definiują podstawy tego, jak, kiedy i czego używać podczas korzystania z haptycznych interfejsów API systemu Android. Zobacz Advanced Haptics: The When, What and How of New Haptic API , aby dowiedzieć się więcej o tych fundamentalnych zasadach.

Stałe mapowanie

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

Wybór efektów dotykowych

Przez siłę dotykową ( VibrationEffect )

EFFECT_CLICK to najlepsze miejsce do rozpoczęcia określania pożądanej siły dotykowej ( VibrationEffect ): jest to mediana między „lekkimi” EFFECT_TICK i „ciężkimi” EFFECT_HEAVY_CLICK . Zaczynając od EFFECT_CLICK , możesz zwiększyć lub zmniejszyć koncepcyjną energię, dodając siłę za pomocą EFFECT_HEAVY_CLICK lub zmniejszyć siłę za pomocą EFFECT_TICK . Pamiętaj, EFFECT_DOUBLE_CLICK zapewnia najwyższą energię koncepcyjną, ponieważ się powtarza.

Siła dotykowa

Rysunek 2. Ustawienia siły dotyku

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

Jeśli Twój cel jest powiązany z określonymi zdarzeniami wejściowymi (np. długie naciśnięcie lub przeciągnięcie) lub elementami interfejsu użytkownika (np. klawiatura), znajdź wstępnie zdefiniowane stałe dotykowe 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 świecie rzeczywistym

Dotykowe sprzężenie zwrotne zdarzeń wejściowych (wirtualne przyciski programowe) może symulować naciśnięcia przycisków za pomocą elementów fizycznych (takich jak mechaniczne przyciski twarde).

Zdarzenie wejściowe: przepływ interakcji parami

Zdarzenie kliknięcia zostało zaprojektowane tak, aby symulować zachowanie mechanicznego przycisku, który jest wciskany , a następnie zwalniany . Postrzegana energia impulsu mechanicznego pochodzącego od naciśnięcia przycisku jest wyższa niż przy puszczeniu przycisku. Dlatego dotykowa informacja zwrotna dotycząca naciśnięć przycisków jest silniejsza niż dotykowa informacja zwrotna dotycząca zwalniania przycisków.

Wydarzenie Prasa i haptyka wydawnicza

Rysunek 3. Efekty dotykowe przez zdarzenie wejścia binarnego

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

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

Prasa Affordance Haptics

Rysunek 4. Efekty dotykowe według afordancji

Symulowanie wirtualnej tekstury w zdarzeniu wprowadzania gestów

Dane wejściowe oparte na gestach (takie jak szorowanie lub przewijanie) można wyrównać z wirtualnymi teksturami dotykowymi, gdy palec porusza się po ekranie, wraz z wizualnymi interfejsami użytkownika, na przykład generując powtarzające się dotykowe informacje zwrotne, gdy palec porusza się przez całą dobę Interfejs użytkownika z wirtualnym znacznikiem Elementy interfejsu użytkownika.

Efekty dla wirtualnych tekstur dotykowych mają się powtarzać. To często sprawia, że ​​postrzegana energia jest wyższa niż amplituda (gdy efekt jest wywoływany bez powtórzeń lub tylko raz ). Z tego powodu stałe dotykowe zaprojektowane dla wirtualnych tekstur dotykowych (takie jak CLOCK_TICK lub TEXT_HANDLE_MOVE ) muszą być subtelne , aby zapewnić wrażenie ruchu przez powtarzające się wskazówki.

Wirtualna tekstura

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

W tym sentymenty

Aby uwzględnić pozytywne lub negatywne nastroje w efektach dotykowych, zastosuj silniejsze odczucia do negatywnych nastrojów, aby zwrócić uwagę użytkownika.

Nastroje dotykowe

Rysunek 6. Efekty dotykowe z sentymentem

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

Aby uniknąć słyszalnego hałasu spowodowanego długimi wibracjami w celu uzyskania uwagi dotykowej, przyspiesz wzór płynnie, aby uzyskać efekt przyspieszenia. Zrób to za pomocą metody createWaveform(long[] timings, int[] amplitudes, int repeat) .

Długie wibracje

Rysunek 7. Długi efekt narastania wibracji