Was ist mit COLLADA passiert?


13

Vor ein paar Jahren sah es so aus, als ob COLLADA eine ziemlich große Sache werden würde, vielleicht endlich ein ziemlich standardisiertes Format, um 3D-Assets aus einem DCC-Paket in die Tools-Pipeline eines Spiels zu bekommen. Und es sah nach einer guten Option für einen Indie-Entwickler aus, der sich nicht durch das Schreiben benutzerdefinierter Export-Plugins auf ein einziges 3D-Paket festlegen wollte.

Aber ich habe in letzter Zeit nicht viel darüber gehört. Und Feeling Software, die das Format mit ihren Max / Maya-Exporteuren und FCollada lib unterstützt hatte, hat anscheinend alle kostenlosen Versionen dieser Tools zurückgezogen.

Wird COLLADA heutzutage viel genutzt? Gibt es kostenlose / kostengünstige Bibliotheken / Tools, die beim Umgang mit dem Format behilflich sind, oder lesen die Leute nur das unformatierte XML selbst?

Oder gibt es heutzutage eine bessere Option - beispielsweise für einen Indie-Entwickler, der Modelle / Animationen von möglicherweise Max, Maya oder Blender in seine Engine integrieren möchte? - FBX? Etwas anderes?

Antworten:


5

In Bezug auf die Tools habe ich die Erfahrung gemacht, dass die beliebte Lösung für den Zugriff auf .dae-Dateien collada-dom ist . Es analysiert nur die XML-Datei und gibt Ihnen Zugriff auf die Baumstruktur. Ursprünglich von Sony entwickelt, ist es jetzt ein Open-Source-Projekt (und die Referenzimplementierung).

In letzter Zeit scheint opencollada etwas Aufmerksamkeit zu bekommen, aber ich habe es nie benutzt. Es enthält Plugins für 3DS, Maya, Blender und ein SDK.

COLLADA Refinery ist ein Werkzeug zum Verarbeiten von .daeDateien (z. B. Triangulieren von Oberflächen).

In Bezug auf die Übernahme unterstützen die meisten gängigen Erstellungswerkzeuge (3DS, Maya, Houdini, Blender, Sketchup) diese standardmäßig. Es ist jedoch möglich, dass beim Importieren eines exportierten Modells zwischen verschiedenen Softwareprogrammen schlechte Ergebnisse erzielt werden. Sie müssen auch vorsichtig sein mit den verschiedenen gleichzeitigen Versionen, die in freier Wildbahn existieren (1.3, 1.4, 1.4.1).

FWIW, der offizielle Twitter-Account für COLLADA, kündigt häufig Tools und Anwendungen an, die von COLLADA unterstützt werden. Dies kann einen Eindruck von der Unterstützung in der Branche vermitteln.

Nach meiner Erfahrung ist dies eine gute Möglichkeit, Daten zwischen Systemen auszutauschen . Aus Sicht von Gamedev halte ich es nicht für eine gute Out-of-the-Box-Lösung. Es hängt davon ab, was Sie tun. Zu diesem Zeitpunkt ist jedoch wahrscheinlich ein Importer erforderlich, der die Datei (oder das DOM) für Ihr Modul verarbeitet. Ich habe auch sehr langsame Importeure gesehen, daher würde ich für eine Spiele-Engine eher einen COLLADA-Konverter als einen Importeur verwenden.


4
Die Leute scheinen etwas zu verpassen, wo es kein Format sein soll, mit dem Sie alle Ihre Spielmodelle in Ihr Spiel laden. Es ist ein Format, das Sie speichern und problemlos zwischen Tools zur Inhaltserstellung austauschen können. Ihr Spiel sollte immer ein eigenes optimiertes Format haben, in das Sie von Collada konvertieren.
Jsimmons

... und als Format zum Austausch von Daten zwischen Tools ist dies eine schreckliche Idee, mit Ausnahme der trivialsten Datensätze. Wenn nicht alle 3D-Pakete alle COLLADA-Dateien gleich rendern, erhalten Sie nicht die angepriesenen paketübergreifenden Vorteile.
Dash-Tom-Bang

10

COLLADA war meiner Meinung nach zu komplex. Leiden unter den Designern, die versuchen, jede denkbare Kombination von 3D-Assets zu verarbeiten. zB jedes mögliche Vertex- / Indexformat und jede mögliche Konfiguration.

