Dokunma sabitleri ve primitifleri, titreşim HAL'i tarafından tanımlanır ve Android çerçevesi tarafından herkese açık API'lerle eşlenir. Cihazınızın dokunma teknolojisini uygulamak için gereken minimum koşulları karşılayıp karşılamadığını belirlemek üzere aşağıdaki kontrolleri yapın:
Şekil 2. Efektleri uygulama
Şekil 3. İlkelleri uygulama
Sabitleri uygulama
VibrationEffect'teki dokunsal sabitler, geliştiriciler tarafından VibrationEffect.createPredefined() aracılığıyla kullanılabilir. Aşağıdaki dokunsal sabitlerin uygulama durumunu kontrol edin.
Dokunma teknolojisi sabitleri | Konumlar ve özetler |
---|---|
EFFECT_TICK , EFFECT_CLICK ,
EFFECT_HEAVY_CLICK ,
EFFECT_DOUBLE_CLICK |
VibrationEffect sınıfVibrationEffect 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 seviyesi 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 veframeworks/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 veframeworks/base/core/res/res/values/config.xml##config_longPressVibePattern
'da 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 veframeworks/base/core/res/res/values/config.xml##config_clockTickVibePattern
'da yapılandırılmış zamanlamalar.
Şekil 4. Geri bildirim sabitlerini uygulama
HapticFeedbackConstants'taki dokunsal sabitler, geliştiriciler tarafından View.performHapticFeedback() aracılığıyla kullanılabilir. 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. |
Temel öğeleri uygulama
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
veLOW_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
veSPIN
.
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'nin formülü:
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.
Ş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 primitivi
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:
Ş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:
Ş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: 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 sıklık 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:
Ş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: 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.)
Ş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.)
Şekil 10. Hızlı artış ilkel öğesi 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: Sınır: |
Sıklık |
Hedef: Alternatif: |
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.)
Şekil 11. Hızlı düşüş ilkel öğesi için giriş parametreleri ve çıkış ivme 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 ila 2 GB |
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 simüle 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.)
Şekil 12. "thud" ilkel 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 yukarı ve aşağı 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ı önermiştik.
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.
Şekil 13. Dönme ilkeliyle ilgili 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 ila 1x, ardından tekrar rezonans frekansının 1/2'sine |