Animação 2D Esqueletal na Unity: Bones e Sprite Skin

Unity 2D Animation com bones: personagem recortado no PSD, PSD Importer, ossos e pesos no Skinning Editor, Sprite Skin e IK 2D, animando sem desenhar frames.
Animação 2D Esqueletal na Unity: Bones e Sprite Skin
Animação 2D esqueletal na Unity é desenhar o personagem uma vez, separado em partes (cabeça, tronco, braços, pernas), colocar ossos dentro dele e animar girando esses ossos, sem desenhar frame a frame. O fluxo oficial usa dois pacotes: PSD Importer, que transforma um arquivo em camadas num personagem montado, e 2D Animation, que traz o Skinning Editor, o componente Sprite Skin e o IK 2D.
Aqui você vai preparar o personagem em camadas, importar no Unity 6.3, criar ossos, malha e pesos no Skinning Editor, animar na janela Animation e usar IK 2D nos braços e pernas.
Animação 2D esqueletal na Unity: quando vale a pena
Vale a pena quando:
- O personagem tem muitas animações parecidas (idle, andar, correr, atacar) e redesenhar cada uma seria inviável.
- O estilo é ilustrado, em alta resolução, onde frame a frame custaria semanas.
- Você quer trocar roupas e armas mantendo as mesmas animações.
- A memória importa: um personagem esqueletal ocupa uma textura com as partes, e não dezenas de frames.
Não vale quando o estilo é pixel art (ossos rotacionando pixels geram serrilhado e distorção), quando a animação precisa de muita mudança de silhueta (um personagem que se dobra, muda de perspectiva, estica e achata) ou quando o personagem tem pouquíssimas animações. Para entender as duas abordagens sem depender de engine, o post de animação 2D esqueletal com Spine compara com sprite sheet. Aqui o foco é o fluxo nativo da Unity, sem ferramenta paga extra.
Preparando o personagem em camadas (PSD/PSB)
O PSD Importer lê arquivos .psb (formato grande do Photoshop) e .psd. Qualquer ferramenta que salve PSD em camadas serve: Photoshop, Krita (gratuito), Affinity. Regras para o desenho:
- Uma camada por parte que se move: cabeça, tronco, quadril, braço superior, antebraço, mão, coxa, canela, pé, de cada lado. Para um personagem simples, 11 a 15 camadas.
- Desenhe o que fica escondido. O ombro precisa continuar por baixo do tronco, o topo da coxa por baixo do quadril. Quando o braço gira, a parte coberta aparece. Sem isso, surgem buracos nas juntas.
- Pose neutra e aberta: braços um pouco afastados do corpo e pernas levemente abertas. Fica mais fácil criar ossos e pintar pesos sem misturar partes.
- Nomes claros e únicos:
braco_sup_esq,antebraco_esq. A Unity usa os nomes das camadas para os sprites e os GameObjects. - Ordem das camadas = ordem de desenho. O braço de trás fica abaixo do tronco, o da frente acima.
No Photoshop, salve com Maximize Compatibility. No Krita, salve como .psd normalmente. Resolução: desenhe no tamanho em que o personagem aparece na tela, ou até 2x para telas grandes. Um personagem de 512 a 1024 pixels de altura é um bom ponto de partida para jogo 2D em 1080p. O post sobre como desenhar personagem de jogo cobre silhueta e proporções antes desse recorte.
Importando com PSD Importer
- Window > Package Management > Package Manager > Unity Registry: instale 2D Animation e 2D PSD Importer. Projetos criados com o template 2D (URP) já costumam trazê-los. No Unity 6.3, as versões liberadas são 2D Animation 13.0.6 e PSD Importer 12.0.2.
- Arraste o arquivo para o Project. Arquivos .psb usam o PSD Importer automaticamente. Arquivos .psd abrem com o Texture Importer padrão: selecione o arquivo e, no topo do Inspector, troque o Importer para
UnityEditor.U2D.PSD.PSDImporter. - No Inspector, aba Settings:
- Texture Type: Sprite (2D and UI). Sprite Mode: Multiple.
- Pixels Per Unit: ajuste para o tamanho do seu mundo. Com 100, um personagem de 500 px tem 5 unidades.
- Import Mode: Individual Sprites (Mosaic), que empacota as camadas num atlas.
- Character Rig > Use as Rig: ligado. É o que monta o personagem como um prefab com as partes na posição original.
- Use Layer Group: ligado se você organizou grupos no arquivo e quer a mesma hierarquia na Unity.
- Apply. Arraste o arquivo para a cena: aparece o personagem montado, com um GameObject por camada. A documentação chama esse prefab de "actor".
Bones, geometria e pesos no Skinning Editor
Selecione o arquivo, clique em Sprite Editor no Inspector e, no menu do canto superior esquerdo da janela, troque para Skinning Editor. O trabalho tem três etapas, cada uma com um grupo de ferramentas na barra lateral.
1. Ossos (Bone tools). Com Create Bone (Shift+E), clique no quadril para começar o osso raiz e clique de novo para definir a ponta. Continue clicando para encadear: quadril, tronco, pescoço, cabeça. Para começar um galho novo (o braço a partir do ombro), clique com o botão direito para soltar a cadeia, selecione o osso do tronco e comece um osso novo no ombro. Ajuste com Edit Bone (Shift+W) e divida com Split Bone (Shift+R).
2. Geometria (Geometry tools). Clique em Auto Geometry (Shift+A), selecione todas as partes e gere. A Unity cria uma malha triangular dentro de cada sprite, ajustável por Outline Detail, Alpha Tolerance e Subdivide. Nas articulações, adicione vértices com Create Vertex (Shift+D) ou ajuste com Edit Geometry (Shift+S). Malha com mais vértices na junta dobra mais suave.
3. Pesos (Weight tools). Auto Weights (Shift+Z) calcula quanto cada osso influencia cada vértice. Depois refine com Weight Brush (Shift+N), pintando a transição entre braço e antebraço, e confira com Bone Influence (Shift+V) quais ossos afetam cada sprite. Uma parte rígida, como a mão, deve ter 100% do osso da mão. Uma junta deve ter uma faixa misturada entre os dois ossos.
Teste a todo momento com Preview Pose (Shift+Q): gire os ossos e veja a malha dobrar. Reset Pose (Shift+1) volta tudo. Clique em Apply no topo da janela ao terminar.
Rig e pesos bem feitos são metade do trabalho. A outra metade é fazer esse personagem andar, pular e reagir ao jogador numa máquina de estados que não trava, com colisão e câmera no lugar. É essa costura, do arquivo de arte até o jogo jogável, que o curso de Unity percorre com você.
Sprite Skin e animando na janela Animation
Com o rig aplicado, cada parte do prefab na cena ganha o componente Sprite Skin, que deforma o sprite seguindo os ossos. Se alguma parte não tiver, confira no Skinning Editor se ela recebeu ossos e pesos e reaplique.
Para animar:
- Selecione o objeto raiz do personagem e abra Window > Animation > Animation.
- Clique em Create para gerar o primeiro clip, por exemplo
Idle.anim. A Unity cria também um Animator Controller. - Ligue o botão vermelho de gravação. Na hierarquia, os ossos aparecem como GameObjects. Selecione um osso, gire na Scene view, avance o tempo e gire de novo. Cada mudança vira keyframe.
- Para um idle, 3 ou 4 poses em 1 segundo bastam: respiração subindo e descendo o tronco alguns graus, cabeça acompanhando com atraso.
- Para andar, comece pelas poses de contato e passagem (pé da frente encostando, pernas cruzando), com um ciclo de cerca de 1 segundo, e só depois refine os intermediários.
Use a aba Curves da janela Animation para suavizar: animação esqueletal com interpolação linear parece robótica, e a curva padrão (ease) já ajuda.
IK 2D para braços e pernas
Animar uma perna osso a osso para o pé ficar no chão é trabalhoso. O IK 2D resolve: você move o pé e a perna dobra sozinha.
- Selecione o osso raiz e adicione IK Manager 2D.
- Na lista Solvers, clique em + e escolha Limb (solver de dois ossos, ideal para braço e perna). As outras opções são Chain (CCD) e Chain (FABRIK), para cadeias mais longas como cauda e tentáculo.
- Selecione o solver criado. Em Effector, arraste o osso do pé (o último da cadeia). Clique em Create Target: a Unity cria o alvo na ponta do osso, como filho do solver.
- Repita para a outra perna e os dois braços.
Agora, gravando na janela Animation, você move os targets e não os ossos. A perna resolve o joelho sozinha. Se o joelho dobrar para o lado errado, marque a opção Flip do solver Limb no Inspector. A ordem dos solvers na lista importa: os de baixo usam as posições definidas pelos de cima.
Erros comuns: malha rasgando, pesos errados e camadas fora de ordem
Malha rasgando ou buraco na junta. Falta arte por baixo (o ombro termina antes do tronco cobrir) ou vértices estão presos a um osso só. Desenhe a sobreposição e suavize os pesos com Weight Brush.
Parte que não acompanha o osso. Peso zero para aquele osso. Abra Sprite Influence (Shift+M) ou Bone Influence e adicione o osso à parte.
Braço deforma como borracha. A parte rígida está com peso dividido. Pinte 100% do osso certo nela.
Camadas fora de ordem. O braço de trás aparece na frente do tronco. A ordem vem do arquivo, então corrija a ordem das camadas lá e reimporte. Para trocar a ordem durante uma animação (braço que passa para trás do corpo), anime o Order in Layer do Sprite Renderer.
Nada acontece ao girar ossos no Play. O Animator não tem controller, ou o clip foi gravado em outro objeto. Grave sempre com o objeto raiz selecionado.
PSD não abre como personagem. O arquivo está com o Texture Importer. Troque para o PSD Importer no topo do Inspector.
Próximo passo
Recorte um personagem simples com 11 partes, importe, faça o rig e anime um idle de 1 segundo. Só depois crie o andar. Quando o personagem tiver três ou quatro clips, organize os estados e transições com o guia do Animator Controller do zero.
Perguntas frequentes
Preciso do Photoshop para animação 2D esqueletal na Unity?
Não. O PSD Importer lê arquivos .psb e .psd em camadas, e ferramentas gratuitas como o Krita salvam .psd. O importante é cada parte do corpo estar numa camada separada e o arquivo ser salvo com compatibilidade máxima quando a ferramenta oferecer essa opção.
Qual a diferença entre animação 2D esqueletal e sprite sheet?
Na sprite sheet cada pose é um desenho novo. Na esqueletal você desenha o personagem uma vez, em partes, e anima girando ossos que deformam essas partes. A esqueletal economiza desenho e memória, mas tem um visual mais de recorte e não substitui bem animações com muita mudança de forma.
O IK 2D vem junto no pacote 2D Animation?
Sim. Na versão 13 do pacote 2D Animation, liberada para o Unity 6.3, o IK 2D faz parte do pacote, com o componente IK Manager 2D e os solvers Limb, Chain (CCD) e Chain (FABRIK).
Por que a malha do meu personagem 2D rasga ao mover o osso?
Normalmente porque os vértices de uma região estão presos a um osso só, ou porque a malha tem poucos vértices na articulação. Adicione vértices perto da junta com Edit Geometry e suavize os pesos com Weight Brush entre os dois ossos.


