O painel de controladores

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

Edit Driver popover.

Referência

Editor:

Editor gráfico

Mode:

Drivers

Panel:

Sidebar region ‣ Drivers

Atalho:

N

Referência

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

Single property.

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

Transform channel.

../../_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

The RNA name of the property, based on a subset of Python attribute access syntax. For example: location.x or location[0] for the X location animation channel value (before parenting or constraints), or ["prop_name"] for a custom property.

Dica

The easiest way to create a variable of this type is to use the Copy As New Driver context menu option of the input property, and paste the result into the 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 of the Armature bone. For example: «Bone», «Bone.002», «Arm.r». This option is for armatures.

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.

Context Property

Provides the value of a property that is implicitly referring to either a scene or a view layer of the currently evaluating animation system. This is a weak reference which does not lead to the scene or view layer referenced from the driver to be linked when linking animation data.

An example when such properties comes in play is referring to a transformation of the active camera. It is possible to setup driver in a character file, and make the driver use the set camera when the character is linked into a set.

RNA Path

The RNA name of the property, based on a subset of Python attribute access syntax. For example: camera.location.x or camera.location[0] for the camera X location animation channel value (before parenting or constraints), or ["prop_name"] for a custom property.

Dica

Although the values of the x/y/z animation channels for the camera location can be accessed via camera.location[0/1/2], retrieving its world space location and orientation after parenting and constraints currently requires using camera.matrix_world. This property can be understood easily by viewing the matrix as an array of four vectors in World space:

  • matrix_world[0][0/1/2] is the Screen Right direction vector (camera local X).

  • matrix_world[1][0/1/2] is the Screen Up direction vector (camera local Y).

  • matrix_world[2][0/1/2] is the opposite of the direction the camera is pointing.

  • matrix_world[3][0/1/2] is the location of the camera.

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.