Hallo,
nachdem ich mich umentschieden habe doch ein 3D-Spiel, anstatt ein 2D-Spiel, zu machen, kamen die nächsten Schwierigkeiten auf: "Mist, ich kann kein 3d Studio Max". Ok, nachdem ich nach gut 2 Stunden logisch denken und rumprobieren endlich ein Haus hingekriegt habe, wollte ich das voller Motivation in meine OpenGL-Anwendung einbinden (vorher als *.3ds exportiert). Gesagt - getan, mit GL3ds.
Nun folgendes Problem: Teilweise fehlen in OpenGL Wände, Texturen oder Texturen sind einfach verdreht. Unter 3d Studio Max sieht alles aus, wie es sein soll.
Ich werde Screenshots anhängen, damit ihr besser sehen könnt, was ich meine - hoffe ihr könnt helfen.
Hab gestern abend schon viel hier im Forum gesucht, aber nur erfahren, dass 3ds kein gutes Format sei, da es nicht Open-Source ist. Aber hab keine Alternative dazu gefunden (nur irgendwie erst in Blender laden, dann mit Milkshape exportieren, bla. Ist mir alles zuviel). Gibts keine alternative, die mit 3d Studio Max auch 1a funktioniert? Irgendein andres Format, das 3ds Max exportieren kann? Will hier nicht 5 verschiedene Modell-Softwares installieren...
Gruß Spessi
ps: falls nötig würde ich die *.max Datei hochladen.
Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Das sieht verdächtig danach aus, dass deine Projektion nicht richtig gesetzt ist. Hast du die Projektionsmatrix mit glPerspective initialisiert? (Siehe Tutorial Lektion 2 und Tutorial Lektion 3). Der Screenshot kommt mir so vor, als hättest du eine Orthogonale Projektion aufgesetzt.
Gruß Lord Horazont
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Registriert: Di Nov 07, 2006 13:37 Beiträge: 83 Wohnort: Partenheim
Da muss ich doch einfach mal wieder ein bisschen Werbung machen (tut mir leid, noeska ).
Wenn 3dSMax *.obj exportieren kann, versuch's mal mit dem Loader von MatReno und mir.
An dieser Stelle weise ich auch gerade nochmal darauf hin, dass nun auch die Entwicklung am Restless-Projekt weitergeht (ein Animations-Loader mit eigenem Python-Exporter für Blender).
Registriert: Di Nov 07, 2006 13:37 Beiträge: 83 Wohnort: Partenheim
Also entweder stehen in deiner obj-Datei alle Gleitkommawerte mit einem "," statt einem ".", was noch leicht zu beheben wäre, oder unser obj-Format ist inkompatibel zu 3dSMax, das täte mir leid.
Du könntest dich natürlich auch mit Blender anfreunden, das wirst du nicht bereuen.
Kann ich dir mein Obj-File mal zeigen?
Ich lads mal hoch
Edit: Blender wollte ich eigentlich nicht benutzen, da ich mich jetzt mit 3ds Max eingearbeitet habe und auch überall gelesen habe, dass das das einfachste sei.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Di Nov 07, 2006 13:37 Beiträge: 83 Wohnort: Partenheim
Okay, der Fehler ist leicht behoben. Wundert mich sehr, aber 3dSMax setzt hinter die Tokens "v", "vt" und "vn" zwei statt einem Leerzeichen.
Ich hab' ein kleines Programm geschrieben, mit dem du das leicht beheben kannst. Hab's mal angehängt. Du ziehst einfach die Datei auf die .exe und ersetzt "v " durch "v", "vt " durch "vt" und "vn " durch "vn". Damit sollte es schon funktionieren. Entsprechendes bei der .mtl-Datei, wenn dort auch zwei statt einem Leerzeichen zwischen Bezeichner und Werten vorkommen.
Conan
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Dankeschön. Das Laden funktioniert schonmal. Allerdings weist mein Modell weder die Öffnungen für die Tür / Fenster auf (oder man sieht sie einfach nicht?) noch zeigt er Texturen an. Hab die Texturen im gleichen Verzeichnis, in dem die .obj-Datei ist. Ist das richtig?
Edit: Hab eben ne *.mtl-Datei exportiert, weil du das vorhin auch erwähnt hattest, und die doppelten Leerzeichen entfernt. Hab die Datei dann genauso wie die *.obj-Datei genannt und ins gleiche Verzeichnis gepackt. Immernoch keine Texturen (In deinem Viewer übrigens auch nicht). Müssen die Texturen in den gleichen Ordner wie die obj-Datei?
Registriert: Di Nov 07, 2006 13:37 Beiträge: 83 Wohnort: Partenheim
Ich dachte schon, aber setz' vorsichtshalber die Properties "MTLFolder" und "TextureFolder" und zwar vor "LoadFromFile".
Die Texturen kannst du aber auch selbst laden und mit den Callbacks "OnLoadTexture : OnLoadTextureCallback" und "OnBindTexture : OnBindTextureCallback" linken und binden. Das macht die Struktur in großen Projekten übersichtlicher.
Ja, aktuelle Version ist angehängt.
Ich benutze 3d Studio Max 8. Wäre schon, wenn das relativ schnell gehn würde (zumindest einen Workaround), denn langsam ist das ganz schön demotivierend
Kann es daran liegen, dass ich die gegenüberliegende Wände gecloned habe?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Mo Jan 31, 2005 11:02 Beiträge: 432 Wohnort: Rheinlandpfalz
Wenn du auch mal das komplette exportierte Obj mit Mtl-Datei und Texturen hochladen würdest,
könnte ich mal schauen, woran es bei unserem Loader liegt. Vllt bekomme ich es ja noch hin
Habe mich da mit Conan schon unterhalten. Aber gerne lade ich dir die Dateien auch hoch, irgendwie muss das ja endlich gehn Er meinte, dass das Problem an 3d Studio Max selber liegt, dass dort irgendwie die Texturen nicht zugewiesen werden. Aber vielleicht kennst du dich ja mit 3ds Max und man könnte das Problem gleich an der Wurzel beheben?
Naja, mach dir ein eigenes Bild - im Anhang die Dateien.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Registriert: Di Jul 01, 2003 18:59 Beiträge: 887 Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
Ok, there is a bug in the reading and or using of texture coordinates. It is on my todo list.
Are the meshes you use for walls doublesided? I think they are singlesided and thus only one side can be shown.
Cloning should be ok as 3ds max should make extra meshes, as long as you do not mirror things it should work.
After the release of a new openal unit i realy should finish the rewrite of gl3ds.
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.