Auf dieser Seite finden Sie empfohlene Zuordnungen zwischen öffentlichen HAL-Konstanten und API-Konstanten. Wenn die bewertete Hardware die HAL-Konstanten nicht implementiert, dann aktualisieren Sie die Fallback-Muster, die auf der Seite Konstanten und Primitive implementieren beschrieben sind, um ähnliche Ausgaben zu generieren. Die Zuordnung wird durch zwei verschiedene Standardmodelle unterstützt:
Diskretes Modell (einfach)
- Die Amplitude ist die Schlüsselvariable dieses Modells. Jede Entität in der HAL steht für eine andere haptische Amplitude.
- Dieses Modell ist eine Mindestanforderung für die Implementierung der grundlegenden haptischen UX.
- Für eine erweiterte haptische UX sind erweiterte Hardware und ein erweitertes Modell (kontinuierliches Modell) erforderlich.
Kontinuierliches Modell (erweitert)
- Textur und Amplitude sind die Schlüsselvariablen dieses Modells. Jede Entität in der HAL steht für eine andere haptische Textur. Die Amplitude jeder HAL-Entität wird durch den Skalierungsfaktor (
S) gesteuert. - Für dieses Modell ist erweiterte Hardware erforderlich. Wenn OEMs eine erweiterte
haptische UX mit
VibrationEffect.Composition(um die neuesten Haptik-APIs optimal zu nutzen), wird empfohlen, ihre Hardware mit diesem Modell zu implementieren.
- Textur und Amplitude sind die Schlüsselvariablen dieses Modells. Jede Entität in der HAL steht für eine andere haptische Textur. Die Amplitude jeder HAL-Entität wird durch den Skalierungsfaktor (
Diskretes Modell
Es wird empfohlen, alle öffentlichen Konstanten in der API den entsprechenden HAL-Konstanten zuzuordnen. Ermitteln Sie dazu, wie viele haptische Wellenformen mit diskreter Amplitude das Gerät in der HAL definieren kann. Eine spezifische Frage zu diesem Konzept lautet so: Wie viele haptische Effekte mit einzelnen Impulsen und für Menschen wahrnehmbaren Amplitudenunterschieden können auf meinem Smartphone definiert werden? Die Antwort auf diese Frage bestimmt die Zuordnung.
Die Definition von HAL-Konstanten ist ein hardwareabhängiger Prozess. Ein Einsteiger-Smartphone hat beispielsweise möglicherweise nur die Hardwarefunktionen, um eine einzelne haptische Wellenform zu erzeugen. Geräte mit fortschrittlicheren Hardwarekomponenten erzeugen eine größere Bandbreite an diskreten Amplitudenstufen und können mehrere haptische Wellenformen in der HAL definieren. Bei der Zuordnung von HAL-API-Konstanten wird die HAL-Konstante verwendet (mit der mittleren Amplitude als Baseline) und dann stärkere oder schwächere Effekte angeordnet.
Abbildung 1 : HAL-Konstantenbereich nach Amplitude.
Wenn die Anzahl der HAL-Konstanten mit diskreter Amplitude definiert ist, müssen Sie HAL- und API-Konstanten nach der Anzahl der HAL-Konstanten zuordnen. Bei diesem Zuordnungsprozess kann eine einzelne Impuls-API-Konstante in bis zu drei diskrete Gruppen von Amplitudenstufen unterteilt werden. Die Segmentierung von API-Konstanten basiert auf UX-Prinzipien für begleitende Eingabeereignisse. Weitere Informationen finden Sie unter Haptik UX-Design.
Abbildung 2 : Zuordnung von HAL-API-Konstanten: Diskretes Modell.
Wenn Ihr Gerät nur zwei HAL-Konstanten mit diskreten Amplituden unterstützt, sollten Sie die HAL-Konstanten für die Amplitudenstufen „Mittel“ und „Hoch“ zusammenführen. Ein Beispiel dafür wäre die Zuordnung von EFFECT_CLICK und EFFECT_HEAVY_CLICK zur selben HAL-Konstante, die die HAL-Konstante für die Amplitudenstufe „Mittel“ wäre. Wenn Ihr Gerät nur eine HAL-Konstante mit diskreter Amplitude unterstützt, sollten Sie alle drei Stufen zu einer zusammenführen.
Kontinuierliches Modell
Das kontinuierliche Modell mit Amplitudenskalierbarkeit kann verwendet werden, um HAL-Konstanten zu definieren. Auf die HAL-Konstanten (z. B. HAL_H0, HAL_H1) kann ein Skalierungsfaktor (S) angewendet werden, um die skalierte HAL (HAL_H0 x S) zu erzeugen. In diesem Fall wird die skalierte HAL zugeordnet, um API-Konstanten (HAL_H0 x S1 = H0S1 = EFFECT_TICK) zu definieren, wie in Abbildung 3 dargestellt. Durch die Verwendung der Amplitudenskalierbarkeit des kontinuierlichen Modells kann ein Gerät eine kleine Anzahl von HAL-Konstanten mit unterschiedlichen Texturen speichern und Amplitudenvariationen hinzufügen, indem der Skalierungsfaktor (S) angepasst wird. Gerätehersteller können die Anzahl der HAL-Konstanten basierend darauf definieren, wie viele verschiedene haptische Texturen sie anbieten möchten.
Abbildung 3 : HAL-Konstantenbereich nach Textur (HAL_H0) und Amplitudenskalierung (S).
Abbildung 4 : Zuordnung von HAL-API-Konstanten: Kontinuierliches Modell.
Im kontinuierlichen Modell stellen verschiedene HAL-Konstanten unterschiedliche haptische Texturen und nicht unterschiedliche Amplituden dar. Der Skalierungsfaktor (S) kann die Amplitude konfigurieren. Da die Wahrnehmung der Textur (z. B. Schärfe) jedoch mit der Wahrnehmung der Dauer und Amplitude zusammenhängt, wird empfohlen, die Textur und den Skalierungsfaktor (im Designprozess der Zuordnung von HAL-API-Konstanten) zu kombinieren.
Abbildung 5 veranschaulicht die Zuordnung von Konstanten durch Erhöhen der Variation von einer HAL- zu vielen API-Konstanten mit Amplitudenskalierbarkeit.
Abbildung 5 : Erhöhen der Variation mit Amplitudenskalierbarkeit.
Bei allen skalierbaren API-Konstanten wie PRIMITIVE_TICK und PRIMITIVE_CLICK in
VibrationEffect.Composition,
hängt der Energielevel der API-Konstante vom Parameter float scale ab, wenn
die API-Konstante über addPrimitive(int primitiveID, float scale,
int delay) deklariert wird. PRIMITIVE_TICK und PRIMITIVE_CLICK können durch die Verwendung verschiedener HAL-Konstanten deutlich unterschieden werden. Dieser Ansatz wird empfohlen, wenn Sie die Textur variieren möchten.