Introdução#

Drivers são uma maneira de controlar valores de propriedades por meio de uma função, ou uma expressão matemática.

Efetivamente, drivers consistem em:

  • Uma configuração de driver que especifica zero, um ou mais valores de entrada usando outras propriedades ou canais de transformação de objeto, e combina-os usando uma função matemática predefinida ou uma expressão Python personalizada.

  • Uma F-Curve de animação que mapeia a saída da configuração do driver para o valor final para aplicar para a propriedade dirigida.

Como um exemplo, a rotação do Objeto 1 pode ser controlada pela escala do Objeto 2. Diz-se então que a escala do Objeto 2 dirige a rotação do Objeto 1.

Drivers podem não apenas definir o valor de uma propriedade para o valor de outra diferente, eles podem também combinar múltiplos valores usando uma função fixa ou uma expressão Python e modulá-lo ainda mais com uma curva definida manualmente e/ou uma pilha de modificador.

Drivers são uma ferramenta extremamente poderosa para construir rigs e são tipicamente usados para dirigir transformações em bones e a influência de shape keys, restrições de ação e modificadores, frequentemente usando propriedades personalizadas como entradas.

Graph View#

../../_images/animation_drivers_introduction_fcurve.png

Curva de driver no editor de Drivers.#

A área principal do editor de Drivers mostra uma F-Curve que representa a função do driver.

O eixo X mapeia para o valor de saída da configuração do driver. As unidades dependem da configuração.

O eixo Y mostra o valor aplicado à propriedade alvo. As unidades dependem da propriedade.

Na imagem exemplo, se o valor do driver é 2.0 o valor da propriedade será 0.5.

A F-Curve padrão é um mapa de identidade, i.e. o valor produzido pela configuração do driver é aplicada à propriedade dirigida inalterada. Se o valor de saída do driver é 2.0, a propriedade será 2.0.

A função driver pode ser definida artisticamente com controladores de curva Bézier ou matematicamente com funções trigonométricas ou expressões polinomiais como \(y = a + bx\). Além disso, a função pode também ser modulada proceduralmente com ruído ou repetições cíclicas. Veja Modifiers para mais detalhes.

Configuração do Driver#

O painel Drivers mostra a configuração para o driver.

Um driver pode ter zero, um, ou mais variáveis. Variáveis especificam quais propriedades, canais de transformação do objeto, ou distâncias relativas entre objetos, são usadas como entrada pelo driver.

O tipo de driver determina como as variáveis são usadas. O tipo pode ser:

  • uma função interna: por exemplo, a soma dos valores das variáveis, ou

  • uma expressão com script: uma expressão Python arbitrária que se refere às variáveis pelos seus nomes.

Essa configuração de driver gera um único valor que muda quando as variáveis mudam. Esse valor é então calculado através da curva da função do driver para produzir o resultado a ser aplicado à propriedade dirigida.

Notas sobre Expressões com Script#

Quando um driver usa uma Expressão com Script, o Blender pode calculá-la sem usar o interpretador Python completo se for simples o suficiente. Isso significa que drivers são rápidos para calcular com divisões simples, adições e outras expressões «simples». As funções internas são sempre calculadas nativamente.

Veja Expressões Simples para uma lista abrangente de expressões que podem ser calculadas nativamente.

Quando a expressão não é simples, ela será calculada usando Python. Como consequência, o driver será mais lento e há um risco de segurança se o autor do código Python é desconhecido. Isso é uma coisa importante a se levar em consideração para cenas pesadas e quando compartilhar arquivos com outras pessoas. Veja também: Auto run.