Saltar a contenido

Dimensiones y Key Domains

Video tutorial — coming soon

Esta es la idea sobre la que está construida toda la herramienta, y cabe en una página.

Una pose se guarda en una dirección. Una dimensión es un componente de esa dirección.


Cómo se suman las dimensiones de una layer

Una pose layer keyea a través de tres cosas:

its own grid   +   its carrying control   +   its knob

Cada una aporta sus propios ejes, y se componen en una sola dirección:

La layer Suma Chip
Un grid de 3 × 3, global, sin knob 2 2D
La misma layer dentro del control Head 2 + 2 4D
…keyeada a través de un knob de fonemas de 13 posiciones 2 + 2 + 1 5D
…si ese knob fuera un grid de 3 × 3 en vez de eso 2 + 2 + 2 6D

Seis es el techo para una pose layer — su propio grid (como máximo 2), su control (como máximo 2), y un knob (como máximo 2) — y cuatro cuando la cadena es totalmente global: sin un control en juego no hay grid portador, y una layer global llega como máximo a sus propios 2 más un knob 2D. ORC hace cumplir el presupuesto en todo lugar donde pueda adjuntarse un eje — el selector de Knob oculta los candidatos que exceden el presupuesto, un arrastre se niega con el motivo, y Make Global se niega cuando el resultado pasaría de 4D. Una layer toma exactamente un knob, que es lo que limita la cadena.

El Outliner muestra el número en cada fila, y pasar el cursor deletrea la suma:

5D — total axes this layer keys across (own grid + carrying parent + each extra knob).

Dos casos no aportan nada:

  • Una face de un controles el grid del control, así que no keyea también a través de él.
  • Una layer global — no hay nada por encima de ella. Un slider global lee 1D.

Drivers y look-ats llegan a ocho

Un driver o un campo de look-at agrega las dimensiones de su propio widget encima de la misma pila:

the widget itself (0–2)   +   the control (0–2)   +   the pose layer (0–2)   +   its knob (0–2)

Un pad driver 2-D keyeado a través de un control y una pose layer y el knob 2-D de esa layer es 8D. Nada te lo impide; tampoco nada te avisa.

Widget Sus propias dimensiones
Checkbox 0
Slider, Combo Slider 1
Pad 2-D (Continuous Grid) 2
El joystick de look-at 2

Key domains

Un key domain es el conjunto de posiciones a través de las cuales algo está keyeado.

Las pose layers obtienen el suyo de dónde se ubican en el árbol — por eso arrastrar una layer cambia su comportamiento. Los drivers y los look-ats eligen el suyo explícitamente, con las mismas cuatro opciones y las mismas palabras:

Domain Un valor por… Úsalo cuando
Global Todo. No está keyeado en absoluto. El valor nunca depende de la pose.
Control Snap de control Cambia con el turnaround — perspectiva, escorzo.
Pose Layer Snap de pose layer, igual en cada pose del control Pertenece a la expresión, no al ángulo.
Control + Pose Layer El producto de ambos Realmente varía con los dos.

Pose Layer es el único domain que puede usar una layer global

Una layer con padre en Globals no tiene dimensión de control, así que Control y Control + Pose Layer no tienen nada contra qué keyear. ORC deshabilita esas opciones y lo explica.

Los dos modos de look-at eligen cada uno su propio domain, de las mismas cuatro — ver Look-At.

Cuando un domain no está disponible

ORC nunca oculta una opción que no puede ofrecer. La deshabilita y pone el camino a seguir en el tooltip:

Deshabilitado Porque
Control, Control + Pose Layer "Pick a control first — Globals has no control grid to key across."
Pose Layer "No pose layer to key across for this owner."
Control + Pose Layer "No pose layer under this control — a Globals layer is not under it, so it cannot form the product. Pick the control that owns the layer, or key across the layer alone."
Todo menos Global, en un checkbox driver "Checkbox drivers are Global only — pick another widget type to scope to a Control / Pose Layer."

Si un domain queda no disponible temporalmente — todavía no elegiste el control — ORC recuerda tu elección y la restaura en el momento en que la dimensión vuelve a existir, en vez de degradarte en silencio a Global.

Direcciones de snap

Cada snap tiene un nombre, y se construye a partir de los domains de arriba, de izquierda a derecha: la posición del control, luego la de la layer, luego la del knob.

Las verás en el log, en las vistas previas de presets, y en la tabla de Unroll:

Un segmento por dimensión, de izquierda a derecha — el snap del control, luego el de la layer:

