O painel de controladores

../../_images/animation_drivers_drivers-panel_panel.png

Edit Driver popover.

Reference

Editor

Editor gráfico

Mode

Drivers

Panel

Sidebar region ‣ Drivers

Atalho

N

Reference

Menu

Menu de contexto ‣ Edit Driver

Atalho

Ctrl-D

Esse painel é visível no menu lateral do Drivers Editor ou como um popover ao adicionar um driver a uma propriedade.

Ele mostra a propriedade que está sendo dirigida, seguido por uma série de configurações que determina como o driver funciona.

Configurações do Driver

Tipo

Existem duas categorias de drivers:

  • Funções integradas (Average, Sum, Min and Max)

    A propriedade dirigida terá o valor da média, soma, mais baixo ou mais alto (respectivamente) dos valores das Driver Variables referenciadas. Se houver apenas uma variável de driver, essas funções vão produzir o mesmo resultado.

  • Personalizada (Scripted Expression).

    Uma expressão Python arbitrária que pode se referir às Driver Variables pelo nome. Veja Expressions.

Driver Value

O resultado atual da configuração do driver. Útil para fins de depuração.

Variables

Veja Driver Variables.

Update Dependencies

Força uma atualização para as dependências do Driver Value.

Show in Drivers Editor

Abre o Drivers Editor completo. Esse botão aparece apenas na versão popover do painel de Drivers.

Driver Variables

Variáveis são referências a propriedades, canais de transformação, ou o resultado de uma comparação entre transformações de dois objetos.

Drivers devem acessar dados do objeto via Driver Variables, em vez de referências diretas na expressão Python, para que as dependências sejam rastreadas corretamente.

../../_images/animation_drivers_drivers-panel_add-variable.png

Botões Adicionar, Copiar e Colar.

Add Input Variable

Adiciona uma nova Driver Variable.

Copy/Paste Variables

Copia a lista de variáveis atual para que possa ser colada na lista de variáveis de outro driver.

../../_images/animation_drivers_drivers-panel_single-property.png

Propriedade única.

../../_images/animation_drivers_drivers-panel_transform-channel2.png

Canal de transformação.

../../_images/animation_drivers_drivers-panel_distance.png

Distância.

Nome

Nome para uso em expressões com script. O nome deve começar com uma letra, e conter apenas letras, dígitos ou underscores.

Variable Type

O tipo de variável a ser utilizada.

Single Property

Recupera o valor de uma propriedade RNA, especificada por uma referência de data-block e uma string de caminho.

No caso de propriedades de transformação, isso irá retornar o valor exato da propriedade da UI, enquanto Transform Channel levará em conta parentesco e/ou restrições conforme necessário.

Veja também Propriedades personalizadas.

ID Type

O tipo de bloco de identificação (ID-Block). Por exemplo: Key, Image, Object, Material.

ID

O ID do tipo do ID-block. Por exemplo: «Material.001».

RNA Path

O nome RNA da propriedade, baseado em um subconjunto da sintaxe de acesso ao atributo Python. Por exemplo: location.x ou location[0] para o valor bruto da localização X, ou ["prop_name"] para uma propriedade personalizada.

Dica

A maneira mais fácil de criar uma variável desse tipo é usar a opção do menu de contexto Copy As New Driver da propriedade de entrada, e colar o resultado no driver via Paste Driver Variables.

Transform Channel

Recupera o valor de um canal de Transformação de um objeto ou osso.

ID

ID do objeto. Por exemplo: Cube, Armature, Camera.

Osso

ID do osso da Armadura. Por exemplo: «Bone», «Bone.002», «Arm.r». Esta opção é para armaduras.

Tipo

Por exemplo, X Location, X Rotation, X Scale.

A opção Average Scale recupera o valor combinado de escala, calculado como a raiz cúbica da mudança total em volume. Diferente de Escala X/Y/Z, esse valor pode ser negativo se o objeto é invertido por uma escala negativa.

Mode (Rotation)

Para canais de rotação, especifica o tipo de dado de rotação para usar, incluindo ordens Euler explícitas diferentes. O padrão é usar a ordem Euler do alvo. Veja Rotation Channel Modes.

