햅틱 UX 디자인

햅틱 체크리스트의 2단계 에 소개된 HAL-API 상수 매핑은 적극 권장되는 UX 디자인 원칙에 따라 구동됩니다. UX 디자인 원칙은 Android 햅틱 API를 사용할 때 언제, 어떻게, 무엇을 사용할지에 대한 기초를 정의합니다. 이러한 기본 원칙에 대해 자세히 알아보려면 고급 햅틱: 새로운 햅틱 API의 시기, 대상 및 방법을 참조하세요.

상수 매핑

그림 1. HAL-API 상수 매핑: 이산 모델

햅틱 효과 선택

햅틱 강도별( VibrationEffect )

EFFECT_CLICK 원하는 햅틱 강도( VibrationEffect )를 결정할 때 시작하기에 가장 좋은 위치입니다. EFFECT_TICK 의 "가벼운" 햅틱과 EFFECT_HEAVY_CLICK 의 "무거운" 햅틱 사이의 중앙값입니다. EFFECT_CLICK 으로 시작하여 EFFECT_HEAVY_CLICK 으로 강도를 추가하거나 EFFECT_TICK 으로 강도를 줄여 개념적 에너지를 늘리거나 줄일 수 있습니다. EFFECT_DOUBLE_CLICK 반복되기 때문에 최고의 개념적 에너지를 전달한다는 점을 명심하세요.

햅틱 강도

그림 2. 햅틱 강도 설정

입력 이벤트 및 UI 요소별( HapticFeedbackConstants )

목표가 특정 입력 이벤트(예: 길게 누르기, 스와이프) 또는 UI 요소(예: 키보드)와 연결된 경우 HapticFeedbackConstants 에서 사전 정의된 햅틱 상수를 찾으세요. 각 상수의 이름은 KEYBOARD_PRESS 또는 LONG_PRESS 와 같은 특정 사용 사례를 나타냅니다.

실제 버튼 누르기 이벤트 시뮬레이션

입력 이벤트(가상 소프트 버튼)의 터치 햅틱 피드백은 물리적 엔터티(예: 기계적 하드 버튼)를 사용하여 버튼 누르기를 시뮬레이션할 수 있습니다.

입력 이벤트: 쌍별 상호작용 흐름

클릭 이벤트는 눌렀다 떼는 기계식 버튼의 동작을 시뮬레이션하도록 설계되었습니다. 버튼을 누를 때 발생하는 기계적 충격의 인지된 에너지는 버튼을 놓을 때의 에너지보다 높습니다. 따라서 버튼을 눌렀을 때의 촉각 피드백은 버튼을 눌렀을 때의 햅틱 피드백보다 더 강력합니다.

이벤트 보도 및 릴리스 햅틱

그림 3. 바이너리 입력 이벤트에 의한 햅틱 효과

햅틱 강도: 버튼 누르기의 어포던스

더 짧고 가벼운 참여의 입력 이벤트는 더 가벼운 햅틱과 관련이 있습니다. 더 길고 더 깊은 참여가 있는 입력 이벤트는 더 강력한 햅틱과 관련이 있습니다.

언론 어포던스 햅틱

그림 4. 어포던스에 따른 햅틱 효과

제스처 입력 이벤트에서 가상 텍스처 시뮬레이션

손가락이 시각적 UI와 함께 화면에서 움직이는 동안 제스처 기반 입력(예: 스크러빙 또는 스크롤)을 가상 햅틱 텍스처와 정렬할 수 있습니다. 예를 들어 손가락이 가상 눈금 표시가 있는 시계 UI 주위를 움직이는 동안 반복적인 햅틱 피드백을 생성합니다. UI 요소.

가상 햅틱 텍스처의 효과는 반복됩니다. 이는 종종 인식된 에너지를 진폭보다 높게 만듭니다(효과가 반복 없이 호출되거나 한 번만 호출되는 경우). 이 때문에 가상 햅틱 텍스처(예: CLOCK_TICK 또는 TEXT_HANDLE_MOVE )용으로 설계된 햅틱 상수는 반복되는 신호를 통해 움직이는 느낌을 제공하기 위해 섬세 해야 합니다.

가상 텍스처

그림 5. 가상 텍스처를 시뮬레이션하기 위한 햅틱 효과

감정을 포함

햅틱 효과에 긍정적이거나 부정적인 감정을 포함하려면 부정적인 감정에 더 강한 감각을 적용하여 사용자의 주의를 끌 수 있습니다.

햅틱 감정

그림 6. 감정을 통한 햅틱 효과

긴 진동으로 인한 가청 소음 방지

주의를 집중시키는 햅틱을 위한 긴 진동으로 인한 가청 소음을 방지하려면 패턴을 부드럽게 가속하여 램프업 효과를 만드세요. createWaveform(long[] timings, int[] amplitudes, int repeat) 사용하여 이 작업을 수행합니다.

긴 진동

그림 7. 긴 진동 증가 효과