3d formate

Einstiegsfragen, Mathematik, Physik, künstliche Intelligenz, Engine Design
Antworten
Benutzeravatar
spobat
Beiträge: 86
Registriert: 13.09.2010, 00:20
Kontaktdaten:

3d formate

Beitrag von spobat »

Huhu!

Ich beschäftige mich zur zeit stark mit dateiformaten, und frage mich, welches dateiformat ich wohl für 3d - modelle nutzen sollte / am besten
dafür geeignet ist.
Eignen sollte es sich für folgendes:
o Texturen
o Animation
o Text-based ( gut komprimierbar )

Es gibt ja eine recht große auswahl( 3ds, c4d, x, xml, col ).
Von einigen ist bekannt, dass sie nicht sonderlich gut sind ( blender, x), eben welche, die nur für den export oder zur einfachen darstellung da sind,
aber nicht zur performanten real-time renderung.

Ich freue mich auf die vorschläge :mrgreen:
Benutzeravatar
Aramis
Moderator
Beiträge: 1458
Registriert: 25.02.2009, 19:50
Echter Name: Alexander Gessler
Wohnort: 2016
Kontaktdaten:

Re: 3d formate

Beitrag von Aramis »

Allen deinen Voraussetzungen genuegt am ehesten das X-Format -- leider ist die Exporterunterstuetzung bescheiden und die bestehenden Exporter generieren zudem wenig einheitliche Files (da es einfach keine ordentliche Spezifikation gibt).

Ansonsten waere Collada wohl ein guter Allround-Kandidat. Damit sind deine Daten halbwegs portabel lesbar. Dafuer ist Collada nicht sonderlich schnell zu lesen und leidet ein bisschen unter seiner eigenen Komplexitaet.

Wenn es dir wirklich auf Import-Performance ankommt, solltest du dir ein eigenes, binaeres Dateiformat basteln und einen Converter um Collada oder X in dieses Format zu konvertieren.


Um Collada, X, 3DS, Obj und 2 dutzend weiterer 3D-Formate lesen zu koennen, darf ich dich an dieser Stelle ganz schamlos auf den Link in meiner Signatur verweisen :-)
LPVOID_CH
Beiträge: 29
Registriert: 06.04.2002, 14:15
Kontaktdaten:

Re: 3d formate

Beitrag von LPVOID_CH »

Also ich plädiere nach wie vor für das gute, alte MD2 (Quake2) Format 8-) . Das ist zwar nicht Textbasiert bietet aber folgende vorteile:
- Einfaches Binäres Format
- Texturkoordinaten
- Animation (nur Keyframes, reicht aber für Grundanimationen)
- Es gibt unzählige Importer für viele Programmiersprachen
- Sehr viele und Kostenlose bzw. LowBudget 3D Programme unterstützen das Format (Blender, Mikshape3D, Misfist, …)
- Ist für den Einstieg und das Verständnis von 3D Modellen und Animationen gut geeignet

Das Format stammt zwar noch aus dem letzten Jahrtausend (so um 1997/98 glaube ich) doch ich hab’s immer wieder verwendet um Modelle zu animieren und es ist super einfach. Es muss nicht immer alles State-of-the-Art sein um etwas Cooles zu machen ;-)
Es gibt auch tausende Beispielmodelle von Quake-Mods.

Einziges Kriterium das deine Anforderungen nicht erfüllt, es ist Binär und kein Textformat.

Wenn du dennoch auf dem neusten Stand der Technik sein willst und Skeletal-Animations verwenden möchtest -> Cal3D, ist performant, textbasiert und besitzt die meisten Features für Animationen
Benutzeravatar
Krishty
Establishment
Beiträge: 8251
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: 3d formate

Beitrag von Krishty »

Afaik können gängige 3D-Tools doch heute eine Sh*tload of Formats exportieren. Warum nicht das Erstbeste nehmen, was den Anforderungen genügt, und dann gucken, wie es weitergeht? Wenn irgendwas fehlt kann man immernoch umsteigen, ist mit Assimp ja ein Klacks, und im Voraus weiß man eh nie genau, was für Anforderungen man später mal haben wird.

Gruß, Ky
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Tiles
Establishment
Beiträge: 1990
Registriert: 11.01.2003, 13:21
Kontaktdaten:

Re: 3d formate

Beitrag von Tiles »

Es wäre erst mal interessant zu wissen welches 3D Programm du verwendest, und in welche Engine oder anderes Programm das Ergebnis dann reinsoll. Das ist eigentlich das Hauptkriterium.

Im Moment haben sich bei den 3D Programmen für Animationen Collada und FBX mehr oder weniger als Standard etabliert. Und OBJ ist immer noch eine gute Wahl wenn es um statische Objekte geht.