Hört sich gut an, aber in der Praxis war dies eine enorme Belastung für alle Software-Komponenten, die zum Lesen des Formats benötigt wurden.

Es hat nicht geholfen, dass jedes vermeintlich kompatible Werkzeug seine eigenen Vorstellungen über Dinge wie Wickelreihenfolge, Achsenhandlichkeit usw. hatte. Der Versuch, es als Austauschformat zwischen DCCs zu verwenden, hat Sie in eine Welt von Miniaturgeometrien mit auf dem Kopf stehender Oberfläche getaucht, zerstörten UVs, Sie benenne es.

Was wir brauchen, ist ein einfach gestaltetes Format, das 90% der Anforderungen auf eine einzige, kanonische Art und Weise abdeckt.


Derzeit können Sie zwischen .obj (wenn es Ihnen nichts ausmacht, keine Animation und keine Komprimierung zu haben), .x (wenn Sie DirectX verwenden) und einem proprietären Format wählen. Ps Ich möchte hinzufügen, dass ein Freund von mir an etwas namens "OpenMDL" arbeitet, das in der Tat sehr vielversprechend aussieht.
Ritter666

3
In der Tat und keine Standard-Bibliotheken und diejenigen, die verfügbar sind, sind fehlerhaft, hilft nicht. COLLADA ist zu aufgebläht IMO und versucht, alles für alle Menschen zu sein - das ist keine lobenswerte Idee
Zebrabox

2

Ich denke, COLLADA wäre / könnte viel nützlicher sein, wenn es zusätzlich zu der ziemlich beängstigenden XML-Definition eine standardmäßige und offene Implementierung zum Lesen und Schreiben des Formats hätte.

Seine Kraft ist auch sein Scheitern - die Fähigkeit , fast alles zu beschreiben, und in einer Vielzahl von verschiedenen Möglichkeiten, klingt großartig aus der Sicht des Exports , sondern ist ein PITA zu importieren und einen Sinn von.

Wenn Sie jedoch durchhalten, erhalten Sie ein Format, das so ziemlich alles repräsentiert, was Sie wahrscheinlich benötigen, das von etlichen Tools unterstützt wird und das erweitert werden kann.

Es ist viel zu verlockend, ein einfacheres Format zu verwenden, und nach der Hälfte Ihrer Entwicklung werden Sie feststellen, dass Sie zusätzliche Daten benötigen, und es gibt keine Möglichkeit, diese zu erhalten.

Wenn dies für die Verwendung in einer internen Produktionspipeline und nicht für die allgemeine Veröffentlichung vorgesehen ist, können Sie die Definition einschränken und nur das unterstützen, was tatsächlich aus den von Ihnen verwendeten Paketen hervorgeht, anstatt zu allgemein zu sein .

Also ja, es ist fehlerhaft und komplex, aber es funktioniert und es gibt nicht so viele Optionen da draußen.


1
Wenn Sie einen Exporter schreiben und später nicht herausfinden können, wie Sie ein neues Datenelement exportieren, das Sie benötigen, sollten Sie keine Tools schreiben. Ich sag bloß'.
Dash-Tom-Bang

2

Ich weiß, dass dieses Thema als "gelöst" markiert ist, aber IMO solltest du in FBX suchen. Autodesk verwendet dieses Format und es ist das Austauschformat aller wichtigen 3D-Programme.

Also kümmere dich nicht um Collada.

Es ist aufgebläht, nicht intuitiv - und wird nicht von den Hauptakteuren unterstützt.

Das ist Autodesk - sie kaufen so ziemlich jede 3D-App.

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


2
Ja, das macht es nicht richtig! Das Sperren aller
Benutzer

Es wird nicht von jemandem unterstützt, der Sie in seine eigenen Werkzeuge einschließen möchte. Überraschung! Ein Hauptakteur, der Collada verwendet, ist jedoch Epic Games, insbesondere UE3.
Jsimmons

Im Ernst, FBX hat genau das gleiche Problem wie so viele andere "moderne" Formate: Es ist proprietär. Das macht es zu einem absoluten Non-Starter für die Verwendung als "Standardformat" oder wirklich für alle, die nicht an einen einzigen Anbieter gebunden sein möchten.
Snogglethorpe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.