Введение#
Драйверы - это способ управления значениями свойств с помощью функции или математического выражения.
По сути, драйверы состоят из:
Конфигурация драйвера, которая задаёт ноль, одно или несколько входных значений, используя другие свойства или каналы преобразования объектов, и объединяет их с помощью предопределённой математической функции или пользовательского выражения Python.
Анимационная F-кривая, которая сопоставляет вывод конфигурации драйвера с конечным значением для применения к свойству драйвера.
Например, вращение Объекта 1 может контролироваться масштабом Объекта 2. Тогда можно сказать, что масштаб Объекта 2 управляется драйвером вращением Объекта 1.
Драйверы могут не только напрямую устанавливать значение одного свойства на значение другого, но и комбинировать несколько значений с помощью фиксированной функции или выражения Python и далее изменять их с помощью заданной вручную кривой и/или стека модификаторов.
Драйверы являются чрезвычайно мощным инструментом для создания ригов и обычно используются для управления трансформацией костей и влиянием ключей формы, ограничений действий и модификаторов, часто используя пользовательские свойства в качестве входных данных.
Graph View#
В основной области Редактора драйверов отображается 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 неизвестен. Это важно учитывать при работе с тяжёлыми сценами и при совместном использовании файлов с другими людьми. См. также: Автозапуск.