تنفيذ الثوابت والعناصر الأساسية

يتم تحديد الثوابت والعناصر الأساسية لللمس من خلال HAL الخاص بالهزّاز ويتم ربطها من خلال إطار عمل Android بواجهات برمجة التطبيقات المتاحة للجميع. نفِّذ عمليات التحقّق التالية لمعرفة ما إذا كان جهازك يستوفي الحدّ الأدنى من المتطلبات لتنفيذ ميزة "اللمس":

مخطّط انسيابي لعملية تنفيذ ميزة haptics

الشكل 2: تنفيذ التأثيرات

مخطّط انسيابي لخطوات تنفيذ
العناصر الأساسية

الشكل 3: تنفيذ العناصر الأساسية

تنفيذ الثوابت

يمكن للمطوّرين استخدام الثوابت الحسّية في VibrationEffect من خلال VibrationEffect.createPredefined(). تحقّق من حالة تنفيذ الثوابت الحسّية التالية.

الإعدادات الثابتة لللمس المواقع الجغرافية والملخّصات
EFFECT_TICK، EFFECT_CLICK، EFFECT_HEAVY_CLICK، EFFECT_DOUBLE_CLICK VibrationEffect class
لا تتضمّن الثوابت اللمسية في 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
تساعد الثوابت اللمسية في HapticFeedbackConstants أحداث الإدخال باستخدام عناصر واجهة مستخدم معيّنة، مثل 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.

العناصر الأساسية القصيرة

يمكن وصف الأشكال الأساسية القصيرة من خلال منحنى ازدياد سرعة ناتج محرك الهزّ يختلف التردد المطلق المستخدَم لكل عنصر أولي، استنادًا إلى التردد الرنان للمشغِّل. اطّلِع على إعداد معدّات الاختبار للحصول على مزيد من المعلومات عن إعداد الأجهزة وأدوات قياس النتائج.

من المقاييس القيّمة لجودة الاهتزازات القصيرة هي نسبة النبض إلى الرنين (PRR)، كما هو موضّح في الشكل 5. يتم تعريف معدّل تكرار النبضات على أنّه النسبة بين النبض الرئيسي، الذي يتم تحديده حسب الإشارة داخل نافذة المدة التي تنخفض فيها القمّة إلى 10% من القمّة القصوى، والنبض الحلقي، الذي يتم تحديده حسب الإشارة التي تنخفض فيها القمّة من 10% من القمّة القصوى إلى أقل من 1% من القمّة القصوى. في ما يلي صيغة معدل استرداد التكلفة:

$$ \text{Pulse to ring ratio (PRR)} = 20log_{10}\frac{\text{RMS (main pulse)}}{\text{RMS (ring)}} $$

لمزيد من المعلومات عن معدّل الاستجابة للطلبات، اطّلِع على مقالة تحليل شكل الموجة، ولمزيد من المعلومات عن تحليل النتائج ومقارنتها، اطّلِع على مقالة مقارنة النتائج باستخدام خريطة الأداء.

نسبة النبض إلى الخاتم

الشكل 5: تعريف نسبة النبض إلى الرنين

يمكنك تطبيق عناصر أساسية قصيرة كتعليقات من المستخدمين أو تشغيلها في تراكيب أطول لإنشاء ملمس ناعم. وهذا يعني أنّه يتم تشغيلها عادةً بشكل متكرّر ويتم تشغيلها بشكل متتابع وسلس. يمكن أن تزيد الكثافة المرئية لعنصر أساسي واحد قصير من كثافة التأثير الأكبر. لهذا السبب، يجب معايرة علامة واحدة أو عنصر أساسي منخفض الدقة باستخدام تركيبة أكبر، مثل 100 علامة متتالية.

عنصر أساسي للنقر

العنصر الأساسي للنقرة هو تأثير قوي وواضح يعمل عادةً بالقرب من تردد الرنين للجهاز للوصول إلى الحد الأقصى من الإخراج في مدة قصيرة. وهي أقوى وأعمق من العناصر الأساسية الأخرى، وتحقّق الأداء بأعلى كثافة.

