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

Aktuelle Zeit: So Jul 13, 2025 22:31

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Autor Nachricht
BeitragVerfasst: Di Feb 22, 2005 13:59 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Hi,

ich bin Newbie und hoffe Euch nicht mit meinen Fragen zu nerven! ;)
Ich habe mal ein 2D Adventure-Game programmiert und mit 3DS-Max eine Figur erstellt.
Damit diese Figur in alle richtungen gehen konnte, benötigte ich damals ca. 50 Einzelbilder. Die Ladezeiten
waren nervend. :(
Nun bin ich auf Euren Milkshape-Loader gestoßen. Ich hab meine *.3ds-Datei in Milkshape importiert und dann mit
dem ms3d-Loader in mein VCL-Project geladen.
Hat auch gut geklappt. Ich kann meine Figur auch mit den Pfeiltasten nach vorne und nach hinten bewegen.
Vorgestellt hab ich mir, dass der erste Frame die stehende Figur ist und solange ich die Pfeiltasten drücke
die Bewegungs-Animation (z.B.: Frame 2-30) wiederholt wird... Ist das denn so auch umsetzbar???
Wenn ich jedoch meiner Figur, Joints hinzufüge, geschweige denn mehr als 1 Frame, bekomme ich in Delphi
nur noch Fehlermeldungen.
Meine 1. Vermutung: zu viele Vertices und Triangles.
Jedoch wenn ich zwei einfachen Kugeln mit Bones verbinde und diese dann animiere, bekomme ich ebenfalls
Fehlermeldungen. Gibt es für den MS3D-Loader irgendwelche Voraussetzungen?

Model Statistics:
Vertices 7598
Triangles 14832
Groups 34
Materials 6
Smoothing Groups 1, 3, 4, 5
...

Ich hoffe Ihr könn mir weiter helfen! Ich würde mich sehr um eine Antwort freuen!!!


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 14:18 
Offline
DGL Member

Registriert: Mi Dez 15, 2004 20:36
Beiträge: 454
Wohnort: Wien, Österreich
Ich bin mir nicht sicher ob dein Md3 Loader Jonits un Bones erkennt :? .Dies ist nur eine Vermutung...

_________________
"Meine Mutter sagt : 'Dumm ist der, der Dummes tut'." - Forrest Gump


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 14:28 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Dez 28, 2002 11:13
Beiträge: 2244
3ds kennt nur Vertex basierte Animationen und Milkshape nur Bone Animationen. Beim Import in Milkshape geht die Animation dann verloren.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 14:37 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Zitat:
Ich bin mir nicht sicher ob dein Md3 Loader Jonits un Bones erkennt


Hmm... Ich glaube schon, denn in dem Beispiel der API-Version, die man sich hier unter "Files - API Source Codes" downloaden kann, besitzt die Figur (der Bert von Ernie und Bert) auch Bones.
Wenn ich jedoch die Original ms3d-Datei mit meiner austausche, kommen ebenfalls Fehlermeldungen.
Scheint so, als ob bei mir nur die Originaldatei funktioniert. Alle von mir erstellten Figuren haben alle das gleiche Problem.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 14:44 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Zitat:
3ds kennt nur Vertex basierte Animationen und Milkshape nur Bone Animationen. Beim Import in Milkshape geht die Animation dann verloren.


Die Animation habe ich nur in Milkshape gemacht. Wenn ich eine neue Figur, auf der Basis von Milkshape entwerfe,
klapt das bei mir leider auch nicht.
Woran könnte das liegen? Laut dem Milkshape Tutorial hab ich alles richtig gemacht.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 14:53 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Sollte ich nicht lieber versuchen, mich an einen 3DS-Loader zu begeben und den MS3D-Schritt einfach auslassen?
Wenn ja welchen könnt ihr mir denn empfehlen?
Würde nur zugerne wissen woran es bei mir scheitert, ein animiertes Modell von Milkshape zu laden. ;)


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 15:11 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Nun bei 3DS stehst du ohne echte Animationsmöglichkeit da. Das 3DS Format ist recht alt und hat deshalb wenige Features die Exportiert werden. Wenn man ein neues Projekt anfängt und Animation will, sollte man 3DS nicht benutzen.

Denke du solltest versuchen das Milkshape Proplem zu Lösen. Eventuell kann ja ein anderer Hier ausm Forum mal ein Modell von Dir Testen. Eventuell liegts nicht am Modell.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 15:46 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Ich habe gerade mal als Beispiel versucht zwei Kugeln mit einem Bone zu verbinden, um sie dann umeinander kreisenzu lassen. Ich bekomme, sobald meine ms3d-Dateien Joints besitzen die Fehlermeldung:
"Exception EAccessViolation in Modul ...."
Wiso aber nicht mit der Original-Datei, die auch Joints besitzt???


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Feb 22, 2005 19:11 
Offline
DGL Member
Benutzeravatar

