Dokunma teknolojisi uygulayın

Cihaz üreticileri genellikle her cihaz için oluşturulan özel öğelerin sahipleri olarak kabul edilir. Bu nedenle, mühendislik çalışmaları genellikle cihaz bazında odaklanır ve ekosistemdeki diğer cihazların tutarlılığı için çok az çaba harcanır.

Geliştiriciler ise tam tersine, her cihazın teknik özelliklerinden bağımsız olarak ekosistemdeki tüm Android telefonlarda çalışacak uygulamalar geliştirmeye çalışır. Yaklaşımdaki bu farklılık, parçalanma sorununa neden olabilir. Örneğin, belirli telefonların donanım özellikleri uygulama geliştiricileri tarafından belirlenen beklentilerle eşleşmez. Bu nedenle, dokunma API'leri bazı Android telefonlarda çalışırken bazılarında çalışmıyorsa sonuç tutarsız bir ekosistem olur. Bu nedenle, donanım yapılandırması, üreticilerin Android dokunma API'lerini her cihaza uygulayabilmesini sağlamada kritik bir rol oynar.

Bu sayfada, Android dokunma API'lerinin en iyi şekilde kullanılması için donanım uyumluluğunu ayarlamayla ilgili adım adım bir yapılacaklar listesi sağlanmaktadır.

Aşağıdaki resimde, cihaz üreticileri ile geliştiriciler arasında ortak bilgi oluşturma gösterilmektedir. Bu, uyumlu bir ekosistem oluşturmada kritik bir adımdır:

Uygulama geliştiriciler ve cihaz üreticileri için dokunma teknolojisinin kullanım alanlarını gösteren şema

Şekil 1. Cihaz üreticileri ile geliştiriciler arasında bilgi oluşturma

Dokunma teknolojisi uygulama kontrol listesi

  1. Sabitleri uygulama

    • Dokunma teknolojisini uygulamak için kullanılan sabitlerin listesi.
  2. Temel öğeleri uygulama

    • HAL kompozisyon primitifleri için uygulama kılavuzu.
  3. HAL ile API arasında sabitleri eşleme

    • Herkese açık API sabitleri (çerçevede yer tutucular olarak adlandırılır) ile yer tutucuları uygulayan HAL sabitleri arasındaki eşleme önerileri.
    • Bu süreç hakkında daha fazla bilgi edinmek için Önerilen eşlemeye rehberlik edecek tasarım ilkeleri başlıklı makaleyi inceleyin.
  4. Donanımı değerlendirme

    • Hedef dokunma efektleriyle ilgili talimatlar. Donanımınızda hızlı kontroller yapmak için bu talimatları uygulayın.

Bu adımların her birini aşağıda daha ayrıntılı olarak inceleyeceğiz.

1. adım: Sabitler uygulayın

Cihazınızın dokunma teknolojisini uygulamak için minimum gereksinimleri karşılayıp karşılamadığını belirlemek üzere aşağıdaki kontrolleri yapın:

Dokunma geri bildirimi uygulama sürecinin akış şeması

Şekil 2. Efektleri uygulama

Temel öğeleri uygulama adımlarının akış şeması

Şekil 3. İlkelleri uygulama

Aşağıdaki dokunma sabitlerinin uygulama durumunu kontrol edin.

Dokunma teknolojisi sabitleri Konumlar ve özetler
EFFECT_TICK, EFFECT_CLICK, EFFECT_HEAVY_CLICK, EFFECT_DOUBLE_CLICK VibrationEffect sınıf
VibrationEffect içindeki dokunma sabitleri, giriş etkinlikleri kavramı içermez ve kullanıcı arayüzü öğeleri içermez. Sabitler, createPredefined() tarafından çağrılan EFFECT_CLICK ve EFFECT_HEAVY_CLICK gibi enerji düzeyi kavramlarını içerir.

