Kollision-System Probleme

Posted By: r0b

Kollision-System Probleme - 07/03/07 16:54

Hi,

ich habe ein paar Probleme mit dem Kollisionssystem bzw. dem Model-Movement.
Hintergrund ist eine stillstehende Menschenmenge aus Modellen, durch die ein weiteres Modell nun hindurchlaufen soll.

  • Unsere KI, um das Modell durch die Menge zu steuern benutzt c_trace (USE_BOX), c_move (GLIDE,move_friction=0) und c_rotate. Hier fällt auf, dass die Ergebnisse von c_trace (USE_BOX) und c_move nicht immer gleich sind,- d.h. trotz 'freier Bahn' mit c_trace (USE_BOX) bleibt das Modell öfters mit c_move an anderen Modellen hängen; oder hab ich das im Manual falsch verstanden? (Die BBox bleibt dabei unverändert.)
  • Die Rotation mit c_rotate verhält sich gänzlich komisch,- wird an einem anderen Modell (nicht Geometrie) rotiert, passiert es sehr oft, dass das rotierte Modell statt einer kleinen Wegschieb-Bewegung mehrere Quants 'weggeblinkt' wird.
  • Oft kommt es leider auch vor, das sich das bewegte Modell so in andere verhakt, das keinerlei Bewegungen mehr ausgeführt werden können. Trotz gliding kann weder vor/zurück gegangen oder rotiert werden.


Nun die Frage, ob dieses Verhalten an meinen Scripten liegt oder schon anderen aufgefallen ist :-), bzw. es schon Lösungen gibt.

GS-Version: 6.6

Vielen Dank
rob
Posted By: KMS

Re: Kollision-System Probleme - 07/04/07 03:43

Hast Du schon mal versucht,bei allen Modellen das polygonflag zu setzen?
Posted By: r0b

Re: Kollision-System Probleme - 07/04/07 09:00

Jein,
das Problem dabei ist, dass durch eine polygon-genaue Kollision die Performance sehr stark beeinträchtigt werden würde...

ich habe zu dem c_trace mit Box und c_move nochmal genau im manual geschaut und dort etwas wiedersprüchliche Aussagen gefunden:
In der allgemeine Kollisionsbeschreibung heißt es in Spalte1 (ohne POLYGON-Flag) der Tabelle unter "Collision functions":

  • c_trace with USE_BOX: ellipsoid vs. polygon
  • c_move, c_rotate: box vs. box


unter c_trace:

  • USE_BOX Uses the bounding box or bounding ellipsoid of the me entity for tracing a 'thick' ray rather than a line. This is as if a c_move would be performed up to the target position.


Was wird nun genau gemacht?
Rein aus logischer Sichtweise frage ich mich warum gemäß der allg. Beschreibung ein trace mit Box als Ellipsoid realisiert werden sollte.


Für uns sind diese Aspekte des Kollisionssystems extrem wichtig und ich wäre für Hilfe sehr dankbar!
Posted By: HPW

Re: Kollision-System Probleme - 07/04/07 09:37

Hmmm, ellipsoid (Bounding Box der me Entity) vs. polygon (you Entity)?
Würde zumindest logisch erscheinen und bei der You Entity ja auch polygongenau berechnet.
Sehe da eigentlich keinen Widerspruch.
Mich würde mal interessieren warum man eine Bounding Box Polygongenau und nicht ellipsoid berechnen sollte.
Posted By: KMS

Re: Kollision-System Probleme - 07/04/07 10:52

Also ich hab bis jetzt durch polygon keine FPS-Einbrüche feststellen können.Probier es doch einfach mal aus!Ich denke nur so wird es Dir gelingen,durch eine Menschenmenge zu laufen.
© 2023 lite-C Forums