2009-06-22 5 views
17

Ich bereite mich vor, einen COLLADA Importeur in Java zu schreiben. Es gibt keine vorgefertigten Importeure, und selbst wenn es mich gäbe, wäre ich wahrscheinlich wählerisch, also glaube ich, dass dies das Beste ist. Ich gehe mit COLLADA 1.4, weil ich die 1.5 Eigenschaften nicht benötige, und viele Programme unterstützen es noch nicht. Ich fand die spec dafür und planen Sie, es zu folgen, aber es ist viel einfacher, durch Beispiel zu folgen und die Spezifikation für zusätzliche Information zu verweisen.Beispiel COLLADA-Dateien für die Entwicklung eines Importeurs?

Also mit all dem ... Können einige von Ihnen, die Erfahrung in COLLADA haben, mich auf einige einfache Modelle hinweisen, mit denen ich meinen Importeur lernen und testen kann, während ich ihn schreibe? Ich werde ein paar mit nur Geometrie exportieren, aber ich brauche etwas mit Texturen oder Materialien, mit Skelett- und Keyframe-Animation, etc. Irgendwelche Vorschläge?

Alternativ weiß ich, dass Blender kann COLLADA 1.4 exportieren und es kann die meisten Formate importieren. Wenn Sie einen wirklich guten Vorschlag für eine Website haben, die einfache 3D-Modelle in einem anderen Format hat, das ich nur als COLLADA importieren und exportieren werde, wäre das auch in Ordnung!

Danke!

+1

Hallo, hast du jemals einen guten COLLADA Importeur für Java gefunden oder erstellt? Fragen Sie nur, weil ich gerade nach einem suche. – mikera

Antwort

1

Das Problem hier ist die Tatsache, dass es, soweit ich weiß, gibt es kein Tool (zumindest für die Öffentlichkeit zugänglich), die die volle Collada-Spezifikation (insbesondere 1,5) unterstützt. Der Teil, der in den meisten Fällen gut getestet und entwickelt wurde, ist das Element der Geometrie-Bibliothek, Materialien usw., die in 1.5 normalerweise aus einer 1.4-Implementierung stammen (weshalb Werkzeuge, die sie normalerweise unterstützen 1.5 tatsächlich nicht (Physik, Kinematik) usw. sind in den meisten Fällen fehlend oder in schlechtem Zustand. Dennoch können Sie leicht anständige (wie im Geometrieteil ist OK, aber der Rest - vielleicht ist, vielleicht nicht) genug Collada-Dateien mit verschiedenen Export-Funktionen von hauptsächlich 3D-Modellierungssoftware erstellen (Blender, Maya, 3ds Max, CATIA etc.) OpenRAVE (verwendet für die Roboterwegplanung) hat tatsächlich eine der besten Export-/Importfähigkeiten, wenn es um COLLADA geht, und unterstützt sogar (teilweise) 1.5 Merkmale wie Kinematik

Wenn Sie sich zum Beispiel dafür entscheiden, Blender zu verwenden (kostenlos und Open Source, so dass Sie tatsächlich sehen können, wie das Import/Export-Addon funktioniert), können Sie etwas einfaches oder c erstellen komplex und exportieren Sie es als COLLADA 1.4 (nicht 1.5!). OpenRAVE verwendet zum Beispiel ein benutzerdefiniertes XML-Format, das intern in Collada konvertiert wird (um die Komplexität dieses Standards zu verbergen) und ermöglicht es Ihnen, sogar andere Formate (meistens für den Geometrieteil) wie OBJ einzubetten, was sehr viel ist einfacher zu finden ein decend Import/Export Tool für. Khronos Group stellt tatsächlich OpenCollada zur Verfügung (OpenRAVE und viele andere benutzen es intern, was natürlich zu Fehlern in allen führt, wenn etwas in OpenCollada schlecht implementiert ist: P). Die Assimp-Bibliothek bietet auch eine ganze Menge, aber das Hauptproblem ist die Fehlinformation, die es gibt, was es tatsächlich vom Collada-Standard unterstützt. Tatsächlich ist es wirklich sehr schwer, einen Bezug zu den implementierten Funktionen zu finden, wenn es um Collada geht, und leider habe ich erst vor kurzem mit 1.5 (Kinematik) begonnen, um zu entdecken, dass Assimp nur 1.4 unterstützt und in einem solchen Maße daran gebunden ist Es wirft Fehler auf Sie in dem Moment, in dem es auf ein typisch 1,5 Element trifft (auch wenn es leer ist!), was omho eine wirklich schlechte Implementierung seitens der Entwickler ist. In der Liste der unterstützten Formate gibt die Assimp-Website nur Collada an und keine Version wird angegeben.

Ich weiß, diese Frage ist alt und beantwortet, aber ich hoffe, diese Info hilft.Ich selbst schreibe gerade einen Parser in C# für den internen Gebrauch, wo ich gerade arbeite und es ist ein großer Schmerz zu entdecken, wie schlecht dies bereits ein ISO-Standard ist. Die Komplexität von Collada ist riesig, aber deshalb wird es als Pipeline-Format betrachtet und nicht als etwas, das Sie in einem Endprodukt verwenden sollten, das mit guter Leistung (sowohl Geschwindigkeit als auch Speicher) arbeitet.

2

Herunterladen Verwenden Sie die "Open Asset Import Library" von http://assimp.sourceforge.net/main_downloads.html. Es hat eine ganze Reihe von Collada-Dateien (in test/models/Collada), die es für seine Testsuites verwendet.

+1

Oder schnappen Sie sich die Dateien direkt von github https://github.com/assimp/assimp/tree/master/test/models/Collada – Akkumulator

0

Blendswap.com ist eine wirklich großartige Seite mit Tonnen von Modellen für Blender. Sobald Sie sich für ein Konto registriert haben, können Sie diese kostenlos herunterladen. Sie können sogar die Mehrheit der Modelle auf der Website kommerziell nutzen. Bevor Sie es herunterladen, erfahren Sie, ob Sie dem Autor Kredit geben müssen, obwohl einige der Modelle verwendet werden können, ohne Kredit zu geben, obwohl es immer noch empfohlen wird. Beachten Sie, dass für das Herunterladen pro Monat ein Limit von 200 MB gilt. Es gibt viele Modelle, die 1 MB groß sind. Überprüfen Sie daher vor dem Herunterladen die Größe der Datei. Dann können Sie den Collada-Exporteur in Blender verwenden. Überprüfen Sie die Einstellungen im Collada-Exportprogramm.

Verwandte Themen