Voltar para o Blog
Quest Log

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

Personagem 2D desenhado à mão dividido em partes, com ossos coloridos sobrepostos e uma malha triangular nos braços

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.

Ferramenta:Unity

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:

  1. 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.
  2. 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.
  3. 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.
  4. Nomes claros e únicos: braco_sup_esq, antebraco_esq. A Unity usa os nomes das camadas para os sprites e os GameObjects.
  5. 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

  1. 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.
  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.
  3. 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.
  4. 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ê.

Curso de Unity
Quer fazer seu primeiro jogo na Unity?

No curso de Unity 6 da CursoGame.Dev você vai do zero ao primeiro jogo, com um desafio prático em cada level e suporte individual no WhatsApp quando travar.

Conhecer o curso de Unity
Suporte no WhatsAppAcesso vitalícioGarantia de 7 dias

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:

  1. Selecione o objeto raiz do personagem e abra Window > Animation > Animation.
  2. Clique em Create para gerar o primeiro clip, por exemplo Idle.anim. A Unity cria também um Animator Controller.
  3. 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.
  4. 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.
  5. 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.

  1. Selecione o osso raiz e adicione IK Manager 2D.
  2. 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.
  3. 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.
  4. 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.