Exportando ossos do Blender

11

Eu escrevi um exportador de modelos de liquidificadores que funciona muito bem para malhas. Estou tentando estender isso aos ossos definidos no liquidificador. No entanto, não encontrei boas informações para exportar dados sobre ossos. Como posso acessar dados ósseos? Eu gostaria de acessar todos os vértices que o osso afeta, o peso de cada vértice e a matriz. Preciso exportar mais alguma coisa para animação esquelética e desmembramento dinâmico?

MichaelHouse
fonte
Eu respondia, mas minhas sugestões eram péssimas (não satisfeito com elas e nem transferível), e esperava que você obtivesse uma boa resposta. Atualmente, faço o aparelhamento no meu jogo e apenas exporto com um .obj, toda a minha animação é processual. Comecei tentando ler de uma exportação Collada, mas é um formato horrível. Deixe-me saber se você tiver sorte em escrever o exportador python.
Michael

Respostas:

7

Minha sugestão é, honestamente, apenas encontrar um formato que o Blender exporte também, e depois examinar o script desse exportador de formatos. Eu estava fazendo algo semelhante e percebi o quanto era doloroso encontrar um bom recurso para exportar ossos.

Mas aqui está essa especificação que me ajudou muito nos módulos de armadura

Joshua Hedges
fonte
Legal, parece que tem um pouco do que eu preciso. No entanto, ele não possui uma lista dos vértices que o osso abrange ou o peso desses vértices. Vejo que ele possui um bool para mostrar que um osso usa grupos de vértices, mas não vejo como acessar essas informações. Parece que o Blender deve poder exportar esses dados. Alguém sabe como chegar lá?
MichaelHouse
2
Parece que eu posso estar em alguma coisa. Como o Blender usa grupos de vértices para definir os grupos de ossos, posso encontrar o grupo de vértices com o mesmo nome que o osso, e encontrei todos os vértices que pertencem a esse osso.
MichaelHouse
Parece bom :]. Desculpe por não poder ajudar além do que fiz, tive um projeto semelhante, mas um pouco diferente. Então, eu não tinha mais informações.
Joshua Hedges
8

O @ Michael me direcionou a um excelente recurso para exportar ossos do Blender. Ele fornece todas as informações que eu precisava. Na verdade, ele já está embutido no Blender, é o DirectX Model Format.

Vá para as preferências do usuário, seção addon, categoria "Import-Export" e instale "DirectX Model Format (.x)". Em seguida, use Arquivo-> Exportar para selecionar o formato recém-adicionado.

Esse formato exporta não apenas as informações da malha (vértices, triângulos, quadriláteros, texturas etc.), mas também exporta informações da armadura, incluindo a estrutura da armadura (relações pai / filho), matrizes de transformação, cujos vértices são incluídos em cada osso e até o pesos ósseos para cada vértice. Sequências de animação também são exportadas.

Tudo em um formato ASCII legível por humanos, por isso é fácil escrever um importador. Bonita.

MichaelHouse
fonte
muito obrigado, mas as caixas delimitadoras também são exportadas por esse exportador
Martin Erhardt
@MartinErhardt Você terá que esclarecer o que é "esse exportador". O formato .x não exporta caixas delimitadoras.
MichaelHouse
2

O formato IQM (Inter-Quake Model) possui um conjunto de exportadores do Blender que exportam malhas de pele com pesos de mistura e armadura. Consulte http://lee.fov120.com/iqm/ para obter documentação e código. Você também pode olhar para os exportadores MD5 no formato Doom 3.

ccxvii
fonte
Obrigado @ccxvii, o link que você forneceu foi realmente útil.
MichaelHouse