Reicht nur Intersection als Kollisionsabfrage
-
Du musst zwischen "Grafik-Frames" und "Logik-Frames" unterscheiden. Das Thema hatten wir bereits ein paar mal im Forum. Such mal nach Dingen wie "logic tick", "Zeitunabhaengige Bewegung" und dergleichen.
Jedenfalls, der Trick ist der: du musst dich fragen, kann ein Objekt von einem Logik-Tick sprich "von einem aufruf der game-logik", also Objekte Bewegen, Kollisionserkennung, etc.) zum Naechsten "durch" ein anderes Objekt bewegen. Eben bei Projektilen ist das sehr gut moeglich. Und du kannst dann ja nicht einfach sagen "tja, das Projektil ist von Frame 0 zu Frame 1 von Meter 0 auf Meter 10 gesprungen, also hat es das Objekt bei Meter 5 einfach nicht getroffen, Pech gehabt". Deshalb musst du das Problem irgendwie loesen, und dann brauchst du mehr als nur die Funktionen, die DirectX dir bietet.
-
Hi,
nein man braucht nicht mehr als DirectX einem bietet. Jedenfalls nicht für solche Probleme. Man muss den Test eben nur gut durchdenken. Im Fall eines Projektils zieht man einfach ein Liniensegment (DirectX Ray Inetrsection Test) von der Position des Projektils im Frame n zu den Position im Frame n+1. Alles was mit diesem Ray kollidiert wird von dem Projektil getroffen.
Je nach Durchschlagskraft des Projektils bzw. der Dichte des getroffenen Objektes kann man dann auch multiple Treffer bei Durchschuß zulassen.
Ciao,
Stefan
-
Für sowas einfaches reicht ein Ray, richtig.
Blöd wird es nur wenn die zu testenden Shapes beides keine sehr "einfachen" Objekte sind, trotzdem aber sehr schnell bewegt werden.
-
Danke für die Antworten, werd erstmal die Mittel benutzen die mir zur Verfügnung
stehen. Muss ich mich näher mit beschäftigen, wenn die Mittel nicht ausreichen
sollten.
-
Oder aber du suchst dir eine Physics-Engine die das alles schon kann
-
Gibt leider noch nich sehr viel für managed directx, probiere
grad unmanaged dll's einzubinden, scheint ganz gut zu Funktionieren.
physixsdk, hab ich hier noch rumliegen, vielleicht bekomme ich die ja zum laufen.
-
hustbaer schrieb:
Hehe, das ist bloss Raycasting.
Hier wird nur getestet ob ein Strahl ein Mesh schneidet, das mag zwar bei Raycasting von Bedeutung sein, aber Raycasting ist was anderes.
-
ein test ob ein ray ein mesh schneidet nennt man allgemein raycasting.
-
Also ich verbinde den Begriff "Raycasting" mit dem Verfahren, das beispielsweise bei Wolfenstein 3D verwendet wurde.
Das sagt übrigens auch Wikipedia
-
Genau, damit verbinde ich den Begriff auch.
-
dann darf ich zur horizonterweiterung gratulieren
-
Ob wir es noch erleben dürfen, dass rapso mal zugibt sich geirrt zu haben? ...
-
TomasRiker schrieb:
Ob wir es noch erleben dürfen, dass rapso mal zugibt sich geirrt zu haben? ...
nur weil du etwas (noch) nicht kennst, liegen wir anderen falsch
-
rapso schrieb:
TomasRiker schrieb:
Ob wir es noch erleben dürfen, dass rapso mal zugibt sich geirrt zu haben? ...
nur weil du etwas (noch) nicht kennst, liegen wir anderen falsch
Oder andersrum? Kannst du deine Meinung denn belegen? Ich kann nichts dergleichen finden!
-
David_pb schrieb:
rapso schrieb:
TomasRiker schrieb:
Ob wir es noch erleben dürfen, dass rapso mal zugibt sich geirrt zu haben? ...
nur weil du etwas (noch) nicht kennst, liegen wir anderen falsch
Oder andersrum?
andersrum? du meinst, wenn wir behaupten es gibt etwas, weil wir es kennen, heisst es noch lange nicht dass es das gibt, weil ihr behauptet ihr kennt das nicht?
-
Nein, wir kennen die Verfahren alle, nur geht es doch um die korrekte Bezeichnung. Alle Quellen, die ich bislang dazu gefunden habe, sehen in Raycasting genau dieses Wolfenstein 3D-Verfahren:
http://www.gamedev.net/dict/term.asp?TermID=415
http://de.wikipedia.org/wiki/Raycasting
http://en.wikipedia.org/wiki/Ray_casting
http://www.cacs.louisiana.edu/~mgr/404/burks/pcinfo/progdocs/rgpfaq.htm#B1
...
-
es tut mir echt leid hier euch ne google antwort geben zu muessen, aber...
-
Naja, hier noch eine google Antwort: http://www.google.de/search?q=raycasting
-
David_pb schrieb:
Naja, hier noch eine google Antwort: http://www.google.de/search?q=raycasting
und welcher query dort stuetzt deine behauptung, dass ray-tests kein raycasting ist?
-
Das "beweisen" doch schon die anderslautenden Definitionen von Raycasting, auf die ich vorhin verlinkt habe. Zeige mir eine Definition, wo es anders drin steht, dann wäre ich zur Horizonterweiterung bereit.
Ich denke der Begriff wird in einigen Physik-Engines einfach falsch genutzt, so wie manche Leute von "Clipping-Fehlern" reden, wenn ein Teil der Spielfigur in eine Wand hineinragt. Ray Querying oder einfach Ray Intersection ist viel passender.