ZFX
ZFX Neu
Home
Community
Neueste Posts
Chat
FAQ
IOTW
Tutorials
Bücher
zfxCON
ZFXCE
Mathlib
ASSIMP
NES
Wir über uns
Impressum
Regeln
Suchen
Mitgliederliste
Membername:
Passwort:
Besucher:
4139724
Jetzt (Chat):
9 (0)
Mitglieder:
5239
Themen:
24223
Nachrichten:
234554
Neuestes Mitglied:
-insane-
"FF7 Model Viewer" von (Unknown GER)


Hallo!

Dieses IOTW zeigt Teile mehrerer Battle Models von Final Fantasy VII (PSone, 1997).
Das besondere daran ist (worauf ich sehr stolz bin), dass ihr so ein Bild in den
Weiten des WWW nicht nochmal finden werdet. ;)

Die einzige Anwendung, mit der ähnliches möglich ist, ist ff7vM von makuchan.
ff7vM läuft mit OpenGL, kann allerdings einige der über 300 Models nicht öffnen.

Der Grund dafür ist, dass das Dateiformat dieser Models noch nicht dokumentiert
wurde, da es SEHR schwierig aufgebaut ist. Vielleicht kennt der eine oder andere
die mehr oder weniger bekannte Aussage "Der für die FFVII-Dateiformate zuständige
Programmierer muss besoffen gewesen sein, als er sie entwarf!". ^^

Das mag wohl auch wirklich zutreffen, da z.B. dieses Dateiformat nicht nur
größtenteils unlogisch aufgebaut ist, sondern auch noch extrem verkompliziert.
Vielleicht mag das auch Absicht gewesen sein, wer weiß das schon. Jedenfalls
sollen die Dateiformate der folgenden Finals Fantasy's nicht mehr so kompliziert
sein, da es wohl auch für die anderen FFVII-Programmierer mehr schlecht als
recht war.

Ich kann mit meiner Anwendung zwar alle Teile eines Battle Models anzeigen,
nicht aber als ganzes oder gar animiert. Dafür werden Bones eingesetzt.
Jedoch scheinen die Animationen und die Hierarchie nicht auf irgendeine
herkömmliche Art gespechert worden zu sein. Weder direkte Positionsangaben,
noch Quaternionen, Matritzen oder Eulerwinkel. Jedenfalls arbeite ich ab und
zu weiter daran, denn so langsam habe auch ich jeden Nerv dabei verloren.

Nun zu dem ganzen technischem Schickschnack:

Die erste Hürde zur Entschlüsselung war, die Dateien dekomprimieren zu können.
Das haben zum Glück schon andere findige Köpfe geschafft, denn darauf wäre ich
garantiert nicht gekommen: Es wird eine leichte Modifikation von einem
LZSS-Algorithmus verwendet, der 1989 von Haruhiko Okumura veröffentlicht wurde.

Alles weitere musste nun auf eigene Faust entdeckt werden. Alles in allem saß
ich wohl ungefähr 200 Stunden (!) vor einem rießigen hexadezimalen Brei. Und dass
das sehr zermürbend ist, könnt ihr euch sicher vorstellen. O_o

Die Models bestehen aus zwei verschieden Polygonarten - Dreiecke und Vierecke.
von beiden gibt es eine kolorierte und eine texturierte Variante.
Überwiegend werden jedoch kolorierte Polygone verwendet.
Bemerkenswert ist, das die Polygonanzahl für 1997 enorm war: Allein das >komplette<
"HICLOUD"-Model (Kopf, IOTW links) hat ~ 3400 Polygone. Davon sind 50 texturiert.

Die Proportionen der Modelteile zueinander im IOTW stimmt übrigens nicht, da sie aus
unterschiedlicher Entfernung aufgenommen wurden. Das rechte Modelteil ist z.B.
so groß wie ein Hochhaus.