Aşağıda açıklanan alternatif titreşimler, VibrationEffect sabitlerini uygulamayan cihazlarda gerçekleştirilir. Bu yapılandırmaları, bu tür cihazlarda en iyi performansı sağlayacak şekilde güncellemeniz önerilir.

  • EFFECT_CLICK

    VibrationEffect.createWaveform ile oluşturulan dalga biçimi titreşimi ve frameworks/base/core/res/res/values/config.xml##config_virtualKeyVibePattern'da yapılandırılmış zamanlamalar.

  • EFFECT_HEAVY_CLICK

    VibrationEffect.createWaveform ile oluşturulan dalga biçimi titreşimi ve frameworks/base/core/res/res/values/config.xml##config_longPressVibePattern'te yapılandırılmış zamanlamalar.

    • EFFECT_DOUBLE_CLICK

    VibrationEffect.createWaveform ile oluşturulan dalga biçimi titreşimi ve zamanlamalar (0, 30, 100, 30).

  • EFFECT_TICK

    VibrationEffect.createWaveform ile oluşturulan dalga biçimi titreşimi ve frameworks/base/core/res/res/values/config.xml##config_clockTickVibePattern'da yapılandırılmış zamanlamalar.

Dokunsal geri bildirimi test etme adımlarının akış şeması

Şekil 4. Geri bildirim sabitlerini uygulama

Aşağıdaki herkese açık geri bildirim sabitlerinin durumunu kontrol edin.

Dokunma teknolojisi sabitleri Konumlar ve özetler
CLOCK_TICK, CONTEXT_CLICK, KEYBOARD_PRESS, KEYBOARD_RELEASE, KEYBOARD_TAP, LONG_PRESS, TEXT_HANDLE_MOVE, VIRTUAL_KEY, VIRTUAL_KEY_RELEASE, CONFIRM, REJECT, GESTURE_START, GESTURE_END HapticFeedbackConstants sınıfı
HapticFeedbackConstants'deki dokunma sabitleri, performHapticFeedback() tarafından çağrılan KEYBOARD_PRESS ve KEYBOARD_RELEASE gibi belirli kullanıcı arayüzü öğeleriyle giriş etkinliklerine yardımcı olur.

2. Adım: Temel öğeleri uygulayın

VibrationEffect.Composition içindeki dokunma duyusu ilkelleri, geliştiricilerin addPrimitive(int primitiveId, float scale, int delay) aracılığıyla kullanabileceği ölçeklenebilir yoğunluğa sahiptir. İlkeler iki kategoriye ayrılabilir:

  • Kısa primitifler: Genellikle 20 ms'den kısa süreli primitifler. Bunlar CLICK, TICK ve LOW_TICK'dir.

  • Titreşim primitifleri: Genellikle kısa primitiflerden daha uzun süreli olan, değişen genlik ve frekansa sahip primitifler. Bunlar SLOW_RISE, QUICK_RISE, QUCK_FALL, THUD ve SPIN.

Kısa primitifler

Kısa primitifler, titreşim motoru çıkışı ivme profili ile açıklanabilir. Kullanılan mutlak sıklık, aktüatörün rezonans frekansına bağlı olarak her primitif için değişir. Donanım kurulumu ve çıkışı ölçme araçları hakkında daha fazla bilgi için Test ekipmanını kurma başlıklı makaleyi inceleyin.

Kısa titreşimler için değerli bir kalite metriği, Şekil 5'te gösterilen darbe/zil oranıdır (PRR). PRR, genliğin zirve genliğinin% 10'una düştüğü süre aralığı içindeki sinyal tarafından tanımlanan ana darbe ile genliğin zirve genliğinin% 10'undan zirve genliğinin% 1'inden azına düştüğü sinyal tarafından tanımlanan halka darbesi arasındaki oran olarak tanımlanır. PRR hakkında daha fazla bilgi için Dalgalı formunu analiz etme başlıklı makaleyi inceleyin. Sonuçları analiz etme ve karşılaştırma hakkında daha fazla bilgi için Performans haritasını kullanarak sonuçları karşılaştırma başlıklı makaleyi inceleyin.

