Qu'est-il arrivé à COLLADA?

13

Il y a quelques années, il semblait que COLLADA allait être une chose assez importante, peut-être enfin un format assez standardisé pour importer des ressources 3D d'un package DCC dans le pipeline d'outils d'un jeu. Et cela semblait être une bonne option pour un développeur indépendant qui ne voulait pas s'enfermer dans un seul package 3D en écrivant des plugins d'exportation personnalisés.

Mais je n'en ai pas beaucoup entendu parler récemment. Et Feeling Software, qui avait pris en charge le format avec leurs exportateurs Max / Maya et FCollada lib semble avoir retiré toutes les versions gratuites de ces outils.

COLLADA voit-il une grande utilité de nos jours? Existe-t-il des bibliothèques / outils gratuits / peu coûteux pour aider à gérer le format, ou les gens lisent-ils le XML brut eux-mêmes?

Ou y a-t-il une meilleure option de nos jours - par exemple pour un développeur indépendant qui souhaite intégrer des modèles / animations de Max, Maya ou Blender dans leur moteur? - FBX? Autre chose?

bluescrn
la source

Réponses:

5

En ce qui concerne les outils, mon expérience est que la solution populaire pour accéder aux fichiers .dae est collada-dom . Il analyse uniquement le xml et vous donne accès à la structure arborescente. Développé à l'origine par Sony, il s'agit désormais d'un projet open source (et de l'implémentation de référence).

Récemment, l' opencollada semble attirer l'attention, mais je ne l'ai jamais utilisée. Il est livré avec des plugins pour 3DS, Maya, Blender et un SDK.

COLLADA Refinery est un outil pour traiter des .daefichiers (par exemple, trianguler des surfaces).

Concernant son adoption, la plupart des outils de création grand public (3DS, Maya, Houdini, Blender, Sketchup) le supportent par défaut. Cependant, il est possible d'avoir de mauvais résultats lors de l'importation d'un modèle exporté entre différents logiciels. Vous devez également être prudent avec les différentes versions simultanées qui existent dans la nature (1.3, 1.4, 1.4.1).

FWIW, le compte twitter officiel de COLLADA fait souvent l'annonce d'outils et d'applications qui ont obtenu le support de COLLADA. Cela peut donner une idée du soutien de l'industrie.

D'après mon expérience, c'est un moyen suffisant de échanger des données entre les systèmes. D'un point de vue gamedev, je ne pense pas que ce soit une bonne solution prête à l'emploi. Cela dépend de ce que vous faites, mais à ce stade, un importateur qui traite le fichier (ou le DOM) de votre moteur est probablement nécessaire. J'ai également vu des importateurs très lents, donc pour un moteur de jeu, j'irais avec un convertisseur COLLADA, plutôt qu'avec un importateur.

Frédéric De Groef
la source
4
Les gens semblent manquer le peu où ce n'est pas censé être un format avec lequel vous chargez tous vos modèles de jeu dans votre jeu. C'est un format que vous pouvez stocker et partager facilement entre les outils de création de contenu. Votre jeu a toujours été censé avoir son propre format optimisé que vous convertissez, à partir de collada.
jsimmons
... et en tant que format pour partager des données entre les outils, c'est une idée terrible, sauf pour les ensembles de données les plus triviaux. À moins que tous les packages 3D ne rendent tous les fichiers COLLADA de la même manière, vous n'obtiendrez pas les avantages multi-packages qui étaient vantés.
dash-tom-bang
10

COLLADA était trop complexe à mon avis. Souffert des concepteurs essayant de le faire gérer toutes les combinaisons imaginables d'actifs 3D; par exemple tous les formats et configurations de vertex / index possibles.

Cela a l'air génial, mais en pratique, cela a imposé une énorme charge à tout logiciel qui devait lire le format.

Cela n'aidait pas que chaque outil soi-disant compatible ait ses propres idées sur des choses comme l'ordre d'enroulement, la maniabilité des axes, etc. nomme le.

Ce dont nous avons besoin, c'est d'un format simple conçu qui couvre 90% des besoins d'une manière canonique unique.

Jim Blackler
la source
En ce moment, les choix pour les ressources du jeu sont .obj (si cela ne vous dérange pas de ne pas avoir d'animation et pas de compression), .x (si vous utilisez DirectX) ou un format propriétaire. Ps Je voudrais ajouter qu'un de mes amis travaille sur quelque chose appelé "OpenMDL" qui semble vraiment très prometteur.
knight666
3
En effet, plus aucune bibliothèque standard et celles qui sont disponibles sont boguées n'aide pas. COLLADA est trop gonflé à l'OMI et essaie d'être tout pour tout le monde - ce n'est pas pour renverser l'idée qui est louable
zebrabox
2

Je pense que COLLADA serait / pourrait être beaucoup plus utile s'il avait réellement une implémentation standard et ouverte pour lire et écrire le format, en plus de la définition XML assez effrayante.

Sa puissance est aussi son échec - la capacité de décrire presque n'importe quoi, et d'une multitude de façons différentes, sonne bien du point de vue de l' exportation mais c'est un PITA à importer et à comprendre.

Cependant, si vous persévérez, vous obtenez un format qui représente à peu près tout ce dont vous aurez probablement besoin, est pris en charge par de nombreux outils et peut être étendu.

Il est trop tentant d'adopter un format plus simple, puis à mi-chemin de votre développement, vous vous rendrez compte que vous avez besoin de données supplémentaires, et il n'y a aucun moyen de les obtenir.

De plus, si cela doit être utilisé dans un pipeline de production interne, plutôt que pour une version générale, vous pouvez réduire la définition et ne prendre en charge que ce qui sort réellement du ou des packages que vous utilisez, plutôt que d'essayer d'être trop général. .

Alors oui, c'est imparfait et complexe, mais ça marche, et il n'y a pas beaucoup d'options là-bas.

JasonD
la source
1
Si vous écrivez un exportateur et que vous ne savez pas plus tard comment exporter les nouvelles données dont vous avez besoin, vous ne devriez pas écrire d'outils. Je dis juste.
dash-tom-bang
2

Je sais que ce sujet est signalé comme «résolu», mais OMI, vous devriez vous pencher sur FBX. Autodesk utilise ce format, et c'est le format d'échange de tous les principaux programmes 3D.

Alors ne vous embêtez pas avec Collada.

C'est ballonné, peu intuitif - et non soutenu par les principaux acteurs.

Autodesk - ils achètent à peu près toutes les applications 3D.

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

jacmoe
la source
2
Ouais ça ne fait pas les choses! Verrouiller tout le monde dans un format de fichier fermé propriétaire n'aide que Autodesk
zebrabox
Il n'est pas soutenu par quelqu'un qui veut vous enfermer dans ses propres outils. Surprise! Un acteur majeur qui utilise Collada, cependant, est Epic Games en particulier UE3.
jsimmons
Sérieusement, FBX a exactement le même problème que tant d'autres formats "modernes": il est propriétaire. Cela en fait un non-démarreur complet pour une utilisation en tant que «format standard» ou vraiment pour quiconque ne veut pas être enfermé dans un seul fournisseur.
snogglethorpe