Wie konvertiere ich in das .mesh Format?

Probleme beim Erstellen von 3D-Modellen und Texturen, keine Ahnung womit man Musik macht? Dies ist dein Forum.
Sebe
Beiträge: 585
Registriert: 11.09.2004 21:57
Wohnort: Europa
Kontaktdaten:

Wie konvertiere ich in das .mesh Format?

Beitrag 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
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag 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
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Creature
Beiträge: 678
Registriert: 29.08.2004 00:55
Wohnort: Frankfurt/Main

Beitrag 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/
Bildung kommt von Bildschirm und nicht von Buch, sonst hieße es ja Buchung.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Gibt es eine Möglichkeit aus einer Mesh Datei wieder eine Mesh.xml zu machen?
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Skiller
Beiträge: 151
Registriert: 04.02.2005 22:26

Beitrag 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]
Benutzeravatar
dllfreak2001
Beiträge: 2925
Registriert: 07.09.2004 23:44
Wohnort: Bayern

Beitrag 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.
I´a dllfreak2001
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3873
Registriert: 13.09.2004 17:48
Kontaktdaten:

Beitrag 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
‮pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Skiller
Beiträge: 151
Registriert: 04.02.2005 22:26

Beitrag von Skiller »

Oooohhhhhhh, endlich DIE!!!! Antwort.
DANKE!!!!!! Bobobobobobob >:)
Skiller
Antworten