Frage

Im eine Game-Engine zu schreiben und ich frage mich, was Format 3D-Modell soll ich / load / Export? Obj scheint universell und einfach, aber es scheint auch, dass die meisten Modelle unzuverlässig erwiesen, da Fehler enthält und es speichert nicht annähernd so viel wie andere Formate.

Es erscheint Formate für Spiele wie MD2 speziell auf seinen / 05.03 aber ich bin nicht sicher, ich benutze wings3d wenn ich Modell, und ich weiß nicht, was andere Details über die rein geladen, was ich brauche und Unterstützung aus dem Format Id haben zu implementieren, wie würde ich IK implementieren müssen? und kann ich pro Stück Animation Skript anstatt Inverse Kinematik und Knochen Rigging?

War es hilfreich?

Lösung

Collada ist ein offenes XML-basiertes Format für 3D-Modelle von der Khronos-Gruppe (OpenGL-Standards im Besitz Körper)

Von der Collada.org FAQ:

Das COLLADA 1.4.x Feature-Set beinhaltet:

  • Mesh Geometrie
  • Transformieren Hierarchie (Rotation, Translation, Scher-, Zunder, Matrix)
  • Effekte
  • Shaders (Cg, GLSL, GLES)
  • Materialien
  • Texturen
  • Beleuchtung
  • Kameras
  • Kürschnern
  • Animation
  • Physik (starrer Körper, Einschränkungen, Stoffpuppen, Kollision, Volumen)
  • Instanziierung
  • Techniques
  • Multirepresentations
  • Assets
  • Benutzerdaten

Andere Tipps

Bevor sich Gedanken über das, was 3D-Formate Sie unterstützen wollen, ich glaube, Sie sollten wirklich darauf konzentrieren, was Funktionen, die Sie in Ihren Motor zu implementieren planen. Schreiben Sie die, sich wie Anforderungen, und das Format auswählen, die die meisten Funktionen aus der Liste unterstützt ... wie Sie Ihren Motor präsentieren werden wollen (Ich gehe davon aus Sie planen für Ihren Motor öffentlich zugänglich zu sein). Man könnte sogar will Ihr eigenes Format rollen, wenn Ihr Motor Besonderheiten hat (das ist immer eine gute Sache für eine Game-Engine zu haben).

Danach unterstützen, da viele der gängigen Formate wie möglich (.X, .3DS, OBJ, .B3D) ... je mehr zugänglich Motor ist, desto mehr Menschen werden mit ihm arbeiten wollen!

Collada ist ein schönes und generisches Format, aber wie Nils erwähnt, es ist nicht ein ideales Format für die endgültige Bereitstellung.

Ich benutze mein eigenes Binärformat. Ich habe versucht, bestehende Formate zu verwenden, aber immer in Grenzen laufen. Einige umgangen werden konnten, andere, wo Showstopper.

Collada kann einen Blick wert sein. Ich glaube nicht, dass es so gut ist wie ein Format, das von einer 3D-Engine gelesen werden. Es ist in Ordnung, wie eine allgemeine Datenaustauschformat though.

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

1 für Collada. Sie können auch einen benutzerdefinierten nativen Binärformat für wirklich schnellen Laden (in der Regel nur eine binäre Dump von Vertex / Index Pufferdaten, sowie Material und Skelettdaten und Kollisionsdaten falls zutreffend).

Ein Trend in der Games-Branche ist ein Format wie collada in dem Entwickler-Build des Motors zu unterstützen Laden, sondern auch eine Werkzeugkette, die eine optimierte Version für die Freigabe exportiert. Die Entwickler-Version das Netz dynamisch aktualisieren kann, um Künstler Änderungen zu speichern, wird die Datei automatisch ihnen eine (fast) Instant-WYSIWYG-Ansicht ihres Modell neu geladen ermöglicht, aber immer noch ein voll optimierte Release-Format bereitstellt.

Unterstützung Collada gut und liefert dann gute Wandler zu / von den anderen Formaten (dies könnte der harte Teil sein). Dies wird Ihnen ein Maximum an Flexibilität. Schauen Sie sich auf C4 Motor

Collada ist groß, aber es lebt mehr auf der 3D-App-Seite der Dinge. dh es am besten verwendet für die Übertragung von 3D-Daten zwischen Anwendungen, keine 3D-Daten aus einem Spiele-Engine geladen. Haben Sie in Lua geschaut? Es ist weit verbreitet in den Spielen, weil es ist eine Skriptsprache verwendet, die sowohl lächerlich schnell (für Spiele perfekt) ist und sehr flexibel (verwendet werden kann, um was auch immer Daten, die Sie für Ihren Motor benötigen darstellen).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top