מיפוי הקבועים של HAL ל-API שתואר במאמר מיפוי קבועים בין HAL ל-API מבוסס על עקרונות מומלצים מאוד של עיצוב חוויית משתמש. עקרונות עיצוב ממשק המשתמש מגדירים את הבסיס לאופן, למועד ולשימוש בממשקי API של משוב מגע ב-Android. למידע נוסף על העקרונות הבסיסיים האלה, תוכלו לקרוא את המאמר Advanced Haptics: The When, What, and How of New Haptic APIs.
איור 1. מיפוי קבוע של HAL-API: מודל בדיד
בחירת אפקטים של משוב מישוש
לפי עוצמת הרטט (VibrationEffect
)
EFFECT_CLICK
הוא המקום הטוב ביותר להתחיל בו כשמגדירים את עוצמת הרטט המועדפת (VibrationEffect
): זהו החציון בין עוצמת הרטט 'חלשה' של EFFECT_TICK
לבין עוצמת הרטט 'חזקה' של EFFECT_HEAVY_CLICK
. כשמתחילים עם EFFECT_CLICK
, אפשר להגדיל או להקטין את האנרגיה המושגית על ידי הוספת עוצמה באמצעות EFFECT_HEAVY_CLICK
, או להקטין את העוצמה באמצעות EFFECT_TICK
. חשוב לזכור ש-EFFECT_DOUBLE_CLICK
מספק את האנרגיה המושגית הגבוהה ביותר כי הוא חוזר על עצמו.
איור 2. הגדרות עוצמת המשוב החזותי
לפי אירועי קלט ורכיבים בממשק המשתמש (HapticFeedbackConstants
)
אם היעד משויך לאירועי קלט ספציפיים (כמו לחיצה ארוכה או החלקה) או לרכיבי ממשק משתמש (כמו מקלדת), אפשר למצוא קבועים הקטפטיים מוגדרים מראש בקובץ HapticFeedbackConstants
.
השם של כל קבוע מתייחס לתרחישי שימוש ספציפיים, כמו KEYBOARD_PRESS
או LONG_PRESS
.
סימולציה של אירועי לחיצה על לחצנים בעולם האמיתי
משוב המגע הרטטני של אירועי קלט (לחצנים וירטואליים רכים) יכול לדמות לחיצות על לחצנים באמצעות ישויות פיזיות (כמו לחצנים קשיחים מכניים).
אירוע קלט: תהליך אינטראקציה בין שני משתמשים
אירוע הקליק נועד לדמות את ההתנהגות של לחצן מכני, שלוחצים עליו ואז משחררים אותו. האנרגיה הנתפסת של הדחף המכני שנוצר מהלחצה על כפתור גבוהה יותר מזו שנוצרת מהשחרור של הכפתור. לכן, המשוב הפיזי של לחיצות על לחצנים חזק יותר מהמשוב הפיזי של שחרור לחצנים.
איור 3. אפקטים של משוב מישוש לפי אירוע קלט בינארי
עוצמת המשוב החזותי: התחושה של לחיצה על כפתור
אירועי קלט עם אינטראקציה קצרה וקלה יותר משויכים לחוויית מגע קלה יותר. אירועי קלט עם מעורבות ארוכה ועמוקה יותר משויכים לחוויית מגע חזקה יותר.
איור 4. אפקטים של משוב מישוש לפי תכונות מובנות
סימולציה של מרקם וירטואלי באירוע של קלט תנועה
קלט מבוסס-תנועה (כמו סריקה או גלילה) יכול להיות מיושר עם מרקמים וירטואליים של משוב מגע בזמן שהאצבע נעה על המסך, יחד עם ממשקי משתמש חזותיים. לדוגמה, אפשר ליצור משוב מגע חוזר בזמן שהאצבע נעה בממשק המשתמש של השעון עם רכיבי ממשק משתמש של סימני וירטואלים.
האפקטים של המרקמים הווירטואליים של משוב הרטט נועדו לחזור על עצמם. לרוב, האנרגיה הנתפסת גבוהה יותר מהאמפליטודה (כשהאפקט מופעל ללא חזרה או רק פעם אחת). לכן, קבועים של משוב מישוש שנועדו למרקמים וירטואליים של משוב מישוש (כמו CLOCK_TICK
או TEXT_HANDLE_MOVE
) צריכים להיות עדינים כדי לספק תחושה של תנועה באמצעות אותות חוזרים.
איור 5. אפקטים של משוב מישוש כדי לדמות טקסטורה וירטואלית
הכללת רגשות
כדי לכלול סנטימנט חיובי או שלילי באפקטים הלטנטיים, כדאי להשתמש בתחושה חזקה יותר לסנטימנט שלילי כדי למשוך את תשומת ליבו של המשתמש.
איור 6. אפקטים של משוב מישוש עם סנטימנט
הימנעות מרעש נשמע מרטט ארוך
כדי למנוע רעש נשמע מהרטט הארוך של משוב הרטט למשיכת תשומת הלב, כדאי להאיץ את התבנית בצורה חלקה כדי ליצור אפקט של עלייה הדרגתית. אפשר לעשות זאת באמצעות הפקודה createWaveform(long[] timings, int[] amplitudes, int repeat)
.
איור 7. אפקט של עלייה הדרגתית ברטט ארוך