קבועים ופרימיטיבים של משוב מישוש מוגדרים על ידי vibrator HAL וממופים על ידי ה-Framework של Android לממשקי API ציבוריים. כדי לבדוק אם המכשיר עומד בדרישות המינימום להטמעה של משוב הפטי, מבצעים את הבדיקות הבאות:
איור 2. הטמעה של אפקטים
איור 3. הטמעה של פרימיטיבים
הטמעה של קבועים
מפתחים יכולים להשתמש בקבועים של משוב פיזי ב-VibrationEffect באמצעות VibrationEffect.createPredefined(). בהמשך מפורט סטטוס ההטמעה של הקבועים הבאים של משוב פיזי.
| קבועים של משוב פיזי | מיקומים וסיכומים |
|---|---|
EFFECT_TICK, EFFECT_CLICK,
EFFECT_HEAVY_CLICK,
EFFECT_DOUBLE_CLICK |
VibrationEffect
classהקבועים של Haptic ב- VibrationEffect לא כוללים מושג של אירועי קלט, ואין להם רכיבי ממשק משתמש. במקום זאת, הקבועים כוללים את המושג של רמות אנרגיה, כמו EFFECT_CLICK ו-EFFECT_HEAVY_CLICK, שנקראים על ידי
createPredefined(). |
הרטטים החלופיים שמתוארים בהמשך מבוצעים במכשירים שלא מיושמים בהם הקבועים VibrationEffect. מומלץ לעדכן את ההגדרות האלה כדי שהן יפעלו בצורה הטובה ביותר במכשירים כאלה.
EFFECT_CLICKרטט של צורת גל שנוצר באמצעות
VibrationEffect.createWaveformוהתזמונים שהוגדרו ב-frameworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern.EFFECT_HEAVY_CLICKרטט של צורת גל שנוצר באמצעות
VibrationEffect.createWaveformוהתזמונים שהוגדרו ב-frameworks/base/core/res/res/values/config.xml##config_longPressVibePattern.EFFECT_DOUBLE_CLICK
רטט של צורת גל שנוצר באמצעות
VibrationEffect.createWaveformוהתזמונים (0, 30, 100, 30).EFFECT_TICKרטט של צורת גל שנוצר באמצעות
VibrationEffect.createWaveformוהתזמונים שהוגדרו ב-frameworks/base/core/res/res/values/config.xml##config_clockTickVibePattern.
איור 4. הטמעה של קבועי משוב
מפתחים יכולים להשתמש בקבועי משוב פיזי ב-HapticFeedbackConstants באמצעות View.performHapticFeedback()). כדאי לבדוק את הסטטוס של קבועי המשוב הפיזי הציבוריים הבאים.
| קבועים של משוב פיזי | מיקומים וסיכומים |
|---|---|
CLOCK_TICK, CONTEXT_CLICK, KEYBOARD_PRESS,
KEYBOARD_RELEASE, KEYBOARD_TAP, LONG_PRESS,
TEXT_HANDLE_MOVE, VIRTUAL_KEY,
VIRTUAL_KEY_RELEASE, CONFIRM, REJECT,
GESTURE_START, GESTURE_END |
הקבוע HapticFeedbackConstants classHaptic assist input events in HapticFeedbackConstants
with certain UI elements, such as KEYBOARD_PRESS and
KEYBOARD_RELEASE, which are called by
performHapticFeedback(). |
הטמעה של רכיבים פרימיטיביים
לפרימיטיבים של משוב הפטי ב-VibrationEffect.Composition יש עוצמה שניתנת להתאמה, ומפתחים יכולים להשתמש בהם באמצעות addPrimitive(int primitiveId, float scale, int delay).
אפשר לחלק את הפרימיטיבים לשתי קטגוריות:
פרימיטיבים קצרים: פרימיטיבים עם משך קצר, בדרך כלל פחות מ-20 אלפיות השנייה. אלה הם
CLICK,TICKו-LOW_TICK.פרימיטיבים של ציוץ: פרימיטיבים עם אמפליטודה ותדירות משתנות, בדרך כלל עם משך ארוך יותר מפרימיטיבים קצרים. אלה הן
SLOW_RISE,QUICK_RISE,QUCK_FALL,THUDו-SPIN.
פרימיטיבים של Shorts
אפשר לתאר פרימיטיבים קצרים באמצעות פרופיל התאוצה של פלט מנוע הרטט. התדירות המוחלטת שבה נעשה שימוש משתנה בכל פרימיטיב, בהתאם לתדירות התהודה של המפעיל. מידע נוסף על הגדרת החומרה ועל כלים למדידת הפלט זמין במאמר בנושא הגדרת ציוד הבדיקה.
מדד איכות חשוב לרעידות קצרות הוא היחס בין הדופק לצלצול (PRR), שמוצג באיור 5. יחס הדופק הראשי מוגדר כיחס בין הדופק הראשי, שמוגדר על ידי האות בתוך חלון משך הזמן שבו האמפליטודה יורדת ל-10% מאמפליטודת השיא, לבין הדופק המשני, שמוגדר על ידי האות שבו האמפליטודה יורדת מ-10% מאמפליטודת השיא לפחות מ-1% מאמפליטודת השיא. הנוסחה לחישוב יחס ההמרות של בקשות יחסי ציבור היא:
מידע נוסף על PRR זמין במאמר ניתוח צורת הגל. מידע נוסף על ניתוח והשוואה של תוצאות זמין במאמר השוואת תוצאות באמצעות מפת הביצועים.
איור 5. הגדרה של היחס בין פולסים לצלצול
אפשר להשתמש בפרימיטיבים קצרים כמשוב על קלט של משתמש או להפעיל אותם בקומפוזיציות ארוכות יותר כדי ליצור מרקמים רכים. כלומר, בדרך כלל הם מופעלים בתדירות גבוהה ומוצגים ברצף מהיר. העוצמה הנתפסת של פרימיטיב קצר יחיד יכולה להגביר את עוצמת האפקט הכוללת. לכן, כדאי לכייל פרימיטיב של טיק בודד או של טיקים מעטים עם קומפוזיציה גדולה יותר, למשל 100 טיקים רצופים.
פרימיטיב של קליק
האפקט של קליק הוא חזק וחד, ובדרך כלל הוא פועל קרוב לתדר התהודה של המכשיר כדי להגיע לתפוקה מקסימלית בפרק זמן קצר. הוא חזק ועמוק יותר מהפרימיטיבים האחרים, והוא פועל בעוצמה מקסימלית.
אם יש אפשרות, משתמשים בהגברת המומנט של המנוע בהתחלה ובבלימה אקטיבית בסוף כדי להשיג זמן עלייה וירידה קצר של המנוע. במקרים מסוימים, שימוש בגל ריבועי במקום בגל סינוס יכול להשיג האצה מהירה יותר. איור 6 מציג פרופיל לדוגמה של האצת פלט עבור רכיב הקליק:
איור 6. דוגמה לפרופיל האצת פלט לרכיב click
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 12 אלפיות השנייה מגבלה: פחות מ-30 אלפיות שנייה |
| האצת תפוקת שיא |
יעד: 2 G מגבלה: יותר מ-1 G |
| תדר | בערך בתדירות התהודה |
סימן וי (סימן וי בהיר)
הפרימיטיב tick הוא אפקט חד וקצר שפועל בדרך כלל בטווח תדרים גבוה יותר. אפשר גם לתאר את הפרימיטיב הזה כקליק בעוצמה בינונית בתדירות גבוהה יותר עם זנב קצר. אותן הנחיות חלות על השגת זמן עלייה קצר באמצעות מנוע אוברדרייב או גל ריבועי להפעלה הראשונית, ועל בלימה פעילה בהזזה. איור 7 מציג דוגמה של פרופיל האצה של הפרימיטיב tick:
איור 7. דוגמה לפרופיל של האצת פלט עבור פרימיטיב של סימון
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 5 אלפיות השנייה מגבלה: פחות מ-20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: חצי מ- מגבלה: בין 0.5 G לבין 1 G |
| תדר |
יעד: תדירות תהודה כפולה מגבלה: < 500 Hz |
פרימיטיב של סימון נמוך
הפרימיטיב low tick הוא גרסה רכה וחלשה יותר של light tick, והוא פועל בטווח תדרים נמוך יותר כדי להעניק יותר נפח לאפקט. אפשר לתאר את הפרימיטיב הזה גם כקליק בעצימות בינונית בתדירות נמוכה יותר, שמיועד לשימוש חוזר כדי לספק משוב דינמי. אותן הנחיות חלות גם על השגת זמן עלייה קצר באמצעות מנוע אוברדרייב או גל מרובע להתחלה הראשונית. איור 8 מציג דוגמה לפרופיל האצת פלט עבור הפרימיטיב low tick:
איור 8. דוגמה לפרופיל האצת פלט עבור פרימיטיב עם מספר נמוך של טיקים
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 12 אלפיות השנייה מגבלה: פחות מ-30 אלפיות שנייה |
| האצת תפוקת שיא |
יעד: 1/4 של מגבלה: בין 0.2 G ל-0.5 G |
| תדר |
יעד: 2/3 מתדירות התהודה מגבלה: < 100 Hz |
רכיבים בסיסיים של Chirp
אפשר לתאר את הפרימיטיבים של Chirp באמצעות אותות הקלט של רמת המתח ותדירות הרטט. התאוצה שהמנוע יכול להפיק בטווחים שונים של תדרים משתנה בהתאם לעקומת תגובת התדר של המפעיל. צריך לשנות את טווחי התדרים ורמות המתח בכל מכשיר בנפרד.
ביצוע ראשוני של עלייה איטית
העלייה האיטית היא סחיפה איטית של אמפליטודה ותדירות כלפי מעלה עם התחלה רכה ועלייה עקבית בעוצמת הרטט לאורך הסחיפה. אפשר להטמיע אותו על ידי סריקה עקבית של האמפליטודה והתדירות, באמצעות טווח תדרים נמוך יותר שפועל מחוץ לתהודה. באיור 9 מוצגים פרמטרי הקלט ופרופיל תאוצה לדוגמה של הפלט עבור ההטמעה הזו. (הקו האדום תואם לתוויות של האמפליטודה בצד שמאל ומייצג את השינויים באמפליטודת הרטט לאורך זמן. הקו הכחול תואם לתוויות התדירות בצד שמאל ומייצג את השינויים בתדירות הרטט לאורך זמן).
איור 9. פרמטרים של קלט ודוגמה לפרופיל האצה של פלט עבור פרימיטיב של עלייה איטית
אם תגובת התדר של המנוע מוגבלת (לא חזקה מספיק מחוץ לתדר התהודה שלו), אפשרות חלופית היא יישום של סריקת סינוס מ-1/2x עד 1x של תדר התהודה. התנודות של המנוע תורמות להגעה לשיא האות בסוף.
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 500 אלפיות השנייה סבילות: 20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: 0.5 G מגבלה: בין 0.5 G לבין 1 G |
| תדר |
יעד: 1/2 עד 2/3 מתדר התהודה חלופה: 1/2 עד תדר התהודה |
ביצוע ראשוני של עלייה מהירה
העלייה המהירה היא עלייה מהירה במשרעת ובסריקת התדר כלפי מעלה, עם התחלה רכה ועלייה עקבית בעוצמת הרטט לאורך הסריקה. יעדי התפוקה של התאוצה ותדירות הרטט צריכים להיות זהים לאלה של הפרימיטיב של העלייה האיטית, אבל להשגה במשך זמן קצר יותר. איור 10 מציג את פרמטרים של קלט הרטט ופרופיל תאוצה של פלט לדוגמה עבור הפרימיטיב של עלייה איטית. (הקו האדום תואם לתוויות של האמפליטודה בצד שמאל ומייצג את השינויים באמפליטודת הרטט לאורך זמן. הקו הכחול תואם לתוויות התדירות בצד שמאל ומייצג את השינויים בתדירות הרטט לאורך זמן).
איור 10. פרמטרים של קלט ודוגמה לפרופיל האצה של פלט עבור פרימיטיב של עלייה מהירה
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 150 אלפיות השנייה סבילות: 20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: זהה ל- מגבלה: זהה ל- |
| תדר |
יעד: זהה ל- אפשרות חלופית: כמו במלון |
ביצוע ראשוני של נפילה מהירה
הירידה המהירה היא סוויפ מהיר של אמפליטודה ותדר כלפי מטה עם התחלה רכה. אתם יכולים להשתמש בתדירות גבוהה יותר כנקודת התחלה בזמן שהמנוע מאיץ כדי להגיע לשיא תפוקת ההאצה. התדירות צריכה לרדת באופן עקבי במהלך הסריקה, גם בזמן העלייה. באיור 11 מוצגים פרמטרי הקלט ופרופיל תאוצה לדוגמה של הפלט עבור ההטמעה הזו. (הקו האדום תואם לתוויות של האמפליטודה בצד שמאל ומייצג את השינויים באמפליטודת הרטט לאורך זמן. הקו הכחול תואם לתוויות התדירות בצד שמאל ומייצג את השינויים בתדירות הרטט לאורך זמן).
איור 11. פרמטרים של קלט ודוגמה לפרופיל האצה של פלט עבור פרימיטיב של נפילה מהירה
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 100 אלפיות השנייה סבילות: 20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: 1 G מגבלה: בין 0.5 G ל-2 G |
| תדר |
יעד: פי 2 עד פי 1 מהתדירות הרזוננטית |
רכיב פרימיטיבי של Thud
הדפיקה היא אפקט קצבי, נמוך ורוטט שמדמה את התחושה הפיזית של דפיקה על עץ חלול. הפרימיטיב הזה פועל בטווח תדרים נמוך, בדומה לפרימיטיב של תיקתוק נמוך, כדי להעניק לאפקט יותר נפח. אפשר להטמיע את הפרימיטיב של הצליל העמום כסוויפ כלפי מטה של אמפליטודה ותדר בטווח תדרים נמוך יותר (רצוי פחות מ-100 הרץ). באיור 12 מוצגים פרמטרי הקלט ופרופיל האצה לדוגמה של הפלט עבור ההטמעה הזו. (הקו האדום תואם לתוויות של האמפליטודה בצד שמאל ומייצג את השינויים באמפליטודת הרטט לאורך זמן. הקו הכחול תואם לתוויות התדירות בצד שמאל ומייצג את השינויים בתדירות הרטט לאורך זמן).
איור 12. פרמטרים של קלט ודוגמה לפרופיל של האצת פלט עבור פרימיטיב של דפיקה
אם תגובת התדר של המנוע מוגבלת, אפשרות חלופית היא להתחיל עם אות הנעה בעוצמה מלאה בתדר התהודה ולרדת לתדר הנמוך ביותר שאפשר עדיין לתפוס. יכול להיות שבגישה הזו יהיה צורך להגביר את עוצמת האות של הכונן בתדר הנמוך כדי שהרטט יורגש.
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 300 אלפיות השנייה סבילות: 20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: 0.25 G מגבלה: בין 0.2 G ל-0.5 G |
| תדר |
יעד: 1/2 עד 1/3 מתדירות התהודה חלופה: פי 1 עד פי 0.5 מתדר התהודה |
Spin primitive
הסיבוב מדמה תנופה סיבובית של סיבוב מהיר למעלה ולמטה עם הדגשה קלה במרכז. אפשר להטמיע את הספין על ידי שינוי משרעת ותדירות באופן עצמאי, בכיוונים מנוגדים, ואז לבצע את התנועה ההפוכה. חשוב להשתמש בטווח תדרים נמוך יותר (רצוי פחות מ-100 הרץ). באיור 13 מוצגים פרמטרי הקלט ופרופיל האצה לדוגמה של הפלט עבור ההטמעה הזו. (הקו האדום תואם לתוויות של האמפליטודה בצד שמאל ומייצג את השינויים באמפליטודת הרטט לאורך זמן. הקו הכחול תואם לתוויות התדירות בצד שמאל ומייצג את השינויים בתדירות הרטט לאורך זמן).
מומלץ להפעיל את הפרימיטיב spin פעמיים ברצף, או שלוש פעמים בקומפוזיציות, כדי ליצור תחושה של סיבוב וחוסר יציבות.
אם תגובת התדר של המנוע מוגבלת, אפשרות חלופית היא לבצע סריקת סינוס מהירה מ-1/2x עד 1x של תדר התהודה ובחזרה. התגובה התהודה של המנוע מעניקה באופן אוטומטי דגש לאות באמצע.
איור 13. פרמטרים של קלט ודוגמה לפרופיל של האצת פלט עבור פרימיטיב של סיבוב
| פרמטר | הנחיה |
|---|---|
| משך |
יעד: 150 אלפיות השנייה סבילות: 20 אלפיות השנייה |
| האצת תפוקת שיא |
יעד: 0.5 G מגבלה: בין 0.25 G ל-0.75 G |
| תדר |
יעד: 2/3 עד 1/3, ואז חזרה ל-1/2 מתדירות התהודה חלופה: 2/3 עד 1x, ואז חזרה ל-1/2 מתדירות התהודה |