Halaman ini menyajikan pemetaan yang direkomendasikan antara konstanta HAL publik dan konstanta API. Jika hardware yang dinilai tidak menerapkan konstanta HAL, update pola penggantian yang dijelaskan di halaman Menerapkan konstanta dan primitif untuk menghasilkan output yang serupa. Pemetaan dibantu oleh dua model default yang berbeda:
Model diskret (sederhana)
- Amplitudo adalah variabel utama model ini. Setiap entity di HAL mewakili amplitudo haptic yang berbeda.
- Model ini adalah persyaratan minimum yang diperlukan untuk menerapkan UX haptik dasar.
- UX haptik yang lebih canggih memerlukan hardware canggih dan model lanjutan (model berkelanjutan).
Model berkelanjutan (tingkat lanjut)
- Tekstur dan amplitudo adalah variabel utama model ini. Setiap entity
di HAL mewakili tekstur haptik yang berbeda. Amplitudo setiap
entitas HAL dikontrol oleh faktor skala (
S
). - Model ini memerlukan hardware lanjutan. Jika OEM ingin menggunakan UX haptik
lanjutan dengan
VibrationEffect.Composition
(untuk penggunaan API haptik terbaru yang terbaik), sebaiknya terapkan hardware mereka menggunakan model ini.
- Tekstur dan amplitudo adalah variabel utama model ini. Setiap entity
di HAL mewakili tekstur haptik yang berbeda. Amplitudo setiap
entitas HAL dikontrol oleh faktor skala (
Model diskret
Sebaiknya pemetaan semua konstanta publik yang disediakan di API dengan konstanta HAL yang sesuai. Untuk memulai proses ini, cari tahu jumlah bentuk gelombang haptik dengan amplitudo diskret 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 akan menentukan pemetaan.
Menentukan konstanta HAL adalah proses yang bergantung pada hardware. Misalnya, ponsel kelas pemula mungkin hanya memiliki kemampuan hardware untuk menghasilkan satu bentuk gelombang haptik. Perangkat dengan komponen hardware yang lebih canggih menghasilkan rentang level amplitudo diskret yang lebih luas, dan dapat menentukan beberapa bentuk gelombang haptik di HAL. Pemetaan konstanta HAL-API menggunakan konstanta HAL (menggunakan amplitudo sedang sebagai dasar pengukuran), lalu mengatur efek yang lebih kuat atau lebih lemah dari sana.
Gambar 14. Rentang konstan HAL menurut amplitudo
Saat jumlah konstanta HAL dengan amplitudo diskret 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 terpisah. Cara konstanta API disegmentasikan didasarkan pada prinsip UX untuk menyertai peristiwa input. Untuk informasi selengkapnya, lihat Desain UX Haptik.
Gambar 15. Pemetaan konstanta HAL-API: Model diskret
Jika perangkat Anda hanya mendukung dua konstanta HAL dengan amplitudo diskret,
pertimbangkan untuk menggabungkan konstanta HAL level amplitudo Sedang dan Tinggi. Contoh
konsep ini dalam praktiknya adalah memetakan EFFECT_CLICK
dan EFFECT_HEAVY_CLICK
ke konstanta HAL yang sama, yang akan menjadi konstanta HAL
tingkat amplitudo Sedang. Jika perangkat Anda hanya mendukung satu konstanta HAL dengan amplitudo
diskret, 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 kontinu, perangkat dapat menyimpan sejumlah kecil konstanta HAL dengan
tekstur yang berbeda dan menambahkan variasi amplitudo dengan menyesuaikan faktor skala
(S
). Produsen perangkat dapat menentukan jumlah konstanta HAL berdasarkan
berapa banyak tekstur haptic 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 mewakili 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, menggabungkan tekstur dan faktor skala (dalam proses desain pemetaan HAL-API) direkomendasikan.
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 skalabel 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 dirancang dengan perbedaan
yang jelas menggunakan konstanta HAL yang berbeda. Pendekatan ini direkomendasikan jika
Anda ingin menambahkan variasi pada tekstur.