Für die Texturen wird wie bei allen PSone-Spielen das TIM-Format benutzt. Die
meisten texturierten Models haben mehrere 4-bit Paletten und machmal wird eine
8-bit Palette verwendet. Auch hier hat übrigens der betrunkene Sake-Liebhaber
übelst zugeschlagen. ^^

Mittlerweile habe ich von Cyberman etwas Verstärkung erhalten, der herausgefunden hat,
dass bei jedem Main Battle Character 16 Waffen am Ende der Datei gespeichert sind.

Ich hoffe, dass wir evt. bald wenigstens die Bone-Hierachie knacken und komplette
Models präsentieren können.

In diesem Sinne, Prost!






Von Tales am 08.03.2004, 00:08:01 Uhr
erster.

sieht cool aus, wobei man hier am ehesten die Umsetzung dieses Modellformats belobigen kann, ich kann mir sehr gut vorstellen dass das schwer war ^^

FF7 hats auch nich besser dargestellt.. Ah, das weckt Erinnerungen an das Spiel in mir.. das Modell oben rechts sieht witzig aus, ohne Körper sieht Cloud aber komisch aus ^^ aber das kriegste ja wohl hin, wenn du die Animationen hinbekommst wird es ein richtig gelungenes Projekt. Kannst du was zum anschauen onlinestellen, wie z.b. genau diese Version mit Modells?

Von Unknown GER am 08.03.2004, 07:34:05 Uhr
Hallo Tales,

ja mir ging es in erster Linie um das Dateiformat. ^^
Hatte dieses IOTW eigentlich nur geschickt, weil ich dachte, hier herrscht ein Mangel daran. Und siehe da... Musste sogar 3 Wochen warten.
Mit der Demo o.ä. wird's wohl schwierig, da Sony/Eidos nicht gerade zimperlich mit sowas umgeht. O_o
Man müsste FFVII für die PSone dann schon selbst besitzen, dass keine Copyrights verletzt werden.
Nichts desto trotz müsste ich erst eine neue Anwendung schreiben, denn die jetzige diente eher als Mittel zum Zweck und hat noch nicht mal ein GUI oder sonstiges (Hab den ganzen Code in 2 Funktionen und eine nicht durchdachte Klasse gepackt) ^^. Ich musste bis jetzt immer neu compilern um ein neues Model anzuzeigen. -.-
Da ich mich aber momentan mit C# beschäftige und sehr gefallen daran finde werde ich mich nach ein paar DirectDraw-Stunden mit Direct3D befassen und eine ensprechende Anwendung online stellen. Das Dateiformat werde ich dann denke ich mal auch veröffentlichen.

Von trooper am 08.03.2004, 16:41:55 Uhr
Zitat:
Allein das >komplette<
"HICLOUD"-Model (Kopf, IOTW links) hat ~ 3400 Polygone.

jaja, da gehen sicher 3000 für die haare drauf *g*
wenn ich sephiroth so sege krieg ich richtig lust das spiel nochmal durchzuspielen :)

wieso willst du aber eigentlich ff7 modelle anzeigen?! aber auf jeden fall respekt!!! *g*

ciao,
stefan

Von Unknown GER am 08.03.2004, 17:02:32 Uhr
Naja, wenn ich sie komplett inkl. Animationen anzeigen könnte, könnte man was nettes draus zusammenschustern. Ich könnte mich ja dann noch um das Format der Bestias, Zaubersprüche und Kampfumgebungen kümmern. ;)

BTW: Die Haare haben eigentlich die wenigsten Polygone am ganzen Model. ^^
Und ich frage mich, warum nur jeder 220te ein Kommentar schreibt. =D

Von @uzingLG am 08.03.2004, 21:05:43 Uhr
Wow :O
Ein Dateiformat knacken :O :O

Man sieht dem Model garnicht an, dass es so viele Polygone hat... liegts an den eckigen Haaren oder am eckigen Rest... Nur beim Flugzeigt merkt man was. Wie viele Polygonalobjekte ^^ hat es denn?

