Les fabricants d'appareils sont généralement considérés comme propriétaires des éléments privés créés pour chaque appareil. Par conséquent, leurs efforts d'ingénierie sont souvent axés sur une base par appareil. Peu ou pas d'efforts sont consacrés à la cohérence des autres appareils de l'écosystème.
À l'inverse, les développeurs s'efforcent de créer des applications qui fonctionnent sur tous les téléphones Android de l'écosystème, quelles que soient les spécifications techniques de chaque appareil. Cette différence d'approche peut entraîner un problème de fragmentation. Par exemple, les fonctionnalités matérielles de certains téléphones ne correspondent pas aux attentes des développeurs d'applications. Par conséquent, si les API haptiques fonctionnent sur certains téléphones Android, mais pas sur d'autres, l'écosystème est incohérent. C'est pourquoi la configuration matérielle joue un rôle essentiel pour que les fabricants puissent implémenter les API haptiques Android sur tous les appareils.
Cette page fournit une checklist détaillée pour configurer la conformité matérielle afin d'optimiser l'utilisation des API haptiques Android.
L'image suivante illustre la création de connaissances communes entre les fabricants d'appareils et les développeurs, une étape essentielle pour créer un écosystème cohérent:
Figure 1 : Échange de connaissances entre les fabricants d'appareils et les développeurs
Checklist d'implémentation de la haptique
-
- Liste des constantes à implémenter pour la haptique.
-
- Conseils d'implémentation pour les primitives de composition HAL
Mappage des constantes entre HAL et l'API
- Recommandations de mappage entre les constantes d'API publiques (appelées espaces réservés dans le framework) et les constantes HAL, qui implémentent les espaces réservés.
- Pour en savoir plus sur ce processus, consultez Principes de conception pour guider la mise en correspondance recommandée.
-
- Instructions sur les effets haptiques cibles. Suivez ces instructions pour effectuer des vérifications rapides sur votre matériel.
Nous reviendrons plus en détail sur chacune de ces étapes ci-dessous.
Étape 1: Implémentez des constantes
Effectuez ces vérifications pour déterminer si votre appareil répond aux conditions minimales requises pour implémenter la haptique:
Figure 2. Implémenter des effets
Figure 3. Implémenter des primitives
Vérifiez l'état d'implémentation des constantes haptiques suivantes.
Constantes haptiques | Lieux et résumés |
---|---|
EFFECT_TICK , EFFECT_CLICK ,
EFFECT_HEAVY_CLICK ,
EFFECT_DOUBLE_CLICK |
Classe
VibrationEffect Les constantes haptiques dans VibrationEffect n'incluent aucune notion d'événements d'entrée et ne comportent aucun élément d'interface utilisateur. Les constantes incluent plutôt la notion de niveaux d'énergie, tels que EFFECT_CLICK et EFFECT_HEAVY_CLICK , qui sont appelés par
createPredefined() . |
Les vibrations alternatives décrites ci-dessous sont effectuées sur les appareils qui n'implémentent pas les constantes VibrationEffect
. Nous vous recommandons de mettre à jour ces configurations pour optimiser les performances sur ces appareils.
EFFECT_CLICK
Vibration de forme d'onde créée avec
VibrationEffect.createWaveform
et les délais configurés surframeworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern
.EFFECT_HEAVY_CLICK
Vibration de forme d'onde créée avec
VibrationEffect.createWaveform
et les délais configurés surframeworks/base/core/res/res/values/config.xml##config_longPressVibePattern
.EFFECT_DOUBLE_CLICK
Vibration de forme d'onde créée avec
VibrationEffect.createWaveform
et les temps (0, 30, 100, 30).EFFECT_TICK
Vibration de forme d'onde créée avec
VibrationEffect.createWaveform
et les délais configurés surframeworks/base/core/res/res/values/config.xml##config_clockTickVibePattern
.
Figure 4. Implémenter des constantes de retour
Vérifiez l'état des constantes de commentaires publics suivantes.
Constantes haptiques | Lieux et résumés |
---|---|
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 |
Classe HapticFeedbackConstants Les constantes haptiques dans HapticFeedbackConstants aident les événements d'entrée avec certains éléments d'interface utilisateur, tels que KEYBOARD_PRESS etKEYBOARD_RELEASE , qui sont appelés parperformHapticFeedback() . |
Étape 2: Implémenter des primitives
Les primitives haptiques de VibrationEffect.Composition
ont une intensité évolutive que les développeurs peuvent utiliser via addPrimitive(int primitiveId, float scale, int delay)
.
Les primitives peuvent être divisées en deux catégories:
Primitives courtes:primitives de courte durée, généralement inférieure à 20 ms. Il s'agit de
CLICK
,TICK
etLOW_TICK
.Primitives de chirp:primitives dont l'amplitude et la fréquence varient, généralement avec une durée plus longue que les primitives courtes. Il s'agit de
SLOW_RISE
,QUICK_RISE
,QUCK_FALL
,THUD
etSPIN
.
Primitives courtes
Les primitives courtes peuvent être décrites par le profil d'accélération de la sortie du moteur du vibreur. La fréquence absolue utilisée varie pour chaque primitive, en fonction de la fréquence de résonance de l'actionneur. Pour en savoir plus sur la configuration matérielle et les outils de mesure de la sortie, consultez la section Configurer l'équipement de test.
Le rapport de pulsation sur sonnerie (PRR, Pulse to Ring Ratio), illustré à la figure 5, est une métrique de qualité utile pour les vibrations courtes. Le PRR est défini comme le rapport entre le principal pulse (impulsion principale), défini par le signal dans la fenêtre de durée où l'amplitude diminue à 10% de l'amplitude de pointe, et le ring pulse (impulsion en anneau), défini par le signal où l'amplitude diminue de 10% de l'amplitude de pointe à moins de 1% de l'amplitude de pointe. Pour en savoir plus sur la PRR, consultez la section Analyser la forme d'onde. Pour en savoir plus sur l'analyse et la comparaison des résultats, consultez la section Comparer les résultats à l'aide de la carte des performances.
Figure 5. Définition du rapport entre le pouls et la sonnerie
Appliquez des primitives courtes en tant que commentaires d'entrée utilisateur ou en les jouant dans des compositions plus longues pour créer des textures douces. Cela signifie qu'elles sont généralement déclenchées fréquemment et jouées en succession rapide. L'intensité perçue d'une seule primitive courte peut renforcer l'intensité de l'effet plus important. Pour cette raison, calibrez une seule primitive de "tic" ou de "tic bas" avec une composition plus importante, par exemple 100 tics consécutifs.
Primitive de clic
La primitive de clic est un effet puissant et net qui fonctionne généralement près de la fréquence de résonance d'un appareil pour atteindre une sortie maximale en peu de temps. Il est plus fort et plus profond que les autres primitives, et fonctionne à une intensité maximale.
Si disponible, utilisez la suralimentation du moteur au début et le freinage actif à la fin pour obtenir un temps de montée et de descente du moteur court. Pour certains moteurs, l'utilisation d'une onde carrée au lieu d'une onde sinusoïdale peut accélérer l'accélération. La figure 6 montre un exemple de profil d'accélération de sortie pour la primitive de clic:
Figure 6. Exemple de profil d'accélération de sortie pour la primitive de clic
Paramètre | Consigne |
---|---|
Durée |
Cible: 12 ms Limite: < 30 ms |
Accélération de sortie maximale |
Cible: 2 G Limite: > 1 Go |
Fréquence | À peu près à la fréquence de résonance |
Primitive "tick" (tic)
La primitive "tick" est un effet court et net qui fonctionne généralement dans une plage de fréquences plus élevée. Cette primitive peut également être décrite comme un clic d'intensité moyenne à une fréquence plus élevée avec une courte queue. Les mêmes conseils s'appliquent pour obtenir un temps de montée court à l'aide d'une suralimentation du moteur ou d'une onde carrée pour le début initial, et d'un freinage actif au décalage. La figure 7 montre un exemple de profil d'accélération de sortie pour la primitive de "tic" :
Figure 7. Exemple de profil d'accélération de sortie pour la primitive de "tic"
Paramètre | Consigne |
---|---|
Durée |
Cible: 5 ms Limite: < 20 ms |
Accélération de sortie maximale |
Cible: moitié de Limite: entre 0,5 Go et 1 Go |
Fréquence |
Cible: 2 fois la fréquence de résonance Limite: < 500 Hz |
Primitive de faible tick
La primitive de clignotement faible est une version plus douce et plus faible d'un clignotement léger, qui fonctionne à une plage de fréquences plus basse pour donner plus de corps à l'effet. Cette primitive peut également être décrite comme un clic d'intensité moyenne à une fréquence plus faible, destiné à être utilisé de manière répétitive pour obtenir des commentaires dynamiques. Les mêmes conseils s'appliquent pour obtenir un temps de montée court à l'aide d'une suralimentation du moteur ou d'une onde carrée pour le début initial. La figure 8 présente un exemple de profil d'accélération de sortie pour la primitive de faible tick:
Figure 8. Exemple de profil d'accélération de sortie pour la primitive de faible "tic"
Paramètre | Consigne |
---|---|
Durée |
Cible: 12 ms Limite: < 30 ms |
Accélération de sortie maximale |
Cible: 1/4 de Limite: entre 0,2 Go et 0,5 Go |
Fréquence |
Cible: fréquence de résonance 2/3 Limite: < 100 Hz |
Primitives Chirp
Les primitives de chirp peuvent être décrites par les signaux d'entrée pour le niveau de tension et la fréquence de vibration. L'accélération que le moteur peut produire à différentes plages de fréquences varie en fonction de la courbe de réponse en fréquence de l'actionneur. Les plages de fréquences et les niveaux de tension doivent être ajustés pour chaque appareil.
Primitive de montée lente
La montée lente est une montée lente de l'amplitude et de la fréquence vers le haut avec un début doux et une intensité de vibration croissante tout au long de la balayage. Il peut être implémenté par un balayage cohérent de l'amplitude et de la fréquence, à l'aide d'une plage de fréquences inférieure qui fonctionne en dehors de la résonance. La figure 9 montre les paramètres d'entrée et un exemple de profil d'accélération de sortie pour cette implémentation. (La ligne rouge correspond aux étiquettes d'amplitude à gauche et représente l'évolution de l'amplitude des vibrations au fil du temps. La ligne bleue correspond aux étiquettes de fréquence à droite et représente la variation de la fréquence de vibration au fil du temps.)
Figure 9. Paramètres d'entrée et exemple de profil d'accélération de sortie pour la primitive de montée lente
Si la réponse en fréquence du moteur est limitée (pas assez forte en dehors de sa fréquence de résonance), une autre implémentation consiste à effectuer un balayage en sinus de 1/2 à 1 fois la fréquence de résonance. La résonance du moteur contribue à atteindre le pic du signal à la fin.
Paramètre | Consigne |
---|---|
Durée |
Cible: 500 ms Tolérance: 20 ms |
Accélération de sortie maximale |
Cible: 0,5 Go Limite: entre 0,5 Go et 1 Go |
Fréquence |
Cible: 1/2 à 2/3 de la fréquence de résonance Autre: 1/2 de la fréquence de résonance |
Primitive de montée rapide
La montée rapide correspond à une amplitude et une fréquence plus rapides vers le haut, avec un début doux et une intensité de vibration croissante tout au long de la balayage. Les cibles d'accélération de sortie et de fréquence de vibration doivent être les mêmes que celles de la primitive de montée lente, obtenues sur une durée plus courte. La figure 10 montre les paramètres d'entrée de vibration et un exemple de profil d'accélération de sortie pour la primitive de montée lente. (La ligne rouge correspond aux étiquettes d'amplitude à gauche et représente l'évolution de l'amplitude des vibrations au fil du temps. La ligne bleue correspond aux étiquettes de fréquence à droite et représente la variation de la fréquence de vibration au fil du temps.)
Figure 10. Paramètres d'entrée et exemple de profil d'accélération de sortie pour la primitive de montée rapide
Paramètre | Consigne |
---|---|
Durée |
Cible: 150 ms Tolérance: 20 ms |
Accélération de sortie maximale |
Cible: identique à Limite: identique à |
Fréquence |
Cible: identique à Alternative: identique à |
Primitive de chute rapide
La chute rapide est un balayage rapide de l'amplitude et de la fréquence vers le bas avec un début doux. Vous pouvez utiliser une fréquence plus élevée comme point de départ lorsque le moteur augmente progressivement pour atteindre l'accélération de sortie maximale. La fréquence doit diminuer de manière cohérente tout au long de la balayage, même pendant le temps de montée. La figure 11 montre les paramètres d'entrée et un exemple de profil d'accélération de sortie pour cette implémentation. (La ligne rouge correspond aux étiquettes d'amplitude à gauche et représente l'évolution de l'amplitude des vibrations au fil du temps. La ligne bleue correspond aux étiquettes de fréquence à droite et représente la variation de la fréquence de vibration au fil du temps.)
Figure 11 : Paramètres d'entrée et exemple de profil d'accélération de sortie pour la primitive de chute rapide
Paramètre | Consigne |
---|---|
Durée |
Cible: 100 ms Tolérance: 20 ms |
Accélération de sortie maximale |
Cible: 1 G Limite: entre 0,5 Go et 2 Go |
Fréquence |
Cible: 2 à 1 fois la fréquence de résonance |
Primitive "Thud"
Le "thud" est un effet percutant, bas et percutant qui simule la sensation physique de frapper sur du bois creux. Cette primitive fonctionne dans une plage de fréquences basse, semblable à la primitive de faible "tic", pour donner plus de corps à l'effet. Vous pouvez implémenter la primitive "thud" en effectuant un balayage descendant de l'amplitude et de la fréquence dans une plage de fréquences inférieure (de préférence inférieure à 100 Hz). La figure 12 présente les paramètres d'entrée et un exemple de profil d'accélération de sortie pour cette implémentation. (La ligne rouge correspond aux étiquettes d'amplitude à gauche et représente l'évolution de l'amplitude des vibrations au fil du temps. La ligne bleue correspond aux étiquettes de fréquence à droite et représente la variation de la fréquence de vibration au fil du temps.)
Figure 12. Paramètres d'entrée et exemple de profil d'accélération de sortie pour la primitive thud
Si la réponse en fréquence du moteur est limitée, une autre implémentation consiste à commencer avec un signal d'entraînement à pleine intensité à la fréquence de résonance et à passer à la fréquence la plus basse possible qui peut encore être perçue. Cette approche peut nécessiter une augmentation de l'intensité du signal de commande à la fréquence inférieure pour que la vibration soit ressentie.
Paramètre | Consigne |
---|---|
Durée |
Cible: 300 ms Tolérance: 20 ms |
Accélération de sortie maximale |
Cible: 0,25 G Limite: entre 0,2 Go et 0,5 Go |
Fréquence |
Cible: 1/2 à 1/3 de la fréquence de résonance Autre option: 1 à 1/2 de la fréquence de résonance |
Primitive de rotation
La rotation simule un élan de rotation rapide de haut en bas avec un léger accent au centre. La rotation peut être implémentée en balayant l'amplitude et la fréquence indépendamment, dans des directions opposées, puis en effectuant le mouvement inverse. Il est important d'utiliser une plage de fréquences plus basse (de préférence inférieure à 100 Hz). La figure 13 montre les paramètres d'entrée et un exemple de profil d'accélération de sortie pour cette implémentation. (La ligne rouge correspond aux étiquettes d'amplitude à gauche et représente l'évolution de l'amplitude des vibrations au fil du temps. La ligne bleue correspond aux étiquettes de fréquence à droite et représente la variation de la fréquence de vibration au fil du temps.)
Nous vous recommandons d'appeler la primitive de rotation deux fois de suite ou trois fois dans les compositions pour obtenir une sensation de rotation et d'instabilité.
Si la réponse en fréquence du moteur est limitée, une autre implémentation consiste à effectuer un balayage sinusoïdal rapide de 1/2 à 1 fois la fréquence de résonance et inversement. La résonance du moteur donne automatiquement un accent au milieu du signal.
Figure 13. Paramètres d'entrée et exemple de profil d'accélération de sortie pour la primitive de rotation
Paramètre | Consigne |
---|---|
Durée |
Cible: 150 ms Tolérance: 20 ms |
Accélération de sortie maximale |
Cible: 0,5 Go Limite: entre 0,25 Go et 0,75 Go |
Fréquence |
Cible: 2/3 à 1/3, puis retour à 1/2 de la fréquence de résonance Autre option: 2/3 à 1 x, puis retour à 1/2 de la fréquence de résonance |
Étape 3: Mappez les constantes entre HAL et l'API
L'étape 3 présente les mappages recommandés entre les constantes HAL publiques et les constantes de l'API. Si le matériel évalué à l'étape 1 n'implémente pas les constantes HAL, utilisez l'étape 3 pour mettre à jour les modèles de remplacement décrits à l'étape 1 afin de générer des sorties similaires. Le mappage est assisté par deux modèles par défaut différents:
Modèle discret (simple)
- L'amplitude est la variable clé de ce modèle. Chaque entité du HAL représente une amplitude haptique différente.
- Ce modèle est une exigence minimale requise pour implémenter l'expérience utilisateur haptique de base.
- Une expérience haptique plus avancée nécessite du matériel et un modèle avancés (modèle continu).
Modèle continu (avancé)
- La texture et l'amplitude sont les variables clés de ce modèle. Chaque entité du HAL représente différentes textures haptiques. L'amplitude de chaque entité HAL est contrôlée par le facteur d'échelle (
S
). - Ce modèle nécessite du matériel avancé. Si les OEM souhaitent utiliser une expérience haptique avancée avec
VibrationEffect.Composition
(pour une utilisation optimale des dernières API haptiques), il est recommandé d'implémenter leur matériel à l'aide de ce modèle.
- La texture et l'amplitude sont les variables clés de ce modèle. Chaque entité du HAL représente différentes textures haptiques. L'amplitude de chaque entité HAL est contrôlée par le facteur d'échelle (
Modèle discret
Il est recommandé de mapper toutes les constantes publiques fournies dans l'API avec les constantes HAL appropriées. Pour commencer ce processus, déterminez le nombre de formes d'onde haptique à amplitude discrète que l'appareil peut définir dans le HAL. Une question spécifique structurée autour de cette notion se présente comme suit: Combien d'effets haptiques à impulsion unique avec des différences d'amplitude perceptibles par l'homme peuvent être définis sur mon téléphone ? La réponse à cette question détermine le mappage.
La définition des constantes HAL est un processus dépendant du matériel. Par exemple, un téléphone d'entrée de gamme ne peut peut-être produire qu'une seule forme d'onde haptique. Les appareils dotés de composants matériels plus avancés produisent une plage plus large de niveaux d'amplitude discrets et peuvent définir plusieurs formes d'ondes haptiques dans le HAL. La mise en correspondance des constantes HAL-API prend la constante HAL (en utilisant l'amplitude moyenne comme référence), puis organise les effets plus forts ou plus faibles à partir de là.
Figure 14. Plage de constantes HAL par amplitude
Lorsque le nombre de constantes HAL avec amplitude discrète est défini, il est temps de mapper les constantes HAL et API en fonction du nombre de constantes HAL. Ce processus de mappage peut segmenter une seule constante d'API d'impulsion en trois groupes distincts de niveaux d'amplitude. La segmentation des constantes de l'API est basée sur les principes d'expérience utilisateur pour les événements d'entrée associés. Pour en savoir plus, consultez la section Conception UX haptique.
Figure 15. Mappage des constantes HAL-API: modèle discret
Si votre appareil n'est compatible qu'avec deux constantes HAL avec des amplitudes discrètes, envisagez de fusionner les constantes HAL de niveau d'amplitude moyen et élevé. Un exemple de cette notion en pratique consiste à mapper EFFECT_CLICK
et EFFECT_HEAVY_CLICK
sur la même constante HAL, qui serait la constante HAL de niveau d'amplitude moyen. Si votre appareil n'est compatible qu'avec une constante HAL avec une amplitude discrète, envisagez de fusionner les trois niveaux en un.
Modèle continu
Le modèle continu avec évolutivité de l'amplitude peut être appliqué pour définir des constantes HAL. Un facteur de mise à l'échelle (S
) peut être appliqué aux constantes HAL (par exemple, HAL_H0
, HAL_H1
) pour générer la HAL mise à l'échelle (HAL_H0
x S
). Dans ce cas, la HAL mise à l'échelle est mappée pour définir les constantes d'API (HAL_H0
x S1
= H0S1
= EFFECT_TICK
), comme illustré à la figure 16. En utilisant la scalabilité de l'amplitude du modèle continu, un appareil peut stocker un petit nombre de constantes HAL avec des textures distinctives et ajouter des variations d'amplitude en ajustant le facteur de mise à l'échelle (S
). Les fabricants d'appareils peuvent définir le nombre de constantes HAL en fonction du nombre de textures haptiques différentes qu'ils souhaitent fournir.
Figure 16. Plage de constantes HAL par texture (HAL_H0) et échelle d'amplitude (S)
Figure 17. Mappage des constantes HAL-API: modèle continu
Dans le modèle continu, différentes constantes HAL représentent différentes textures haptiques plutôt que différentes amplitudes. Le facteur de mise à l'échelle (S
) peut configurer l'amplitude. Toutefois, comme la perception de la texture (par exemple, la netteté) est liée à la perception de la durée et de l'amplitude, il est recommandé de combiner la texture et le facteur de mise à l'échelle (dans le processus de conception de la mise en correspondance HAL-API).
La figure 18 illustre le mappage de constantes en augmentant la variation d'un HAL à de nombreuses constantes d'API avec une évolutivité d'amplitude.
Figure 18. Augmenter la variation avec l'évolutivité de l'amplitude
Pour toutes les constantes d'API évolutives telles que PRIMITIVE_TICK
et PRIMITIVE_CLICK
dans VibrationEffect.Composition
, le niveau d'énergie de la constante d'API dépend du paramètre float scale
lorsque la constante d'API est déclarée via addPrimitive(int primitiveID, float scale,
int delay)
. PRIMITIVE_TICK
et PRIMITIVE_CLICK
peuvent être conçus avec une distinction claire à l'aide de constantes HAL différentes. Cette approche est recommandée si vous souhaitez ajouter de la variation à la texture.
Étape 4: Évaluez le matériel
L'évaluation matérielle implique de définir trois effets haptiques, nommés Effets 1, 2 et 3 pour cette évaluation spécifique.
Effet 1: constantes haptiques courtes prédéfinies
La constante VibrationEffect.EFFECT_CLICK
correspond à l'effet de référence ou au dénominateur commun dans le mappage HAL-API fourni à l'étape 2. Il est mappé avec l'effet le plus utilisé, HapticFeedbackConstants.KEYBOARD_PRESS
.
Évaluer cet effet permet de déterminer si votre appareil cible est prêt à utiliser la haptique claire.
Effet 2: Effet haptique personnalisé court
La constante VibrationEffect.createOneShot(20,255)
est destinée aux effets haptiques personnalisés. Pour les impulsions personnalisées courtes et uniques, le seuil maximal recommandé pour définir la durée est de 20 ms. Une seule impulsion de plus de 20 ms n'est pas recommandée, car elle est perçue comme une vibration bourdonnante.
Figure 19. Effet haptique personnalisé court
Effet 3: Effet haptique personnalisé long avec variation d'amplitude
La constante VibrationEffect.createWaveform(timings[], amplitudes[], int
repeat)
est destinée aux effets personnalisés longs avec variation d'amplitude. La capacité à produire des amplitudes variables pour les effets haptiques personnalisés est l'un des indicateurs permettant d'évaluer les capacités de l'appareil pour les haptiques riches. Les valeurs timings []
et amplitudes []
recommandées sont respectivement {500, 500}
et {128, 255}
, qui présentent une tendance à l'augmentation de l'amplitude de 50% à 100%, avec un taux d'échantillonnage de 500 ms.
Figure 20. Effet haptique personnalisé long avec variation d'amplitude
Pour vérifier les capacités matérielles de la commande d'amplitude pour l'effet 3, utilisez la méthode Vibrator.hasAmplitudeControl()
. Le résultat doit être true
pour exécuter VibrationEffect.createWaveform
avec une amplitude variable comme prévu.
Figure 21. Évaluation de l'effet haptique 1, 2 et 3 par les sujets
Effectuer une évaluation subjective
Pour effectuer un contrôle rapide de la cohérence, effectuez d'abord une évaluation subjective. L'objectif de l'évaluation subjective est d'observer l'amplitude des effets haptiques pour déterminer si l'appareil peut générer des effets haptiques avec des amplitudes perceptibles par l'humain.
Une question spécifique structurée autour de cette notion se présente comme suit: L'appareil peut-il produire des effets haptiques perceptibles pour les utilisateurs comme prévu ? Répondre à cette question vous aide à éviter les échecs haptiques, y compris les haptiques imperceptibles que les utilisateurs ne peuvent pas ressentir, ou les haptiques involontaires où les formes d'ondes ne produisent pas de motifs comme prévu.
Effectuer une évaluation avancée
Nous vous recommandons vivement d'effectuer des évaluations de qualité avancées. Les évaluations de qualité avancées caractérisent les attributs quantifiables des effets haptiques afin d'implémenter des haptiques de qualité. Une fois terminé, les fabricants d'appareils doivent pouvoir diagnostiquer l'état actuel de la technologie haptique, ce qui leur permet de définir des objectifs pour améliorer la qualité globale. Consultez la section Évaluation du matériel.