Espaço

World Space, Transform Space, Local Space.

Rotational Difference

Fornece o valor da diferença rotacional entre dois objetos ou ossos, em radianos.

Distância

Fornece o valor da distância entre dois objetos ou ossos.

Value

Mostra o valor da variável.

Modos de Canais de Rotação

Canais de Transformação de Rotação suportam vários modos de operação, incluindo:

Auto Euler

Usa a ordem Euler do alvo para decompor a rotação em canais.

XYZ Euler, …

Especifica explicitamente a ordem Euler de rotação para usar.

Quaternion

Fornece a representação Quaternion da rotação.

Swing and X/Y/Z Twist

Decompõe a rotação em duas partes: uma rotação Swing que indica o eixo especificado em sua direção final, seguido por uma rotação Twist ao redor desse eixo. Muitas vezes isso é necessário para dirigir Shape Keys corretivas e ossos para rotação orgânica de articulações.

Essa decomposição é muitas vezes produzida em rigs usando um osso auxiliar com uma Damped Track Constraint para extrair a parte swing, e suas filhas com Copy Transforms para extrair o componente twist.

Os valores dos canais para Swing and Y Twist são:

../../_images/animation_drivers_drivers-panel_angle-curve.png

Curvas de queda para os ângulos ponderados.

Y Rotation

Ângulo verdadeiro da rotação twist.

W Rotation

Ângulo verdadeiro da rotação swing, independente de sua direção.

X Rotation, Z Rotation

Ângulos ponderados que representam a quantidade de swing ao redor do eixo X/Z.

A magnitude do ângulo equivale W Rotation quando a rotação é puramente ao redor desse eixo, e diminui para zero conforme a direção muda em direção ao outro eixo, seguindo as curvas de queda do gráfico à direita.

Matematicamente, os ângulos swing são calculados a partir de componentes de quaternion, usando \(2 \arccos(w)\) para W e \(2 \arcsin(x)\) etc. para os outros. O componente da rotação swing que corresponde ao eixo twist é sempre 0, e é substituído pelo ângulo twist.

Expressions

Expression

Um campo de texto onde você pode digitar uma expressão Python arbitrária que refere-se a Driver Variables por seus nomes.

A expressão tem acesso a um conjunto de constantes padrão e funções matemáticas do math, bl_math e outros módulos, fornecidos no Driver Namespace. Para um exemplo de adição de uma função personalizada ao namespace, veja o exemplo driver namespace.

Por razões de performance é melhor usar o subconjunto Simple Expressions sempre que possível.

Use Self

Se esta opção é ativada, a variável self pode ser usada para drivers referenciar seus próprios dados. Útil para objetos e ossos para evitar criar uma Driver Variable apontando para si mesmo.

Exemplo: self.location.x aplicado à propriedade Y rotation do mesmo objeto fará o objeto rolar ao mover.

Note que dependências para propriedades acessadas via self podem não ser totalmente rastreadas.

Simple Expressions

O Blender pode calcular um subconjunto útil de expressões Python de driver diretamente, o que melhora significativamente a performance, especialmente em sistemas multi-core. Para tirar proveito disso, a expressão do driver deve usar apenas os seguintes recursos:

Variable Names

Use apenas caracteres ASCII.

Literals

Ponto flutuante e inteiro decimal

Globals

frame

Constants

pi, True, False

Operadores

+, -, *, /, ==, !=, <, <=, >, >=, and, or, not, operador condicional / if ternário

Standard Functions

min, max, radians, degrees, abs, fabs, floor, ceil, trunc, round, int, sin, cos, tan, asin, acos, atan, atan2, exp, log, sqrt, pow, fmod

Blender Provided Functions

lerp, clamp, smoothstep

Expressões simples são calculadas mesmo quando a execução de scripts Python está desativada.

Quando uma expressão fora desse subconjunto é usada, o Blender exibe um alerta «Slow Python expression». Entretanto, desde que a maioria dos drivers use expressões simples, usar uma expressão complexa em alguns é OK.