Pergunta

Im escrevendo um motor de jogo e eu estou querendo saber o formato de modelo 3D deve usar / carga / exportação? Obj parece universal e fácil, mas também parece ser confiável em que a maioria dos modelos lá fora conter erros e não armazenar em qualquer lugar perto tanto como outros formatos.

Parece haver formatos especificamente para jogos como MD2 / 3/5, mas eu não estou certo, eu uso Wings3D modelo se eu, e eu não sei o que outros detalhes além puramente carregar o que eu preciso e suporte do formato Id tem que implementar, como seria preciso implementar IK? e eu posso usar roteirizado por animação peça em vez de Cinemática inversa e aparelhamento osso?

Foi útil?

Solução

Collada é um formato baseado em XML aberto para modelos 3d pertencentes ao grupo Khronos (padrões OpenGL corpo)

A partir do Collada.org FAQ:

O COLLADA conjunto de recursos 1.4.x inclui:

  • malha geometria
  • Transform hierarquia (rotação, translação, de corte, escala, matriz)
  • Efeitos
  • Shaders (Cg, GLSL, GLES)
  • Materiais
  • Texturas
  • Luzes
  • Câmeras
  • Skinning
  • Animação
  • Física (corpos rígidos, restrições, bonecas de pano, colisão, volumes)
  • instanciação
  • Técnicas
  • Multirepresentations
  • Ativo
  • Os dados do usuário

Outras dicas

Antes de se preocupar com o que formata 3D você quer apoio, eu acho que você deve realmente se concentrar no que as características que você está planejando para implementar no seu motor. Escrever aqueles, como requisitos, e escolher o formato que suporta a maioria dos recursos da lista ... como você vai querer mostrar o seu motor (eu estou supondo que você está planejando para o seu motor para estar disponível ao público). Você pode até querer rolar o seu próprio formato, se o seu motor tem características específicas (que é sempre uma boa coisa para ter um motor de jogo).

Depois disso, o apoio como muitos dos formatos populares como você pode (.X, .3DS, .OBJ, .B3D) ... o mais acessível o seu motor é, mais as pessoas vão querer trabalhar com ele!

Collada é um agradável e formato genérico, mas como Nils menciona, não é um formato ideal para a implantação final.

Eu uso o meu próprio formato binário. Eu tentei usar formatos existentes, mas sempre correr em limitações. Alguns poderia ser contornado, outros onde showstoppers.

Collada pode valer a pena um olhar. Eu não acho que é tão bom como um formato para ser lido por um motor 3D. É bom como um formato geral de troca de dados embora.

http://www.collada.org/mediawiki/index.php/Main_Page

+1 para Collada. Você também pode querer um costume formato binário nativo para o carregamento muito rápido (geralmente apenas um despejo binário de dados do buffer de vértice / index, além de dados de materiais e esqueleto, e dados de colisão se apropriado).

Uma tendência na indústria de jogos é a carga do suporte um formato como collada na construção desenvolvedor do motor, mas também têm um conjunto de ferramentas que as exportações uma versão otimizada para a liberação. A versão desenvolvedor pode atualizar a malha de forma dinâmica, de modo artistas Salvar alterações, o arquivo é automaticamente recarregado permitindo-lhes uma (quase) instant vista WYSIWYG do seu modelo, mas continua a fornecer um formato versão totalmente otimizada.

apoiar Collada bem, e, em seguida, fornecer bons conversores de / para os outros formatos (esta pode ser a parte mais difícil). Isto lhe dará o máximo de flexibilidade. Dê uma olhada na C4 motor

Collada é grande, mas vive mais no lado do aplicativo 3D de coisas. ou seja, é melhor usado para a transferência de dados 3D entre aplicações, não carregar dados 3D a partir de um motor de jogo. Você já olhou para Lua? É amplamente utilizado em jogos, porque é uma linguagem de script que é tanto ridiculamente rápido (perfeito para jogos) e muito flexível (pode ser usado para representar todos os dados que você precisa para o seu motor).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top