Exportar um esqueleto para motores de jogo
Arquivo ▸ Exportar ▸ Esqueleto (JSON)… escreve um rig de ossos e as animações dele como dados que um motor de jogo consegue reproduzir, em vez de renderizá-los em imagens.
Uma folha de sprites guarda cada quadro como imagem. Uma exportação de esqueleto guarda o rig no lugar: os ossos, as imagens penduradas neles e como os ossos se movem ao longo do tempo. O motor então desenha o personagem sozinho, então a animação fica leve e roda suave em qualquer tamanho e taxa de quadros.
Exportar
- Escolha Arquivo ▸ Exportar ▸ Esqueleto (JSON)….
- Escolha uma pasta. A exportação escreve vários arquivos, por isso pede uma pasta em vez de um nome de arquivo.
- Os arquivos são escritos na hora. Não há ajustes para escolher.
A pasta recebe skeleton.json, uma imagem de atlas skeleton.png com as imagens presas aos ossos, e um PNG por malha, com o nome da camada de malha. Um caractere que não cabe num nome de arquivo é substituído, e quando duas malhas têm o mesmo nome o segundo arquivo ganha um número. Os nomes são fixos, então exportar o mesmo projeto de novo substitui os mesmos arquivos.
O que o arquivo contém
A estrutura segue a do Spine: ossos, slots, anexos e animações. Não é um arquivo do Spine, e nenhum runtime oficial do Spine o lê, mas o formato é familiar o bastante para que um importador para o seu motor só precise ser escrito uma vez.
| Parte | O que guarda |
|---|---|
| Ossos | Cada osso de cada camada de osso, com a pose de repouso relativa ao pai. Os ossos estáticos, os alvos de IK, ficam de fora: o efeito deles já está nos ossos que eles comandam |
| Anexos de malha | Cada camada de malha, com os vértices de repouso, os triângulos e o peso que cada osso tem em cada vértice |
| Anexos de região | Camadas que seguem um osso de forma rígida por meio de Vincular camada, colocadas no atlas com o deslocamento fixo em relação ao osso |
| Animações | Uma animação por marcador de grupo na linha do tempo, com o nome do marcador. Sem marcadores de grupo, há uma única animação chamada default, do ponto de entrada ao ponto de saída |
Tudo o que o motor teria de reproduzir por conta própria é fixado em números simples: IK, dinâmica de ossos, ossos de controle e ações viram chaves comuns de rotação, translação e escala. Onde uma ação remodela uma malha de um jeito que os pesos dos ossos não conseguem expressar, essa animação guarda no lugar as posições dos vértices da malha quadro a quadro, então o motor não precisa saber como as ações funcionam.
O que ainda não está incluído
- Camadas que se movem com quadros-chave próprios e não estão vinculadas a um osso. Exporte essas como folha de sprites ou sequência PNG.
- O seguimento automático dentro de uma camada de ossos. Só os pesos que você vinculou ou pintou, e as camadas vinculadas com Vincular camada, são exportados. Por isso uma camada que segue o rig só pela vinculação Flexível ou Região não se move na exportação.
- Uma malha que, além dos ossos, também tem posição, rotação ou escala próprias.
- Restrições de IK, de transformação, de caminho e de física como restrições ao vivo, eventos e skins para trocar de figurino.