Ir para o conteúdo

Constraints

Vídeo tutorial — em breve

Uma constraint liga canais de transform entre nós, e pode ser ligada e desligada.

Dois tipos, e esse é todo o vocabulário:

Tipo O que faz
Copy Os targets seguem um source peg nos canais que você escolher
Lock Os targets ficam congelados no lugar naqueles canais

Adicione uma com + → Constraint. Ela vai direto para o seu editor.

Constraint editor

Como funciona de verdade

O ORC não escreve expressões. Ele usa o próprio column sharing do Harmony: ligar uma constraint vincula o atributo do target à coluna do source, então mover qualquer um dos dois lados move ambos — nativamente, sem custo de avaliação e sem expressão para debugar.

Desligá-la desvincula os dois, e os targets voltam a ser estaticamente editáveis.

Desligar preserva o que você fez enquanto estava desligada

O ORC lembra a coluna que cada target tinha na última vez em que a constraint estava ligada, e a restaura primeiro. Na falta disso, ele recorre à coluna que encontrou no Compose. As keys que você fez no meio tempo são mantidas.

Configuração

Targets

Os nós sobre os quais a constraint age. Adicione-os do Node View com +.

Só nós do Harmony puros aqui — uma constraint não tem targets internos.

Behaviour

Campo O que faz
Label O nome que o animador vê.
Type Copy ou Lock.
Source O peg a seguir. Só no Copy.
Position / Rotation / Scale Três botões de toggle cada — X, Y, Z.
Skew Um toggle.
Visibility Group Onde a checkbox de liga/desliga vive.

Escolher um source com + lê a sua seleção do Harmony e marca automaticamente os canais que encontra animados — uma conveniência, não um trava; você ainda pode alternar qualquer um deles.

Sob Lock a linha Source inteira fica desabilitada:

Lock freezes the targets' own channels in place — there is no source node to read from. Switch Type to Copy to follow a source peg.

Channels

Os dez canais são POSITION.X/Y/Z, ROTATION.ANGLEX/Y/Z, SCALE.X/Y/Z e SKEW. Um canal marcado fica preenchido em azul.

Uma constraint precisa de pelo menos um canal

Desligar o último é recusado — o botão pisca em âmbar e a barra de feedback diz:

A constraint needs at least one channel — turn another on before clearing this one.

Sem isso, a constraint iria compor como um no-op silencioso.

Values

Uma única checkbox Enabled / Disabled. Essa é toda a interface de runtime.

O estado no Compose é o estado com que o rig composto nasce, e um recompose reestampa ele.

Gateando com um driver

Uma constraint não tem escopo e não tem keys por snap — ela é global. Para fazê-la mudar durante um shot, entregue-a a um driver checkbox.

Clique com o botão direito na checkbox Enabled:

Item Efeito
Add Driver ▸ Lista todo driver checkbox do rig
+ New Driver… Cria um e gateia nele
Remove gate (Direct) Volta a ser um toggle manual comum

Uma vez gateada, a checkbox fica rosa e vira somente leitura — você a controla através do driver agora. Clicar com o botão direito ainda funciona, para você mudar ou remover o gate.

O tooltip te diz qual é a dona:

Driven by "Arm IK" — toggle it via that driver, or right-click here to change the gate.

Se aquele driver depois deixar de ser um checkbox, o gate é mantido e marcado em vez de ser silenciosamente descartado:

Driven by "Arm IK" — but that driver is no longer a Checkbox, so it cannot turn this on/off. Set it back to Checkbox, or right-click here to remove the gate.

Voltar a ser Checkbox restaura o gate. Um gate num driver apagado cai de volta para nenhum gate.

Onde as constraints vivem

Constraints são só-globais. No Outliner elas são sempre filhas diretas de Rig, mostram na coluna Dimensions, e não podem ser arrastadas para outro lugar. Não há escopo para escolher porque não há valor por snap para keyar.

Muting

Clique com o botão direito no Outliner → Mute: "Skip this constraint at compose without deleting it (dimmed in the outliner)." A linha escurece e o Compose a ignora.

Cadeias de deform

Se um target é um desenho ou um peg dentro de uma cadeia de deformação, o ORC a resolve até o grupo da cadeia para você — você não precisa caçar o nó certo no Node View.

Relacionado