استخدِم وضع "زيادة سرعة المحرّك" في البداية ووضع "التفرامل النشطة" في النهاية، إذا كانا متاحَين، لتحقيق وقت قصير لزيادة سرعة المحرّك وانخفاضها. في بعض المحرّكات، يمكن أن يؤدي استخدام موجة مربعة بدلاً من موجة جيبية إلى تحقيق تسارع أسرع. يعرض الشكل 6 مثالاً على ملف شخصي لتسريع الإخراج لمكوّن النقرة الأساسي:

انقر على ملف تحسين الأداء الأساسي للإخراج.

الشكل 6: مثال على ملفّ تعريف تسريع الإخراج لمكوّن النقر الأساسي

المَعلمة الإرشاد
المدة

الاستهداف: 12 ملي ثانية

الحدّ الأقصى: أقل من 30 ملي ثانية

تسريع الذروة في الإخراج

الهدف: شبكة الجيل الثاني

الحد الأقصى: أكثر من 1 جيجا بايت

التردد تقريبًا عند التردد التوافقي

عنصر العلامة (علامة خفيفة)

العنصر الأساسي للعلامة هو تأثير حاد وقصير يعمل عادةً في نطاق تردد أعلى. يمكن أيضًا وصف هذا العنصر الأساسي على أنّه كثافة متوسطة نقرة بمعدّل أعلى مع ذيل قصير. تنطبق الإرشادات نفسها على تحقيق وقت ارتفاع قصير باستخدام زيادة سرعة المحرك أو موجة مربّعة لبدء التحميل الأولي، والتثبيت النشط عند التوقف. يعرض الشكل 7 مثالاً على ملف تعريف output acceleration لمكوّن العلامة الأساسي:

وضع علامة في ملف تعريف تسريع الإخراج الأساسي

الشكل 7: مثال على الملف الشخصي لتسريع الإخراج لعنصر علامة التبويب

المَعلمة الإرشاد
المدة

الاستهداف: 5 ملي ثانية

الحدّ الأقصى: أقل من 20 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: نصف CLICK، 1 جيجابايت

الحدّ الأقصى: بين 0.5 و1 غيغابايت

التردد

الاستهداف: ضعف التردد التوافقي

الحد الأقصى: أقل من 500 هرتز

عنصر علامة منخفضة

العنصر الأساسي للعلامة المنخفضة هو نسخة أكثر ليونة وضعفًا من العلامة الخفيفة، ويعمل في نطاق تردد أقل لتوفير المزيد من التأثير. يمكن أيضًا وصف هذا العنصر الأساسي بأنّه نقرة متوسطة الكثافة بمعدّل تكرار أقل، ويُقصد استخدامه بشكل متكرّر للحصول على ملاحظات ديناميكية. تنطبق الإرشادات نفسها على تحقيق وقت ارتفاع قصير باستخدام زيادة سرعة المحرك أو موجة مربّعة لبدء الاختبار الأولي. يعرض الشكل 8 مثالاً على ملف تعريف تسارع الإخراج لعنصر إشارة التوقف المنخفضة:

الملف الشخصي لتسريع الإخراج الأساسي للعلامات المنخفضة

الشكل 8: مثال على الملف الشخصي لتسريع الإخراج لعنصر أساسي منخفض الدقة

المَعلمة الإرشاد
المدة

الاستهداف: 12 ملي ثانية

الحدّ الأقصى: أقل من 30 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: ربع TICK، 0.25 غ

الحدّ الأقصى: بين 0.2 و0.5 غيغابايت

التردد

الاستهداف: ‎2/3 من تردد الرنين

الحدّ الأقصى: أقل من 100 هرتز

العناصر الأساسية في Chirp

يمكن وصف عناصر الأصوات المتصاعدة من خلال إشارات الإدخال لمستوى الجهد و وتيرة الاهتزاز. يختلف التسارع الذي يمكن أن يقدّمه المحرّك في نطاقات التردد المختلفة استنادًا إلى منحنى استجابة التردد للمشغِّل. يجب تعديل نطاقات التردد ومستويات الجهد على أساس كل جهاز.

العنصر الأساسي للارتفاع البطيء

