Dokunsal sabitler ve temel öğeler, vibratör HAL 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 minimum koşulları karşılayıp karşılamadığını belirlemek üzere aşağıdaki kontrolleri yapın:
Şekil 2. Efektleri uygulama
Şekil 3. Temel öğeleri uygulama
Sabit değerleri uygulama
VibrationEffect'teki dokunsal sabitler, geliştiriciler tarafından VibrationEffect.createPredefined() aracılığıyla kullanılabilir. Aşağıdaki dokunsal sabitlerin uygulanma durumunu kontrol edin.
| Dokunma teknolojisi sabitleri | Konumlar ve özetler |
|---|---|
EFFECT_TICK, EFFECT_CLICK,
EFFECT_HEAVY_CLICK,
EFFECT_DOUBLE_CLICK |
VibrationEffect
classVibrationEffect içindeki dokunsal sabitler, giriş etkinlikleriyle ilgili herhangi bir kavram içermez ve kullanıcı arayüzü öğeleri yoktur. Sabitler, EFFECT_CLICK ve EFFECT_HEAVY_CLICK gibi enerji seviyeleri kavramını içerir. Bunlara
createPredefined() adı verilir. |
Aşağıda açıklanan alternatif titreşimler, VibrationEffect sabitlerini uygulamayan cihazlarda gerçekleştirilir. Bu yapılandırmaların, söz konusu cihazlarda en iyi performansı gösterecek şekilde güncellenmesi önerilir.
EFFECT_CLICKVibrationEffect.createWaveformile oluşturulan dalga biçimli titreşim veframeworks/base/core/res/res/values/config.xml##config_virtualKeyVibePatternadresinde yapılandırılan zamanlamalar.EFFECT_HEAVY_CLICKVibrationEffect.createWaveformile oluşturulan veframeworks/base/core/res/res/values/config.xml##config_longPressVibePattern'de yapılandırılan zamanlamalara sahip dalga biçimli titreşim.EFFECT_DOUBLE_CLICK
VibrationEffect.createWaveformile oluşturulan titreşim dalga biçimi ve zamanlamalar (0, 30, 100, 30).EFFECT_TICKVibrationEffect.createWaveformile oluşturulan dalga biçimli titreşim veframeworks/base/core/res/res/values/config.xml##config_clockTickVibePatternadresinde yapılandırılan zamanlamalar.
Şekil 4. Geri bildirim sabitlerini uygulama
HapticFeedbackConstants içindeki 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, KEYBOARD_PRESS ve KEYBOARD_RELEASE gibi belirli kullanıcı arayüzü öğeleriyle giriş etkinliklerine yardımcı olan dokunsal sabitleri içerir. Bu öğeler performHapticFeedback() tarafından çağrılır. |
Temel öğeleri uygulama
VibrationEffect.Composition
içindeki dokunsal öğeler, geliştiricilerin addPrimitive(int primitiveId, float scale, int delay) aracılığıyla kullanabileceği ölçeklenebilir yoğunluğa sahiptir.
Temel öğeler iki kategoriye ayrılabilir:
Kısa temel öğeler: Genellikle 20 ms'den kısa süren temel öğelerdir. Bunlar
CLICK,TICKveLOW_TICK'dir.Chirp temel öğeleri: Genliği ve sıklığı değişen, genellikle kısa temel öğelerden daha uzun süreli olan temel öğeler. Bunlar
SLOW_RISE,QUICK_RISE,QUCK_FALL,THUDveSPIN'dir.
Shorts videolarını remiksleme
Kısa titreşimler, titreşim motorunun çıkış hızlanma profiliyle tanımlanabilir. Kullanılan mutlak sıklık, aktüatörün rezonans sıklığına bağlı olarak her bir öğe için değişir. Donanım kurulumu ve çıkışı ölçmeye yönelik 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, 5. şekilde gösterilen zil çalma oranıdır (PRR). PRR, genliğin tepe genliğinin% 10'una düştüğü süre penceresindeki sinyalle tanımlanan ana darbe ile genliğin tepe genliğinin% 10'undan tepe genliğinin% 1'inden daha azına düştüğü sinyalle tanımlanan çınlama darbesi arasındaki oran olarak tanımlanır. PRR formülü şöyledir:
PRR hakkında daha fazla bilgi için Dalga biçimini analiz etme başlıklı makaleyi, sonuçları analiz etme ve karşılaştırma hakkında daha fazla bilgi için ise Performans haritasını kullanarak sonuçları karşılaştırma başlıklı makaleyi inceleyin.
Şekil 5. Çalma oranı tanımı
Yumuşak dokular oluşturmak için kısa temel öğeleri kullanıcı girişi geri bildirimi olarak veya daha uzun kompozisyonlarda kullanın. Bu nedenle, genellikle sık sık tetiklenir ve hızlı bir şekilde oynatılırlar. Tek bir kısa öğenin algılanan yoğunluğu, daha büyük efekt yoğunluğunu artırabilir. Bu nedenle, tek bir tik veya düşük tikli bir öğeyi daha büyük bir kompozisyonla (örneğin, 100 ardışık tik) kalibre edin.
Tıklama öğesi
Tıklama primi, kısa sürede maksimum çıkışa ulaşmak için genellikle bir cihazın rezonans frekansına yakın çalışan güçlü ve net bir efektir. Diğer temel öğelerden daha güçlü ve derin olup maksimum harcanan efor düzeyinde çalışır.
Kısa bir motor yükselme ve düşme süresi elde etmek için varsa başlangıçta motor aşırı hızını, sonunda ise aktif 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 öğ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ış ivmesi |
Hedef: 2G Sınır: > 1 GB |
| Sıklık | Yaklaşık olarak rezonans frekansında |
Tick primitive (light tick)
Tık sesi, genellikle daha yüksek bir frekans aralığında çalışan keskin ve kısa bir efekttir. Bu temel öğe, kısa kuyruklu ve daha yüksek sıklıkta orta yoğunluklu bir tıklama olarak da tanımlanabilir. Aynı kılavuz, motor aşırı hızını veya başlangıç için kare dalgayı kullanarak kısa bir yükselme süresi elde etme ve ofsette aktif frenleme için de geçerlidir. Şekil 7'de, tik öğesi için örnek bir çıkış hızlanma profili gösterilmektedir:
Şekil 7. İşaret ilkel öğesi 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ış ivmesi |
Hedef: Sınır: 0,5 G ile 1 G arasında |
| Sıklık |
Hedef: 2 kat rezonans frekansı Sınır: < 500 Hz |
Düşük tick primitive
Düşük tik ilkel öğesi, efektin daha dolgun olmasını sağlamak için daha düşük bir frekans aralığında çalışan, hafif tikin daha yumuşak ve zayıf bir versiyonudur. Bu temel öğe, dinamik geri bildirim için tekrar tekrar kullanılmak üzere tasarlanmış, daha düşük sıklıkta orta yoğunluklu bir tıklama olarak da tanımlanabilir. Aynı yönergeler, motor aşırı yüklemesi veya başlangıçta kare dalga kullanarak kısa yükselme süresi elde etmek için de geçerlidir. Şekil 8'de, düşük tik ilkel öğesi için örnek bir çıkış hızlanma profili gösterilmektedir:
Şekil 8. Düşük tikli temel öğe 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ış ivmesi |
Hedef: 1/4 Sınır: 0,2 G ile 0,5 G arasında |
| Sıklık |
Hedef: 2/3 rezonans frekansı Sınır: < 100 Hz |
Chirp temel öğeleri
Chirp temel öğeleri, voltaj seviyesi ve titreşim frekansı için giriş sinyalleriyle tanımlanabilir. Motorun farklı frekans aralıklarında üretebileceği hızlanma, aktüatörün frekans tepki eğrisine bağlı olarak değişir. Frekans aralıkları ve voltaj seviyeleri cihaz bazında ayarlanmalıdır.
Yavaş yükselme temel öğesi
Yavaş yükselme, yumuşak başlangıçlı ve genliği ile frekansı yavaş yavaş artan, titreşim yoğunluğu sürekli yükselen bir taramadır. Rezonans dışında çalışan daha düşük bir frekans aralığı kullanılarak hem genliğin hem de frekansın tutarlı bir şekilde taranmasıyla uygulanabilir. Şekil 9'da, bu uygulama için giriş parametreleri ve örnek bir çıkış hızlanma 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 zamanla nasıl değiştiğini gösterir.
Şekil 9. Giriş parametreleri ve yavaş yükselen öğe için çıkış hızlanma profili örneği
Motorun frekans yanıtı sınırlıysa (rezonans frekansının yeterince uzağında değilse) alternatif bir uygulama, rezonans frekansının 1/2 katından 1 katına kadar olan bir sinüs taramasıdır. Motor rezonansı, sinyal tepe noktasına ulaşılmasına katkıda bulunur.
| Parametre | Yönerge |
|---|---|
| Süre |
Hedef: 500 ms Tolerans: 20 ms |
| En yüksek çıkış ivmesi |
Hedef: 0,5 G Sınır: 0,5 G ile 1 G arasında |
| Sıklık |
Hedef: Rezonans frekansının 1/2 ila 2/3'ü Alternatif: Rezonans frekansının 1/2'si |
Hızlı yükselme temel öğesi
Hızlı yükselme, yumuşak başlangıçlı ve süpürme boyunca titreşim yoğunluğu sürekli artan, daha hızlı bir genlik ve frekans süpürmesidir. Çıkış hızlanması ve titreşim frekansı hedefleri, daha kısa sürede elde edilen yavaş yükselme hedefiyle aynı olmalıdır. 10. şekilde, titreşim giriş parametreleri ve yavaş yükselme temel öğesi için örnek bir çıkış hızlanma 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 zamanla nasıl değiştiğini gösterir.
Şekil 10. Giriş parametreleri ve hızlı yükselme öğesi için çıkış hızlanma profili örneği
| Parametre | Yönerge |
|---|---|
| Süre |
Hedef: 150 ms Tolerans: 20 ms |
| En yüksek çıkış ivmesi |
Hedef: Sınır: |
| Sıklık |
Hedef: Alternatif: |
Hızlı düşme öğesi
Hızlı düşüş, yumuşak bir başlangıçla hızlı bir genlik ve frekans düşüşüdür. Motor, maksimum çıkış hızlanmasına ulaşmak için hızlanırken başlangıç noktası olarak daha yüksek bir sıklık kullanabilirsiniz. Frekans, artış süresi boyunca bile tarama genelinde sürekli olarak azalmalıdır. Şekil 11'de, giriş parametreleri ve bu uygulama için örnek bir çıkış hızlanma 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 zamanla nasıl değiştiğini gösterir.
Şekil 11. Giriş parametreleri ve hızlı düşme öğesi için çıkış hızlandırma profili örneği
| Parametre | Yönerge |
|---|---|
| Süre |
Hedef: 100 ms Tolerans: 20 ms |
| En yüksek çıkış ivmesi |
Hedef: 1 GB Sınır: 0,5 GB ile 2 GB arasında |
| Sıklık |
Hedef: Rezonans frekansının 2 katı ile 1 katı arasında |
Thud primitive
Gümleme, boş bir tahtaya vurmanın fiziksel hissini simüle eden, düşük ve vurmalı bir efekt. Bu temel öğe, efektin daha belirgin olması için düşük frekans aralığında çalışır. Gümleme öğesini, daha düşük bir frekans aralığında (tercihen 100 Hz'den az) genlik ve frekans düşüşü olarak uygulayabilirsiniz. 12. şekilde, giriş parametreleri ve bu uygulama için örnek bir çıkış hızlanma 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 zamanla nasıl değiştiğini gösterir.
Şekil 12. Giriş parametreleri ve thud öğesi için çıkış hızlandırma profili örneği
Motorun frekans yanıtı sınırlıysa alternatif bir uygulama olarak rezonans frekansında tam yoğunluklu bir sürücü sinyaliyle başlayıp algılanmaya devam edebilecek en düşük frekansa düşebilirsiniz. Bu yaklaşım, titreşimin hissedilmesi için düşük frekansta sürücü sinyal yoğunluğunun artırılmasını gerektirebilir.
| Parametre | Yönerge |
|---|---|
| Süre |
Hedef: 300 ms Tolerans: 20 ms |
| En yüksek çıkış ivmesi |
Hedef: 0,25 G Sınır: 0,2 G ile 0,5 G arasında |
| Sıklık |
Hedef: Rezonans frekansının 1/2 ila 1/3'ü Alternatif: Rezonans frekansının 1 katı ila 1/2 katı |
Dönüş temel öğesi
Döndürme, ortada hafif bir vurguyla hızlı yukarı ve aşağı döndürmenin dönme momentumunu simüle eder. Dönme hareketi, genlik ve frekansın bağımsız olarak, ters yönlerde süpürülmesi ve ardından ters hareketle uygulanabilir. Daha düşük bir frekans aralığı (tercihen 100 Hz'den az) kullanmanız önemlidir. 13. şekilde, giriş parametreleri ve bu uygulama için örnek bir çıkış hızlanma 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 zamanla nasıl değiştiğini gösterir.
Dönme ve dengesizlik hissi elde etmek için dönme öğesinin art arda iki kez veya kompozisyonlarda üç kez çağrılmasını öneririz.
Motorun frekans yanıtı sınırlıysa alternatif bir uygulama olarak rezonans frekansının 1/2 katından 1 katına kadar hızlı bir sinüs taraması yapıp geri dönmek gerekir. Motor rezonansı, sinyale otomatik olarak ortada bir vurgu verir.
Şekil 13. Giriş parametreleri ve döndürme öğesi için çıkış hızlandırma profili örneği
| Parametre | Yönerge |
|---|---|
| Süre |
Hedef: 150 ms Tolerans: 20 ms |
| En yüksek çıkış ivmesi |
Hedef: 0,5 G Sınır: 0,25 G ile 0,75 G arasında |
| Sıklık |
Hedef: 2/3 ila 1/3, ardından rezonans frekansının 1/2'sine geri dönün. Alternatif: 2/3 ila 1 kat, ardından rezonans frekansının 1/2'sine geri dönme |