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.

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
../../_images/animation_drivers_drivers-panel_single-property.png

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.

Fallback

If enabled, allows specifying a fallback value to use as the variable value if the RNA Path cannot be resolved, instead of causing a driver evaluation failure. For more info see Context Property below.

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
../../_images/animation_drivers_drivers-panel_transform-channel2.png

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

ID

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

Osso

For armatures, the name of the Armature bone. For example: «Bone», «Bone.002», «Arm.r».

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.

../../_images/animation_drivers_drivers-panel_rotational-difference.png
Rotational Difference

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

Osso

For armatures, the name of the Armature bone. For example: «Bone», «Bone.002», «Arm.r».

Distância
../../_images/animation_drivers_drivers-panel_distance.png

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

Osso

For armatures, the name of the Armature bone. For example: «Bone», «Bone.002», «Arm.r».

Espaço

World Space, Transform Space, Local Space.

Context Property
../../_images/animation_drivers_drivers-panel_context-property.png

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 set up a driver in a character file, and make the driver use the set camera when the character is linked into a set.

Contexto

Active Scene, Active View Layer.

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.

Fallback

If enabled, allows specifying a fallback value to use as the variable value if the RNA Path cannot be resolved, instead of causing a driver evaluation failure.

This feature can be very useful for making drivers more robust when implementing scene-global options using custom properties. When the object is linked into a different scene, these custom properties may not exist there, and the fallbacks can be used to provide sensible default values.

Fallbacks can also be used to emulate the lookup behavior of the View Layer mode of the material Attribute Node.

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.