Nabız/Çınlama Oranı

Şekil 5. Nabız/zil sesi oranı tanımı

Kullanıcı girişi geri bildirimi olarak kısa primitifler uygulayın veya yumuşak dokular oluşturmak için daha uzun kompozisyonlarda oynatın. Bu, genellikle sık sık tetiklendikleri ve arka arkaya hızlı bir şekilde oynatıldıkları anlamına gelir. Tek bir kısa primitifin algılanan yoğunluğu, daha büyük efekt yoğunluğunu artırabilir. Bu nedenle, tek bir onay işareti veya düşük onay işareti ilkelini daha büyük bir kompozisyonla (ör. art arda 100 onay işareti) kalibre edin.

Tıklama primitifi

Tıklama ilkel öğesi, genellikle kısa sürede maksimum çıkışa ulaşmak için cihazın rezonans frekansına yakın bir yerde çalışan güçlü ve net bir efekttir. Diğer primitiflerden daha güçlü ve daha derin olup maksimum yoğunlukta çalışır.

Motorun kısa sürede hızlanması ve yavaşlaması için varsa başlangıçta motor aşırı hızını, sonunda ise etkin frenlemeyi kullanın. Bazı motorlarda sinüs dalgası yerine kare dalga kullanmak daha hızlı hızlanma sağlayabilir. Şekil 6'da, tıklama bileşeni için örnek bir çıkış hızlandırma profili gösterilmektedir:

Basit çıkış hızlandırma profilini tıklayın

Şekil 6. Tıklama ilkel öğesi için çıkış hızlandırma profili örneği

Parametre Yönerge
Süre

Hedef: 12 ms

Sınır: < 30 ms

En yüksek çıkış hızlandırması

Hedef: 2 G

Sınır: > 1 G

Sıklık Yaklaşık olarak rezonans frekansında

Kene ilkel öğesi (hafif kene)

Tik primitifi, genellikle daha yüksek bir frekans aralığında çalışan keskin ve kısa bir efekttir. Bu ilkel, kısa bir kuyruğu olan daha yüksek bir sıklıktaki orta yoğunlukta bir tıklama olarak da açıklanabilir. Motorun aşırı hızını kullanarak veya ilk başlangıç için kare dalga kullanarak kısa bir yükselme süresine ulaşmak ve ofsette etkin frenleme yapmak için de aynı kılavuz geçerlidir. Şekil 7'de, tik primitifi için örnek bir çıkış hızlandırma profili gösterilmektedir:

Basit çıkış hızlandırma profilini işaretleyin

Şekil 7. Tik primitifi için çıkış hızlandırma profili örneği

Parametre Yönerge
Süre

Hedef: 5 ms

Sınır: < 20 ms

En yüksek çıkış hızlandırması

Hedef: CLICK'ün yarısı, 1 G

Sınır: 0,5 GB ile 1 GB arasında

Sıklık

Hedef: 2x rezonans frekansı

Sınır: < 500 Hz

Düşük onay işareti ilkel

Düşük tik primitifi, hafif tikin daha yumuşak ve zayıf bir sürümüdür. Etkiye daha fazla hacim kazandırmak için daha düşük bir frekans aralığında çalışır. Bu primitif, dinamik geri bildirim için tekrar tekrar kullanılması amaçlanan, daha düşük bir sıklıktaki orta yoğunlukta bir tıklama olarak da açıklanabilir. Motor aşırı hızlandırması veya ilk başlangıç için kare dalga kullanarak kısa bir yükselme süresine ulaşmak için de aynı yönergeler geçerlidir. Şekil 8'de, düşük tıklama primitifi için örnek bir çıkış hızlandırma profili gösterilmektedir:

Düşük tik primitif çıkış hızlandırması profili

Şekil 8. Düşük tik primitifi için çıkış hızlandırma profili örneği

Parametre Yönerge
Süre

