Введение

Драйверы - это способ управления значениями свойств с помощью функции или математического выражения.

По сути, драйверы состоят из:

  • Конфигурация драйвера, которая задаёт ноль, одно или несколько входных значений, используя другие свойства или каналы преобразования объектов, и объединяет их с помощью предопределённой математической функции или пользовательского выражения Python.

  • Анимационная F-кривая, которая сопоставляет вывод конфигурации драйвера с конечным значением для применения к свойству драйвера.

Например, вращение Объекта 1 может контролироваться масштабом Объекта 2. Тогда можно сказать, что масштаб Объекта 2 управляется драйвером вращением Объекта 1.

Драйверы могут не только напрямую устанавливать значение одного свойства на значение другого, но и комбинировать несколько значений с помощью фиксированной функции или выражения Python и далее изменять их с помощью заданной вручную кривой и/или стека модификаторов.

Драйверы являются чрезвычайно мощным инструментом для создания ригов и обычно используются для управления трансформацией костей и влиянием ключей формы, ограничений действий и модификаторов, часто используя пользовательские свойства в качестве входных данных.

Graph View

../../_images/animation_drivers_introduction_fcurve.png

Кривая драйвера в редакторе Драйверов.

В основной области Редактора драйверов отображается F-кривая, которая представляет функцию драйвера.

Ось X соответствует выходному значению конфигурации драйвера. Единицы измерения зависят от настройки.

Ось Y показывает значение, применённое к целевому свойству. Единицы измерения зависят от свойства.

На изображении примера, если значение драйвера равно 2.0, значение свойства будет равно 0.5.

F-кривая по умолчанию является картой идентичности, т.е. значение, выдаваемое конфигурацией драйвера, применяется к управляемому свойству без изменений. Если выходное значение драйвера равно 2.0, свойство будет иметь значение 2.0.

Функция драйвера может быть задана художественно с помощью кривых Безье или математически с помощью тригонометрических функций или полиномиальных выражений, таких как \(y = a + bx\). Кроме того, функция может быть процедурно модулирована шумом или циклическими повторениями. Более подробную информацию см. в Модификаторы.

Конфигурация драйверов

Панель драйверов отображает настройку драйвера.

Драйвер может иметь ноль, одну или несколько переменных. Переменные определяют, какие свойства, каналы преобразования объектов или относительные расстояния между объектами используются драйвером в качестве входных данных.

Тип драйвера определяет, как будут использоваться переменные. Тип может быть:

  • встроенной функцией: например, сумма значений переменных, или

  • скриптовым выражением: произвольное выражение Python, которое ссылается на переменные по их именам.

Эта конфигурация драйвера выводит одно значение, которое меняется при изменении переменных. Это значение затем вычисляется с помощью кривой функции драйвера для получения результата, который должен быть применен к свойству драйвера.

Notes on Scripted Expressions

Когда драйвер использует Scripted Expression, Blender может обработать его без использования полнофункционального интерпретатора Python, если он достаточно прост. Это означает, что драйверы быстро обрабатывают простые деления, сложения и другие «простые» выражения. Встроенные функции всегда обрабатываются нативно.

Полный список выражений, которые могут быть обработаны нативно, смотрите в Простые выражения.

Если выражение не простое, оно будет обрабатываться с помощью Python. Как следствие, драйвер будет работать медленнее, и существует риск безопасности, если автор кода Python неизвестен. Это важно учитывать при работе с тяжёлыми сценами и при совместном использовании файлов с другими людьми. См. также: Автозапуск.