Panda3D/Manual/Convertendo do Blender

Origem: Wikilivros, livros abertos por um mundo aberto.
Saltar para a navegação Saltar para a pesquisa

Atualmente, existem duas formas de levar dados do blender para o panda3d. A mais popular é certamente o exporter Chicken.

Opção 1: O plugin exporter Egg para blender

Existem vários plugins blender desenvolvidos pelos usuários Panda3d.

Chicken é o que está mais atual, documentado e completo. Ele suporta meshes estáticas, animação de esqueleto, materiais, cores de vértice, texturas alpha, tags, tipos de objeto, etc. Ele também têm habilidades avançadas como a invocação automática de ferramentas Panda (egg2bam, egg-optchar e pview ) e extração de animação. Você pode encontrá-lo em: [1]

EggX é outro exporter que aceita materiais, texturas não-proceduais, animação de esqueleto e meshes estáticas. Ele pode ser encontrado em: [2]

Outro exporter que só aceita meshes estáticas pode ser encontrado em: [3]

Opção 2: o formato de arquivo "X"

Existe um plugin gratuito para blender que pode exportar o formato "X" ( nativo DirectX ). SAlve os arquivos do blender como arquivos X, então carregue-os diretamente no Panda3D, que pode ler o formato de arquivo X. Alternadamente, se voce esta preocupado com carregamentos muito longos ( panda tem que traduzir o arquivo na hora do carregamento), então pré-converta o modelo de X para egg to bam, usando os programas de conversão providos com o panda3d (x2egg, egg2bam)

Quando você salva seu modelo em um formato não nativo, voce precisa se perguntar: "esse formato suporta tudo o que preciso?" por exemplo, quando voce salva um modelo no formato 3ds, voce automaticamente perde todos os dados de ossos e animação, porque o arquivo 3ds não contem dados de animação e ossos. No caso do formato de arquivo X, você está em boas condições: É um formato relativamente poderoso, suportando vertices, triangulos, ossos e animação.

Note contudo, que quando um arquivo animado X é convertido para egg, o arquivo egg resultane somente roda os frames chave, mas não o que deveria estar entre eles. Por exemplo, uma animação pode ter 200 frames, depois da conversão ter 40 e ao rodar parecer estranha. isso acontece porque o formato X suporta a ideia de frames chaves, com frames implicitos interpolados entre eles. O formato egg é explicito. Um egg precisa de todos os frames da animação, até os frames que aparecem entre os frames chave.

Então, o uso do x2egg com um arquivo x que omita os frames entre os frames chave, produzira um animação estranha. A única solução é ter certeza que seus arquivos X são gerados com todos os frames. Testar varios exporters X pode ser necessário.

O formato nativo panda, o egg, suporta algumas coisas esotericas. Por exemplo, ele suporta blend targets ( morph animations) e motion path curves, que não são suportados pelo formato X.

Cuidado: Foi recentemente descoberto que há 2 bugs no tradutor de arquivos X do panda. O primeiro é que ele é sensitivo á caixa( A, diferente de a ), quando não deveria. Segundo ele não aceita hifens em identificadores corretamente. Esses dois bugs serão corrigidos nas proximas versões do panda3d. Para informações de como contornar temporariamente o problema, procure no forum.