MD2-Anmation -> Fehlermeldung bei Renderworld

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

FBI-blitz

Betreff: MD2-Anmation -> Fehlermeldung bei Renderworld

BeitragSo, Okt 29, 2006 15:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

ich habe eine MD2-Animation in meinen Code eingebaut. Wenn ich diese Animation abspiele, und sie beendet ist, kommt die Fehlermeldung "Memory Acces Violation". Dabei springt der Courser im Debugger auf Renderworld.

Muss ich bei Renderworld irgendwas besonderes beachten?

Danke

FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

NewJerzy

BeitragSo, Okt 29, 2006 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohne code, keine Lösung !

Bidde schicke uns doch einfach mal erst deinen Code, bevor wir dir richtig helfen können Wink

grüße
Projekt: NewJerzy Online (40%) - Wird wahrscheinlich nciht mehr weitergearbeitet
Projekt: Arbeitszimmer (3.9%) - Schreibtisch und Laptop vollendet
Hier gehts zum Thread: Klick

Ach ja, meine FilmAG Website:
Hier Klicken

skey-z

BeitragSo, Okt 29, 2006 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, eigentlich nicht, aber es könnte möglich sein, dass du auf einen keyframe zugreifen willst der der nicht existiert, überprüfe es doch mal, ob du nicht einen Frame zu weit mit der animation gehst, und auf einen nicht existierenden Frame zugraifen willst
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz
BAC#57: 2. Platz
Twitter
 

FBI-blitz

BeitragSo, Okt 29, 2006 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich wollte eben erst mal allgemein erfragen, ob man bei Renderworld oder so noch was angeben muss, deswegen kein code.

Den werde ich jetzt aber posten:

Code: [AUSKLAPPEN]
ShowEntity expl_asteroid
               expl_asteroid_show = 1
               PositionEntity expl_asteroid, entityx#(asteroid(temp2)), entityy#(asteroid(temp2)), entityz#(asteroid(temp2))
               AnimateMD2 expl_asteroid,3,1.2,1,100 ;Explosion erzeugen


Code: [AUSKLAPPEN]
If expl_asteroid_show = 1 Then
         If MD2Animating(expl_asteroid) = 0 Then
            HideEntity expl_asteroid
            expl_asteroid_show= 0
         EndIf
      EndIf


Code: [AUSKLAPPEN]
renderworld


Wenn ich den zweiten Block komplett auskommentiere, kommt die Fehlermeldung trotzdem. Da kann der Fehler also schon mal net stecken. Wenn ich das "AnimateMD2" auskommentiere, komtm der Fehler nicht mehr (aber es wird auch keine Animation abgespielt^^)


Ich habe, als ich mich in die Animationsbefehle eingearbeitet habe, das Beispiel aus der OH angeschaut und angepasst, mit dem gleichen Modell funktioniert folgender Code einwandfrei:
Code: [AUSKLAPPEN]
Graphics3D 640,480
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT()
ROTATEENTITY light,90,0,0
gargoyle=LOADMD2("1.md2")
garg_tex=LOADTEXTURE("rock061.jpg")
EntityTexture gargoyle,garg_tex
PositionEntity gargoyle,0,0,100
RotateEntity gargoyle,0,180,0
ScaleEntity gargoyle, 0.5, 0.5, 0.5

WHILE Not KEYHIT(1)
   If KEYHIT(57)=1 THEN
      start=1-start
      AnimateMD2 gargoyle,3,1.2,1,100
   EndIf
   UPDATEWORLD
   RENDERWORLD
   TEXT 0,0,"Mit Leertaste anhalten/fortsetzten"
   TEXT 0,20,"MD2Animating: "+MD2ANIMATING(gargoyle)
   TEXT 0,40,"MD2AnimLength: "+MD2ANIMLENGTH(gargoyle)
   Flip
   WEND
END


Deshalb schließe ich eigentlich aus, dass ich auf nicht existierende Frames zugreife...

Danke

FBI-blitz
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

NewJerzy

BeitragSo, Okt 29, 2006 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
haste denn auch updateworld ??
Projekt: NewJerzy Online (40%) - Wird wahrscheinlich nciht mehr weitergearbeitet
Projekt: Arbeitszimmer (3.9%) - Schreibtisch und Laptop vollendet
Hier gehts zum Thread: Klick

