Thiết kế trải nghiệm người dùng haptics

Việc ánh xạ hằng số HAL-API được giới thiệu trong Hằng số bản đồ giữa HAL và API được thúc đẩy bởi các nguyên tắc thiết kế trải nghiệm người dùng được đề xuất cao. Các nguyên tắc thiết kế trải nghiệm người dùng xác định nền tảng của cách thức, thời điểm và nội dung cần sử dụng khi dùng API phản hồi xúc giác của Android. Hãy xem bài viết Phản hồi xúc giác nâng cao: Thời điểm, nội dung và cách thức của API phản hồi xúc giác mới để tìm hiểu thêm về các nguyên tắc cơ bản này.

Liên kết hằng số

Hình 1. Ánh xạ hằng số HAL-API: Mô hình rời rạc

Chọn hiệu ứng phản hồi xúc giác

Theo cường độ phản hồi xúc giác (VibrationEffect)

EFFECT_CLICK là nơi tốt nhất để bắt đầu khi xác định cường độ phản hồi xúc giác mà bạn muốn (VibrationEffect): đây là giá trị trung bình giữa phản hồi xúc giác "nhẹ" của EFFECT_TICK và phản hồi xúc giác "mạnh" của EFFECT_HEAVY_CLICK. Khi bắt đầu với EFFECT_CLICK, bạn có thể tăng hoặc giảm năng lượng khái niệm bằng cách thêm cường độ với EFFECT_HEAVY_CLICK hoặc giảm cường độ với EFFECT_TICK. Xin lưu ý rằng EFFECT_DOUBLE_CLICK mang lại năng lượng khái niệm cao nhất vì được lặp lại.

Cường độ xúc giác

Hình 2. Cài đặt cường độ phản hồi xúc giác

Theo sự kiện nhập và thành phần giao diện người dùng (HapticFeedbackConstants)

Nếu mục tiêu của bạn liên quan đến các sự kiện nhập cụ thể (như nhấn và giữ hoặc vuốt) hoặc thành phần giao diện người dùng (như bàn phím), hãy tìm các hằng số phản hồi xúc giác được xác định trước trong HapticFeedbackConstants. Tên của mỗi hằng số đề cập đến các trường hợp sử dụng cụ thể như KEYBOARD_PRESS hoặc LONG_PRESS.

Mô phỏng các sự kiện nhấn nút trong thế giới thực

Phản hồi xúc giác khi chạm của các sự kiện nhập (nút ảo) có thể mô phỏng các lần nhấn nút bằng các thực thể vật lý (chẳng hạn như nút cứng cơ học).

Sự kiện nhập: Quy trình tương tác theo cặp

Sự kiện nhấp chuột được thiết kế để mô phỏng Hành vi của một nút cơ học, đó là nhấn rồi thả. Năng lượng cảm nhận được của xung cơ học từ một lần nhấn nút cao hơn năng lượng cảm nhận được của một lần thả nút. Do đó, phản hồi xúc giác cho các lần nhấn nút mạnh hơn phản hồi xúc giác cho các lần thả nút.

Sự kiện nhấn và thả phản hồi xúc giác

Hình 3. Hiệu ứng phản hồi xúc giác theo sự kiện nhập nhị phân

Cường độ phản hồi xúc giác: Khả năng nhấn nút

Các sự kiện nhập có mức độ tương tác ngắn hơn và nhẹ hơn sẽ liên quan đến phản hồi xúc giác nhẹ hơn. Các sự kiện nhập có mức độ gắn bó dài hơn và sâu hơn sẽ liên quan đến phản hồi xúc giác mạnh hơn.

Phản hồi xúc giác khi nhấn

Hình 4. Hiệu ứng phản hồi xúc giác theo khả năng

Mô phỏng kết cấu ảo trong sự kiện nhập bằng cử chỉ

Bạn có thể căn chỉnh dữ liệu nhập dựa trên cử chỉ (như chà hoặc cuộn) với kết cấu phản hồi xúc giác ảo trong khi ngón tay di chuyển trên màn hình cùng với giao diện người dùng trực quan, chẳng hạn như tạo phản hồi xúc giác lặp lại trong khi ngón tay di chuyển xung quanh giao diện người dùng đồng hồ với các thành phần giao diện người dùng dấu tích ảo.

Các hiệu ứng cho kết cấu phản hồi xúc giác ảo được lặp lại. Điều này thường làm cho năng lượng cảm nhận được cao hơn biên độ (khi hiệu ứng được gọi là không lặp lại hoặc chỉ một lần). Do đó, các hằng số phản hồi xúc giác được thiết kế cho kết cấu phản hồi xúc giác ảo (như CLOCK_TICK hoặc TEXT_HANDLE_MOVE) phải tinh tế để mang lại cảm giác chuyển động thông qua các tín hiệu lặp lại.

Virtual Texture

Hình 5. Hiệu ứng phản hồi xúc giác để mô phỏng kết cấu ảo

Bao gồm cảm xúc

Để đưa cảm xúc tích cực hoặc tiêu cực vào hiệu ứng phản hồi xúc giác, hãy áp dụng cảm giác mạnh hơn cho cảm xúc tiêu cực để thu hút sự chú ý của người dùng.

Cảm xúc xúc giác

Hình 6. Hiệu ứng phản hồi xúc giác theo cảm xúc

Tránh tiếng ồn có thể nghe thấy do rung dài

Để tránh tiếng ồn có thể nghe thấy do rung dài cho phản hồi xúc giác thu hút sự chú ý, hãy tăng tốc mẫu một cách mượt mà để tạo hiệu ứng tăng dần. Hãy thực hiện việc này bằng cách sử dụng createWaveform(long[] timings, int[] amplitudes, int repeat).

Rung lâu

Hình 7. Hiệu ứng tăng dần của rung dài