Ir para o conteúdo

Drivers

Vídeo tutorial — em breve

Um driver é um widget que escreve um valor.

Onde uma pose layer diz "nesta posição, exponha o frame 861", um driver diz "defina o OPACITY deste nó como 43.7", ou "troque este drawing", ou "desative este nó".

Adicione um com + → Driver no Outliner. Ele é criado e roteado direto para seu editor — não há diálogo.

Driver editor

O editor tem duas seções: Setup (o que ele controla e como) acima de Values (o knob que você de fato gira).


Os quatro tipos

Tipo Widget Experimente
Checkbox Dois estados
Combo Slider N opções discretas
Continuous Slider Um intervalo
Continuous Grid Um pad 2-D

Um pad de driver é sempre contínuo — uma coisa 2-D discreta é uma pose layer, não um driver.

Mudar o tipo reconstrói o knob de Values ao vivo, e qualquer atributo que o novo tipo não consiga controlar é descartado em vez de mantido em silêncio.


Setup

Targets

Os nós que este driver escreve. + oferece:

Entrada Adiciona
Add from Node View O que estiver selecionado no Harmony
Look-At ▸ Um field de look-at — o driver assume o valor daquele field
Driver ▸ Outro driver — este controla aquele
Constraint ▸ Um constraint — este driver liga e desliga ele

A lista é híbrida: nós do Harmony e targets internos convivem lado a lado.

Apenas o mesmo tipo

Um driver só pode controlar outro driver, ou um field de look-at, do seu próprio tipo. Um checkbox controla checkboxes, um slider controla sliders. O motivo é concreto: um checkbox escrevendo 0/1 num slider o trava em dois valores, e um slider escrevendo 37.5 num checkbox é lido como "ligado".

Quando nada se qualifica, o submenu fica desativado e diz o porquê: "No other Slider driver to be driven by — a driver can only drive one of the same kind."

Somente um driver Checkbox pode controlar um constraint, porque um constraint é ligado ou desligado.

Behaviour

Campo O que faz
Label O nome que o animador vê no widget.
Widget Checkbox / Combo Slider / Continuous Slider / Continuous Grid.
Operation O que o valor faz — veja abaixo.
Attribute Qual atributo do Harmony escrever. A lista é filtrada para os atributos que este tipo de widget consegue de fato controlar.
Visibility Group Onde o widget mora.
Blend Só aparece quando um target se sobrepõe a outro autor.

Operations, por tipo:

Tipo Operations
Checkbox Toggle Attribute, Enable / Disable Node, Show / Hide Node Controls, Show / Hide Deformers
Slider Set Value, Multi-Attribute
Combo Set Value, Multi-Attribute, Drawing Substitution
2-D pad Set Value, Multi-Attribute

Sob Multi-Attribute o campo Attribute fica desativado e mostra "mapped per row in Options ▸ Attribute Mappings" — cada linha tem seu próprio atributo ali.

Acinzentado, nunca escondido

Quando um tipo de widget não está disponível, o ORC o acinzenta e coloca a saída no tooltip — por exemplo "This driver drives «Blink», which is a Checkbox — remove that target from the Targets list to change type." Você nunca fica adivinhando por que uma opção não aceita.

Options

O que aparece aqui depende do tipo e da operation.

Handle Min / Handle Max — o intervalo numérico para o qual o handle mapeia, padrão 0–100. Default — onde ele começa.

Sob Multi-Attribute o min/max desaparecem: o handle é uma porcentagem, e cada linha de mapeamento carrega seu próprio intervalo.

X Min / X Max / Y Min / Y Max, mais Default X / Default Y. O intervalo padrão é 0–1 nos dois eixos.

+ Option adiciona uma entrada. O que uma option contém segue a operation:

Operation Uma option é
Set Value Um label e um número
Multi-Attribute Um card contendo várias linhas de atributo e/ou trocas de drawing
Drawing Substitution Um drawing por target READ, espelhado automaticamente

Default escolhe em qual option o rig começa.

Com zero options o knob de Values fica desativado e mostra: "This knob has no options yet. Add them in Setup ▸ Options to make it usable."

Para um slider ou pad sob Multi-Attribute. Cada linha é um nó, um atributo, um min, um max, e — no caso de um pad — qual axis o controla. Os 0–100% do driver são remapeados para o intervalo próprio de cada linha.

Influence

Todo driver pode carregar uma influence: um segundo widget, de 0 a 1, que decide quanto este driver tem permissão para fazer.

Campo Significado
Influence Widget Slider (qualquer ponto entre os dois) ou Checkbox (tudo ou nada)
Influence Visibility Group Onde o widget mora — Hidden oculta ele
Influence Default A força com que o rig nasce — 100% é drive total, o neutro

