Функция «Модуляция по ускорению руки» в Custom Curve
Иллюстрации того, как Модуляция по ускорению руки масштабирует скорость или чувствительность, пока рука разгоняется или замедляется, — см. Руководство.
Кривая ускорения
Пример движения выше воспроизводит взмах мышью с естественным физическим ускорением. Он замедлен на 90 %, чтобы его было удобнее рассмотреть.
Управление
Показания
Масштабирование модуляции по ускорению руки
Для масштабирования используется функция Хилла: она плавно и без разрывов сводит усиленные переходные процессы с исходным сигналом. Ускорение входит в неё в квадрате, поэтому отклик одинаков по обе стороны от нуля, как показывает пунктирная половина. Масштабировать при определяет, какое направление активно.
Преобразования чувствительности из физического ускорения
«Модуляция по ускорению руки» — инструмент для опытных пользователей, дающий больше контроля над поведением кривой. По сути она позволяет преобразованиям чувствительности, которые выполняет кривая, вести себя по-разному, когда вы разгоняете руку и когда замедляете её. Обычная кривая ускорения реагирует только на скорость мыши, но не на то, как она её набрала.
Физическое ускорение руки человека на мыши — это переходный процесс — масштабирование действует, только пока рука меняет скорость, и исчезает, как только движение становится равномерным.
Что показывают графики
- Кривая ускорения: показана примерная кривая чувствительности вместе с имитацией флика, воспроизведённой замедленно для наглядности. Движение сначала разгоняется медленно, затем быстрее, держится на пиковой скорости 45 дюйм/с и затем так же замедляется.
- при цели «Скорость»: кривая сжимается влево или растягивается вправо в зависимости от знака параметра «Масштаб».
- при цели «Чувствительность»: вся кривая поднимается или опускается — снова в зависимости от знака параметра «Масштаб».
Важно понимать, что это растяжение или сжатие не просто изображает математику, а является ею. Умножить скорость на коэффициент до того, как её прочитает кривая, — то же самое, что прочитать немодулированную скорость по кривой, сжатой на этот коэффициент. Этим же объясняется, почему статичная чувствительность (или плоский участок кривой) почти не реагирует в режиме «Скорость»: сжатие сдвигает кривую вбок, а плоская чувствительность одинакова и с модуляцией, и без неё.
- Масштабирование модуляции по ускорению руки: здесь показана внутренняя функция, сводящая физическое ускорение с входным сигналом. Она построена по ускорению, а не по времени, поэтому вся форма преобразования видна сразу целиком.
Параметры
- Масштаб & Предел: «Масштаб» определяет, насколько сильно должна разгоняться рука, прежде чем начнёт происходить что-то заметное. Это чувствительность функции к физическому ускорению вашей руки. «Предел» задаёт потолок эффекта, к которому отклик приближается, но никогда его не достигает.
- Масштабировать при: выбирает, происходит ли масштабирование, когда рука разгоняется или когда замедляется.
- Цель «Скорость»: умножает скорость до того, как её прочитает кривая. На выходе может получиться только та чувствительность, которая уже есть в кривой, — достигнутая при меньшей скорости руки, чем обычно. То есть недостижима никакая чувствительность, которой ваша кривая ещё не задаёт.
- Цель «Чувствительность»: умножает результат уже после чтения кривой. Кривая поднимается, а не сдвигается, и на короткое время достижимы значения чувствительности, которых в кривой нет вовсе.
Индикатор ускорения руки показывает одно и то же в обоих случаях, потому что измеряется в любом случае одна и та же величина, — разница лишь в том, к чему эта величина применяется.
Где это происходит в цепочке
Измерение берётся до кривой ускорения. При цели «Скорость» масштабирование применяется к скорости в этой точке; при цели «Чувствительность» — к чувствительности, которую вернула кривая, то есть складывается с ней.
Два практических замечания. Значение «Масштаба» зависит от DPI мыши: рекомендуется указать DPI каждой мыши на вкладке Устройства — тогда ускорение будет измеряться в реальных единицах, как в этой визуализации. Во-вторых, реальный сигнал мыши слишком зашумлён, чтобы дифференцировать его напрямую, поэтому драйвер сглаживает скорость, прежде чем брать скорость её изменения, — за это отвечает Сглаживание обнаружения — и этим же объясняется, почему такой настройки здесь нет: движение на этой странице порождается, а не измеряется, поэтому сглаживать нечего.
Несколько применений
Всё это возникает именно благодаря переходной модуляции и недостижимо одной лишь обычной кривой ускорения. Настройки указаны в виде Цель, знак «Масштаба» и Масштабировать при.
- Более широкое «окно» на коврике для быстрых фликов. Скорость, отрицательный «Масштаб», при «Ускорении». Деление скорости, пока рука разгоняется, удерживает чувствительность ниже того, что дала бы одна кривая, поэтому резкий флик проходит по экрану меньше при том же размахе по коврику. Флик можно бросать резче, имея запас до перелёта.
- Повышенная чувствительность только тогда, когда высокая скорость и ускорение совпадают. Скорость, положительный «Масштаб», при «Ускорении». Сжатие кривой влево делает её верхнее плато достижимым уже при меньшей скорости руки, но только пока рука энергично набирает скорость. Пресет 10, Modulated Jump построен именно так: «Масштаб» 1 и «Предел» 4 поверх ступенчатой кривой. Благодаря этому ускорение не затрагивает никакие движения, кроме предельно резких разворотов на 180°.
- Преобразование чувствительности только во время флика. Чувствительность, положительный «Масштаб», при «Ускорении». Поскольку масштабирование срабатывает уже после кривой, саму кривую можно оставить плоской: любые равномерные скорости тогда не масштабируются и читаются как одна-единственная чувствительность, а динамичный флик поднимает её на всё время переходного процесса. Пресет 17, модуляция чувствительности по ускорению руки делает ровно это при «Масштабе» 1 и «Пределе» 2,5.
- Сильное сглаживание без обычной для него «задержки движения». Скорость, отрицательный «Масштаб», при «Замедлении». Сглаживание дрожащего сигнала мыши повышает чувствительность, пока вы замедляете руку, ведь сглаживание усредняет с предыдущими значениями, — это и есть так называемый эффект «задержки движения». Деление скорости внутри кривой ускорения во время замедления руки снижает чувствительность быстрее, чем это сделало бы одно движение, полностью снимая недостаток и сохраняя уменьшенное дрожание.
- Более ровная чувствительность при быстром сопровождении влево-вправо. Скорость, отрицательный «Масштаб», при «Ускорении». Каждая смена направления — это заметное ускорение, поэтому деление срабатывает на каждой из них и удерживает чувствительность там, где иначе она поднималась бы по кривой ускорения. Получается динамическое «смещение» кривой, которое появляется только при резком физическом ускорении и отсутствует при равномерной скорости или более мягких ускорениях руки.