קבועים ופרימיטיבים של משוב הפטי מוגדרים על ידי ה-HAL של הוויברטור וממופים על ידי המסגרת של Android לממשקי API ציבוריים. כדי לבדוק אם המכשיר עומד בדרישות המינימום להטמעת משוב הפטי, מבצעים את הבדיקות הבאות:
איור 2. הטמעה של אפקטים
איור 3. הטמעה של פרימיטיבים
הטמעה של קבועים
מפתחים יכולים להשתמש בקבועים של משוב פיזי ב-VibrationEffect באמצעות VibrationEffect.createPredefined(). בהמשך מפורט סטטוס ההטמעה של הקבועים הבאים של משוב פיזי.
Haptic constants | מיקומים וסיכומים |
---|---|
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()). כדאי לבדוק את הסטטוס של קבועי המשוב הציבוריים הבאים.
Haptic constants | מיקומים וסיכומים |
---|---|
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 classקבועים של משוב הפטי ב HapticFeedbackConstants assist input events
עם רכיבי ממשק משתמש מסוימים, כמו KEYBOARD_PRESS וKEYBOARD_RELEASE , שמופעלים על ידי 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. יחס ה-PRR מוגדר כיחס בין הדופק הראשי, שמוגדר על ידי האות בתוך חלון משך הזמן שבו האמפליטודה יורדת ל-10% מהאמפליטודה המקסימלית, לבין הדופק המשני, שמוגדר על ידי האות שבו האמפליטודה יורדת מ-10% מהאמפליטודה המקסימלית לפחות מ-1% מהאמפליטודה המקסימלית. הנוסחה לחישוב יחס ההמרות של מוצרים (PRR) היא:
מידע נוסף על PRR זמין במאמר ניתוח צורת הגל. מידע נוסף על ניתוח והשוואה של תוצאות זמין במאמר השוואת תוצאות באמצעות מפת הביצועים.
איור 5. הגדרה של היחס בין הפולסים לצלצול
אפשר להשתמש בפרימיטיבים קצרים כמשוב על קלט של משתמש או להפעיל אותם בקומפוזיציות ארוכות יותר כדי ליצור מרקמים רכים. כלומר, בדרך כלל הן מופעלות בתדירות גבוהה ומוצגות ברצף מהיר. העוצמה הנתפסת של פרימיטיב קצר יחיד יכולה להגביר את עוצמת האפקט הכוללת. לכן, כדאי לכייל פרימיטיב של טיק בודד או של מספר קטן של טיקים באמצעות קומפוזיציה גדולה יותר, למשל 100 טיקים רצופים.
פרימיטיב של קליק
האפקט הפרימיטיבי של קליק הוא אפקט חזק וחד שפועל בדרך כלל קרוב לתדר התהודה של המכשיר כדי להגיע לתפוקה מקסימלית בפרק זמן קצר. היא חזקה ועמוקה יותר מהפרימיטיבים האחרים, והיא פועלת בעוצמה מקסימלית.
אם אפשר, משתמשים בהגברת מהירות המנוע בהתחלה ובבלימה פעילה בסוף כדי להשיג זמן עלייה וירידה קצר של המנוע. במנועים מסוימים, שימוש בגל ריבועי במקום בגל סינוס יכול להשיג האצה מהירה יותר. באיור 6 מוצג פרופיל לדוגמה של האצת פלט עבור רכיב הקליק:
איור 6. דוגמה לפרופיל האצת פלט לרכיב click
פרמטר | הנחיה |
---|---|
משך הזמן |
יעד: 12 אלפיות השנייה מגבלה: פחות מ-30 אלפיות שנייה |
האצת תפוקת שיא |
יעד: 2 G מגבלה: יותר מ-1 G |
תדירות | בערך בתדירות התהודה |
סימן וי ראשוני (סימן וי בהיר)
האפקט הפרימיטיבי של תיק הוא אפקט חד וקצר שפועל בדרך כלל בטווח תדרים גבוה יותר. אפשר גם לתאר את הפרימיטיב הזה כקליק בעוצמה בינונית בתדירות גבוהה יותר עם זנב קצר. אותן הנחיות חלות גם על השגת זמן עלייה קצר באמצעות מנוע אוברדרייב או גל ריבועי להתחלה הראשונית, ועל בלימה פעילה בסיום. איור 7 מציג דוגמה של פרופיל האצה של הפרימיטיב tick:
איור 7. דוגמה לפרופיל האצת פלט של פרימיטיב של סימון
פרמטר | הנחיה |
---|---|
משך הזמן |
יעד: 5 אלפיות השנייה מגבלה: פחות מ-20 אלפיות השנייה |
האצת תפוקת שיא |
יעד: חצי מ- מגבלה: בין 0.5 G ל-1 G |
תדירות |
יעד: פי 2 מהתדירות התהודה מגבלה: < 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 עד חצי מתדר התהודה |
רכיב Spin
הסיבוב מדמה תנופה של סיבוב מהיר למעלה ולמטה עם הדגשה קלה במרכז. אפשר להטמיע את הספין על ידי שינוי משרעת ותדירות באופן עצמאי, בכיוונים מנוגדים, ואז לבצע את התנועה ההפוכה. חשוב להשתמש בטווח תדרים נמוך יותר (רצוי פחות מ-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 מתדר התהודה |