O painel de controladores¶
Referência
- Editor:
Editor gráfico
- Mode:
Drivers
- Panel:
- Atalho:
N
Referência
- Menu:
- 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.
- 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
-
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
orlocation[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
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
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.
- 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
-
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
-
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
orcamera.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 usingcamera.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:
- 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.
Veja também