Seltsames Phänomen bei "Kollision" / GELÖST

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Omenaton_2

Betreff: Seltsames Phänomen bei "Kollision" / GELÖST

BeitragFr, Apr 16, 2010 16:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi !

Ich habe gerade die Kollision von Schüssen von der bisherigen echter Kollision auf "virtuelle" Kollision durch simplen Check ob der Schuß sich innerhalb eines durch 2 Eckpunkten definierten Collisionswürfel befindet oder nicht fertiggestellt.
Es funktioniert gut.

Ich hatte 3 Gründe diese zu tun.
Einer dieser Gründe war ein Problem, das ich dadurch beseitigen zu können glaubte.
Zu meinem Erstaunen muß ich feststellen, daß das doch nicht so ist.

Das Problem :
Wenn ein Shot ein 3D-Objekt trifft, dann beginnt sich diese um die eigene Achse zu rotieren. Das passiert nur jeweils ein Mal, wenn ich dieses Objekt nochmal treffen, fängt es nicht erneut an zu rotieren.
Dies passiert bei fast allen Objekten, aber irgendwie nicht bei Raumschiffen und nicht bei Geschütztürmen. Die Objekte, bei denen das geschieht, sind ziemlich rund, symmetrisch aufgebaut (wie ein O oder ein +). Die werden durch den Schuß irgendwie angestoßen, verlieren ihr Gleichgewicht und drehen sich ein kleines Stück oder auch mal mehrmals um die eigene Achse.
Dieses Problem habe ich schon seit Monaten.

Das wirklich rätselhafte daran ist, daß ich heute durch die Umstellung der Kollisionsprüfung den Schuß-objekten die Kollisionsinformationen genommen habe. Die Schüsse haben keinen EntityType und kein EntityRadius mehr. Ich habe sogar zur Sichrheit noch extra ein ResetEntity eingebaut. Schuß wird auch nicht mehr vorne als eine Kollisionskonstante deklariert.

Die Schüsse dürften also nach meinem Verständniß nicht mehr mit den Objekten durch Blitz3D Collisions kollidieren.
Wie ist es dann möglich, daß das Drehproblem immer noch vorhanden ist ? Die Schüsse können offensichtlich immer noch die Objekte wie Raumstation, Asteroid oder Boye anstoßen.

Hat dafür jemand eine mögliche Erklärung ?
  • Zuletzt bearbeitet von Omenaton_2 am Sa, Apr 17, 2010 12:13, insgesamt einmal bearbeitet

Megamag

BeitragFr, Apr 16, 2010 16:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe eigentlich noch nie davon gehört, dass Blitz Kollision Objekte "anstoßen" und damit drehen kann, höchstens wegschieben. Deshalb ist meine Vermutung, dass dieses Phänomen nicht an der Kollision liegt, sondern irgendwie anders ausgelöst wird, rufst du vielleicht bei betreffenden Objekten irgendeine Funktion bei Kollision (ob nun Blitz oder deine Eigene) auf? Vielleicht könnte da der Fehler leigen. Ansonsten vielleicht mal den betreffenden Code zeigen.
Mein DeviantArt Profil
Gewinner des BAC #136
 

Omenaton_2

BeitragFr, Apr 16, 2010 20:56
Antworten mit Zitat
Benutzer-Profile anzeigen
@Megamag
Klar, "anstoßen" ist nur so eine annähernde Beschreibung. Das bestimmt schieben, das aber in eine Rotationsbewegung erscheint.
Eigentlich mache ich beim Auftreffen des Geschosses auf ein Objekt nichts, falls das Objekt nicht angreifbar ist, der Shot wird auch gleich gelöscht.
Code zeigen geht nicht, das ist viel zu viel selbst dann, wenn ich nur die nötigsten Stellen nehme.
Ich finde den Fehler früher oder später auch selber, wie eigentlich immer. Es wäre aber hilfreich, wenn jemand eine Idee hätte, vielleicht weil er schon früher einen ähnliche Erfahrung gemacht hatte.

Das Objekt das unerwünscht bewegt wird hat auch eine echte Kollsionsobjekt und Type und alles (für Bewegungskollision), aber da es soweit ich es verstehe zu einer Kollision immer 2 kollisionsfähige Objekte nötig sind und der Shot keine echte Kollision hat, ist das sehr, sehr merkwürdig.

Megamag

BeitragFr, Apr 16, 2010 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Dann nimm halt mal die Kollisionskonstante vom Schiff zum Test ganz weg, und schau, ob's immer noch passiert. Wenn ja, liegt es ganz bestimmt nicht an der Kollision.
Mein DeviantArt Profil
Gewinner des BAC #136

Midimaster

BeitragSa, Apr 17, 2010 8:07
Antworten mit Zitat
Benutzer-Profile anzeigen
es könnte sein, dass du für die Begegnung Schuss->Objekt die Kollision so eingestellt sind, das ein Ausweichen erfolgen soll. (Collision-Reaktion=Sliden). Hier wäre eine spezielle Collision mit Reaktion=STOP nötig.

BladeRunner

Moderator

BeitragSa, Apr 17, 2010 8:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Ohne jeden Code kann man nur raten und ich tippe auf einen Kreuzeffekt durch unsaubere Kapselung.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92
 

Omenaton_2

Betreff: Fehler gefunden

BeitragSa, Apr 17, 2010 12:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für die Tipps.

Ich habe nach einem langem Vormittag den Fehler doch gefunden.
Es hatte doch nichts mit herkömlicher Collision zu tun und dieser Fehler war wahrscheinlich schon seit 2 Jahren drin.

Der Fehler war, daß am Ende der Rutine, wo eine Shot Kollision (nun nur noch eine "virtuelle" Kollision) in allen ihren unmittelbaren Auswirkungen bearbeitet wurde, wurde auch bei Nicht-NPC-artigen-Objekten zu der Hate List Eintragung und Neusortierungsrutine gesprungen.
Wenn jedoch solche Nicht-NPC-artigen-Objekte (wie zum Beispiel eine Weltraumstation oder ein Asteroid) ein Ziel zugewiesen bekommen, dann kann es sein, daß sie versuchen sich zu dem Ziel auszurichten, können aber sonst nichts machen, da sie nicht "lebendig" oder bewaffnet sind.
Ich habe nun eine Objekt Klassen Abfrage eingebaut und springe nur noch bei echten NPC-artigen Objekten zu Hate List Eintragung.

Es war also ein kleiner Logik-Fehler aus mangelnder Aufmerksamkeit.
Bin sehr froh, daß das beseitigt ist, nun ist mein Programm in einem sehr sauberen Zustand.

Ein anderes Problem gibt es scheinbar mit der neuen BlitzBasic Update, den ich gestern oder vorgestern installiert habe.
Seit heute zum ersten Mal im Leben, stürzt Blitz Basic mit echter Windows Crash Window (diese doofe "möchten sie den Fehler an Microsoft melden ?" Fenster) ab.
Der Editor (IdeAL läuft ohne Probleme weiter, nur BlitzCC.exe stürzt ab, meist beim Beenden des Programmes, aber ein Mal passierte es auch so mitten drin.
Ich werde versuchen wieder die vorletzte Version zu installieren.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group