Ir para o conteúdo

No Blender

O Blender é o único host onde o OTS não usa a própria janela. Tudo vive num painel de sidebar que segue as convenções do Blender — linhas de propriedade, UI lists, botões de operator — porque um diálogo Qt flutuante no Blender pareceria um visitante.

Os recursos são os mesmos. O layout é o do Blender.

Encontrando o painel

Abra a sidebar da 3D view com N e selecione a aba OTS.

As mesmas quatro tarefas da janela do Harmony e do Maya, expressas como seções colapsáveis dentro de um painel:

Blender — import .pvt

Um .pvt carregado, pronto para reconstruir. Create Bake Bones from .pvt constrói um armature por tag de rig.

Blender — export .pvt

Scene selection no topo, a lista marcável de bones, e então Export Settings com Scale Factor e Pivot Space.

Blender — import .anm

2/2 matched | Frames 1–60 | 1 cam | 2 rigs, e então a lista de match com checkmark e ícones de câmera, e os três botões de ação.

Blender — export .anm

A lista de scan com Select All / Deselect All, e então a caixa Range com Scene Range.

Os três painéis

Scene selection

Sempre no topo, sempre mostrando o que o OTS vê selecionado no momento: cada armature selecionado, e cada câmera selecionada com um ícone mostrando se ela é a ativa da cena.

Se nada utilizável está selecionado, ele diz isso — "Select an armature in the viewport". Se mais de um armature está selecionado, ele te lembra que cada um exporta como seu próprio rig.

Este painel é a resposta para "por que minha lista de export está vazia?" — ele te diz o que o Blender acha que você escolheu antes de você apertar qualquer coisa.

Pivot Files (.pvt) · Animation Files (.anm)

Um painel colapsável por formato, cada um contendo uma caixa Import e uma caixa Export. O mesmo grid de dois formatos por duas direções da janela do Harmony e do Maya, expresso como caixas aninhadas.


Exportando

Scan selection preenche a lista a partir do que está selecionado, e o contador ao lado mostra quantas linhas estão marcadas do total. Select All e Deselect All fazem o que dizem.

Diferente das listas de export do Harmony e do Maya, a lista do Blender tem checkboxes — esse é o idioma do próprio Blender para uma UI list, e significa que você pode escanear um armature inteiro e depois desmarcar os bones que não quer.

Formato Configurações extras
.pvt Scale Factor, e Pivot SpaceLocal (relative to parent) ou Armature Space
.anm Start / End, e um botão Scene Range

Então Export Pivots (.pvt) ou Export Animation (.anm).

Pivot Space

Opção Significado
Local (relative to parent) A posição de cada bone relativa ao seu bone pai. O padrão
Armature Space Posição absoluta no espaço do armature

Harmony e Maya sempre escrevem local. A menos que você tenha um motivo, deixe o Blender em Local para que um .pvt signifique a mesma coisa independente de quem o escreveu.


Importando

Escolha um arquivo com o botão de pasta, ou cole um caminho e aperte refresh. A linha de info reporta o que foi encontrado — quantos itens, quantos deram match, quantas câmeras, o frame range, quantos rigs.

A lista de match usa ícones em vez de cores, porque é assim que o Blender sinaliza status:

Ícone Significa
✔ checkmark Casado com um bone na cena
⚠ triângulo de aviso Unmatched — o equivalente a uma linha âmbar na janela do Harmony/Maya
câmera Este item é uma câmera; preenchido se for a ativa da cena
Q O bone de destino está em modo de rotação quaternion

Então:

  • Apply Animation to Bones — escreve nos bones matched dos armatures selecionados. O rótulo acima te diz em quantos armatures ele vai aplicar.
  • Create Bake Bones — constrói o esqueleto a partir do arquivo e aplica a animação.
  • Create Cameras — constrói as câmeras.

Para .pvt, os equivalentes são Create Bake Bones from .pvt e Create Cameras.


O que o Create Bake Bones constrói

Um armature por tag de rig no arquivo. Um arquivo de rig único mantém o nome-base do arquivo.

Todo bone é criado com um rest identidade na origem, apontando para +Y, com um comprimento curto fixo. Isso é deliberado: com um rest identidade, o transform local de um pose bone é exatamente o transform relativo ao parent que o arquivo descreve, então a animação se aplica sem uma camada de correção sentada entre o arquivo e a pose.

Também significa que o esqueleto em repouso não se parece com o seu personagem. Os bones são tocos uniformes; a forma que você reconhece aparece quando a animação é aplicada. Isso é esperado — estes são bake bones, não um rig que você entregaria a um animador para posar à mão.

Bones são definidos em modo de rotação XYZ Euler e keyados em location, rotation e scale numa nova action.


Sem coluna Rig

O export do Blender não tem coluna Rig, e isso é de propósito: no Blender o armature é o rig. Cada armature selecionado exporta como seu próprio rig, nomeado com o nome dele.

Não sobrou nada para uma coluna decidir, porque o Blender já te fez decidir isso quando você parenteou o bone — um armature é um objeto de verdade com seu próprio datablock, e um bone não pode existir fora de exatamente um deles. Oferecer retaguear um bone para outro rig prometeria algo que o export não conseguiria honrar: um bone cujo pai vive num armature diferente não tem pai.

Maya e Harmony ganham a coluna, porque lá um "rig" é uma convenção (um group) em vez de um contêiner. Mesmo modelo, expresso nos termos de cada aplicação — veja Rigs & Multi-Rig.

No import, o Blender honra tags de rig integralmente — um arquivo carregando três rigs produz três armatures.


Coordenadas

O Blender é o caso Z-up, e é a razão pela qual o OTS converte rotações do jeito cuidadoso.

Posições fazem swizzle do Z-up do Blender para o Y-up canônico. Rotações não — você não pode simplesmente permutar ângulos Euler para uma mudança de base; isso rotaciona em torno dos eixos errados e produz uma rotação que gira, mas gira errado. O OTS converte por uma conjugação de quaternion em vez disso. Veja Sistemas de Coordenadas.

Câmeras ganham um tilt de +90° em X no import, porque uma câmera do Blender olha pelo −Z num mundo Z-up. O tilt é removido de novo no export, então uma câmera olhando para a frente faz round trip limpo.


Notas e limites

O leitor de .anm do Blender assume um arquivo canônico. Todo escritor atualmente emite .anm canônico, então isso é sempre verdade na prática — mas, diferente do leitor de .pvt, ele não consulta o cabeçalho do arquivo. Vale saber se você algum dia editar um arquivo à mão.

O add-on exige Blender 4.2 ou posterior, e instala como extensão.

Um armature, um rig, uma seção de arquivo. Se você quer dois personagens num arquivo, selecione os dois armatures antes de escanear.


Veja também