Ir para o conteúdo

No Maya

O Maya usa a mesma janela do Harmony — mesmo layout, mesmas quatro páginas, mesmos controles — com o vocabulário do Maya. As listas dizem Joint e Joints, e o botão de import diz Apply to Joints.

Lançando

Clique no botão OTS do seu shelf. Se ele ainda não estiver lá, veja Instalação — arrastar install_maya.py para o viewport configura isso permanentemente.

Pelo Script Editor:

import launch_transform_sync_maya as ots
ots.main()

As quatro páginas

O mesmo grid dois por dois do Harmony, com o vocabulário do Maya:

Maya — import .pvt

O esqueleto que o arquivo descreve, indentado na sua hierarquia. Build Skeleton cria os joints com um orient limpo.

Maya — export .pvt

Joints escaneados da seleção. A coluna Rig é semeada a partir do ancestral não-joint mais próximo de cada joint.

Maya — import .anm, uma linha sem correspondência em âmbar

A match tree. A linha âmbar não achou joint com aquele nome — normal para um peg de câmera num import novo. Veja A Match Tree.

Maya — export .anm

Um nome de rig sendo digitado direto na célula Rig — duplo clique para editar. Scene range preenche Start e End a partir da cena.


Unidades

O Maya é o caso centímetros. Tudo num arquivo OTS está em metros, então posições são multiplicadas por 0.01 na saída e divididas de volta na entrada, automaticamente.

Você nunca define isso. Não há opção de unidade na janela, porque pegar do cabeçalho do arquivo é estritamente melhor do que te perguntar.

Quanto a eixos, uma cena Maya Y-up padrão não precisa de swizzle nenhum — ela já casa com a orientação canônica. Uma cena Maya Z-up é detectada e swizzlada como o Blender.

Cenas Maya Z-up: os handles são simplificados

Numa cena Z-up os valores dos keyframes convertem corretamente, mas os handles bezier por key são emitidos só como interpolação, sem tangentes explícitas. Se você se importa com formas exatas de tangente, trabalhe em Y-up.


Exportando

Selecione os joints — e qualquer transform de câmera — e então aperte + na página de export.

A coluna Rig é semeada a partir do ancestral não-joint mais próximo de cada joint, o que normalmente significa o group com que você já organizou sua cena. Dê duplo clique na célula para renomear, ou escolha outro rig no dropdown para fundir nele.

O Maya ganha uma coluna editável pela mesma razão que o Harmony ganha: um joint do Maya é só um transform node, não existe objeto armature, e um "rig" é uma convenção que você escolheu. A coluna do Blender é travada, porque lá um armature é um contêiner de verdade. Veja Rigs & Multi-Rig.

A trava de conectividade continua valendo: você pode fundir roots desconectados, nunca dividir uma chain conectada.

Para cada joint, o OTS registra a world matrix por frame keyado, tornada relativa ao ancestral exportado mais próximo. Keyframes são reunidos de todos os nove canais de transformação, mais as fronteiras do range. A interpolação é lida do tipo de out-tangent da curva de rotação:

Tangente do Maya Vira
Step CONSTANT
Linear LINEAR
Qualquer outra coisa BEZIER, com handles explícitos

Importando

Browse…, confira o match, e então escolha:

  • Apply to Joints — escreve nos joints matched e marcados.
  • Create Rig — constrói os joints a partir da rest pose embutida no arquivo e aplica a animação.
  • Create Cameras — constrói as câmeras.

Toda escrita é envolvida num único undo chunk nomeado, então um Ctrl+Z reverte a operação inteira.

O que o Create Rig constrói

Joints, criados com um orient limpo: rotate order XYZ, joint orient zerado, rotate axis zerado. Toda rotação vive no .rotate.

Isso importa. Um joint com joint orient não-zero carrega rotação em dois lugares, e a animação aplicada acaba brigando com ele. Zerando o orient e pondo tudo no .rotate, a animação do arquivo cai exatamente onde o arquivo diz que ela deveria cair.

Quando o arquivo contém mais de um rig, cada rig ganha seu próprio transform group vazio e seus roots ficam parenteados sob ele. Um arquivo de rig único pula o envelope — nada de group inútil.

Tangentes

No apply:

O arquivo diz O Maya recebe
LINEAR Tangentes linear in e out
CONSTANT Out tangent step
BEZIER com handles Weighted tangents ligadas, in/out fixas, com o ângulo e o peso do arquivo
BEZIER sem handles Interpolação smooth padrão

Os valores de handle de posição são escalados de metros para centímetros junto com as keys, então a forma da curva sobrevive à mudança de unidade em vez de ser achatada por ela.


Câmeras

Selecione o transform da câmera e ela exporta junto com todo o resto.

O Maya não tem uma flag única de "câmera padrão", então o OTS aproxima isso com o estado renderable da câmera e por qual você está olhando no momento. No import, a câmera padrão do arquivo é tornada renderable e passa a ser a que você olha.

O Create Cameras deriva um focal length a partir do FOV vertical do arquivo contra o film aperture vertical, e define film fit para Vertical. Isso é deliberado: em fit automático ou horizontal o frustum sai estreito demais e a cena parece com zoom.

Se o peg de uma câmera existe só para segurar aquela câmera — nada acima, nada abaixo — nenhum joint é criado e o movimento é bakeado direto no transform da câmera. Veja Câmeras.


Notas e limites

Nomes são casados com sufixos removidos, então um peg hip-P do Harmony e um joint hip do Maya são o mesmo item.

Paths DAG completos são usados no match, então dois joints com o mesmo nome curto em groups diferentes continuam distintos.

O leitor do Maya é estrito quanto à versão do arquivo. Um arquivo de um OTS mais antigo escreve um erro claro em vez de importar pela metade; reexporte da aplicação de origem.


Veja também