Registriert: Di Jul 01, 2003 18:59
Beiträge: 887
Wohnort: (The Netherlands)
Programmiersprache: fpc/delphi/java/c#
try the gl3ds loader (http://www.noeska.com/dogl/gl3ds.aspx) it also loads milkshape ascii files with bones and animation.

_________________
http://3das.noeska.com - create adventure games without programming


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 14:23 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Gibt es zu dem 3ds-loader auch ein Tutorial oder ein paar Beispiele?
Ich habe versuch, damit eine 3DS-Datei zu laden. Dabei wurde die OpenGL12.pas in der Uses-Liste verlangt, die ich aber nicht besitze.
Ich arbeite mit dglOpenGl 1.5. Wenn ich OpenGL12 mit dglOpenGl austausche gibt es ebenfalls "Exception EAccessViolation..."
beim laden der 3DS-Datei.

Sorry!!! Wie gesagt, ich bin Newbie aber es interessiert mich trotzdem sehr...


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 14:34 
Offline
DGL Member
Benutzeravatar

Registriert: Mi Jul 17, 2002 12:07
Beiträge: 976
Wohnort: Tübingen
Hast wirklich in ALLEN Libs dglopengl eingefügt? Will blos sicher gehen, genau das Problem hatte ich auch mal!

_________________
"Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0."
- Hal Faber

Meine Homepage: http://laboda.delphigl.com


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mi Feb 23, 2005 22:32 
Offline
Guitar Hero
Benutzeravatar

Registriert: Do Sep 25, 2003 15:56
Beiträge: 7810
Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Funktioniert dein normales OpenGL projekt reibungslos mit dem DGLOpenGL.pas?
Wenn ja, dann sollte es eigentlich gehen. (Dein Projekt darf nur einen OpenGL-Header verwenden, nicht verschiedene)

Eventuell gugst du mal wo die Violation auftritt und wann. Solltest du keine Ahnung haben wie das zu bewerkstelligen ist, guckt dir mal das Debugging Tutorial hier an.

Wenn wir mehr Infos haben kann man dir sicher helfen.

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


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 11:04 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
Ohne Laden eines 3ds Models funktioniert mein Project.
Hab ein neues Project erstellt, wo ich erstmal nur die *.3ds bzw *.txt datein zu laden versuche um sicher zu gehen,
das es in meinem eigentlichen Project nicht zu ungewollten komplikationen kommt.

Meine Models hab ich mit "Kinetix 3D-Studio Max R3" und mit "Milkshape 3D 1.7.4" erstellt.
Mein Project hab ich in Delphi 5 Enterprise geschrieben.
Die dglOpenGL ist auch in meinem "\Lib"-Verzeichnis der Bibliothekenpfade eingebunden.
In der GlMath.pas hab ich statt OpenGl12 die dglOpenGL eingetragen.

Wenn ich versuche einen MSA-File zu laden bekomme ich diese Fehlermeldung:
- Exception der Klasse EConvertError... Meldung: "1.735100" ist kein gültiger Gleitkommawert."

und wenn ich einen 3DS-File laden will:
- Exception EAccessViolation...
unzwar genau an der Stelle der Schleife der gl3ds.pas
Code:
  1.  
  2.   for m := 0 to FNumMaterials - 1 do
  3.   begin
  4.     FMaterial[m].updatetexture;
  5.   end;
  6.  

Ich vermute fast, dass meine Model-Dateien nicht ganz kompatiebel sind und ich beim erstellen der Models etwas verkert mache?
Gibt es im Netz nicht ein funktionierendes Beispielproject mit einer *3ds- oder am besten mit einer (animierten) Milkshape-ASCII Datei, welches mit dglOpenGL geschrieben ist? Dann könnte ich versuchen meine Delphi-Verhältnisse so anzupassen, dass es auch bei mir läuft.


Zuletzt geändert von FrEDison am Do Feb 24, 2005 13:08, insgesamt 1-mal geändert.

Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 12:53 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Das Problem liegt in der Ländereinstellung. In Deutschland sind Kommawerte mit Komma, in der Datei jedoch im englischen Dateiformat gespeichert. Schreib einfach vor dem Laden der Figur :
Code:
  1. DecimalSeparator := '.';
  2. ThousendSeparator := ',';
  3.  

Damit änderst Du die lokalen Ländereinstellungen für Funktionen, wie z. B. StrToFloat, um.

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Do Feb 24, 2005 14:01 
Offline
DGL Member

Registriert: Di Feb 22, 2005 12:51
Beiträge: 11
Wohnort: NRW
OK, DANKE, eine Fehlermeldung ist nun endlich weg. Jetzt bin ich schon um einiges weiter gekommen!!! :D

Nun denke ich, dass der Knackpunkt meines Problems hier liegt.
Ich verstehe zwar nicht ganz was das zu bedeuten hat aber nun bekomme ich
die EAccessViolation Fehlermeldung wieder. Und zwar scheint hier etwas nicht zu stimmen:

Die Fehlermeldung bekomme ich in der Zeile "FMesh[FRenderOrder[m]].render;"
der Procedure TAll3DSMesh.render von der gl3sd.pas.

Code:
  1. procedure TAll3DSMesh.render;
  2. var
  3.   m: integer;
  4. begin
  5.   glpushmatrix();
  6.   if FDisplaylist > 0 then glcalllist(FDisplaylist)
  7.   else
  8.   begin
  9.     for m := 0 to FNumMeshes - 1 do
  10.     begin
  11.       FMesh[FRenderOrder[m]].render;
  12.     end;
  13.   end;
  14.   glpopmatrix();
  15. end;


Weis jmd was das zu bedeuten hat?


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 19 Beiträge ]  Gehe zu Seite 1, 2  Nächste
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 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.011s | 14 Queries | GZIP : On ]