Saltar a contenido

Constraints

Video tutorial — coming soon

Una constraint enlaza canales de transform entre nodes, y se puede encender y apagar.

Dos tipos, y ese es todo el vocabulario:

Tipo Qué hace
Copy Los targets siguen a un peg source en los canales que elijas
Lock Los targets quedan congelados en su sitio en esos canales

Añade una con + → Constraint. Va directo a su editor.

Editor de constraint

Cómo funciona en realidad

ORC no escribe expresiones. Usa el propio compartimiento de columnas de Harmony: encender una constraint enlaza el atributo del target con la columna del source, así que mover cualquiera de los dos lados mueve ambos — nativamente, sin costo de evaluación y sin expresión que depurar.

Apagarla los desenlaza, y los targets vuelven a ser editables de forma estática.

Apagarla conserva lo que hiciste mientras estaba apagada

ORC recuerda la columna que tenía cada target la última vez que la constraint estuvo encendida, y la restaura primero. De no ser posible, recurre a la columna que encontró en el Compose. Las keys que hiciste mientras tanto se conservan.

Configuración

Targets

Los nodes sobre los que actúa la constraint. Añádelos desde el Node View con +.

Solo nodes de Harmony puros aquí — una constraint no tiene targets internos.

Behaviour

Campo Qué hace
Label El nombre que ve el animador.
Type Copy o Lock.
Source El peg a seguir. Solo en Copy.
Position / Rotation / Scale Tres botones toggle cada uno — X, Y, Z.
Skew Un toggle.
Visibility Group Dónde vive el checkbox de encendido/apagado.

Elegir un source con + lo lee de tu selección de Harmony y marca automáticamente los canales que encuentra animados — una comodidad, no un candado; igual puedes alternar cualquiera de ellos.

Bajo Lock toda la fila Source queda deshabilitada:

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

Los diez canales son POSITION.X/Y/Z, ROTATION.ANGLEX/Y/Z, SCALE.X/Y/Z y SKEW. Un canal marcado se rellena en azul.

Una constraint necesita al menos un canal

Apagar el último se rechaza — el botón parpadea en ámbar y la feedback bar dice:

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

Sin eso, la constraint compondría como un no-op silencioso.

Values

Un único checkbox Enabled / Disabled. Esa es toda la interfaz de runtime.

El estado en el Compose es el estado con el que nace el rig compuesto, y un recompose lo vuelve a estampar.

Gatear con un driver

Una constraint no tiene scope ni keys por snap — es global. Para hacerla cambiar durante un shot, entrégasela a un driver checkbox.

Clic derecho en el checkbox Enabled:

Elemento Efecto
Add Driver ▸ Lista cada driver checkbox del rig
+ New Driver… Crea uno y gatea sobre él
Remove gate (Direct) Vuelve a un toggle manual sencillo

Una vez gateado, el checkbox se pone rosa y pasa a ser de solo lectura — ahora lo controlas a través del driver. El clic derecho sigue funcionando, así puedes cambiar o quitar el gate.

El tooltip te dice cuál es su dueño:

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

Si ese driver más adelante deja de ser un checkbox, el gate se mantiene y se marca en lugar de descartarse en silencio:

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.

Volverlo a Checkbox restaura el gate. Un gate sobre un driver eliminado cae de vuelta a ningún gate.

Dónde viven las constraints

Las constraints son solo-globales. En el Outliner siempre son hijas directas de Rig, muestran en la columna Dimensions, y no se pueden arrastrar a otro lugar. No hay scope que elegir porque no hay valor por snap que keyear.

Muting

Clic derecho en el Outliner → Mute: "Skip this constraint at compose without deleting it (dimmed in the outliner)." La fila se atenúa y Compose la ignora.

Cadenas de deform

Si un target es un drawing o un peg dentro de una cadena de deformación, ORC la resuelve hasta el grupo de la cadena por ti — no tienes que buscar el node correcto en el Node View.

Relacionado