Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 14:02

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: ms3d-Loader?
BeitragVerfasst: Mi Okt 05, 2005 21:57 
Offline
DGL Member

Registriert: Fr Dez 10, 2004 16:59
Beiträge: 52
Hi, ich hab hier schon ein paar mal was von nem ms3d-Loader gelesen, den wohl jemand programmiert hat, aber noch keinen Link zum Download gefunden.
Eigentlich will ich ms3d auch nur benutzen, um meine in Cinema 4D erstellten Models bequem in meine Programme zu laden. noeskas 3ds-Loader will nämlich bei mir nicht so richtig... zumindest nicht die neuen versionen.
Ein Problem dabei ist: gibts irgendein gemeinsames Dateiformat, was sowohl C4D als auch MS3D benutzen? bis auf *.obj-Dateien hab ich da noch nix gefunden, und da scheinen keine Materials drin enthalten zu sein. ?

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Okt 05, 2005 22:34 
Offline
DGL Member
Benutzeravatar

Registriert: Di Dez 02, 2003 12:47
Beiträge: 300
Wohnort: Marburg
Ähm ,ich hab nen modifizierten von lithander. der lädt aber keine animationen mehr (hab ich ausgebaut), dafür kann ste die modelle weichzeichnen und es werden DLs angelegt und ich habe ihn auf 1 Unit gebracht...

Beispiel:

Code:
  1.   Models.LoadModel(Dir+'/Models/WPawn.ms3d'); // nodel laden
  2.   Models.CalculateSmothModel(1,1); // erste zahl = model index / 2 zahl = smoth level
  3.   Models.CalculateSmothModel(1,2); // Leve müssen nacheinander berechnet werden
  4.   Models.CalculateSmothModel(1,3); // maximal 3 smoth level
  5.  
  6.   Models.RenderModel(1,1);  // erste zahl = model index 2 zahl = smoth level (0-3)

(Die weichzeichnungsfunktion ist aber noch nicht perfekt)


da müsste es den originalen von lithander (Ohne DLs mit animation) sonst geben: http://www.pixelpracht.flipcode.com

da is der modifizierte (ich nutze den texture loader von Jan Horn: http://www.sulaco.co.za):


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

_________________
Nothing, oh sweet nothing,
today we are doing nothing at all...
http://www.geo-progs.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 06, 2005 12:40 
Offline
DGL Member

Registriert: Fr Dez 10, 2004 16:59
Beiträge: 52
danke, aber ich benutze ms3d nur wegen den Animationen ;)
mir sind da noch ein paar Fragen durch den Kopf gegangen:
Hab gehört 3ds sei veraltet?? warum wird das dann noch überall benutzt?
Soweit ich weiß speichert 3ds keine Animationen oder? jedenfalls, wenn ich etwas in c4d animiere, als 3ds exportiere und dann wieder lade, ist das ding nicht animiert... Aber ohne Animationen kriegt man doch kaum ein schönes spiel hin oder? (von weltraumshootern und dergleichen abgesehen)
Und mein letztes Problem: newton kann ja wunderbar Kollisionen mit 3ds-dateien berechnen, für ms3d hats da aber noch keine Lösung oder? d.h. so wie's im MOment aussieht werd ich entweder auf Animationen oder auf Kollision (...) verzichten müssen. (Klar könnte man theorethisch auch alles selber schreiben, aber dazu sehe ich mich nicht in der Lage und erst recht fehlt mir dazu die zeit...)

_________________
Bild


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 06, 2005 13:35 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
http://www.pixelpracht.net/ heißt die Seite. Auf der linken Seite gibt es einen Link mit OpenGL und dann rechts Unten steht "Milkshape Loader".


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 06, 2005 15:56 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
3DS ist bisl Buggy. Kann schon mal vorkommen, dass man was exportiert, dann wieder importiert, und es sieht leicht anders aus... :?

Wenn die Animation wie bei einem Panzer sein soll, der den Turm schwenkt, dann geht das auch mit 3DS. Du speicherst einfach 2 Files und bewegst den Turma abhängig von Rumpf.

_________________
Blog: kevin-fleischer.de und fbaingermany.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Okt 06, 2005 17:06 
Offline
DGL Member
Benutzeravatar

