O painel de controladores¶
Reference
- Editor
Editor gráfico
- Mode
Drivers
- Panel
- Atalho
N
Reference
- 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
O nome RNA da propriedade, baseado em um subconjunto da sintaxe de acesso ao atributo Python. Por exemplo:
location.x
oulocation[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:
- 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