Ach ja, meine FilmAG Website:
Hier Klicken
 

FBI-blitz

BeitragSo, Okt 29, 2006 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
NewJerzy hat Folgendes geschrieben:
haste denn auch updateworld ??


natürlich... hab jetzt nur nicht alles hier geposted, weil das dann doch etwas zuviel des guten wär Rolling Eyes
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

NewJerzy

BeitragSo, Okt 29, 2006 16:57
Antworten mit Zitat
Benutzer-Profile anzeigen
dann weiß ich das jetz auch grade nich so genau Smile

vllt. würde es helfen, wenn ich mir den Code mal genauer anschaun würde!

Mach ich dann vllt. heu abend Wink




grüße
Projekt: NewJerzy Online (40%) - Wird wahrscheinlich nciht mehr weitergearbeitet
Projekt: Arbeitszimmer (3.9%) - Schreibtisch und Laptop vollendet
Hier gehts zum Thread: Klick

Ach ja, meine FilmAG Website:
Hier Klicken
 

BIG BUG

BeitragSo, Okt 29, 2006 21:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Probier mal die Animationsgeschwindigkeit zu verringern und das letzte Frame auszulassen, also 99 statt 100. Blitz3D ist mit der letzten Frame bei MD2 ein bisserl Buggy...
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final)
 

FBI-blitz

BeitragMo, Okt 30, 2006 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
BIG BUG hat Folgendes geschrieben:
Probier mal die Animationsgeschwindigkeit zu verringern

Ich werds mal probieren...

Zitat:
und das letzte Frame auszulassen, also 99 statt 100. Blitz3D ist mit der letzten Frame bei MD2 ein bisserl Buggy...

Das hab ich schon versucht... Kam leider aufs gleiche raus...

Übrigens: Zwischenzeitlich hat es auch ab und an einwandfrei funktioniert (ohne absturz) obwohl ivch nix geändert habe. Ich kann auch beim Auftreten der Fehler keine Regelmäßigkeit erkennen, werde es aber weiter versuchen... Confused

Danke
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

Jan_

Ehemaliger Admin

BeitragMo, Okt 30, 2006 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
das modell wird aber ncith zufällig gelöscht, oder auf 0 gesetzt?
between angels and insects
 

FBI-blitz

BeitragMo, Okt 30, 2006 19:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Jan_ hat Folgendes geschrieben:
das modell wird aber ncith zufällig gelöscht, oder auf 0 gesetzt?


Nur versteckt, aber auch das erst, wenn die Animation fertiggestellt wurde...

Kannst du ja im obigen Codeausschnitt erkennen. Ich habe alles noch mal abgesucht, das sind die einzigen Stellen, wo diese Variable verwendet wird.
Computer 1: AMD Athlon64 3500+ | nVidia GF 7900GT | 1024 MB DDR-RAM | ASUS A8N-SLI Preimium | 250 GB SATA 2 || WindowsXP | Blitz3D | Blitz+
Computer 2: AMD AthlonXP 2400+ | ATI Radeon 9500 | 512 MB DDR-RAM | MSI K7N2 | 80 GB IDE | 160 GB IDE || WindowsXP | Blitz3D | Blitz+
Computer 3: Intel Pentium MMX | onBoard-Grafik | 32 MB RAM | 1 GB IDE || Windows 98 SE | Blitz+

x-pressive

BeitragSa, Nov 04, 2006 12:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn man mit MD2 arbeitet, muss man darauf achten, das es keine grossen Zeitsprünge im Programm gibt. Wenn du z.B. keine konstante Framerate hast und bei UpdateWorld den Parameter Zeit# benutzt, musst du drauf achten, das dieser Wert keine grossen Sprünge macht oder zu gross wird. Wenn man bei UpdateWorld einen zu grossen Wert angibt (und AnimateMD2 im Code hat), gibt Blitz einen MAV aus.

Dieser MAV verschwindet dann natürlich, wenn man das AnimateMD2 rausnimmt.

Oft passiert das auch beim Laden eines Levels. Der Computer "hängt" dann einige Sekunden und dadurch wird die eigene Zeitvariable, die man benutzt, nicht aktualisiert. Beim Starten des Levels entsteht dadurch ein zu grosser Zeitsprung zwischen dem aktuellen Frame und dem letzten.

Ist ein fieser Fehler, den man nur schwer findet. Vielleicht liegt es daran.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group