AutoPivot¶
O AutoPivot põe o pivot de cada peg onde a arte realmente está, e mantém cada frame onde o artista desenhou.
Ele roda como a última fase do Assemble, e está ligado por padrão — o checkbox AutoPivot na seção Settings do Browser, ou nas Preferences.
O problema que ele resolve¶
Importe arte no Harmony na mão e o pivot de cada peg pousa na origem — no meio da câmera — não importa onde o desenho esteja. Rotacione um braço e ele gira em torno do centro da cena em vez de girar no ombro.
Corrigir isso na mão é um arrasto por peg, em cada peg, em cada cena.
Fase A — o torneio¶
No frame 1, o OSA monta a hierarquia de pegs a partir dos nós que acabou de criar, atravessando groups e composites para achar a subárvore real de cada peg.
Em cada peg, a subárvore filha com a maior área de bounding box vence, e o centroide dela vira o pivot do peg.
Maior área não é arbitrário: num rig, a coisa para a qual um peg existe é quase sempre a maior coisa abaixo dele. O maior filho do peg da cabeça é a cabeça; o do peg do braço é o braço. Escolher a maior subárvore coloca o pivot sobre a arte que aquele peg existe para mover.
Só nós criados pelo OSA entram na conta. Nós que já estavam na cena são deixados em paz — o AutoPivot nunca edita o rig de outra pessoa.
Fase B — compensação por frame¶
Aqui está a parte que importa para a animação.
Quando a arte é extraída, cada frame é centrado na posição de referência (frame 1). É isso que faz o pivot da Fase A ser correto para a sequência inteira — mas também significa que os frames 2 em diante ficariam na posição do frame 1, e não na sua própria.
Então a Fase B calcula, por frame, o delta de posição do peg que põe a arte de cada frame exatamente onde ela estava no PSD original:
- usa a calibração pixel → OGL registrada durante a extração, então a conta é feita nas unidades da própria cena;
- os pegs pais se movem primeiro, de cima para baixo, e cada filho subtrai o delta herdado do pai — aplica só o residual, para que um rig aninhado não conte o movimento dos pais duas vezes;
- só position.x / position.y são animadas. Nunca rotação, nunca skew: o AutoPivot existe para preservar posicionamento, não para inventar movimento;
- todo keyframe é de interpolação step (
constSeg), então não há deriva entre exposições — um desenho segurado não escorrega.
Excluindo um peg¶
Marque Exclude AutoPivot no bloco Peg do Inspector, e o pivot daquele peg fica exatamente como está.
Isso é marcado automaticamente em todo peg vindo de um arquivo .anm ou .pvt, porque esses pivots pertencem ao bake e sobrescrevê-los quebraria a animação que você acabou de importar. Veja Transform Sync.
Use na mão quando o pivot de um peg for direção de arte deliberada — uma placa balançando que gira no suporte em vez de girar no centro de massa.
No modo Original Bitmap¶
O recorte é a normalização. Um drawing em Original Bitmap não tem art layers, e a passada que recorta a exposição é a mesma que a normaliza para o AutoPivot — uma operação, não duas.
É por isso que o modo é mais barato em plates grandes: não existe um passo separado de normalização sobre uma imagem de 30 000 pixels.
Quando ele não faz nada¶
| Situação | Por quê |
|---|---|
| Nenhum nó de drawing com exposições | não há bounding box para medir |
| Todo peg está excluído | nada a calcular |
| O peg não foi criado pelo OSA | o AutoPivot só toca nos nós dele |
Cada um desses é uma linha de log, não um no-op silencioso — se os pivots não se moveram, o osa.log diz qual dos três foi.
