Dois giros com puxada. Um deles está corrigido. O outro não. Consegue achar a diferença? Sinceramente, eu levei uma semana.
A resposta: olhe o quadril bem no final do que está quebrado. O corpo inteiro dá um tranco de volta para onde ele estava virado antes do giro, e depois gira de novo.
Por quê
Minhas animações de giro passaram por retarget a partir de outro esqueleto, e o retarget nunca trouxe junto a rotação do osso raiz. Então os 180 graus do giro viviam inteiramente na pose. A malha girava, mas a cápsula de colisão por baixo nunca se mexia.
Isso significava virar a cápsula de uma vez para a nova direção no instante em que a animação terminava: um salto brusco no lugar de uma rotação que deveria ter sido contínua. Se acontecer um quadro atrasado, você vê a direção antiga por um quadro. Se acontecer cedo, a pose e a cápsula estão ambas giradas e ele fica virado para o lado completamente errado. Também significava que o blend-out tinha que ficar em zero, porque qualquer transição segura a pose girada da montage enquanto a cápsula já virou. Então todo giro cortava seco para a corrida. Sem acomodar, sem continuidade.
A solução
Um Animation Modifier, uma ferramenta de editor que reescreve o próprio asset da animação. A cada quadro ele lê o yaw da pelve, grava esse valor na trilha de rotação do osso raiz e tira o mesmo yaw da pelve. A pose visível fica idêntica bit a bit, mas a rotação agora é root motion de verdade. A cápsula gira junto com a animação em vez de correr atrás no final. Nada de agendar tranco, e o blend-out volta a ser uma escolha livre, então os giros finalmente se acomodam na corrida em vez de cortar para ela.
Só o yaw, aliás. A opção "rotate with pelvis" do próprio retargeter copia a rotação inteira da pelve, incluindo pitch e roll, e o seu personagem sai nadando. Uma direção é yaw.
Entregue: Animation Modifier de yaw da raiz · giros se emendam na corrida
Este post foi traduzido do inglês com auxílio de IA. Ler o original