Seite 1 von 1

Wie konvertiere ich in das .mesh Format?

Verfasst: 20.02.2006 13:42
von Sebe
Einleitung

Ich hatte die letzten Tage mal Zeit, mich etwas näher mit OGRE bzw. der PureBasic Implementierung von OGRE zu widmen und kam dabei unweigerlich zu dem Problem: Wie bringe ich meine Modelle in das .mesh Format? Da ich weder mit Blender noch mit DeleD besonders erfolgreich war (Blender wollte meine 3ds Dateien nicht importieren, bei DeleD habe ich die Exportfunktion für .mesh nicht gefunden) habe ich mich der nächstbesten kostenlosen Möglichkeit zugewendet: Konvertieren mit Hilfe von Wings3D. Dies soll ein kurzes Tutorial sein damit ihr einen Grossteil eurer Modelle einfach konvertieren könnt. Auf Probleme gehe ich nachher noch ein.


Voraussetzungen

Zunächst einmal braucht ihr ein 3D Modell (logisch, oder?) welches in einem der folgenden Formate vorliegt: ndo, 3ds, ai, fbx, obj. Falls ihr natürlich Wings3D generell als Modeller verwendet ist das wings Format optimal. Als Nächstes müsst ihr Python 2.2 (ich habe es nicht mit höheren Versionsnummern versucht) bei folgender Adresse herunterladen: http://www.python.org/2.2.3/. Installiert Python in einen Ordner eurer Wahl (optimalerweise nicht in irgendwelche verschachtelten Unterordner). Bei mir liegt Python beispielsweise im Verzeichniss "E:\python22\". Entweder merkt ihr euch das Verzeichniss, oder ohr macht Folgendes (WindowsXP, bei anderen Windows Versionen funktioniert das u.U. ähnlich): Desktop -> Rechtsklick auf Arbeitsplatz -> Eigenschaften -> Erweitert -> Umgebungsvariablen -> unter "Systemvariablen" den Eintrag "Path" auswählen -> Bearbeiten -> am Ende von "Wert der Variablen" folgenden Eintrag anhängen: ;[Pfad von Python]. Bei mir ist es z.B. ;E:\Python22\ dies bewirkt, dass ihr Python von jedem "Ort" aus starten könnt und nicht immer in der Eingabekonsole per Hand in den Pfad von Python wechseln müsst.
Dann brauchen wir noch 2 Downloads von der OGRE Seite http://www.ogre3d.org/index.php?option= ... tcat&cat=5, nämlich die CommandLineTools und den Wings3D Exporter. Achja, falls ihr Wings3D noch nicht habt: http://prdownloads.sourceforge.net/wing ... e?download. Vergesst nicht, die Downloads von der OGRE Seite in Verzeichnisse zu extrahieren, die möglichst keine Leerzeichen enthalten.


Hey ho, let's go!

So, zunächst müsst ihr euer Modell in Wings3D laden und als .wings Datei abspeichern. Sollte nicht zu schwer sein, solange euer Modell in einem der oben genannten Formate vorliegt.
Als Nächstes öffnet ihr die Konsole. Nun führt ihr das w2o.py Script aus, welches beim Wings3D Exporter dabei ist, und zwar so:

Code: Alles auswählen

C:\>
C:\>python [Pfad der w2o.py Datei] [Pfad eures Modells]

Bei mir wäre das z.B.

C:\python E:\w2o\w2o.py E:\modelle\spaceships\prototype7.wings
Im Verzeichniss, in dem ihr euer Modell im wings Format gespeichert hattet solltet ihr jetzt eine .mesh.xml Datei vorfinden. Damit ihr dieses Modell jetzt in OGRE benutzen könnt, müsst ihr es noch in das binäre OGRE mesh Format umwandeln. Dafür haben wir vorhin die CommandLineTools heruntergeladen (und extrahiert). Wer keine Lust hat immer in das notwendige Verzeichniss zu wechseln kann den Pfad der CommandLineTools genauso eintragen wie den Python-Pfad. Ich habe das nicht gemacht.
Jetzt müssen wir noch OGREXMLConverter aufrufen und das machen wir so:

Code: Alles auswählen

C:>
- Wechsel in das CommandLineTools Verzeichniss -
C:\OGRECommandLineTools\ogrexmlconverter [pfad der .mesh.xml Datei]

Bei mir sieht das so aus:

C:\>e:
E:\>cd w2o\ogretools
E:\w2o\ogretools>ogrexmlconverter prototype7.mesh.xml
Das .mesh Modell sollte jetzt im Ordner der wings Datei liegen, Glückwunsch!


Probleme
Ich hatte beim konvertieren 2 Probleme.

1. Ich arbeite mit Nendo 1.5 und aus irgendeinem Grund will Wings3D die .ndo Dateien nicht importieren. Dieses Problem konnte ich umgehen, indem ich meine Modelle einfach als .3ds exportiert habe.

2. Einige .wings Dateien wurden bei mir nicht in das .mesh.xml Format konvertiert. Eine entsprechende Fehlermeldung sieht z.B. so aus:

Code: Alles auswählen

