Fileformat für Scene?
-
Sgt. Nukem schrieb:
@interpreter: Die Jungs meinen, ein XML-Format kannst Du Dir auch rupp-zupp aus den Rippen schneiden, und mit Standard-Bibls lesen und schreiben (TinyXML?).
Z.B.:
<scene> <cube> <id = 0/> <quad no=0> <vertexlist> bla... </vertexlist> </quad> </cube> <sphere> <id = 3/> ... </sphere> </scene>
Also konkret zur Beantwortung Deiner Frage:
Es gibt "bessere" Formate, wie XML.
Aber wenn Du mit ASE schon rumhantiert hast, würde ich das erstmal bevorzugen.
Mach' Deinen Loader straight-forward, dann solltest Du beim Umbauen auf XML oder sonstwas später keine dollen Probleme haben.Erstmal danke für die Hilfe
Mein Problem ist natürlich nicht das Parsen von XML Files sondern das fehlende Wissen, was für Daten in eine Scene reingehören (is mit den ganzen Materialien, Texturen usw bei mehreren Objekten ja ganzschön umfangreich) und deshalb habe ich ein fertiges Format gesucht um zu sehen, was da so alles dazu gehört. Naja, alles schnall ich beim ASE Format zwar noch nicht, aber ich denke, dass ich mal trotzdem dabei bleiben werde
-
Du musst schon selber wissen was du alles brauchst. Das kann dir niemand abnehmen. Aber trotzdem: Ignorier TGGC einfach, wenn er dich stört.
So rein prinzipiell:
Teile deine Scene in unabhängige Objekte auf soweit nötig, wenn z.B. etwas animiert werden muss.
Ich nehme dann an, du brauchst:Folgende Struktur bspw.
Scene - Texturen[] - Meshes[] --- Faces[] ---- Textur(en[]) ---- Geometriedaten[] ----- Position ----- Normale ----- Texturkoordinaten - MeshInstances[] -- MeshID --- Rotation --- Position --- Skalierung
Hoffe, man erkennt die Baumstruktur.
Das ganze ist natürlich beliebig erweiterbar, mit Animationsstufen usw. z.B.So könntest du z.B. mehrere Stühle platzieren hättest aber den Mesh dazu nur einmal komplett gespeichert. Ebenso mit den Texturen.
-
illuminator schrieb:
Du musst schon selber wissen was du alles brauchst. Das kann dir niemand abnehmen. Aber trotzdem: Ignorier TGGC einfach, wenn er dich stört.
Und hör auf mich, wenn du was lernen willst.
Bye, TGGC (Der Held lebt!)
-
illuminator schrieb:
Du musst schon selber wissen was du alles brauchst. Das kann dir niemand abnehmen. Aber trotzdem: Ignorier TGGC einfach, wenn er dich stört.
So rein prinzipiell:
Teile deine Scene in unabhängige Objekte auf soweit nötig, wenn z.B. etwas animiert werden muss.
Ich nehme dann an, du brauchst:Folgende Struktur bspw.
Scene - Texturen[] - Meshes[] --- Faces[] ---- Textur(en[]) ---- Geometriedaten[] ----- Position ----- Normale ----- Texturkoordinaten - MeshInstances[] -- MeshID --- Rotation --- Position --- Skalierung
Hoffe, man erkennt die Baumstruktur.
Das ganze ist natürlich beliebig erweiterbar, mit Animationsstufen usw. z.B.So könntest du z.B. mehrere Stühle platzieren hättest aber den Mesh dazu nur einmal komplett gespeichert. Ebenso mit den Texturen.
Leider hat sich nun die Anforderung dahingehen geändert, dass ich ein Fileformat nehmen muss, dass von 3ds max unterstützt wird. Da das ASE Format mehrere Objekte unterstützt werd ich wohl das nehmen
-
<scene> <cube> <id = 0/> <quad no=0> <vertexlist> bla... </vertexlist> </quad> </cube> <sphere> <id = 3/> ... </sphere> </scene>
Der Erfinder von XML hatte zumindest ne grosse Festplatte
Soviel Overhead-Information gehört ja bestraft.
-
Cpp_Junky schrieb:
<scene> <cube> <id = 0/> <quad no=0> <vertexlist> bla... </vertexlist> </quad> </cube> <sphere> <id = 3/> ... </sphere> </scene>
Der Erfinder von XML hatte zumindest ne grosse Festplatte
Soviel Overhead-Information gehört ja bestraft.Ist zum Debuggen und Selber-Ändern aber nunmal besser als
01 A4 F3 CB E2 41 23 67 CB E2 00 41 4A 23 67 54 B2 01 4A E2 41 A3 64 33 41 4A 23 A4 F3 01 4A E2
:p
Und das ganze nachher binär (=wenig Speicherplatz) zu machen ist kein Akt. Gibt ja XUL (oder wie heisst das?). Beispiel Code in Gems 4.
-
interpreter schrieb:
Leider hat sich nun die Anforderung dahingehen geändert, dass ich ein Fileformat nehmen muss, dass von 3ds max unterstützt wird. Da das ASE Format mehrere Objekte unterstützt werd ich wohl das nehmen
Schreib doch ein 3dx max Plugin dafür
-
illuminator schrieb:
Schreib doch ein 3dx max Plugin dafür
ROFL
2 - 3 Stunden. Höchstens.
-
Ich kenne die 3ds max api ... und finde sie absolut grausig.
Eigentlich wollte ich nur bestätigt werden, dass ASE das geeignete Format ist
-
es gibt im netz zuhauf xml-export-scripte für max.
das ase format ist zwar nett, aber leider unterstützt es animationen nicht vernünftig.
rapso->greets();
-
rapso schrieb:
das ase format ist zwar nett, aber leider unterstützt es animationen nicht vernünftig.
Ja, das stimmt. Aber da meine gesamte Szene sowieso statisch sein soll, ist das absolut in Ordnung.
-
interpreter schrieb:
Eigentlich wollte ich nur bestätigt werden, dass ASE das geeignete Format ist
ASE ist das geeignete Format für Dich, Ungläubiger!