md2-files and several texture-selections

Started by Elrohir, March 03, 2009, 06:09:27 PM

Previous topic - Next topic

EgonOlsen

Mit serialisieren meine ist einfach, das betreffende auf die Platte zu schreiben und in der eigentlichen Applikation einfach wieder zu deserialisieren. Wenn du damit noch nicht gearbeitet hast, guck mal nach ObjectOutputStream und ObjectInputStream sowie java.io.Serializable...ist nicht kompliziert, nur ein paar Zeilen Code.

A propos Code...in diesem Thread ist ein Beispiel für die 3DS-Sache: http://www.jpct.net/forum2/index.php/topic,1030.msg6366.html
Es fehlt zwar die Methode loadModel(), aber scheint nur ein Wrapper von den Loader zu sein, also nichts kritisches...

Hilft das?

Elrohir

Quote from: EgonOlsen on March 05, 2009, 06:25:55 PMHilft das?

Sogar sehr, danke!! :)

Und gut, mit dem serialisieren habe ich mich in der tat noch nciht beschäftigt... ich nehem an, das heißt, dass das objekt als byte-muster drauf gespeichert wird?
und hieße das, ich brauche dann nur noch ein 3ds-file am schluss mit dem modellierten stand-modell und dann das serialisierte animation-file? :o das wär nat. genial! :)

EgonOlsen

Du brauchst nur ein serialisiertes Object3D. Da sind dann die Animationen schon mit drin. Am Besten erstellt man die serialisierten Versionen mit einem kleinen Hilfsprogramm und lässt die Applikation nur noch mit dem Ergebnis arbeiten. Am Ende kann man die serialisierten Objekte in einem JAR zusammenpacken, dann brauchen sie auch nicht mehr soviel Plattenplatz. Es gibt auch noch ein paar Tricks (von Config.saveMemory=true abgesehen), mit denen man die serialisierten Dateien verkleinern kann...raft hat da mal was gemacht, ich habe es aber nicht mehr so genau im Kopf. Ist vielleicht auch erstmal nicht so wichtig.

Elrohir

Quote from: EgonOlsen on March 05, 2009, 09:00:38 PM
Du brauchst nur ein serialisiertes Object3D. Da sind dann die Animationen schon mit drin. Am Besten erstellt man die serialisierten Versionen mit einem kleinen Hilfsprogramm und lässt die Applikation nur noch mit dem Ergebnis arbeiten. Am Ende kann man die serialisierten Objekte in einem JAR zusammenpacken, dann brauchen sie auch nicht mehr soviel Plattenplatz. Es gibt auch noch ein paar Tricks (von Config.saveMemory=true abgesehen), mit denen man die serialisierten Dateien verkleinern kann...raft hat da mal was gemacht, ich habe es aber nicht mehr so genau im Kopf. Ist vielleicht auch erstmal nicht so wichtig.


Nunja, ich meinte damit auch vor allem, ob man die originaldaten noch auf der festplatte braucht...
also, dass die objekte mit nem hilfsprogramm erstellt werden, war mir wohl klar, nur halt nicht, ob ich die verwendeten 3ds dateien danach löschen kann ;)

EgonOlsen

Quote from: Elrohir on March 06, 2009, 09:59:51 PM
Nunja, ich meinte damit auch vor allem, ob man die originaldaten noch auf der festplatte braucht...
also, dass die objekte mit nem hilfsprogramm erstellt werden, war mir wohl klar, nur halt nicht, ob ich die verwendeten 3ds dateien danach löschen kann ;)
Für die Distribution selber brauchst du die nicht, aber ich würde sie nicht löschen. Wenn du z.B. auf eine neue Version von jPCT wechselst, musst du die serialisierten Dateien neu erzeugen, da sich die serialVersionUID einiger Klassen ändern könnte, wenn Felder hinzu kommen oder wegfallen.

Elrohir

Quote from: EgonOlsen on March 06, 2009, 10:52:14 PMFür die Distribution selber brauchst du die nicht, aber ich würde sie nicht löschen. Wenn du z.B. auf eine neue Version von jPCT wechselst, musst du die serialisierten Dateien neu erzeugen, da sich die serialVersionUID einiger Klassen ändern könnte, wenn Felder hinzu kommen oder wegfallen.

ye, meinte jetzt auch nur für die Distribution... ist ja dann schon für die Dateimenge wesentlich bequemer ;)
Danke für die Hilfe, bin jetzt grad dabei, son Programm für's erstellen der Animationen zu schreiben, denke mal, dasses jetzt klappen dürfte :)

Elrohir

#21
ok, uhm, gibt doch noch ein kleines problem...
undzwar wirft er jetzt folgenden fehler aus:

[ Sun Mar 08 19:58:35 CET 2009 ] - ERROR: Bounding box missing in this mesh!
[ Sun Mar 08 19:58:35 CET 2009 ] - ERROR: This Animation is empty!

woran könnte das liegen? :o

EDIT: ok, hatte vergessen den calcBoundingBox befehl anzuwenden... allerdings kommt jetzt dieser error:
[ Sun Mar 08 20:24:44 CET 2009 ] - ERROR: The sizes of the Animation's Meshes (582) and the object's Mesh (574) don't match!

und das sogar, wenn ich beidesmal genau die gleiche 3ds-datei benutze oO

EDIT2: hrm, ok, sry, hatte jetzt wiederum nicht das basisobject gebuildet.. jetzt funktioniert's.. :)