Hedef: 12 ms

Sınır: < 30 ms

En yüksek çıkış hızlandırması

Hedef: TICK'ün 1/4'ü, 0,25 g

Sınır: 0,2 ila 0,5 GB

Sıklık

Hedef: 2/3 rezonans frekansı

Sınır: < 100 Hz

Chirp temel öğeleri

Chirp primitifleri, voltaj seviyesi ve titreşim sıklığı için giriş sinyalleriyle açıklanabilir. Motorun farklı frekans aralıklarında sağlayabileceği ivme, aktüatörün frekans yanıt eğrisine bağlı olarak değişir. Sıklık aralıkları ve voltaj seviyelerinin cihaza göre ayarlanması gerekir.

Yavaş artış temel öğesi

Yavaş artış, yumuşak bir başlangıç ve tarama boyunca sürekli artan titreşim yoğunluğuyla yukarı doğru yavaş bir genlik ve frekans taramasıdır. Hem genlik hem de sıklık için tutarlı bir tarama yapılarak, rezonans dışında çalışan daha düşük bir sıklık aralığı kullanılarak uygulanabilir. Şekil 9'da, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)

Yavaş artış ilkel işlevi için giriş parametreleri ve çıkış ivme profili

Şekil 9. Yavaş artış ilkel işlevi için giriş parametreleri ve çıkış hızlandırma profili örneği

Motorun frekans yanıtı sınırlıysa (rezonans frekansından yeterince güçlü değilse) alternatif bir uygulama, rezonans frekansının 1/2 ila 1 katı arasında bir sinüs taramasıdır. Motor rezonansı, sonunda sinyal zirvesine ulaşılmasına katkıda bulunur.

Parametre Yönerge
Süre

Hedef: 500 ms

Tolerans: 20 ms

En yüksek çıkış hızlandırması

Hedef: 0,5 G

Sınır: 0,5 GB ile 1 GB arasında

Sıklık

Hedef: Rezonans frekansının 1/2 ila 2/3'ü

Alternatif: 1/2 ile rezonans frekansı

Hızlı artış temel öğesi

Hızlı artış, yumuşak başlangıç ve tarama boyunca sürekli artan titreşim yoğunluğuyla yukarı doğru daha hızlı bir genlik ve frekans taramasıdır. Çıkış ivmesi ve titreşim frekansı hedefleri, daha kısa sürede elde edilen yavaş artış ilkeliyle aynı olmalıdır. Şekil 10'da, titreşim giriş parametreleri ve yavaş artış ilkel işlevi için örnek bir çıkış ivme profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)

Hızlı artış ilkel işlevi için giriş parametreleri ve çıkış ivme profili

Şekil 10. Hızlı artış ilkel işlevi için giriş parametreleri ve çıkış ivme profili örneği

Parametre Yönerge
Süre

Hedef: 150 ms

Tolerans: 20 ms

En yüksek çıkış hızlandırması

Hedef: SLOW_RISE ile aynı

Sınır: SLOW_RISE ile aynı

Sıklık

Hedef: SLOW_RISE ile aynı

Alternatif: SLOW_RISE ile aynı

Hızlı düşme temel öğesi

Hızlı düşüş, yumuşak bir başlangıçla aşağı doğru hızlı bir genlik ve frekans süpürme hareketidir. Motor, en yüksek çıkış hızına ulaşmak için hızlanırken başlangıç noktası olarak daha yüksek bir sıklık kullanabilirsiniz. Frekans, yükselme süresi boyunca bile tarama boyunca sürekli olarak azalmalıdır. Şekil 11'de, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)

Hızlı düşme ilkel öğesi için giriş parametreleri ve çıkış ivme profili

Şekil 11. Hızlı düşüş ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili örneği

Parametre Yönerge
Süre

Hedef: 100 ms

Tolerans: 20 ms

En yüksek çıkış hızlandırması

Hedef: 1 G

Sınır: 0,5 ile 2 GB arasında