الارتفاع البطيء هو تموج بطيء في الشدة ومعدّل التكرار للأعلى مع بداية ناعمة وزيادة كثافة الاهتزاز بشكلٍ ثابت خلال التموج. ويمكن تنفيذه من خلال مسح متسق لكل من الشدة ومعدّل التكرار، باستخدام نطاق معدّل تكرار أقل يعمل خارج النطاق التوافقي. يعرض الشكل 9 مَعلمات الإدخال ومثالاً على الملف الشخصي لتسريع الإخراج لهذا التنفيذ. (يتطابق الخط الأحمر مع تصنيفات السعة على يمين الشاشة ويمثّل كيفية اختلاف سعة الاهتزاز بمرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليمين ويمثّل كيفية تغيُّر معدّل الاهتزاز بمرور الوقت.)

مَعلمات الإدخال وملف تعريف تسارع الإخراج لعنصر الارتفاع البطيء

الشكل 9: مَعلمات الإدخال ومثال على الملف الشخصي لتسريع الإخراج لملف بدء الصعق البطيء

إذا كان استجابة التردد للمحرك محدودة (غير قوية بما يكفي بعيدًا عن تردد الرنين)، فإنّ طريقة التنفيذ البديلة هي سينوس مسح ضوئي من 1/2x إلى 1x تردد الرنين. يساهم رنين المحرّك في الوصول إلى ذروة الإشارة في النهاية.

المَعلمة الإرشاد
المدة

الاستهداف: 500 ملي ثانية

الحدّ المسموح به: 20 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: 0.5 غ

الحدّ الأقصى: بين 0.5 و1 غيغابايت

التردد

الاستهداف: من 1/2 إلى 2/3 من التردد الرنان

البديل: 1/2 إلى التردد الرنان

العنصر الأساسي للارتفاع السريع

الارتفاع السريع هو تموج أسرع للسعة ومعدّل تكرار التردد إلى أعلى مع بداية ناعمة وزيادة اتّساع الاهتزاز بشكلٍ ثابت خلال التموج. يجب أن تكون استجابة التسارع وأهداف تكرار الاهتزاز مماثلة لتلك الخاصة بالإشارة الأساسية للتزايد البطيء، ويتم تحقيقها في مدة أقصر. يعرض الشكل 10 مَعلمات الإدخال للاهتزاز ومثالاً على مخطّط تسارع الإخراج لعنصر الصعود ببطء. (يتطابق الخط الأحمر مع تصنيفات السعة على يمين الشاشة ويمثّل كيفية اختلاف سعة الاهتزاز بمرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليمين ويمثّل كيفية تغيُّر معدّل الاهتزاز بمرور الوقت.)

مَعلمات الإدخال وملفّ تعريف تسارع الإخراج لعنصر الارتفاع السريع

الشكل 10: مَعلمات الإدخال ومثال على الملف الشخصي لتسريع الإخراج لملف بدء الارتفاع السريع

المَعلمة الإرشاد
المدة

الاستهداف: 150 ملي ثانية

الحدّ المسموح به: 20 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: كما هو الحال في SLOW_RISE

الحدّ الأقصى: كما هو الحال في SLOW_RISE

التردد

الاستهداف: كما هو الحال في SLOW_RISE

البديل: السعر نفسه في SLOW_RISE

العنصر الأساسي للسقوط السريع

إنّ الانخفاض السريع هو عبارة عن انحدار سريع في السعة والتردد مع بداية خفيفة. يمكنك استخدام تردد أعلى كنقطة بداية بينما يتم تسريع المحرّك للوصول إلى ذروة تسارع الإخراج. يجب أن ينخفض التردّد باستمرار على مستوى عملية الفحص، حتى خلال وقت الارتفاع. يعرِض الشكل 11 مَعلمات الإدخال ومثالاً على الملف الشخصي لتسريع الإخراج لهذا التنفيذ. (يتطابق الخط الأحمر مع تصنيفات السعة على يمين الشاشة ويمثّل كيفية اختلاف سعة الاهتزاز بمرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليمين ويمثّل كيفية تغيُّر معدّل الاهتزاز بمرور الوقت.)

مَعلمات الإدخال وملفّ تعريف تسارع الإخراج لعنصر السقوط السريع

الشكل 11: مَعلمات الإدخال ومثال على الملف الشخصي لتسريع الإخراج لعنصر السقوط السريع

المَعلمة الإرشاد
المدة

الاستهداف: 100 ملي ثانية

الحدّ المسموح به: 20 ملي ثانية

تسريع الذروة في الإخراج

الهدف: 1 جيجابايت

