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 varlık 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 dokunma teknolojisi 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 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 ayrı genlik düzeyi aralığı üretir ve HAL'de birden fazla dokunsal dalga biçimi tanımlayabilir. HAL-API sabit eşlemesi, HAL sabitini (orta genliği temel alarak) alır ve ardından daha güçlü veya daha zayıf efektleri düzenler.

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

Şekil 1. 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 kadar bölebilir. 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

Şekil 2. HAL-API sabit eşleme: Ayrı 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ştirebilirsiniz.

Sürekli model

Genlik ölçeklenebilirliğine sahip sürekli model, HAL sabitlerini tanımlamak için kullanılabilir. Ölçeklendirilmiş HAL'yi (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, Şekil 3'te gösterildiği gibi API sabitlerini (HAL_H0 x S1 = H0S1 = EFFECT_TICK) tanımlamak için 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 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 3. Dokuya göre HAL sabit aralığı (HAL_H0) ve genlik ölçeği (S).

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

Şekil 4. 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 5, genlik ölçeklenebilirliği ile bir HAL'den birçok API sabitine varyasyon artırarak sabit eşlemeyi gösterir.

Artan Varyasyon
1

Artan Varyasyon
2

Şekil 5. 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 düzeyi 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.