O que aconteceu com a COLLADA?

13

Alguns anos atrás, parecia que o COLLADA seria uma grande coisa, talvez, finalmente, um formato bastante padronizado para obter ativos 3D de um pacote DCC no pipeline de ferramentas de um jogo. E parecia uma boa opção para um desenvolvedor independente que não queria se trancar em um único pacote 3D escrevendo plugins de exportação personalizados.

Mas não ouvi muito sobre isso recentemente. E a Feeling Software, que havia apoiado o formato com seus exportadores Max / Maya e FCollada lib, parece ter retirado qualquer versão gratuita dessas ferramentas.

COLLADA está vendo muito uso hoje em dia? Existem bibliotecas / ferramentas gratuitas / baratas para ajudar a lidar com o formato ou as pessoas estão lendo o XML bruto?

Ou existe uma opção melhor hoje em dia - digamos, para um desenvolvedor independente que queira obter modelos / animação de Max, Maya ou Blender potencialmente em seu mecanismo? - FBX? Algo mais?

bluescrn
fonte

Respostas:

5

Relativamente às ferramentas, a minha experiência é que a solução popular para arquivos .dae acesso é collada-dom . Ele analisa apenas o xml e fornece acesso à estrutura da árvore. Originalmente desenvolvido pela Sony, agora é um projeto de código aberto (e a implementação de referência).

Recentemente, a opencollada parece receber alguma atenção, mas nunca a usei. Ele vem com plugins para 3DS, Maya, Blender e um SDK.

A Refinaria COLLADA é uma ferramenta para processar .daearquivos (por exemplo, superfícies triangulares).

Com relação à sua adoção, a maioria das ferramentas de criação convencionais (3DS, Maya, Houdini, Blender, Sketchup) suportam-no por padrão. No entanto, é possível obter resultados ruins ao importar um modelo exportado entre diferentes softwares. Você também deve ter cuidado com as várias versões simultâneas existentes no ambiente (1.3, 1.4, 1.4.1).

A FWIW, a conta oficial do Twitter para o COLLADA, muitas vezes anuncia as ferramentas e aplicativos que receberam suporte do COLLADA. Isso pode dar uma idéia do suporte na indústria.

Na minha experiência, é uma maneira suficientemente boa para trocar dados entre sistemas. Do ponto de vista de gamedev, não acho que seja uma boa solução pronta para uso. Depende do que você faz, mas neste momento é provável que seja necessário um importador que processe o arquivo (ou o DOM) do seu mecanismo. Também testemunhei importadores muito lentos; portanto, para um mecanismo de jogo, eu usaria um conversor COLLADA, em vez de um importador.

Frederic De Groef
fonte
4
As pessoas parecem não entender o que não deveria ser um formato no qual você carrega todos os seus modelos de jogos. É um formato que você pode armazenar e compartilhar facilmente entre as ferramentas de criação de conteúdo. Seu jogo sempre deveria ter seu próprio formato otimizado para o qual você converte, do collada.
Jsimmons
... e como um formato para compartilhar dados entre ferramentas, é uma péssima idéia, exceto pelo conjunto de dados mais trivial. A menos que todos os pacotes 3D renderizem todos os arquivos COLLADA da mesma forma, você não obtém os benefícios de pacotes cruzados que foram divulgados.
Dash-tom-bang
10

COLLADA era muito complexo na minha opinião. Sofreu com os designers tentando fazer com que ele lidasse com todas as combinações concebíveis de ativos 3D; por exemplo, todos os formatos e configurações possíveis de vértices / índices.

Parece ótimo, mas na prática isso colocou um fardo enorme em qualquer software que precisasse ler o formato.

Não ajudou que todas as ferramentas supostamente compatíveis tivessem suas próprias idéias sobre coisas como ordem de enrolamento, movimentação de eixos etc. A tentativa de usá-la como um formato de intercâmbio entre DCCs levou você a um mundo de geometria de cabeça para baixo em miniatura, UVs eliminados, você diga.

O que precisamos é de um formato simples projetado que cubra 90% das necessidades de uma maneira única e canônica.

Jim Blackler
fonte
No momento, as opções para os recursos do jogo são .obj (se você não se importa em não ter animação e sem compactação), .x (se estiver usando o DirectX) ou algum formato proprietário. Ps Gostaria de acrescentar que um amigo meu está trabalhando em algo chamado "OpenMDL" que parece muito promissor.
knight666
3
De fato, mais nenhuma biblioteca padrão e as que estão disponíveis com erros não ajudam. COLLADA é muito inchado IMO e está tentando ser tudo para todas as pessoas - isso é para não bater a idéia de que é louvável
zebrabox
2

Eu acho que o COLLADA seria / poderia ser muito mais útil se realmente tivesse uma implementação padrão e aberta para ler e escrever o formato, além da definição XML bastante assustadora.

Seu poder também é seu fracasso - a capacidade de descrever quase tudo, e de várias maneiras diferentes, soa muito bem do ponto de vista da exportação, mas é uma PITA para importar e entender.

No entanto, se você perseverar, recebe um formato que representa praticamente tudo o que provavelmente precisará, é suportado por algumas ferramentas e pode ser estendido.

É muito tentador usar um formato mais simples e, na metade do seu desenvolvimento, você perceberá que precisa de alguns dados extras e não há como obtê-los.

Além disso, se for para uso em um pipeline de produção interno, e não para liberação geral, você pode reduzir a definição e oferecer suporte apenas ao que realmente sai dos pacotes que você está usando, em vez de tentar ser excessivamente geral .

Então, sim, é falho e complexo, mas funciona e não há muitas opções por aí.

JasonD
fonte
1
Se você escreve um exportador e, posteriormente, não consegue descobrir como exportar alguns dados novos de que precisa, não deve usar ferramentas de escrita. Apenas dizendo'.
dash-tom-bang
2

Eu sei que este tópico está marcado como 'resolvido', mas na IMO você deve procurar no FBX. A Autodesk está usando esse formato e é o formato de intercâmbio de todos os principais programas 3D.

Portanto, não se preocupe com Collada.

É inchado, não intuitivo - e não é apoiado pelos principais players.

Qual é a Autodesk - eles estão comprando praticamente todos os aplicativos 3D disponíveis no mercado.

Autodesk FBX SDK: http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=7478532

jacmoe
fonte
2
Sim, isso não está certo! Bloqueando todos em um formato de arquivo proprietário fechado só ajuda Autodesk
zebrabox
Não é apoiado por alguém que deseja prendê-lo em suas próprias ferramentas. Surpresa! Um jogador importante que usa collada, no entanto, é a Epic Games, em particular a UE3.
jsimmons
Sério, o FBX tem exatamente o mesmo problema que muitos outros formatos "modernos": é proprietário. Isso o torna completo para iniciantes, para uso como um "formato padrão" ou realmente para qualquer pessoa que não queira se prender a um único fornecedor.
snogglethorpe