Registriert: Di Nov 26, 2002 22:12
Beiträge: 259
Wohnort: Dresden
Also ich kenne mich mit Newton überhaupt nicht aus. Ich kann mir aber nur schwer vorstellen, dass es damit nicht möglich ist eine Bounding Box oder Bounding Sphere für dein Modell zu nutzen. Du brauchst sie bestimmt nur selbst berechnen und kannst sie dann mit Newton verwenden. Ein animiertes Modell polgongenau gegen die Welt und andere Objekte zu prüfen ist in den meisten Anwendungsfällen sowieso übertrieben. Ansonsten kannst du dein Modell bestimmt auch noch mit diversen Bounding Volumes beschreiben, damit die Kollisionsprüfung genauer ausfällt.

Auch das 3DS-Format kann Animationen speichern. Das Problem des 3DS-Formates ist, dass es unwahrscheinlich flexibel ist, da es in einzelne Chunks aufgeteilt ist und damit nach belieben eigene Chunks hinzugefügt werden können. In dieser Hinsicht ist 3DS also wesentlich flexibel als MS3D. Das Problem von 3DS ist aber, dass entweder keine genaue Spezifikation besteht bzw. sich keiner daran hält. Aus dem Grund existieren viele verschiedene Versionen des Formates. Das eine Programm liest und schreibt die 3 Farbwerte (RGB) eines Meshes beispielsweise als drei Bytes, C4D hingegen schreibt beispielsweise die Farbwerte als 3 Floates. Ich muss keinem erklären, dass das auf Dauer zu Problemen führt.

Ich hatte z.B. auch mal den Fall, dass ich ein Modell mit C4D exportiert habe, beim Laden desselben Modells mit C4D jedoch ein Fehler auftrat.
Diese Dinge führen dazu, dass es schwierig ist bestimmte Informationen wie Animationen aus dem 3DS-Format zu importieren. Einige Programme wiederum exportieren erst gar keine Animationsinformationen, weil es ja nicht weiter tragisch ist, wenn die Animationschunks fehlen.
Veraltet ist daher IMHO nicht der richtige Ausdruck. Vielmehr mangelt es an Spezifikationen, die sich auch durchgesetzt haben. Allerdings wird 3DS von den meisten Programmen unterstützt, auch wenn nicht immer alle Informationen importiert bzw. exportiert werden.
MS3D hat wiederum den Nachteil, dass die Flexibilität fehlt und es von vielen Programmen nicht unterstützt wird. Früher oder später wirst du dir deshalb sowieso ein eigenes Format schreiben müssen.

_________________
Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jederman ist überzeugt, dass er genug davon habe.
Rene Descartes, frz. Mathematiker u. Philosoph, 1596-1650


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 11, 2005 17:22 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
also mit der frage oben hat meine wenig gemein, aber da es zum gleichen thema gehört dachte ich mir, es macht sinn, nich direkt nen neuen thread zu eröffnen :)

und zwar benutze ich den ms3d-loader der oben beschrieben wurde ^^
jetz lade ich 2 instanzen des gleichen models (ich hab noch keine bessere möglichkeit gefunden um 2 gleiche models mit unabhängigen animationen darzustellen ).
solang ich beide rendere, ohne sie wirklich zu animieren (also die funktion AdvanceAnimation nich aufrufe) klappt alles wunderbar und es werden auch beide angezeigt ohne fehler zu bringen.
wenn ich aber bei einem von beiden die animation anschmeisse kommt ne access violation.

hat jemand ahnung woran das liegen kann?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Fr Nov 11, 2005 17:28 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Hi,
ich kann mich erinnern, bei irgend einer Schleife irgendwann mal was daran verbessert zu haben. Guck mal bei den for-schleifen, da müsste immer
for irgendwie := 0 to numIrgendwas-1 stehen statt for irgendwie := 0 to numIrgendwas.

:)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 13, 2005 12:30 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
danke für die antwort.
kanns du den bereich, in dem ich suchen soll, vlt etwas einschränken? wäre sehr hilfreich :D
ich fang derweil schonmal an zu suchen :P


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Nov 13, 2005 12:35 
Offline
DGL Member
Benutzeravatar

Registriert: So Dez 21, 2003 17:36
Beiträge: 141
Hi, guck mal Zeile 279 in ppModelGL.pas und änder
Code:
  1. for i := 0 to numJoints do begin

zu
Code:
  1. for i := 0 to numJoints-1 do begin

Hoffe, das is die Quelle für dein Problem ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Nov 14, 2005 15:28 
Offline
DGL Member

Registriert: Di Jun 22, 2004 17:40
Beiträge: 51
Wohnort: Aachen
große klasse, das hat geklappt :D
herzlichen dank.

bei mir war das zwar in zeile 292, aber nach der beschreibung war es kein problem mehr, die stelle zu finden :)


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 11 Beiträge ] 
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: Google [Bot] und 5 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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.009s | 16 Queries | GZIP : On ]