Collisionsproblem - Idee zu Bug Findung ? / Gelöst
Übersicht

Omenaton_2Betreff: Collisionsproblem - Idee zu Bug Findung ? / Gelöst |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi !
Endlich konnte ich wieder ein bißchen was an meinem Weltraumspiel machen. Ich habe aber leider einen ärgerlichen Bug entdeckt, der scheinbar schon seit Längerem (Ende August) drin ist, nur bisher war es noch unentdeckt. Ich erkläre kurz worum es geht, vielleicht hat jemand eine Idee, woran das liegen könnte ? (ohne Code, nur so auf theoritischer Ebene). Wenn ich mit meinem Spielerraumschiff in einen benachbarten Sektor wechsele (der ziemlich leer ist, nur zum Testen da) und dann in den ersten, schon ein wenig bebauten Sektor zurückkehre, dann kollidert mein Raumschiff mit den Umgebungsobjekten / NPCs nicht mehr. Wenn ich den Spielstand abspeichere und einlade ist die Kollision wieder da wie es sein soll. Eine Fehlerursache konnte ich noch nicht finden. Als Test habe ich am Ende meiner Haupt Game Schleife testweise eine ständig neue Zuweisung von Kollisionen für das Schiff und für die Objekte eingefügt, aber selbst das hilft nicht. Den Sektorwechsel sollte man sich wie das Betreten / Verlassen einer Instanz in WoW vorstellen. Bei Sektorwechsel werden die Objekte des zuverlassenden Sektors abgespeichert, dann total gelöscht. Die Objekte des neuen Sektors werden geladen / Erschaffen. Der Spielerschiff wird für die Dauer des "Wegteleportierens" von seinen Kollisioninfos beraubt, aber nach dem das Schiff in dem neuen Sektor platziert worden ist, werden die Kollisionsangaben wie schon beim ersten Erschaffen neu zugewiesen. Die Umgebungsobjekte / NPCs kriegen ihre Kollisionsinfos wie immer beim Laden / Erschaffen. Hat jemand eine Idee wieso die Kollision nicht da ist ? Was kann so kollisionhinderlich sein ? Was könnte die Kollisionserkennung blockieren ? |
||
- Zuletzt bearbeitet von Omenaton_2 am So, Nov 14, 2010 13:24, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Irgendwas scheinst du beim Wechsel nicht zu tun, was du beim Laden machst. Ich würde den entsprechenden Code vergleichen. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich habe die Fehlerursache nicht finden können, aber ich habe es geschafft den Fehler nicht mehr auftreten zu lassen.
Dazu mußte ich am Ende der LeaveSector Rutine die Collisions nochmal wie ganz vorne in Programm erneut definieren UND dem Player Ship nochmal die Collisionstype zuweisen. (Nein, ich löse die Collisions nirgendwo auf !) So geht es. Ich vermute der Bug ist kein klassischer Bug, sondern es liegt aut theoritischer Ebene - wie Blitz3D funktioniert. Da ist irgendwas was ich noch nicht weiß oder nicht richtig verstehe. Hauptsache ich habe den Fehler nicht mehr, endlich ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group