Sıklık

Hedef: Rezonans frekansının 2 ila 1 katı

Vurma sesi temel öğesi

Gürültü, içi boş ahşabı tıklatmanın fiziksel hissini taklit eden, tok ve düşük bir vurmalı efekttir. Bu temel öğe, efekte daha fazla hacim sağlamak için düşük tik temel öğesine benzer şekilde düşük bir frekans aralığında çalışır. Vurma sesi ilkelini, daha düşük bir frekans aralığında (tercihen 100 Hz'den az) aşağı doğru bir genlik ve frekans taraması olarak uygulayabilirsiniz. Şekil 12'de, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)

&quot;Thump&quot; (vuruntu) ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili

Şekil 12. Thud ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili örneği

Motorun frekans yanıtı sınırlıysa alternatif bir uygulama, rezonans frekansında tam yoğunlukta bir sürücü sinyali ile başlamak ve algılanmaya devam edebilecek en düşük frekansa düşürmektir. Bu yaklaşım, titreşimin hissedilebilmesi için düşük frekansta sürücü sinyali yoğunluğunun artırılması gerekebilir.

Parametre Yönerge
Süre

Hedef: 300 ms

Tolerans: 20 ms

En yüksek çıkış hızlandırması

Hedef: 0,25 G

Sınır: 0,2 ila 0,5 GB

Sıklık

Hedef: Rezonans frekansının 1/2 ila 1/3'ü

Alternatif: Rezonans frekansının 1 ila 1/2'si

Döndürme temel öğesi

Dönüş, ortada hafif bir vurguyla hızlı bir şekilde aşağı yukarı dönen bir momentumu simüle eder. Dönme, genliği ve frekansı bağımsız olarak ters yönlerde kaydırarak ve ardından ters hareketi uygulayarak uygulanabilir. Daha düşük bir frekans aralığı (tercihen 100 Hz'den az) kullanmanız önemlidir. Şekil 13'te, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlandırma profili gösterilmektedir. (Kırmızı çizgi, soldaki genlik etiketleriyle eşleşir ve titreşim genliğinin zamanla nasıl değiştiğini gösterir. Mavi çizgi, sağdaki frekans etiketleriyle eşleşir ve titreşim frekansının zaman içinde nasıl değiştiğini gösterir.)

Dönen ve kararsız bir his elde etmek için spin ilkelinin art arda iki kez veya kompozisyonlarda üç kez çağrılmasını öneririz.

Motorun frekans yanıtı sınırlıysa alternatif bir uygulama, rezonans frekansının 1/2 ila 1 katı arasında hızlı bir sinüs taraması yapmaktır. Motor rezonansı, sinyale otomatik olarak ortada bir vurgu verir.

Dönme ilkel öğesi için giriş parametreleri ve çıkış hızlandırma profili

Şekil 13. Dönme ilkel için giriş parametreleri ve çıkış hızlandırma profili örneği

Parametre Yönerge
Süre

Hedef: 150 ms

Tolerans: 20 ms

En yüksek çıkış hızlandırması

Hedef: 0,5 G

Sınır: 0,25 ile 0,75 GB arasında

Sıklık

Hedef: 2/3 ila 1/3, ardından tekrar rezonans frekansının 1/2'sine

Alternatif: 2/3 ile 1x arasında, ardından rezonans frekansının 1/2'sine geri dönme

3. adım: Sabitleri HAL ile API arasında eşleyin

3. adımda, herkese açık HAL sabitleri ile API sabitleri arasında önerilen eşlemeler sunulur. 1. adımda değerlendirilen donanım HAL sabitlerini uygulamıyorsa benzer çıkışlar oluşturmak için 1. adımda açıklanan yedek kalıpları güncellemek üzere 3. adımı kullanın. Eşleme işlemine iki farklı varsayılan model yardımcı olur:

  • Dijital model (basit)

    • Amplitude, 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 genlikleri 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ı gelir. 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ş etkinlikleri için 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) birleştirilmesi önerilir.

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