الحد الأقصى: بين 0.5 و2 غيغابايت

التردد

الاستهداف: من ضعف إلى ضعف واحد من معدّل الرنين

العنصر الأساسي للصوت العالي

صوت الارتطام هو صوت عالٍ منخفض يصوّر الشعور البدني بالطرق على الخشب المجوف. يعمل هذا المكوّن الأساسي في نطاق تردد منخفض، مثل المكوّن الأساسي للنقرة المنخفضة، لتوفير المزيد من التأثير. يمكنك تنفيذ العنصر الأساسي للصوت القوي على أنّه اتساع تردد هبوطي في نطاق تردد أقل (يُفضّل أن يكون أقل من 100 هرتز). يعرِض الشكل 12 مَعلمات الإدخال ومثالاً على الملف الشخصي لتسريع الإخراج لهذا التنفيذ. (يتطابق الخط الأحمر مع تصنيفات السعة على يمين الشاشة ويمثّل كيفية اختلاف سعة الاهتزاز بمرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليمين ويمثّل كيفية تغيُّر معدّل الاهتزاز بمرور الوقت.)

مَعلمات الإدخال وملفّ تعريف تسارع الإخراج لمكوّن thud الأساسي

الشكل 12: مَعلمات الإدخال ومثال على الملف الشخصي لتسريع الإخراج لعنصر thud

إذا كان استجابة المحرك للتردد محدودة، يمكن استخدام بديلٍ في التنفيذ يبدأ بإرسال إشارة محرك بكثافة كاملة عند تردد الрезонанс وينخفض إلى أدنى تردد ممكن يمكن رصده. قد تتطلّب هذه الطريقة زيادةً في شدة إشارة الدفع عند التردد المنخفض لكي يشعر المستخدم بالاهتزاز.

المَعلمة الإرشاد
المدة

الاستهداف: 300 ملي ثانية

الحدّ المسموح به: 20 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: 0.25 غ

الحد الأقصى: بين 0.2 و0.5 غيغابايت

التردد

الاستهداف: من 1/2 إلى 1/3 من التردد الرنان

البديل: من مرة إلى نصف التردد الرنان

العنصر الأساسي للدوران

تحاكي عملية الدوران لحظة الدوران السريع للأعلى والأسفل مع تمييز بسيط في المنتصف. يمكن تنفيذ الدوران من خلال تمرير النطاق و التردد بشكل مستقل، في اتجاهات معاكسة، ثم يليه العكس الحركة. من المهم استخدام نطاق تردد أقل (يُفضّل أن يكون أقل من 100 هرتز). يعرض الشكل 13 مَعلمات الإدخال ومثالاً على ملف تعريف التسارع الناتج عن هذا التنفيذ. (يتطابق الخط الأحمر مع تصنيفات السعة على يمين الشاشة ويمثّل كيفية اختلاف سعة الاهتزاز بمرور الوقت. يتطابق الخط الأزرق مع تصنيفات التردد على اليمين ويمثّل كيفية تغيُّر معدّل الاهتزاز بمرور الوقت.)

ننصحك باستدعاء العنصر الأساسي للدوران مرتين متتاليتين أو ثلاث مرات في التراكيب، وذلك لتحقيق إحساس بالدوران وعدم الاستقرار.

إذا كان استجابة المحرك للتردد محدودة، يمكن استخدام بديل هو إجراء مسح سريع للإشارة الجيبية من 1/2x إلى 1x للتردد الرنان والعكس. يمنح صدى المحرّك تلقائيًا إشارة لهجة في المنتصف.

مَعلمات الإدخال وملفّ تعريف تسارع الإخراج لمكوّن الدوران الأساسي

الشكل 13: مَعلمات الإدخال ومثال على الملف الشخصي لتسريع الإخراج لعنصر الدوران

المَعلمة الإرشاد
المدة

الاستهداف: 150 ملي ثانية

الحدّ المسموح به: 20 ملي ثانية

تسريع الذروة في الإخراج

الاستهداف: 0.5 غ

الحدّ الأقصى: بين 0.25 و0.75 غ

التردد

الاستهداف: من 2/3 إلى 1/3، ثم العودة إلى 1/2 من تردد الرنين

البديل: من 2/3 إلى مرة واحدة، ثم العودة إلى 1/2 من التردد الرنان