Transform Sync (.anm / .pvt)¶
Dois tipos de arquivo carregam movimento, não arte:
| Arquivo | Vem de | Carrega |
|---|---|---|
.anm |
Octo Transform Sync | pegs animados — posição, rotação e escala, por frame |
.pvt |
um bake de ossos do Blender | uma hierarquia de ossos com os transforms de repouso |
Os dois podem ser navegados e colocados em staging, e nenhum dos dois vira um drawing. Eles constroem pegs.
O que pousa na árvore¶
Soltar qualquer um dos dois te dá um slot invólucro com o nome do arquivo, carregando um peg, um group e um composite (Peg Order: Parent, Comp Order: Inside). Esse invólucro é organização de staging, não parte do rig.
Abaixo dele, um peg por osso, com o nome do osso. Se o exportador já escreveu os sufixos -P / -G / -C do Harmony, eles são removidos — o slot adiciona os dele, e arm-P-P não ajuda ninguém.
Todo peg vindo desses arquivos nasce com:
| Ajuste | Valor | Por quê |
|---|---|---|
| Enable 3D | como declarado no arquivo | um bake 3D precisa de pegs 3D |
| Position | 3D Path ou Separate, como declarado |
o exportador sabe qual ele escreveu |
| Exclude AutoPivot | ligado | os pivots são do bake, e o AutoPivot não pode sobrescrevê-los |
Um peg de câmera no arquivo é pulado — a cena tem a dela.
O que o Assemble escreve¶
Para um .anm, os keyframes são aplicados por frame no peg:
POSITION.X / Y / ZROTATION.ANGLEX / ANGLEY / ANGLEZSCALE.X / Y / Z
Posições são convertidas de unidades OpenGL para as unidades da própria cena no caminho de entrada, usando a conversão de field of view da cena — então um bake feito contra outra resolução de projeto ainda pousa no lugar certo.
position.SEPARATE é definido como true antes de os keys serem escritos, porque canais separados são o que os atributos por eixo endereçam.
A pose de repouso também atravessa
Mesmo sem keyframes, um peg carrega a rotação Euler que o arquivo declara (rotation.anglex/y/z). Um .pvt sem animação ainda é um esqueleto usável.
A ida e volta¶
O fluxo pretendido é:
- Blender / Maya — animar ou assar.
- Octo Transform Sync — exportar
.anm. - OSA — colocar o
.anmem staging ao lado da arte que ele dirige, e montar a cena inteira numa passada.
É por isso que esses arquivos estão no Browser: a hierarquia de pegs e os drawings que pendem dela não deveriam ser duas importações separadas com um passo manual de reaparentamento no meio.
Validação¶
Um .anm é verificado antes de qualquer coisa entrar em staging. Ele precisa declarar format: octo_anm e carregar uma chave pegs; se não carregar, o OSA diz isso no log e não coloca nada em staging, em vez de construir uma hierarquia vazia que parece uma importação fracassada.
.pvt é um bake do Blender, não um arquivo de pivot do Harmony
A extensão é fácil de ler errado. Um .pvt aqui é um JSON de bake de ossos; não tem nada a ver com os dados de pivot do próprio Harmony.