Halaman ini menyajikan pemetaan yang direkomendasikan antara konstanta HAL publik dan konstanta API. Jika hardware yang dinilai tidak menerapkan konstanta HAL, perbarui pola penggantian yang dijelaskan di halaman Menerapkan konstanta dan primitif untuk menghasilkan output serupa. Pemetaan dibantu oleh dua model default yang berbeda:
Model diskret (sederhana)
- Amplitudo adalah variabel utama model ini. Setiap entitas di HAL mewakili amplitudo haptik yang berbeda.
- Model ini adalah persyaratan minimum yang diperlukan untuk menerapkan UX haptik dasar.
- UX haptik yang lebih canggih memerlukan hardware canggih dan model canggih (model berkelanjutan).
Model berkelanjutan (tingkat lanjut)
- Tekstur dan amplitudo adalah variabel utama model ini. Setiap entitas
di HAL merepresentasikan tekstur haptik yang berbeda. Amplitudo setiap entitas HAL dikontrol oleh faktor skala (
S
). - Model ini memerlukan hardware canggih. Jika OEM ingin menggunakan UX haptik canggih dengan
VibrationEffect.Composition
(untuk penggunaan terbaik API haptik terbaru), sebaiknya terapkan hardware mereka menggunakan model ini.
- Tekstur dan amplitudo adalah variabel utama model ini. Setiap entitas
di HAL merepresentasikan tekstur haptik yang berbeda. Amplitudo setiap entitas HAL dikontrol oleh faktor skala (
Model diskret
Memetakan semua konstanta publik yang disediakan di API dengan konstanta HAL yang sesuai direkomendasikan. Untuk memulai proses ini, cari tahu jumlah bentuk gelombang haptik dengan amplitudo diskrit yang dapat ditentukan perangkat di HAL. Pertanyaan spesifik yang disusun berdasarkan gagasan tersebut terlihat seperti ini: Berapa banyak efek haptik impuls tunggal dengan perbedaan amplitudo yang dapat dirasakan manusia yang dapat ditentukan di ponsel saya? Jawaban atas pertanyaan ini menentukan pemetaan.
Menentukan konstanta HAL adalah proses yang bergantung pada hardware. Misalnya, ponsel tingkat pemula mungkin hanya memiliki kemampuan hardware untuk menghasilkan satu bentuk gelombang haptik. Perangkat dengan komponen hardware yang lebih canggih menghasilkan rentang tingkat amplitudo diskrit yang lebih luas, dan dapat menentukan beberapa bentuk gelombang haptic di HAL. Pemetaan konstanta HAL-API mengambil konstanta HAL (menggunakan amplitudo sedang sebagai dasar), lalu mengatur efek yang lebih kuat atau lebih lemah dari sana.
Gambar 14. Rentang konstan HAL menurut amplitudo
Setelah jumlah konstanta HAL dengan amplitudo diskrit ditentukan, saatnya memetakan konstanta HAL dan API berdasarkan jumlah konstanta HAL. Proses pemetaan ini dapat menyegmentasikan satu konstanta API impuls menjadi hingga tiga grup tingkat amplitudo diskrit. Cara konstanta API disegmentasikan didasarkan pada prinsip UX untuk peristiwa input yang menyertainya. Untuk mengetahui informasi selengkapnya, lihat Desain UX haptik.
Gambar 15. Pemetaan konstanta HAL-API: Model diskret
Jika perangkat Anda hanya mendukung dua konstanta HAL dengan amplitudo diskrit, pertimbangkan untuk menggabungkan konstanta HAL tingkat amplitudo Sedang dan Tinggi. Contoh penerapan konsep ini adalah memetakan EFFECT_CLICK
dan EFFECT_HEAVY_CLICK
ke konstanta HAL yang sama, yaitu konstanta HAL tingkat amplitudo Sedang. Jika perangkat Anda hanya mendukung konstanta HAL satu dengan amplitudo diskrit, pertimbangkan untuk menggabungkan ketiga level menjadi satu.
Model berkelanjutan
Model berkelanjutan dengan skalabilitas amplitudo dapat diterapkan untuk menentukan konstanta HAL. Faktor skala (S
) dapat diterapkan ke konstanta HAL (misalnya, HAL_H0
, HAL_H1
) untuk menghasilkan HAL yang diskalakan (HAL_H0
x S
). Dalam hal ini, HAL yang diskalakan dipetakan untuk menentukan konstanta API (HAL_H0
x S1
= H0S1
= EFFECT_TICK
) seperti yang ditunjukkan pada gambar 16. Dengan menggunakan skalabilitas amplitudo model berkelanjutan, perangkat dapat menyimpan sejumlah kecil konstanta HAL dengan tekstur khas dan menambahkan variasi amplitudo dengan menyesuaikan faktor skala (S
). Produsen perangkat dapat menentukan jumlah konstanta HAL berdasarkan jumlah tekstur haptik berbeda yang ingin mereka berikan.
Gambar 16. Rentang konstanta HAL menurut tekstur (HAL_H0) dan skala amplitudo (S)
Gambar 17. Pemetaan konstanta HAL-API: Model berkelanjutan
Dalam model berkelanjutan, konstanta HAL yang berbeda merepresentasikan tekstur haptik yang berbeda, bukan amplitudo yang berbeda; faktor skala (S
) dapat mengonfigurasi amplitudo. Namun, karena persepsi tekstur (misalnya, ketajaman) terkait dengan persepsi durasi dan amplitudo, sebaiknya gabungkan tekstur dan faktor skala (dalam proses desain pemetaan HAL-API).
Gambar 18 mengilustrasikan pemetaan konstan dengan meningkatkan variasi dari satu HAL ke banyak konstanta API dengan skalabilitas amplitudo.
Gambar 18. Meningkatkan variasi dengan skalabilitas amplitudo
Untuk semua konstanta API yang dapat diskalakan seperti PRIMITIVE_TICK
dan PRIMITIVE_CLICK
di
VibrationEffect.Composition
,
tingkat energi konstanta API bergantung pada parameter float scale
saat
konstanta API dideklarasikan melalui addPrimitive(int primitiveID, float scale,
int delay)
. PRIMITIVE_TICK
dan PRIMITIVE_CLICK
dapat didesain dengan perbedaan yang jelas menggunakan konstanta HAL yang berbeda. Pendekatan ini direkomendasikan jika Anda ingin menambahkan variasi pada tekstur.