reading object 'Spikey' (498 faces, 747 edges, 251 vertices)
Traceback (most recent call last):
  File "w2o.py", line 66, in ?
    conv(arg, dstname, writeImages, keepRotation, scaleFactor)
  File "w2o.py", line 15, in conv
    obj = io3d_wings.read_wings(infile, writeImages, keepRotation)
  File "io3d_wings.py", line 313, in read_wings
    scene = ob.parse()
  File "io3d_wings.py", line 45, in parse
    return self.parse_2()
  File "io3d_wings.py", line 59, in parse_2
    self.postprocess(scene)
  File "io3d_wings.py", line 299, in postprocess
    wobj.make_face_normals()
  File "mesh.py", line 163, in make_face_normals
    n = pgon.pgon_normal(map(lambda v: self.verts[v], face))
  File "pgon.py", line 20, in pgon_normal
    return normal.unit()
  File "vector.py", line 99, in unit
    if len < 1e-5: raise ValueError('zero vector')
ValueError: zero vector
Dieses Problem konnte ich noch nicht lösen (mal abgesehen von neu-modellieren). Ich weiss absolut nicht woran das liegt, evtl. ist es ein Bug in Nendo. Ich werde sicherlich noch irgendwann mal versuchen, per Milkshape oder AC3D zu exportieren. Wird dann alles dokumentiert :D

Verfasst: 08.12.2006 17:58
von Scarabol
Ich hab die Models direkt mit Wings3D erstellt, hat auch super geklappt, hab sie dann nach deiner Methode in Mesh konvertiert. Mein Problem ist jetzt, dass PB die Modelle nicht laden kann. Ich bekomme immer eine Error Meldung von PB. Kannste mir vielleicht weiterhelfen und mir sagen ob deine konvertierten Meshs eingefügt werden konnten?

Gruß
Scarabol

Verfasst: 08.12.2006 19:15
von Creature
zum konvertieren eignet hervoragend AccuTrans 3D.
damit kann man nicht nur konvertieren, sondern auch noch ne menge andere dinge anstellen.
dass du mit Blender schwierigkeiten hattest, wundert mich.bei mir klappt das immer prima...
AccuTrans 3D bekommt man hier:
http://www.micromouse.ca/

Verfasst: 09.12.2006 06:50
von Scarabol
Gibt es eine Möglichkeit aus einer Mesh Datei wieder eine Mesh.xml zu machen?

Verfasst: 18.03.2007 21:31
von Skiller
Findste hier, falls das überhaupt noch jemand interessiert: http://web.t-online.hu/karpo/

Wollte in etwa beim alten ach so leidigen Thema bleiben deshalb noch mal hier: Also: Nachdem ich mich nach einer aktuellen!!! OgreXMLConverter.EXE in allen Foren fusslig gesucht u. nichts gefunden habe - weil auch vieles viel zu alt- bin nun bei Milkshape gelandet, da funzt es wenigstenz über die dlls.

Frage 1: Gibts überhaupt noch eine aktuelle OgreXMLConverter.EXE ?
Frage 2: Der OgreLexiExportInstall_1.0.3 ist für 3DMax8. Funzt mit 3DMax6 net. Weiss jemand was?
Frage 3: Bei Blender braucht der auch den Converter. Wie habt ihr das gemacht?
Frage 4: Ist das ok, bei Milkshap die Registrierung über den Cash/Briefweg zu regeln. Hat das mal jemand probiert ?

langsam werd´ich Convertermüde :angry:

Danke folks!!!![/b]

Verfasst: 18.03.2007 23:19
von dllfreak2001
Milkshape ist bis dato noch die beste Methode aber
dieser Breifklamotte traue ich nicht. Da es die Herrn in der
Schweiz nicht allzu genau nehmen.

Verfasst: 19.03.2007 13:39
von bobobo
Skiller hat geschrieben: Wollte in etwa beim alten ach so leidigen Thema bleiben deshalb noch mal hier: Also: Nachdem ich mich nach einer aktuellen!!! OgreXMLConverter.EXE in allen Foren fusslig gesucht u. nichts gefunden habe - weil auch vieles viel zu alt- bin nun bei Milkshape gelandet, da funzt es wenigstenz über die dlls.

Frage 1: Gibts überhaupt noch eine aktuelle OgreXMLConverter.EXE ?
Frage 2: Der OgreLexiExportInstall_1.0.3 ist für 3DMax8. Funzt mit 3DMax6 net. Weiss jemand was?
Frage 3: Bei Blender braucht der auch den Converter. Wie habt ihr das gemacht?
Frage 4: Ist das ok, bei Milkshap die Registrierung über den Cash/Briefweg zu regeln. Hat das mal jemand probiert ?



Danke folks!!!![/b]
zu 3. http://downloads.sourceforge.net/ogre/O ... ?downloads

Die DownloadSeite von Ogre hat scheinbar n Hau . Gut dass ich Opera hab

Verfasst: 20.03.2007 20:32
von Skiller
Oooohhhhhhh, endlich DIE!!!! Antwort.
DANKE!!!!!! Bobobobobobob >:)
Skiller