Blender 5.3 preserva a animação ao mudar a ordem dos eixos
No Blender 5.3 é possível alterar a ordem de rotação de um osso ou objeto animado sem que o movimento se altere. Por exemplo, pode-se passar de XYZ Euler para ZXY Euler ou para quaterniões. O programa recalcula sozinho os fotogramas-chave de rotação para o novo modo. Jonathan Lampel (@jonlampel) chamou a atenção para esta possibilidade numa publicação no X de 4 de novembro. Na sua opinião, a função tem passado quase despercebida até agora.
«Uma das funções do Blender 5.3 que, pelo que vejo, quase ninguém está ainda a elogiar: ao mudar a ordem de rotação, o programa pode converter automaticamente todos os vossos fotogramas-chave de rotação para a nova ordem, de modo que a animação final continua a mesma. É muito agradável!» — Jonathan Lampel, publicação no X
A publicação em si é curta. Os detalhes constam das notas oficiais de lançamento do Blender 5.3 e do manual do utilizador. Os desenvolvedores incluíram o novo comando na lista das principais alterações da secção de animação e rigging.
Onde encontrar o comando e como funciona
O comando chama-se Convert Rotation Mode. Pode ser invocado de várias formas:
- no menu Object › Animation no modo objeto;
- no menu Pose › Animation no modo pose;
- a partir da nova lista suspensa junto ao campo do modo de rotação;
- com a combinação Ctrl+R no Pose Mode.
Na lista estão disponíveis todos os modos de rotação do Blender: Quaternion (WXYZ), seis variantes de Euler (XYZ, XZY, YXZ, YZX, ZXY, ZYX) e Axis Angle. O comando processa de uma só vez todos os objetos ou ossos selecionados, pelo que vários ossos com uma ordem de eixos incómoda podem ser convertidos numa única ação.
A diferença em relação à simples mudança de modo está descrita no manual do Blender 5.3. A simples alteração do valor no campo do modo não recalcula as curvas existentes. O novo comando reescreve as próprias curvas de animação e preserva a orientação resultante ao longo do tempo com a precisão que a nova representação da rotação permitir. O recálculo ocorre em todas as ações (actions) associadas ao objeto ou osso selecionado. Se uma personagem tiver clipes separados, por exemplo para andar, correr e estar parada, não será necessário convertê-los um a um.
Um comando semelhante fazia antes parte do Rigify. Os desenvolvedores chamam ao novo comando uma versão melhorada daquele e declararam o antigo obsoleto. O novo comando também está disponível através de Python, para objetos e ossos em pose, pelo que pode ser integrado nos scripts de pipeline de um estúdio.
O que será preciso ter em conta
O manual enumera expressamente as particularidades da conversão:
- depois do recálculo, a animação fica sempre totalmente escrita para o novo modo. Se antes as chaves estavam apenas em parte dos canais de rotação, após a conversão passam a existir em todos;
- a interpolação entre as chaves pode mudar. Os desenvolvedores consideram isso um comportamento esperado, porque os diferentes modos descrevem a rotação de maneiras distintas;
- os tipos de fotogramas-chave são preservados na medida do possível.
Para os casos em que a precisão é importante, existe a opção Bake. Antes da conversão, coloca uma chave em cada fotograma, e o movimento é reproduzido com maior exatidão ao custo de chaves adicionais. Uma curva tão densa provavelmente será mais difícil de editar à mão no Graph Editor.
Na mesma secção do lançamento surgiram comandos para copiar e colar animação em coordenadas de mundo. Funcionam com vários objetos e ossos ao mesmo tempo e usam o intervalo de pré-visualização e, caso não esteja definido, o intervalo da cena. Colar em objetos e ossos com restrições (constraints) ainda não é suportado.
A quem será útil
A ordem dos eixos de Euler costuma ser alterada para escapar ao bloqueio de eixos (gimbal lock) numa rotação complicada ou para tornar mais cómoda a edição das curvas de uma articulação específica. Antes, a julgar pelas notas de lançamento, essa conversão exigia o comando do Rigify; caso contrário, ao animador restava manter a ordem incómoda ou refazer as poses. Agora um comando nativo permite mudar a ordem numa animação já concluída. Em primeiro lugar, isto será provavelmente útil para animadores de personagens e riggers que afinam o rig depois de já terem sido feitos clipes com ele.
As limitações também são práticas. Devido à escrita completa dos canais e à possível mudança de interpolação, depois da conversão vale a pena verificar as poses-chave e as curvas, sobretudo em animação estilizada com um timing finamente ajustado. O baking transmite o movimento com mais exatidão, mas a curva fica depois mais difícil de editar. Por isso, é mais sensato fazer a conversão antes do polimento final.
Reação da comunidade
A reação é sobretudo de aprovação: os utilizadores chamam à função uma melhoria discreta, mas importante, que influencia muito o trabalho diário. O argumento principal: o recálculo dos fotogramas-chave ao mudar a ordem dos eixos poupa horas em rigs e animações já concluídos, onde antes uma alteração dessas estragava o movimento. Um dos comentadores observou que, pelo que sabe, uma possibilidade semelhante já existia antes, só que pouca gente a conhecia. Ele próprio perdeu bastante tempo em projetos anteriores até ter conhecimento dela. Outros notam que no Blender 5.3 há outras pequenas coisas pouco discutidas, mas úteis.
«Pode parecer que não é muito emocionante, mas é um verdadeiro avanço! Adeus, bloqueio de eixos!»
— @vopiscus_bm (X)
«A observação sobre a conversão de rotação é exatamente aquele detalhe sobre alterações incompatíveis que poupa horas em rigs existentes.»
— @caren633881 (X)
«Só soube disto há alguns meses. Parece que a função já existe há muito tempo. Quase atirei o computador quando percebi quantas horas perdi noutros projetos.»
— @swamusic_ (X)
Onde tem de mudar o modo de rotação mais vezes?
- Nos ossos
- Nos objetos