Sabitler arasında HAL ve API'yi eşleme

Bu sayfada, herkese açık HAL sabitleri ile API sabitleri arasında önerilen eşlemeler sunulmaktadır. Değerlendirilen donanım HAL sabitlerini uygulamıyorsa benzer çıkışlar oluşturmak için Sabitleri ve ilkelleri uygulama sayfasında açıklanan yedek kalıpları güncelleyin. Eşlemeye iki farklı varsayılan model yardımcı olur:

  • Dijital model (basit)

    • Amplitüd, bu modelin temel değişkenidir. HAL'daki her öğe farklı bir dokunma genliğini temsil eder.
    • Bu model, temel dokunsal kullanıcı deneyimini uygulamak için gereken minimum şarttır.
    • Daha gelişmiş bir dokunma kullanıcı deneyimi için gelişmiş donanım ve gelişmiş bir model (sürekli model) gerekir.
  • Sürekli model (gelişmiş)

    • Doku ve genlik bu modelin temel değişkenleridir. HAL'deki her öğe farklı dokunma dokularını temsil eder. Her HAL öğesinin genliği, ölçek faktörü (S) tarafından kontrol edilir.
    • Bu model için gelişmiş donanım gerekir. OEM'ler VibrationEffect.Composition ile gelişmiş dokunma deneyimi kullanmak istiyorsa (en son dokunma API'lerinin en iyi şekilde kullanılması için) donanımlarını bu modeli kullanarak uygulamaları önerilir.

Ayrık model

API'de sağlanan tüm herkese açık sabitlerin uygun HAL sabitleriyle eşlenmesi önerilir. Bu işleme başlamak için cihazın HAL'de ayrık genliğe sahip kaç dokunma dalgası tanımlayabileceğini öğrenin. Bu kavram etrafında yapılandırılmış belirli bir soru şu şekildedir: Telefonumda, insan tarafından algılanabilir genlik farklılıklarına sahip kaç tek darbeli dokunma etkisi tanımlanabilir? Eşlemeyi bu sorunun cevabı belirler.

HAL sabitlerini tanımlama işlemi, donanıma bağlı bir işlemdir. Örneğin, giriş seviyesi bir telefonda yalnızca tek bir dokunma dalga biçimi üretebilecek donanım özellikleri bulunabilir. Daha gelişmiş donanım bileşenlerine sahip cihazlar, daha geniş bir ayrık genlik seviyesi aralığı oluşturur ve HAL'de birden fazla dokunma dalga biçimi tanımlayabilir. HAL-API sabit eşleme, HAL sabit değerini alır (orta amplitüdü referans olarak kullanır) ve daha güçlü veya daha zayıf efektleri bu değere göre düzenler.

HAL sabit aralığı ve geri bildirim genliklerinin diyagramı

Şekil 14. Genliğe göre HAL sabit aralığı

Ayrık genliğe sahip HAL sabitlerinin sayısı tanımlandığında HAL ve API sabitlerini HAL sabitlerinin sayısına göre eşleme zamanı gelmiştir. Bu eşleme işlemi, tek bir dürtü API sabit değerini üç ayrı genlik düzeyi grubuna ayırabilir. API sabitlerinin segmentlere ayrılması, eşlik eden giriş etkinliklerine yönelik kullanıcı deneyimi ilkelerine dayanır. Daha fazla bilgi için Dokunma duyusu kullanıcı deneyimi tasarımı başlıklı makaleyi inceleyin.

HAL-API sabit eşleme için ayrık model

Şekil 15. HAL-API sabit eşleme: Ayrık model

Cihazınız ayrık genliklere sahip yalnızca iki HAL sabit değerini destekliyorsa Orta ve Yüksek genlik düzeyindeki HAL sabitlerini birleştirebilirsiniz. Bu kavramın pratikte bir örneği, EFFECT_CLICK ve EFFECT_HEAVY_CLICK'un aynı HAL sabitiyle eşlenmesidir. Bu sabit, orta genlik düzeyi HAL sabit olacaktır. Cihazınız ayrık genliğe sahip yalnızca bir HAL sabit değerini destekliyorsa üç seviyenin tümünü tek bir seviyede birleştirebilirsiniz.

Sürekli model

Genlik ölçeklenebilirliğine sahip sürekli model, HAL sabitlerini tanımlamak için uygulanabilir. Ölçeklendirilmiş HAL (HAL_H0 x S) oluşturmak için HAL sabitlerine (ör. HAL_H0, HAL_H1) ölçek faktörü (S) uygulanabilir. Bu durumda, ölçeklendirilmiş HAL, API sabitlerini (HAL_H0 x S1 = H0S1 = EFFECT_TICK) tanımlamak için eşlenir (Şekil 16'da gösterildiği gibi). Bir cihaz, sürekli modelin genlik ölçeklenebilirliğini kullanarak ayırt edici dokulara sahip az sayıda HAL sabiti depolayabilir ve ölçek faktörünü (S) ayarlayarak genlik varyasyonları ekleyebilir. Cihaz üreticileri, sunmak istedikleri farklı dokunma dokularının sayısına göre HAL sabitlerinin sayısını tanımlayabilir.

Doku ve genliğe göre HAL sabit aralığı

Şekil 16. Dokuya göre HAL sabit aralığı (HAL_H0) ve genlik ölçeği (S)

HAL-API sabit eşleme için sürekli model

Şekil 17. HAL-API sabit eşleme: Sürekli model

Sürekli modelde farklı HAL sabitleri, farklı genlikler yerine farklı dokunma dokunuşlarını temsil eder. Ölçek faktörü (S), genliği yapılandırabilir. Ancak doku algısı (ör. keskinlik) süre ve genlik algısı ile ilgili olduğundan doku ile ölçek faktörünün (HAL-API eşleme tasarım sürecinde) birlikte kullanılması önerilir.

Şekil 18, genlik ölçeklenebilirliğiyle bir HAL'den birçok API sabitine kadar varyasyonu artırarak sabit eşlemeyi göstermektedir.

Artan Varyasyon
1

Artan Varyasyon
2

Şekil 18. Genlik ölçeklenebilirliğiyle varyasyonu artırma

VibrationEffect.Composition içindeki PRIMITIVE_TICK ve PRIMITIVE_CLICK gibi tüm ölçeklenebilir API sabitleri için API sabitinin enerji seviyesi, API sabitinin addPrimitive(int primitiveID, float scale, int delay) aracılığıyla tanımlandığı float scale parametresine bağlıdır. PRIMITIVE_TICK ve PRIMITIVE_CLICK, farklı HAL sabitleri kullanılarak net bir şekilde ayırt edilebilir şekilde tasarlanabilir. Dokuya çeşitlilik eklemek istiyorsanız bu yaklaşım önerilir.