Dirección Se lee como
R5C10 Una face de control en la fila 5, columna 10
UR0C4:P1LR1C2:P1RR2C0 Snap de control R0C4 · el grid izquierdo de la página 1 en R1C2 · su grid derecho en R2C0
UR1C2:P2LR0C1 Snap de control R1C2 · el grid izquierdo de la página 2
UBR1C2:P1LR0C0 Snap de control R1C2 en la face back · el grid izquierdo de la página 1 en R0C0
G:P1LR1C2 Una layer global — sin ningún componente de control
UR1C2:K1R0C3 La pose propia de un knob — el control portador en R1C2, el knob en R0C3
UR0C4:P1LR1C2:W3 La pose de la página 1, en la posición 3 del knob de la layer

Los prefijos:

U El snap del control portador (su unit) — sea cual sea el nombre del control. Un control Torso también keyea con U. UB es su face back.
G Sin control en absoluto — una layer global, keyeada sin cabeza.
P1L / P1R, P2L Los grids izquierdo y derecho de la página 1, los de la página 2, y así sucesivamente — un esquema numerado por cada página.
K1 Un knob autorando sus propias poses — K más su slot de eje, luego su snap.
:W3 Posición 3 del knob de la layer.

El nombre del control nunca aparece en una dirección — cada layer pertenece exactamente a un control, así que U siempre significa "mi control portador", sin necesitar numeración.

Por qué la letra es U y no C

U viene de la unit del control — el nombre interno que usa ORC para un control. La letra obvia sería C de control, pero C ya está tomada: es la letra de la columna dentro de cada snap. CR0C4 pondría dos significados distintos de C a cinco caracteres de distancia, y una dirección existe para leerse de un vistazo — así que el control keyea con U.

Por qué el :W de un knob 2-D es un número plano

Un knob 2-D direcciona su posición como un único índice — :W7 en un knob de 3 × 3 significa fila 2, columna 1 (fila × columnas + columna) — en vez de un snap R2C1. Eso es deliberado: el rig compuesto guarda cada posición de knob como un archivo de estado apilado con el propio formato de Toon Boom (stack/0.tbState, 1.tbState, …), y el índice plano es el nombre de ese archivo. La dirección se mantiene alineada con lo que señala.

Nunca tienes que escribir una dirección a mano. Pero cuando un mensaje, una vista previa de preset o la tabla de Unroll nombra una, así se lee.

Interpolación

Entre los snaps, ORC mezcla. Con Interpolation activado, la pose es la mezcla ponderada de los cuatro snaps que la rodean, con los pesos sumando siempre 1. Desactívalo y el snap más cercano simplemente gana.

Es un interruptor en tiempo de ejecución en el rig terminado, así que el animador elige entre un control suave o uno con pasos duros. Un snap sin keyear no es un agujero — es una posición que mezcla desde sus vecinos.

También es el único global. Cualquier otro interruptor incorporado existe por cosa sobre la que actúa, y solo cuando esa cosa existe: Mirror necesita una pose layer emparejada, Mirror All necesita más de un par, y Front ↔ Back necesita un control con ambas faces — cada control de dos caras componiendo su propio flip. La pregunta de Interpolation — ¿mezclar entre snaps, o dar pasos? — se hace una sola vez, sobre todo el rig; un checkbox de interpolación por layer o por control multiplicaría widgets sin agregar una sola decisión. Así que un solo checkbox gobierna todo, y se queda inactivo solo en un rig sin nada continuo que mezclar — todos drivers on/off, sin grids.

Lo que cuestan las dimensiones

Cada eje multiplica las poses disponibles, el tiempo que toma Compose, y la memoria que usa.

Rig Poses direccionables
Una layer de 3 × 3, global 9
…dentro de un control de 5 × 3 135
…más un knob de 13 posiciones 1.755
…más una face Front y Back 3.510

Nunca estás obligado a keyearlas todas. Pero una dimensión que agregas es autoría que estás prometiendo, y ORC te lo dirá a medida que suben los conteos:

1024 snaps — authoring this by hand is a big job, and capture/compose time grows with every keyed snap.

Advierte. No bloquea.

Lo único que realmente bloquea Compose

La dimensionalidad en sí nunca detiene un compose. Exactamente un conflicto estructural sí:

Dos knobs extra escribiendo el mismo nodo y el mismo canal no pueden sumarse. Cuando eso ocurre, la fila del Outliner en cuestión se enciende en rojo — nombre, chip e íconos — y Compose se niega hasta que lo resuelvas.

Todo lo demás es una advertencia.

Relacionado

  • Knobs — el tercer eje
  • Controls — el segundo
  • Drivers — eligiendo un domain explícitamente
  • Compose — en qué se convierte la dirección