Respekt jedenfalls...
Warum haben Eidos und Sony so komische Dateiformate...
Man müsste doch nur ein paar binäre Codes a lá MD2 verwenden...
Naja, in sowas misch' ich mich nicht ein.

Viel Glück beim weiterarbeiten ;) *daumenhoch*

Von ThunderEye am 08.03.2004, 21:27:39 Uhr
Hi,
sieht spitze aus, auch von mir ein fettes Lob! ;)
Haben die Modelle in Final Fantasy 7 eigentlich Gesichtsanimationen? Wenn ja, dann ist das mit den ~3000 Polys kein Wunder, da Gesichtsanimationen extrem viele Polys verschlingen können, um real auszusehen.
mfg
ThunderEye

Von Unknown GER am 08.03.2004, 21:46:23 Uhr
Zitat:
Liegts an den eckigen Haaren oder am eckigen Rest?

An den Haaren (siehe Screenshot am Ende des Posts). ^^

Zitat:
Nur beim Flugzeigt merkt man was. Wie viele Polygonalobjekte ^^ hat es denn?

Das Flugzeug besteht aus 3 Objekten, wovon 2 identische Propeller sind. Der abgebildete Rumpf hat einen Polycount von 1358.

Zitat:
Warum haben Eidos und Sony so komische Dateiformate?

Naja, es ist ein eigenes Format von Squaresoft.

Zitat:
Haben die Modelle in Final Fantasy 7 eigentlich Gesichtsanimationen?

Nein. Der hohe Polycount kommt daher, da mit Gourand Schading teils recht komplexe Farbverläufe realisiert wurden.

@ all

Vielen Dank für euer Lob! =D

Hier nochmal die Wireframe-Variante vom HICLOUD-Kopf mit einem Polycount von 561:
HICLOUD (Wireframed)

Von trooper am 09.03.2004, 17:22:49 Uhr
du könntest die modele nicht zufällig in ein "verwendbares" modelformat konvertieren *hust* *gg*

dürfte man das?
wer cool wenn cloud in einem demo von mir herum gehen könnte ... muss ja eidos nicht wissen :D

ciao,
stefan

Von Unknown GER am 09.03.2004, 18:13:14 Uhr
Um die Models anzuzeigen hab ich sie doch schon in ein verwendbares Format gebracht.

2 Vertexbuffer
2 Indexbuffer
1 Textur
1 Klasse mit Informationen über die Anzahl der Objekte, die enthaltenen kolorierten und texturierten Polygone und einer Render()-Funktion.

^^

Jetzt muss ich "nur" noch die Animationen bzw. die Hierachie knacken (hab seit 2 Monaten nichts mehr gemacht).

Und ohnehin gäbe es ja nur eine Nach-Vorne-Stürmen-Animation was das herumlaufen betrift. Mit den eckigen Scene Models die außerhalb von Kämpfen verwendet werden, sieht das schon anders aus. Aber die sind ja relativ hässlich. ;)

Von Peter Müller am 09.03.2004, 22:41:30 Uhr
Sieht ziemlich gut aus!

Von Peter Müller am 09.03.2004, 22:41:30 Uhr
Sieht ziemlich gut aus!

Von Lex am 11.03.2004, 13:50:44 Uhr
@Unknown GER:
Sieht schick aus !

Wenn du dann das gesamte Dateiformat geknackt hast, könntest du ja einen exporter und importer für milkshape o.ä. coden, und deine eigene Modelle damit machen und animieren.
Eventuell das format auch erweitern.

Von CptStone am 20.03.2004, 00:17:27 Uhr
Zuerst: RESPEKT!

"Jedoch scheinen die Animationen und die Hierarchie nicht auf irgendeine
herkömmliche Art gespechert worden zu sein. Weder direkte Positionsangaben,
noch Quaternionen, Matritzen oder Eulerwinkel. "

-> Hm, warum postest Du Details dazu nicht Experten-Bereich? Es gibt doch mehrere Mathe-Freaks hier!

Gruß!