Questa pagina presenta le mappature consigliate tra le costanti HAL pubbliche e le costanti dell'API. Se l'hardware valutato non implementa le costanti HAL, aggiornate i pattern di riserva descritti nella pagina Implementare costanti e primitive per generare output simili. La mappatura è supportata da due diversi modelli predefiniti:
Modello discreto (semplice)
- L'ampiezza è la variabile chiave di questo modello. Ogni entità nell'HAL rappresenta un'ampiezza aptica diversa.
- Questo modello è un requisito minimo necessario per implementare l'esperienza utente di base con feedback aptico.
- Un'esperienza utente tattile più avanzata richiede hardware e un modello avanzati (modello continuo).
Modello continuo (avanzato)
- La trama e l'ampiezza sono le variabili chiave di questo modello. Ogni entità
nell'HAL rappresenta diverse texture aptica. L'ampiezza di ogni entità HAL è controllata dal fattore di scala (
S
). - Questo modello richiede hardware avanzato. Se gli OEM vogliono utilizzare un'esperienza tattile avanzata con
VibrationEffect.Composition
(per un utilizzo ottimale delle API di aptica più recenti), è consigliabile implementare il proprio hardware utilizzando questo modello.
- La trama e l'ampiezza sono le variabili chiave di questo modello. Ogni entità
nell'HAL rappresenta diverse texture aptica. L'ampiezza di ogni entità HAL è controllata dal fattore di scala (
Modello discreto
È consigliabile mappare tutte le costanti pubbliche fornite nell'API con le costanti HAL appropriate. Per iniziare questa procedura, scopri quante forme d'onda aptica con ampiezza discreta può definire il dispositivo nell'HAL. Una domanda specifica strutturata attorno a questa nozione è la seguente: Quanti effetti haptici a singolo impulso con differenze di ampiezza percepibili dall'uomo possono essere definiti nel mio smartphone? La risposta a questa domanda determina la mappatura.
La definizione delle costanti HAL è un processo dipendente dall'hardware. Ad esempio, un smartphone di livello base potrebbe avere solo le funzionalità hardware per produrre una singola forma d'onda aptica. I dispositivi con componenti hardware più avanzati producono una gamma più ampia di livelli di ampiezza discreti e possono definire più forme d'onda aptica nell'HAL. La mappatura delle costanti HAL-API prende la costante HAL (utilizzando l'ampiezza media come linea di base), quindi organizza gli effetti più o meno intensi a partire da questa.
Figura 14. Intervallo costante HAL per ampiezza
Quando è definito il numero di costanti HAL con ampiezza discreta, è il momento di mappare le costanti HAL e API in base al numero di costanti HAL. Questo processo di mappatura può suddividere una singola costante dell'API di impulso in fino a tre gruppi discreti di livelli di ampiezza. Il modo in cui le costanti dell'API sono segmentate si basa su principi UX per gli eventi di input associati. Per saperne di più, consulta Design UX per la tecnologia haptics.
Figura 15. Mappatura delle costanti HAL-API: modello discreto
Se il tuo dispositivo supporta solo due costanti HAL con ampiezze discrete,
valuta la possibilità di unire le costanti HAL di livello di ampiezza medio e alto. Un esempio di questa nozione in pratica è la mappatura di EFFECT_CLICK
e EFFECT_HEAVY_CLICK
alla stessa costante HAL, ovvero la costante HAL del livello di ampiezza medio. Se il tuo dispositivo supporta solo una costante HAL con ampiezza discreta, valuta la possibilità di unire tutti e tre i livelli in uno.
Modello continuo
Il modello continuo con scalabilità dell'ampiezza può essere applicato per definire le costanti HAL. Un fattore di scala (S
) può essere applicato alle costanti HAL (ad es. HAL_H0
, HAL_H1
) per produrre l'HAL scalato (HAL_H0
x S
). In questo caso, l'HAL scalato viene mappato per definire le costanti API (HAL_H0
x S1
= H0S1
= EFFECT_TICK
) come mostrato nella figura 16. Utilizzando la scalabilità dell'ampiezza del
modello continuo, un dispositivo può memorizzare un numero ridotto di costanti HAL con
texture distintive e aggiungere variazioni di ampiezza regolando il fattore di scala
(S
). I produttori di dispositivi possono definire il numero di costanti HAL in base al
numero di texture aptica diverse che vogliono fornire.
Figura 16. Anello di costante HAL per trama (HAL_H0) e scala di ampiezza (S)
Figura 17. Mappatura delle costanti HAL-API: modello continuo
Nel modello continuo, costanti HAL diverse rappresentano texture aptica diverse anziché ampiezze diverse; il fattore di scala (S
) può configurare l'ampiezza. Tuttavia, poiché la percezione della trama (ad esempio la nitidezza) è correlata alla percezione della durata e dell'ampiezza, è consigliabile combinare la trama e il fattore di scala (nella procedura di progettazione della mappatura dell'API HAL).
La figura 18 illustra la mappatura delle costanti aumentando la variazione da un HAL a molte costanti dell'API con scalabilità dell'ampiezza.
Figura 18. Aumento della variabilità con la scalabilità dell'ampiezza
Per tutte le costanti API scalabili, come PRIMITIVE_TICK
e PRIMITIVE_CLICK
in
VibrationEffect.Composition
,
il livello di energia della costante API dipende dal parametro float scale
quando
la costante API viene dichiarata tramite addPrimitive(int primitiveID, float scale,
int delay)
. PRIMITIVE_TICK
e PRIMITIVE_CLICK
possono essere progettati con una distinta
distinzione utilizzando costanti HAL diverse. Questo approccio è consigliato se
vuoi aggiungere variazioni alla texture.