O default é ajustado com os mesmos widgets que o resto do ORC usa — o nav slider com suas âncoras e setas como uma escala percentual, ou um checkbox quando a própria influence é uma.

No Widget Editor a influence é um widget como qualquer outro: sempre listada (acinzentada enquanto Hidden, como tudo que está oculto), com seu próprio Visibility Group editável ali mesmo, seu próprio campo Label (padrão <driver> - Influence, compartilhado com o rig composto) e um glifo que segue seu tipo slider / checkbox.

Hidden oculta o widget; o default continua se aplicando. Um driver cuja influence está em Hidden no neutro de 100% simplesmente controla — nada extra existe no rig. Mas defina o default para, digamos, 50% e esconda — e você terá fixado "este master controla pela metade, sempre" sem dar um slider ao animador: o valor sobrevive como um atributo nas Layer Properties da MC composta, acessível ali e em nenhum outro lugar — o mesmo tratamento que o toggle de Interpolation recebe.

O que a influence significa depende do que está sendo controlado:

Controlando Na influence 0
Um atributo numérico O valor volta ao que era antes deste driver — um blend puro
Um toggle O driver não faz nada (abaixo de 0.5 ele é simplesmente ignorado; um nó meio-ativado não tem um sentido honesto)
Outro widget, ou um field de look-at O driver libera ele — o target volta a responder ao seu próprio control

Esse último é o que vale lembrar: influence num link driver-para-driver é liberar/segurar, não um blend.

Scope

Campo O que escolhe
Control Qual control é dono deste driver — ou Globals
Keyed across Global, Control, Pose Layer, ou Control + Pose Layer
Pose Layer Qual layer, para os scopes de layer, mais Use pose layer knob
Side Qual lado da page, quando a layer tem mais de uma page

Este é o key domain do driver — ele decide se o driver guarda um valor em todo lugar ou um valor por snap.

Um driver checkbox é apenas Global

Tudo o mais fica acinzentado com o motivo. Se você precisar de um liga/desliga por snap, use um Combo Slider com duas options.


Values

Driver values

O próprio knob, mais um pequeno ponto de auto-key no cabeçalho da seção — verde quando ligado.

Sliders e combos vêm com o chrome de navegação: / avançam um tick, e as duas âncoras nas pontas — start e end — pulam para qualquer um dos extremos.

Valores alterados ficam amarelos depois de reabrir

Num rig reaberto a partir de uma MC composta, um valor de driver alterado num snap marca aquele snap de amarelo nos navegadores do driver — layer grid, tick head do slider, knob card — e no control snap acima dele. Regravar o mesmo valor não marca nada: amarelo reporta o que é diferente, não onde seu cursor esteve. Veja Visual Indicators.

Keyando um driver

Passe o mouse sobre o knob e pressione F6, ou clique com o botão direito nele:

Item Notas
Set Key F6 Desativado no scope Global, com o motivo
Remove Key F7 Desativado quando não há key aqui
Set as Default
Reset to Default
Driven by ▸ Qual driver controla este

No scope Global os itens de keying se explicam sozinhos:

This driver's Scope is Global, so it holds one value everywhere. Set Scope to a control grid in Setup to key per snap.

Cores

Cor Significado
Verde Com key neste snap
Vermelho Interpolado — misturado a partir das keys vizinhas
Rosa Driven por outro driver

Verde com key vence sobre rosa driven, e quando você remove a key, o rosa volta por baixo. Um knob driven continua interativo — você pode empurrá-lo para pré-visualizar, e o compose o sobrescreve a partir da sua fonte.


Drivers aditivos

Um driver cujo blend é Additive escreve por cima do que outro autor já produziu. Suas keys são deltas, não absolutos, e zero significa nenhuma mudança. O Outliner o marca com um Σ.

Os defaults de blend seguem o scope — drivers globais somam, drivers por snap sobrescrevem — e a linha só aparece quando um target de fato se sobrepõe a outro autor.

Additive só se aplica a targets que realmente se sobrepõem. Um nó de autoria única não tem base sobre a qual somar, e somar sobre sua própria escrita anterior é como um valor foge do controle.


Mute

Clique com o botão direito num driver no Outliner e escolha Mute: "Skip this driver at compose without deleting it (dimmed in the outliner)."

A linha escurece, o driver permanece no rig, e o Compose o ignora. É o jeito de testar um rig sem um driver específico nele.


O que um driver se torna

No Compose cada driver vira um widget no canvas mais uma função que roda sempre que ele se move e uma vez a cada atualização do rig. Ele carrega seus próprios atributos no nó da MC, então um animador pode keyá-lo na timeline como qualquer outro atributo do Harmony.

Relacionados