View previous topic :: View next topic |
Author |
Message |
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 16.09.2007, 15:23 Post subject: D3Tool, andere OOF-Tools |
|
|
Hallo Leute,
ich komme gleich zur Sache
Ich arbeite jetzt mit, an dem D2X-XL Projekt, als Modeler und Texturen-Graphiker.
Nun, mein Problem ist, dass die OOF-Tools, die man jetzt noch (sehr schwer) im Netz finden kann, eher Schrott sind.
Das D3Tool ist das einzige, was einigermassen die ORF-Dateien zu OOF konvertieren kann.
Ich habe im Netz aber leider nur die version 0.14 gefunden. Es gab da aber angeblich noch eine 0.17.
Hat die vielleicht noch jemand, oder weiss, wo man die runterladen kann?
Die Autoren der alten Tools sind alle nicht mehr auffindbar und viele der Seiten schon ewig down.
Ansonsten bin ich für jeden Hinweis dankbar, der mir hilft standard 3D-Formate ins OOF zu konvertieren.
mein bisheriges Verfahren klappt eher schlecht als recht und manchmal geht es gar nicht.
Im Voraus Danke,
Gruß, Zombie
|
|
Back to top |
|
|
Dark Forum-Nutzer
Joined: 15 Nov 2001 Posts: 1244
Location: Berlin
|
Posted: 16.09.2007, 16:59 Post subject: |
|
|
wo liegt denn dein problem beim konvertieren ?
orf zu oof oder umgedreht mache ich in der regel mit dem OOFEditor und habe da eigentlich
bisher keine probleme gehabt.
_________________ Dark
wo alle das selbe denken, wird nicht viel gedacht
Es kommt meistens anders wenn man denkt! |
|
Back to top |
|
|
Floyd Forum-Orakel
Joined: 20 Mar 2001 Posts: 2912
Location: Dresden, Germany
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 16.09.2007, 22:17 Post subject: |
|
|
Naja, die ganzen Tools, die es auf den bekannten Descent Seiten gibt, habe ich schon, aber besonders glücklich bin ich damit nicht.
Mein grösstes Problem ist, dass die Tools den Texturen-namen nicht mitnehmen und die Achsen verdrehen
Ausserden stürzen sie oft beim Konvertieren ab, ohne eine Fehlermeldung.
Das nervt.
um es euch verständlich zu machen, wie umständlich das im moment für mich ist, hier meine Vorgehensweise:
1. Ich erstelle mein Model mit einem Modeling Programm
2. Ich exportiere es als ASE-Model
3. mit dem 2ORF-Tool konvertiere ich es tu ORF
4. Dann mit dem OOF-Tool lade ich das Model und exportiere es noch mal als ORF, damit 3dtool es lesen kann (sonst stürzt er oft ab)
5. lade das neugeschriebene ORF-Model in das D3Tool und exportiere es als OOF.
6. mit einem Hexeditor öffne ich die OOF-Datei und überschriebe den dummy-texturennamen mit dem entsprechenden namen.
Mit dem oof.tool kann ich zwar auch OOF exportieren, aber dann ist da kein platz drinne um den Texturennamen reinzuschreiben.
Ich denke es ist alles andere als Komfortabel
Gruß, Z.
P.S. Hat jemand von Euch ev. noch den D3TOOL V.0.17 ?
Den gibt es nirgends mehr im Netz
|
|
Back to top |
|
|
Do_Checkor Administrator
Joined: 19 Nov 2000 Posts: 7768
Location: Oldenburg (Oldb.)
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 16.09.2007, 22:53 Post subject: |
|
|
Danke für den Link, aber den Thread habe ich schon gelesen.
Das x2orf Tool funktioniert aber nicht, es ist wohl nur für die spezielle Blender version.
Meine .x Dateien will es nicht konvertieren.
Hoffe immer noch, das jemand noch das D3Tool 0.17 hat und dort einige Bugs behoben sind.
|
|
Back to top |
|
|
Floyd Forum-Orakel
Joined: 20 Mar 2001 Posts: 2912
Location: Dresden, Germany
|
Posted: 16.09.2007, 23:08 Post subject: |
|
|
lade und bearbeite doch das orf mit d3edit.
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 17.09.2007, 01:53 Post subject: |
|
|
Floyd wrote: | lade und bearbeite doch das orf mit d3edit. |
mein Problem ist nicht das ORF sondern das OOF.
ORF zu erstellen ist kein Problem, es aber gescheit zu OOF zu konvertieren.
|
|
Back to top |
|
|
Dark Forum-Nutzer
Joined: 15 Nov 2001 Posts: 1244
Location: Berlin
|
Posted: 17.09.2007, 18:15 Post subject: |
|
|
Könnte es sein dass das ASE-Format gar keine textureinformationen enthält ?
Habe mir gerade mal so eine datei per editor angeschaut und mit meinem laienhaften blick nichts derartiges entdeckt.
Im übrigen würde ich empfehlen nach schritt 3 das ORF mit dem D3-Editor zu laden.
Falls das ASE-Format tatsächlich keine Texturinfos enthält könntest du dann gleich nachtexturieren.
Wenn nötig kannst du auch gleich verdrehte achsen und dergleichen korrigieren.
Dann speicherst du das ORF einfach mit dem Editor ab.
Danach sollte das ORF vollkommen problemlos mit demm OOF-Editor zu IMPORTIERN sein.
Dabei werden alle texturen die du im D3-Editor eingestellt hast richtig mit übernommen.
Auch eigene texturen - man muss im OOF-Editor nur den richtigen Pfad zu den eigenen texturen einstellen.
Eine nachbearbeitung per hexeditor entfällt damit.
Das ist zwar immernoch alles andere als schnell und einfach - aber immerhin schon ein kleines wenig weniger kompliziert als dein derzeitiges vorgehen.
_________________ Dark
wo alle das selbe denken, wird nicht viel gedacht
Es kommt meistens anders wenn man denkt! |
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 17.09.2007, 18:28 Post subject: |
|
|
ASE enthält sehr wohl Texturen-Informationen
Ist einer der bekanntesten und weit verbreiteten 3D-Model Formaten im reintext Modus
D3-Edit ist für das erstellen von Models nur bedingt geeignet, weil es kein smoothing untersützt und die Models dadurch im Spiel kantig aussehen. Es ist halt primär zum Mappen entwickelt worden.
Ausserdem müsste ich so, noch ein Tool lernen, was ich eigentlich gar nicht brauche, da ich keine D3-Maps sondern nur Models erstellen will.
naja, mal sehen
Weiss jemand wo man genaue Spezifikation von dem OOF-Format findet?
Notfall muss ich mich wieder selbst an's coding ran machen.
|
|
Back to top |
|
|
Floyd Forum-Orakel
Joined: 20 Mar 2001 Posts: 2912
Location: Dresden, Germany
|
Posted: 17.09.2007, 23:25 Post subject: |
|
|
zombie999 wrote: | Weiss jemand wo man genaue Spezifikation von dem OOF-Format findet?
Notfall muss ich mich wieder selbst an's coding ran machen. |
im D3 SDK "object.h" und "object_external_struct.h". wobei das erlernen der texturierung in D3edit gegenüber dem programmieren eines neuen programmes wohl das geringere übel wäre ...
ich kann ebenfalls sagen, dass OOF-Edit bisher keine probleme gemacht hat, und ich habe schon diverse objekte (mehrfach) erstellt, auch mit eigenen texturen.
das sind nur ein paar mausklicks, sofern keine beweglichen teile dran sind. importieren - speichern als - fertig
aber lass dich nicht aufhalten
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 18.09.2007, 02:20 Post subject: |
|
|
Der OOF-Editor wurde in Visual-Basic 5 geschrieben.
Da hat nicht jemand zufällig den Quellcode, oder ?
Schade, das wäre das optimale. Der Autor ist wohl leider nicht mehr erreichbar.
Ich habe eine halbe OOF-FileSpec gefunden, mal sehen, ob ich was damti anfangen kann.
Übrigens habe ich jetzt über Umwege den D3tool 0.17 bekommen, mal sehen, ob der stabiler läuft.
Ich bleibe dran
|
|
Back to top |
|
|
Do_Checkor Administrator
Joined: 19 Nov 2000 Posts: 7768
Location: Oldenburg (Oldb.)
|
Posted: 18.09.2007, 08:29 Post subject: |
|
|
über was für Umwege denn?
Kannst das mal hier hochladen? Würd gern mein Archiv da nachpflegen...
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
|
Back to top |
|
|
Dark Forum-Nutzer
Joined: 15 Nov 2001 Posts: 1244
Location: Berlin
|
Posted: 18.09.2007, 11:26 Post subject: |
|
|
Du hast völlig recht - ASE hat die texturinfos.
Ich hatte für den dritten saturnlevel die meteoriten ja auch mit 3ds gebaut und als ASE
(fertig texturiert) übergeben.
Ist halt nur schon wieder paar jahre her, daher war mir das entfallen.
Im übrigen dürfte ich damals genau den oben beschriebenen weg gegangen sein.
Aber wenn du den OOf Editor um eine ASE-Importfunktion erweitern willst,
dann vergiss alle meine dummen ratschläge und mach dich ans proggen !
Wenn du das hin bekommst, wird dir unser dank ewig nachschleichen...
Nee - im ernst, sowas wäre eine echte erleichterung.
_________________ Dark
wo alle das selbe denken, wird nicht viel gedacht
Es kommt meistens anders wenn man denkt! |
|
Back to top |
|
|
VEX-Eagle Falschparker
Joined: 04 Feb 2003 Posts: 807
Location: Stelle (Hamburg)
|
Posted: 18.09.2007, 17:17 Post subject: |
|
|
Diese Spec benutze ich, wahrscheinlich hast du die gleiche ^^
Code: |
TXTR - An array of strings containing the filenames (w/o extension) of the textures used on this object. The position of a particular texture string determines the texture's index (count from 0).
int num_tex // number of texture strings
string textures[num_tex] // texture strings
OHDR - This is the object header, which gives the number of sub-objects coming and bounds information for the object.
int num_sobjs // number of sub-objects
float max_radius // maximum radius of object
vector min_bounding // min bounding box point
vector max_bounding // max bounding box point
float unknown_flt // unknown
SOBJ - These contain the geometry data for each sub-object. The bulk of OOFs is made up of one or more SOBJ chunks.
int sub_number // index of this sub-object
int sub_parent // index of this sub-object's parent
float unknown_flt[7] // unknown
vector atchpos // position of attachment to parent
float unknown_flt2[6] // unknown
string name // the sub-object's name
string properties // properties (examples: "$rotate=2", "$facing")
int unknown_int[3] // unknown; usually -1 -1 0, or 1 2 0
int num_verts // number of vertices
vector vertex[num_verts] // the vertices
vector normal[num_verts] // the vertex normals
float unknown_flt2[num_verts] // unknown; only present if version=2300; usually all set to 1
int num_faces // number of faces
FACE face[num_faces] // the faces
a FACE contains:
vector normal // the normal to the face
int num_pts // number of points on this face
int num_tex_ids // number of texture indices
int tex_ids[num_tex_ids] // texture indices
FACE_PT face_pt[num_pts] // index and texture coordinates for each of the face's points
float bounding_length // length of bounding rectangle?
float bounding_width // width of bounding rectangle?
a FACE_PT contains:
int index // the vertex index
float tu // texture u-coordinate
float tv // texture v-coordinate
SPCL - This contains data for special points, which are used by the game in various ways.
int num_pts // number of special points
SPCL_PT pt[num_pts] // the special points
a SPCL_PT contains:
string name // the special point's name
string properties // properties
vector pt // special point
float unknown_flt // a radius?
GPNT - These are the gun points, or firing positions, on the sub-object.
int num_pts // number of gun points
GUN_PT pt[num_pts] // the gun points
a GUN_PT contains:
int sobj_num // index of owner sub-object
vector pos // slot position
vector normal // normal to slot position
PANI - This is where the poly animation frames are stored.
P_ANI ani[num_sobjs] // animations for each sub-object
a P_ANI contains:
int num_key_frames // number of key frames
int unknown // always zero? might be float?
int last_frame_num // index of last interpolated frame
PFRAME frames[num_key_frames] // the key frames
a PFRAME contains:
int key_frame_num // index of keyframe
vector pos // position
RANI - This is where the rotational animation data is stored.
R_ANI ani[num_sobjs] // animations for each sub-object
an R_ANI contains:
int num_key_frames // number of key frames
int unknown // always zero? might be float?
int last_frame_num // index of last interpolated frame
RFRAME frames[num_key_frames] // the key frames
an RFRAME contains:
int key_frame_num // index of keyframe
vector pos // position
char unknown[4] // unknown (extra field not present in PFRAME)
PINF - output string from POFGEN
char str[] // null-terminated
There are several other chunk types of still unknown format:
WBAT
GRND
ATCH
NATH
|
|
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 19.09.2007, 00:57 Post subject: |
|
|
Jo, habe das auch in DescentBB Forum gefunden.
Hast du eine funktionierende Prozedur, die OOF Dateien laden/speichern kann?
Ich bin ein wenig eingerostet, was VB betrifft, ist schon eine zeit her.
Habe ein freeware code gefunden, welches ASE und noch ein paar andere Formate importiert.
Im Prinzip brauche ich jetzt nur noch eine funktionierende OOF-Export prozedur.
Aber blicke den OOF-Format noch nicht ganz.
Hätte jemand Lust an dem Tool mit zu arbeiten?
Dann könnten wir es als Open-Source releasen.
SuperSheep (der Autor von OOF-Edit) antwortet leider nicht auf meine PM's.
Will wohl den Source-COde nicht rausrücken.
|
|
Back to top |
|
|
Floyd Forum-Orakel
Joined: 20 Mar 2001 Posts: 2912
Location: Dresden, Germany
|
Posted: 19.09.2007, 01:13 Post subject: |
|
|
zombie999 wrote: | Hast du eine funktionierende Prozedur, die OOF Dateien laden/speichern kann?
|
Die Funktionen "ReadObject" und "WriteObject" in "LoadLevel.cpp" im D3Edit Sourcecode.
Da fällt mir auf, dass man ja relativ unaufwendig eine OOF-Exportfunktion für ORFs in D3Edit einbinden könnte, sowas wie "Save as OOF ..."
Last edited by Floyd on 19.09.2007, 01:18; edited 1 time in total |
|
Back to top |
|
|
MetalBeast Forum-Nutzer
Joined: 16 Sep 2007 Posts: 109
|
Posted: 19.09.2007, 12:23 Post subject: |
|
|
Naja, mein Problem ist, dass ich mich mit C nicht so gut auskenne.
Ich habe ja SuperSheep angeschrieben, aber der antwortet mir nicht.
Habe jetzt erfahren, dass Diedel mal wohl ziemlich unfreundlich zu ihn war, das wird wohl die Ursache sein.
Ich hätte D2X-XL nicht erwähnen sollen.
Naja, wie auch immer, ich habe jetzt guten VB-Quellcode gefunden mit dem ich ASE/3DS Formate importieren und darstellen kann.
Nun mein Problem ist, dass ich diesen OOF-Format nicht verstehe, oder nicht genug um da einen Exporter zu schreiben.
Wenn hier jemand Lust hat mir zu helfen, wäre ich dafür dankbar.
dabei brauche ich nicht den Code oder sowas, ich möchte nur die Logik verstehen.
Gruß, Zombie.
|
|
Back to top |
|
|
King Lo Forum-Nutzer
Joined: 14 Mar 2006 Posts: 320
Location: Stuttgart, BW
|
Posted: 19.09.2007, 13:58 Post subject: |
|
|
Wir von der ODF wären ohnehin an dem OOF-format interessiert. Vllt könnten wir zusammenarbeiten?
Für ORF haben wir schon C-Code geschrieben. Wenn du willst schicke ich es dir zu und erkläre dir auch, was ich weiß.
|
|
Back to top |
|
|
|