Varyasyonu artırma
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.

4. adım: Donanımı değerlendirin

Donanım değerlendirmesi, bu değerlendirme için 1, 2 ve 3 Etkileri olarak etiketlenen üç dokunma etkisini tanımlamayı içerir.

1. efekt: Önceden tanımlanmış kısa dokunma sabitleri

VibrationEffect.EFFECT_CLICK sabit, 2. adımda sağlanan HAL-API eşlemesindeki temel etki veya ortak paydadır. En çok kullanılan efektle (HapticFeedbackConstants.KEYBOARD_PRESS) eşlenir. Bu etkiyi değerlendirmek, hedef cihazınızın net dokunma için hazır olup olmadığını belirlemenize yardımcı olur.

2. efekt: Kısa özel dokunma etkisi

VibrationEffect.createOneShot(20,255) sabit, özel dokunma efektleri içindir. Kısa, tek özel impulslar için süreyi tanımlamak üzere önerilen maksimum eşik 20 ms'dir. 20 ms'den uzun tek bir darbe, vızıltılı bir titreşim olarak algılandığı için önerilmez.

Kısa özel dokunma etkisinin dalga formu

Şekil 19. Kısa özel dokunma etkisi

3. efekt: Genlik değişimi içeren uzun özel dokunma efekti

VibrationEffect.createWaveform(timings[], amplitudes[], int repeat) sabit, genlik değişimi olan uzun özel efektler içindir. Özel dokunma efektleri için değişen genlikler üretme özelliği, cihazın zengin dokunma özellikleri açısından değerlendirilmesini sağlayan göstergelerden biridir. Önerilen timings [] ve amplitudes [] değerleri sırasıyla {500, 500} ve {128, 255}'dır. Bu değerler, 500 ms örnekleme hızıyla% 50 ile %100 arasında artan bir genlik trendi sunar.

Genlik değişimi içeren dokunma etkisi dalga şekli

Şekil 20. Genlik değişimi içeren uzun özel dokunma etkisi

3. efekt için genlik kontrolünün donanım özelliklerini kontrol etmek üzere Vibrator.hasAmplitudeControl() yöntemini kullanın. Sonuç, VibrationEffect.createWaveform sinyalini istenen şekilde değişen genlikle yürütmek için true olmalıdır.

Öznel dokunma etkisi değerlendirmesinin akış şeması

Şekil 21. 1, 2 ve 3 numaralı dokunma etkisinin özne değerlendirmesi

Öznel değerlendirme yapma

Hızlı bir tutarlılık kontrolü için önce öznel bir değerlendirme yapın. Subjektif değerlendirmenin amacı, cihazın insan tarafından algılanabilir genliklere sahip dokunma hissi oluşturup oluşturamayacağını belirlemek için dokunma etkilerinin genliğini gözlemlemektir.

Bu kavram etrafında yapılandırılmış belirli bir soru şu şekildedir: Cihaz, kullanıcılara beklendiği gibi algılanabilir dokunma etkileri sağlayabiliyor mu? Bu soruyu yanıtlamak, kullanıcıların hissedemediği algılanamayacak dokunma hisleri veya dalga formlarının istenen şekilde desen oluşturmadığı istenmeyen dokunma hisleri gibi başarısız dokunma hislerinden kaçınmanıza yardımcı olur.

Gelişmiş değerlendirme yapma

İleri düzey kalite değerlendirmeleri yapmanız önemle tavsiye edilir. Gelişmiş kalite değerlendirmeleri, kaliteli dokunma teknolojisi uygulamak için dokunma efektlerinin ölçülebilir özelliklerini karakterize eder. İşlem tamamlandığında cihaz üreticileri mevcut dokunma durumunu teşhis edebilecek. Bu sayede genel kaliteyi iyileştirmeye yönelik hedefler belirleyebilirler. Donanım değerlendirmesi başlıklı makaleyi inceleyin.