Sabitleri HAL ile API arasında eşleme

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

  • Ayrık model (basit)

    • Bu modelin temel değişkeni genliktir. HAL'deki her varlık farklı bir dokunsal genliği temsil eder.
    • Bu model, temel dokunsal UX'i uygulamak için gereken minimum koşuldur.
    • Daha gelişmiş bir dokunsal 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 birim farklı dokunsal dokuları temsil eder. Her bir HAL öğesinin genliği, ölçek faktörü (S) ile kontrol edilir.
    • Bu model için gelişmiş donanım gerekir. OEM'ler VibrationEffect.Composition ile gelişmiş dokunsal kullanıcı deneyimi kullanmak istiyorsa (en yeni dokunsal API'lerin 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 tanımlayabileceği ayrı genlikli dokunsal dalga biçimlerinin sayısını öğrenin. Bu kavram etrafında yapılandırılmış belirli bir soru şu şekilde görünür: Telefonumda, insan tarafından algılanabilir genlik farklılıklarına sahip kaç tek darbeli dokunsal efekt tanımlanabilir? Bu sorunun yanıtı, eşlemeyi belirler.

HAL sabitlerini tanımlamak donanıma bağlı bir işlemdir. Örneğin, giriş seviyesi bir telefonda yalnızca tek bir dokunsal dalga formu oluşturacak donanım özellikleri olabilir. Daha gelişmiş donanım bileşenlerine sahip cihazlar daha geniş bir aralıkta ayrı genlik seviyeleri üretir ve HAL'de birden fazla dokunsal dalga formu tanımlayabilir. HAL-API sabit eşlemesi, HAL sabitini (temel olarak orta genliği kullanarak) alır ve ardından daha güçlü veya daha zayıf efektleri düzenler.

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

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

Ayrı genlikli HAL sabitlerinin sayısı tanımlandığında, HAL ve API sabitlerini HAL sabitlerinin sayısına göre eşleme zamanı gelmiş demektir. Bu eşleme işlemi, tek bir impulse API sabitini üç ayrı genlik düzeyi grubuna ayırabilir. API sabitlerinin segmentlere ayrılma şekli, eşlik eden giriş etkinlikleriyle ilgili kullanıcı deneyimi ilkelerine dayanır. Daha fazla bilgi için Haptics UX design (Haptik dokunma UX tasarımı) başlıklı makaleyi inceleyin.

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

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

Cihazınız yalnızca ayrı genliklere sahip iki HAL sabitini destekliyorsa orta ve yüksek genlik seviyesi HAL sabitlerini birleştirmeyi düşünebilirsiniz. Bu kavramın uygulamadaki bir örneği, EFFECT_CLICK ve EFFECT_HEAVY_CLICK öğelerinin aynı HAL sabitine (Orta genlik seviyesi HAL sabiti) eşlenmesidir. Cihazınız yalnızca ayrı genlikli bir HAL sabitini destekliyorsa üç seviyenin tümünü tek bir seviyede birleştirmeyi düşünebilirsiniz.

Sürekli model

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

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

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

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

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

Sürekli modelde, farklı HAL sabitleri farklı genlikleri değil, farklı dokunsal dokuları temsil eder. Ölçek faktörü (S) genliği yapılandırabilir. Ancak doku algısı (örneğin, keskinlik), süre ve genlik algısıyla ilişkili olduğundan doku ve ölçek faktörünün (HAL-API eşleme tasarım sürecinde) birleştirilmesi önerilir.

Şekil 18, genlik ölçeklenebilirliği ile bir HAL'den birçok API sabitine geçişte varyasyonu artırarak sabit eşlemeyi gösterir.

Artan Varyasyon
1

Artan Varyasyon
2

18.şekil Genlik ölçeklenebilirliği ile varyasyonu artırma

VibrationEffect.Composition içindeki PRIMITIVE_TICK ve PRIMITIVE_CLICK gibi tüm ölçeklenebilir API sabitleri için, API sabiti addPrimitive(int primitiveID, float scale, int delay) üzerinden bildirildiğinde API sabitinin enerji seviyesi float scale parametresine bağlıdır. PRIMITIVE_TICK ve PRIMITIVE_CLICK, farklı HAL sabitleri kullanılarak net bir şekilde ayırt edilebilir. Bu yaklaşım, dokuya çeşitlilik eklemek istediğinizde önerilir.