Como animar Mapmodels do Sauerbraten


Quer animar os mapmodels do Sauer? Não tem mistério, você verá como é fácil.

Primeiro você precisa de um programa 3D, provavelmente você já conhece o Blender (nessa postagem usamos a versão Blender 2.79).

O objetivo dessa postagem não é te ensinar a usar o Blender, não é possível explicar todos os detalhes aqui, por isso fique de olho nos links...

Bem, vamos supor que você já tenha um mapmodel pronto e que só deseja animá-lo.
O Sauerbraten suporta vários arquivos 3D, entre eles estão: OBJ, MD2, MD3, MD5, IQM. E desses formatos apenas OBJ não suporta animações de personagens (com bones). MD5 pode ser considerado o mais complexo (na questão de importar/exportar), e o IQM, ao meu ver, possui algumas limitações chatas. Portanto só nos resta o MD3, e acredite, é sua melhor escolha.

Além de ser super fácil exportar para MD3 com o Blender, ele suporta todas as animações de personagens e a animação de mapmodels.

Vamos por etapas.
No Blender nós iremos:
Rigar (adicionar bones ao mapmodel)
Animar os bones
Exportar para .md3

Para o Sauerbraten, iremos:
Configurar o MD3.cfg

Nessa postagem vamos modificar um mapmodel que já existe no Sauerbraten, mas o processo com o seu mapmodel seria o mesmo.

Como iremos modificar um mapmodel do Sauerbraten, e não podemos importar MD2 ou MD3 com o Blender (não encontrei nenhum addon que funcionasse), nós vamos usar uma ferramenta online para converter um arquivo .MD2 para .OBJ (assim podemos importar para o blender de boas), eu recomendo o Online 3D Converter, é bem simples usá-lo.

Nosso arquivo de testes será o inseto que fica na pasta sauerbraten/packages/models/dcp/insect


Pegue o arquivo "tris.md2" e envie ele para o 3D Converter.
Clica em "Start Uploading" para iniciar.



Feito o upload, clique em NEXT.

Selecione o formato, nesse caso OBJ, e clique em NEXT novamente.



Feito isso, pressione o botão START e clique no primeiro arquivo (obj) quando ele terminar de ser convertido (o segundo arquivo é para as texturas, não é necessário baixá-lo).

Pronto, agora você já pode importá-lo para o Blender (file > import > wavefront obj) e deletar o cubo padrão, vamos ao rigging.

Para adicionar um bone, abra o menu de Add apertando SHIFT A, selecione Armature e então Single Bone.


Você verá que um bone minúsculo apareceu na cena, aperte S e mude a escala, rotacione e etc (veja mais aqui e aqui também). Sugiro ativar o modo X-ray para ver o bone através do modelo.

Bem, feito todos os bones, vamos aplicá-los ao modelo, você pode fazer isso selecionando o modelo, segurar shift e selecionar a armadura, e então pressionar CTRL P e escolher "With automatic weights" (veja mais aqui).


Para testar se tudo está funcionando, selecione a armadura e mude o modo de visualização para "Pose Mode" (o atalho é CTRL TAB) e tente mover um bone.
Veja aqui, como inserir keyframes no Blender, ou assista esse tutorial.



Após fazer o pobre coitado acima criar vida, vamos agora exportar para MD3.
Você vai precisar instalar um addon que possibilite o Blender exportar em md3, o addon que utilizamos pode ser encontrado aqui:
https://forums.duke4.net/topic/5358-blender-27-md3-export-script/

veja aqui como instalar um addon no Blender, caso fique assustado com o estilo desse site, tente esse aqui.

Instalou? Agora basta ir em "file > export > md3 (+shaders)"
Não se esqueça de configurar a janelinha no lado esquerdo:

Eu sugiro setar o Reference Frame para 0, e colocar o MD3 Name com o nome do arquivo original (nesse caso tris), não deve ser necessário, mas não custa nada.
Exporte e pronto, você já tem seu inseto em MD3, pronto para ser inserido no Sauerbraten.

Para o Sauer entender que o modelo é MD3, você precisa de um arquivo de configuração "md3.cfg" na mesma pasta do tris.md3. CFG é só um formato de texto normal, você pode criá-lo com qualquer editor.
No caso do inseto, você deve remover os arquivos anteriores do MD2, md2.cfg e tris.md2, para substitui-los com os arquivos MD3.

No md3.cfg teremos as linhas:
md3load tris.md3 //diz para o sauer carregar o modelo tris.md3
md3skin tris "skin.jpg" "masks.jpg" //diz para o sauer adicionar a textura skin.jpg com a masks.jpg
md3anim mapmodel 0 115 24 //adiciona a animação do tipo "mapmodel"

Nota sobre o comando md3anim:
md3anim <tipo> <frame de inicio> <frame de fim> <frames por segundo>

O "tipo" nesse caso é Mapmodel, isso significa que a animação ficará rodando infinitamente.
Outros tipos de animação são "jump" "attack" "idle" e etc (não deixe de verificar essa lista aqui), que na maioria dos casos só são úteis para personagens.

Veja que a animação que fizemos resultou 115 frames, começando no 0, por isso usamos
md3anim mapmodel 0 115 24

É importante que todos os arquivos (md3.cfg/tris.md3/skin.jpg/masks.jpg) estejam na mesma pasta, nesse caso: sauerbraten/packages/models/dcp/insectE pronto, você criou o seu mod, qualquer dúvida deixe ai na área de comentários.


Comentários

Cube BR - 2017/2018   [<>]
Todos os direitos são... não, aqui não tem direitos.