X hat den Pferdefuss dass es davon inzwischen unzählige unter einander nicht kompatible Derivate und Versionen gibt. Da ist der Ärger fast schon vorprogrammiert. Wenn es allerdings ohne grosse Probleme klappt ist nichts weiter dagegen einzuwenden. Bis auf die Tatsache dass X immer sehr grosse Dateien schreibt vielleicht. Wird ja jedes Face mit neuen Vertices versehen. Ich glaube FBX macht das auch. Bin mir aber nicht sicher.

Ansonsten würde ich mir ein gutes Programm zum konvertieren zulegen. Milkshape ist zwar hoffnungslos veraltet, kann aber sehr viele Formate. Und auch Ultimate Unwrap 3D ist da eine gute Wahl wenn du was zum konvertieren suchst. Wenn du eins von den zweien hast kannst du auch mal locker auf ein anderes Format ausweichen falls das eine streikt.
Free Gamegraphics, Freeware Games https://www.reinerstilesets.de
Die deutsche 3D Community: https://www.3d-ring.de
Benutzeravatar
Schrompf
Moderator
Beiträge: 4862
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: 3d formate

Beitrag von Schrompf »

Zu Aramis' und Tiles' Beiträgen ist eigentlich nichts mehr hinzuzufügen. Höchstens noch ein persönlicher Erfahrungsbericht von den Splitterwelten: das .x-Format hat uns sehr gute Dienste geleistet, vor allem bei Meshes mit Bone-Animations oder komplexeren Szenen. Allerdings wird es zunehmend schwerer, noch sinnvolle Exporter zu finden. Die in die 3DModeller eingebauten XFile-Exporter sind meistens Grütze, nur der Blender-XPorter ist mir als halbwegs brauchbar bekannt - bis auf die #NANs, die er gern mal ausspuckt, der Penner. Für 3DSMax gibt es den kwXporter - sehr gut brauchbare Arbeit. Für Maya gibt es nur cvXport, der aber nicht mehr gepflegt wird. Dafür gibt es zwei Versionen davon: eine nur 32Bit-Binarversion für Maya <V8.5 und eine Python-Version für Maya >=V8.5.

Aktuell benutzen wir immer mehr Collada. Collada-Exporter sind (vor allem OpenCollada) gut gepflegt für alle großen Modeller zu finden und diverse Konverter-Tools können das Format auch produzieren. Das Format ist mit seiner Vieldeutigkeit und unnötigen Komplexität der reine Hass zu lesen, aber Assimp lädt es inzwischen anstandslos - ihr habt das Problem also nicht mehr :-)

Ansonsten noch: OBJ geht immer, aber nur für einzelne Meshes von einer gewissen Maximalgröße und ohne Bones und Anims. 3DS ist solide brauchbar, wenn man Dateien in dem Format findet oder produzieren kann. Ist auch verdammt schwer, das korrekt zu lesen, aber wieder gilt: den Ärger haben sich bei Assimp bereits Andere für euch gemacht. Für ASE gilt das Gleiche. Wenn man einen guten Exporter für sein bevorzugtes Modellierungsprogramm findet, gehen selbst spielspezifische Formate wie z.B. Doom3 Models - verlässlich und mit Bones/Anims und allem. Und inzwischen kann man sogar Blender-Dateien direkt laden, wenn auch ob der Komplexität des Formats mit bislang nur unzuverlässigen Ergebnissen.

Und aus Fairness gegenüber Mitbewerbern - das FBX-Format wird von mehreren der großen 3DModeller gut unterstützt und ist verlässlich, auch für komplexe Szenen und mit Bones, Anims, Materialien usw. Allerdings gibt es zum Laden nur eine vorkompilierte Lib in einem >400MB SDK, das Format selbst ist geheim. Assimp soll auch einen FBX-Loader bekommen, aber ob meines aktuellen Stresses und der Tatsache, dass man dafür Reverse Engineering von Beispieldateien betreiben muss, geht es nur schleppend vorwärts.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
mike1906
Beiträge: 20
Registriert: 13.07.2010, 10:51

Re: 3d formate

Beitrag von mike1906 »

Also ich hab schon einige File Loader geschrieben, und finde das MS3D Dateiformat von Milkshape für "kleine" Projekte am besten.

1. Das Dateiformat ist sehr gut dokumentiert.
2. Milkshape unterstützt das im- bzw. exportieren aller wichtigen Dateiformate.
3. ist es verglichen mit anderen 3D Modeling Programmen sehr günstig falls du vorhast die Modelle in kommerzieller Software zu benutzen.

Wie schon gesagt wurde, Milkshape ist zwar hoffnungslos veraltet, unterstützt aber meines Wissens alles was man für die Spieleentwicklung braucht (z.B. Bone Animation).

http://chumbalum.swissquake.ch/ms3d/download.html
http://chumbalum.swissquake.ch/ms3d/ms3dspec.txt
Antworten