Wie werden Kugeln in Videospielen simuliert?

86

Ich habe in letzter Zeit Spiele wie MW2 gespielt und als Programmierer neige ich dazu, mich zu fragen, wie sie das Spiel so immersiv machen. Zum Beispiel, wie sie die Geschossgeschwindigkeit simulieren.

  1. Wenn ein NPC eine Kugel aus seiner Waffe abfeuert, bewegt sich die Kugel dann wirklich von seiner Waffe zum angegebenen Ziel oder ignorieren sie diesen Teil vollständig und platzieren einfach ein Einschussloch auf dem Ziel?

  2. Wenn die Kugel wirklich von der Waffe zum Ziel fliegt, mit welcher Geschwindigkeit fliegt sie dann tatsächlich?

mahen23
quelle
25
Verdammter Bildschirm, so echt!
AttackingHobo
6
schießt : BOOOOORRRIIIING
mahen23
1
Ich bin mir nicht sicher, ob Sie Megaman Legends Kugeln als Kugel bezeichnen können, aber in Megaman werden langsame Projektile als Kugel verwendet. In diesen sehen Sie deutlich, wie sich die Schüsse krümmen, wenn Sie während des Schießens im Kreis laufen (Coriolis-Effekt).
Lie Ryan

Antworten:

84

Die meisten FPS-Spiele verwenden Raycasting für das eigentliche Gameplay. Kugeln reisen sofort und treffen das Ziel, wenn sie abgefeuert werden.

In den meisten Spielen werden jedoch auch "gefälschte" Tracer verwendet. Alle 3 Schüsse oder ein anderes Intervall wird ein Tracer zusammen mit der Kugel abgefeuert, der Tracer ist sehr schnell, aber nicht sofort. Dies geschieht nur als visueller Effekt und wirkt sich nicht direkt auf das Spiel aus, sondern gibt dem Schützen, dem Schuhläufer, Hinweise und gibt Zuschauern einen Hinweis auf Schüsse.

Die meisten Spiele, in denen diese Art von Kugelphysik verwendet wird, sind unrealistisch, da es keine Abpraller und keine Kugelfragmente gibt und wenn es eine Penetration gibt, ist diese normalerweise linear.

Einige Spiele wie ARMA II, STALKER (ganze Serie) verwenden eine realistischere Geschossphysik mit Laufzeit, Abprallern und Durchschlag mit Ablenkungswinkeln. Ich glaube, diese Systeme verwenden Raycasting, aber mit einer Grenze, die durch die Geschwindigkeit der Kugel bestimmt wird. Bei diesen Spielen kann die Mündungsgeschwindigkeit realistisch sein wie bei ARMA II oder ungefähr so ​​aussehen wie bei STALKER.

Ich bevorzuge eine realistische Geschossphysik, da Geschütze Projektile abfeuern, keine Laser.

AttackingHobo
quelle
1
Wie wirkt sich das Gameplay aus, wenn Sie keines der genannten Spiele gespielt haben? Ich meine, wenn Sie in einem Spiel wie Call of Duty Kugelphysik einsetzen, sehen Sie wirklich einen spürbaren Unterschied? Verändern sich die Penetrationswinkel? Würden die Spieler überhaupt bemerken, dass ihr Charakter in Bezug auf den Schützen nicht mit dem Einschussloch übereinstimmt? Nur neugierig, welche Vorteile es gibt, um den Aufwand zu rechtfertigen. Danke im Voraus.
Dutchie432
Es verleiht der Schießmechanik eine Ebene von Unberechenbarkeit und Tiefe, die ich als angenehm empfinde. Kugeln sind nicht sofort !!! Englisch: chuckhawks.com/rifle_ballistics_table.htm Eine Schnecke, die 600 Fuß lang mit 2644 Fuß pro Sekunde schlägt, benötigt 0,2 Sekunden, um das Ziel zu treffen, ohne zusätzliche Verlangsamung zu berücksichtigen. Ein laufendes Ziel würde verfehlt, wenn Sie direkt darauf zielen. Ein weiterer Abstand würde es dem Geschoß ermöglichen, langsamer zu werden als die Schallgeschwindigkeit, wodurch die Leute auf den Boden springen könnten, wenn sie den Schuss hörten.
AttackingHobo
In dieser Antwort wurden mehrere ungenaue Aussagen gemacht, die gestrichen werden sollten. Überprüfen Sie meine Antwort unten.
EddieV223
1
Die Kugeln in ArmA 2 sind simulierte Projektile. Sie können während des Flugs modifiziert werden (Geschwindigkeitsänderung, Richtungsänderung) und auf ihrem Weg mit Objekten kollidieren. Ob dies durch Strahlenwurf geschieht oder nicht, ist irrelevant, sie wirken als reale physikalische Objekte.
Verlangsamter
also mw2? raycasting oder nicht? Weil sie offensichtlich großartige Arbeit darin leisten, Einschusslöcher und Umgebungen zu simulieren, die dadurch zerstört werden
mahen23
51

Bei Kugeln machen sie sich im Allgemeinen nicht die Mühe, die Kugel zu simulieren, die tatsächlich durch die Luft fliegt, und setzen einfach ein Einschussloch auf das Ziel, sobald es abgefeuert wird. Andere Dinge wie Raketen sind langsamer * und das Spiel zeigt, wie sie durch die Luft fliegen.

Auf den kurzen Strecken bewegen sich die Kugeln, zusammen mit dem Zeitraffer zwischen den Bildern, die sie sowieso zwischen oder innerhalb von 1 Bild vom Schützen zum Ziel bringen würden.

* Das heißt, langsamer als Raketen im wirklichen Leben, damit der Spieler sie durch die Luft fliegen sieht.

schockierend
quelle
44

Ich habe den Bullet-Code für PlanetSide geschrieben. Wir hatten ein paar "Hitscan" -Projektile, simulierten die Projektile jedoch größtenteils so gut wir konnten, da die CPU-Beschränkungen und die große Anzahl der zu spielenden Kugeln jederzeit gegeben waren.

Im Fall von Hitscan wird die Auswirkung im selben Frame wie die empfangene Eingabe bestimmt, häufig unter Verwendung eines einzelnen Raycasts. Dies ist für Waffen wie Laser oder andere extrem schnelle Projektile geeignet. Wir haben den Trefferscan durchgeführt, indem wir die Anfangsgeschwindigkeit des Projektils so hoch eingestellt haben, dass es das Spielbrett in einem einzigen Tick überquert.

Non-Hitscan-Geschosse werden entweder auf die Grafik-Frame-Zeit oder auf einen festen Zeitschritt angehakt, wobei Berechnungen für Beschleunigung (Think Rockets), Schwerkraft, Luftreibung, Lenkung (Think Heat Seeking Projectiles) usw. angewendet werden. Das Ziel ist es, die Endposition des Projektils für den Zeitschritt zu generieren. Sobald der Start- und Endpunkt festgelegt sind, können ein oder mehrere Strahlen geworfen werden, um die Flugbahn zu approximieren und Kollisionen zu erkennen, die während des Fluges aufgetreten wären.

Was bei einer Kollision sowohl bei Hitscan- als auch bei Nicht-Hitscan-Projektilen passiert, hängt von Ihren Projektileigenschaften und der Oberfläche ab, auf die Sie einschlagen. Zum Beispiel könnten Sie auf eine harte Oberfläche treffen. In diesem Fall könnten Sie Ihre Abprallzahl überprüfen und entweder die Position und Geschwindigkeit pro Reflexion anpassen oder das Projektil zur Detonation bringen, wenn Sie Ihre maximale Abprallzahl erreicht haben. In diesem System hat eine Rakete nur eine maximale Abprallzahl von 0. Sie könnten auf eine weiche Oberfläche treffen und dann Ihre Durchschlagskraft prüfen, um festzustellen, ob das Projektil das Material durchschlagen soll usw.

Es hat Spaß gemacht, Code zu schreiben. Außerdem ist es sehr nützlich, eine gute Debug-Visualisierung der Vorgänge zu schreiben, damit Sie Flugwege, Ereignisse usw. visuell überprüfen können.

Don Neufeld
quelle
2
Ich habe Planetside gespielt, bevor ich mit dem Programmieren von netten Spielen angefangen habe, und das klingt so, als würde es Spaß machen, das zu programmieren.
Anthony
18

Das hängt vom Spiel und der Genauigkeit / dem Realismus ab.

Das Synchronisieren von Schieß- und Schadensmodellen in Mehrspielereinstellungen ist ziemlich schwierig, da Sie genau bestimmen müssen, wo und wann genau eine Kugel abgefeuert wurde, ob sie ein Ziel getroffen hat und ob etwas anderes den Pfad passiert hat.

Daher vermute ich, dass Spieleentwickler die Dinge nach Möglichkeit vereinfachen, indem sie entweder einige Schüsse als augenblicklich behandeln (sodass Sie nur den Standort aller zu einem bestimmten Zeitpunkt berücksichtigen müssen) oder die Reichweite der Kugel einschränken. Zum Glück entspricht dies oft der realen Physik. Beispielsweise feuern Scharfschützengewehre Hochgeschwindigkeitsgeschosse ab.

Viele Spiele können einen mehrstufigen Multi-Snapshot-Pfad eines sich langsam bewegenden Objekts (wie Artillerie, Bomben, Markierungsrunden usw.) simulieren. Dies ist jedoch sehr kostspielig und Synchronisierungsprobleme treten häufiger auf, was zu lustigen YouTube-Videos führt.

Ein weiteres Problem sind Spiele, in denen kleinere "Umgebungen" separat verwaltet werden (z. B. wird jeder Raum separat simuliert), um die Illusion eines größeren Raums zu erzeugen. In diesen Fällen können Dinge innerhalb der Grenzen eines "Raums" korrekt simuliert werden, so dass jeder im Raum über die Serie von Übergängen im Raum, die die Kugel macht, informiert wird, andere außerhalb dieser Umgebung jedoch nicht.


quelle
14

Bei Projektilen, die sich schneller fortbewegen, als das Auge sehen kann, wird häufig Raycasting angewendet. Ein Strahl aus der Mündung wird mit der entsprechenden Richtung berechnet und mit potenziellen Zielobjekten verglichen, um festzustellen, was getroffen wurde. Dies kann mit mehreren Strahlen und einigen zusätzlichen Berechnungen kompliziert sein, wenn Sie Dinge wie das Abwerfen von Kugeln und dergleichen simulieren möchten. Sie können den Projekten auch eine Geschwindigkeit geben und diese verwenden, um der Berechnung einen zusätzlichen Realismus zu verleihen (Aufzählungszeichen sind also nicht sofort sichtbar).

Josh
quelle
11

Es hängt von der Implementierung ab, aber ich weiß, dass die Source Engine überhaupt keine physischen Kugeln (Projektilobjekte) verwendet hat, sondern nur einen Strahlenwurf vom Spieler zum Ziel mit einem zufälligen "Trefferzonen" -Kreis (abhängig von größeren oder kleineren Radien) Wie schnell die Waffe abgefeuert hat und ob der Spieler den Feuerknopf gedrückt gehalten hat), welches Zentrum der Punkt war, auf den der Spieler zielte, nachdem der tatsächliche Strahl vom Spieler zum zufällig bestimmten Punkt geworfen wurde und abhängig von anderen Faktoren (wie bullet "weight" und mündungsgeschwindigkeit (alle internen zahlen), objekttreffer usw.) der strahlwurf wurde durch mehrere objekte geworfen oder bis er gelände traf.

Auf der anderen Seite verwendete die Torque 3D Engine DID tatsächliche Projektilobjekte und der Konstrukteur konnte ihre individuellen Geschwindigkeits-, Masse- und Schwerkraftmodifikatoren beeinflussen. Der Motor hat lediglich alle 32 Millisekunden die Werte aktualisiert.

BEARBEITEN

Zusätzlich zur Verwendung von Projektilobjekten ermöglichte die Torque 3D Engine auch die Verwendung von Raycasts als Alternative. (Ich habe mehrere Spiele gemacht, in denen das "Projektil" tatsächlich ein Partikeleffekt ist, der nicht die Unterstützung hat, die Projektilobjekte hatten, weshalb ein Strahlenwurf erforderlich war.)

Casey
quelle
tolle Geschichte, Bruder. Ich bin mir jedoch sicher, dass die Torque 3D-Engine mehr Rechenleistung benötigte, um all diese physikalischen Eigenschaften zu berechnen.
Mahen23
@ mahen23 Du wärst überrascht. Es hatte WENIGER physikalische Berechnungen als die Source Engine, zum Teil, weil es überhaupt keine Softbody-Kollisionen handhabte, sondern nur einfache Begrenzungs- und Kollisionsboxen.
Casey
10

Im Team Fortress 2 Wiki gibt es eine ziemlich coole Beschreibung des Verhaltens ihrer Projektil- und Treffer-Scan-Waffen.

http://wiki.teamfortress.com/wiki/Mechanics#Hit_detection

Lunixbochs
quelle
2
Das Wiki ist eine gute Lektüre.
mgiuca
Während dieser Abschnitt kurz ist, werden sowohl die Treffer- als auch die Nicht-Treffer-Suche erläutert und es wird erklärt, was Hitboxen sind und wie sie verwendet werden.
jhocking
Denken Sie daran, die Unterartikel "Projektion" und "Hitscan" direkt unter dem Titel dieses Abschnitts zu lesen
Lunixbochs
6

Tatsächlich verwenden viele Spiele einen GPU-Rendering-Hit-Test-Algorithmus. Hier ist die grundlegende Funktionsweise:

1) Erstellen Sie außerhalb des Bildschirms ein Rendering der aktuellen Ansicht, in der das gesamte Gelände schwarz ist und jedes Zeichen eine nicht schwarze Farbe hat. 2) Ermitteln Sie die Farbe des Pixels unter dem Fadenkreuz. > Spielerzuordnung und einen Treffer auf dieses Ziel anwenden.

Diese Methode wird seit Jahren in Spielen eingesetzt, vor allem, weil sie pixelgenau ist. Wenn ein einzelnes Pixel des Spielerhutes hinter einer Wand hervorsteht, können Sie ihn schlagen. IE, wenn Sie es sehen können, können Sie es schlagen. Diese Art von Präzision ist mit einfachen Strahlgusstechniken so gut wie unmöglich. Und zweitens ist diese Art von Test extrem schnell und kann auf der GPU durchgeführt werden.

Timothy Baldridge
quelle
Die Farb-> Player-Suche klingt schmerzhaft? Wenn Sie es strahlen würden, wäre das nicht die gleiche Effizienz?
verzögerte
Eigentlich ist es extrem schnell. Die meiste Zeit für das Rendern wird mit dem Schattieren der tatsächlichen Polygone verbracht. Beim Rendern des Treffertests werden nur einfarbige Polygone verwendet. Darüber hinaus kann dieser Treffertest vollständig in der GPU durchgeführt werden und ist pixelgenau. Nichts kann einen Spieler mehr verärgern, als einen perfekten Treffer auf ein Ziel zu erzielen, und den Treffer-Test sagen zu lassen, dass es ein Fehlschlag war.
Timothy Baldridge
Aber wie konvertiert man den Pixelraum in den Weltraum für das entsprechende Objekt, auf das man trifft?
verzögerte
@ Daniel: Wie die Antwort sagt, wird das Ziel, das getroffen wird, durch Farbe identifiziert. Jedes Zeichen wird in einer anderen (durchgezogenen) Farbe gerendert. Sie können also einfach die Farbe überprüfen und Schwarz = Verfehlen, alles andere = Nachschlagen, wer in dieser Farbe gerendert wurde, weil er getroffen wurde.
Dave Sherohman
@ Dave Sherohman, ich muss es ursprünglich falsch gelesen haben, nach dem Lesen Ihrer Erklärung schien es so klar zu sein, was er meinte ... Prost
verzögerter
4

Einige Spiele verwenden zweifellos realistische Geschossphysik unter Berücksichtigung der Geschosslaufzeit und des Abwurfs, aber ich vermute, dass die meisten Spiele dies nicht tun, zumindest für NPCs.

Für ein Spiel, das eine direkte Kugelbewegung (kein Tropfen) ausführt, wird eine imaginäre Linie (Vektor) vom Punkt des Laufs nach vorne gezogen. Es berechnet dann, mit was sich diese Linie schneidet, und registriert einen Aufzählungspunkt "Treffer" an diesem Punkt. Es kann sich um ein festes Objekt wie eine Wand handeln, an der ein Aufprall einen Effekt auslöst, z. B. einen Aufprall auf eine Kugel und eine Rauchwolke. Es kann auf ein zerbrechliches Objekt einwirken, wodurch es zerbrochen wird, oder es kann auf ein physisches Objekt einwirken und ihm einen "Tritt" geben. Oder natürlich trifft es den Spieler oder einen anderen NPC und verursacht einen Gesundheitstreffer. Harte Kernsimulationen modellieren das Eindringen des Geschosses in Wände und lösen einen Treffereffekt auf der Ausgangsseite aus, wodurch der Schaden des Geschosses beim Austritt wahrscheinlich verringert wird.

Nur damit NPCs kein perfektes Ziel haben, fügen viele Spiele dem Vektor eine Art Randomisierung hinzu, um die Ausbreitung der Kugeln zu modellieren. Dies ist, was Sie im wirklichen Leben sehen würden, wo nicht alle Kugeln nur dort treffen, wo Sie zielen, sondern in einem Muster, das um den Zielpunkt zentriert ist.

Um die Ausbreitung der Kugel zu visualisieren, stellen Sie sich statt einer geraden Linie (Vektor) einen Kegel vor, der aus der Waffe austritt. Die tatsächliche Geschossrichtung ist zufällig so gewählt, dass sie sich irgendwo innerhalb dieses Kegels befindet. Befindet sich der Schütze wirklich in der Nähe des Ziels, ist die Streuung gering und die Genauigkeit hoch. Wenn das Ziel weit entfernt ist, erhöht sich die Streuung des Kegels, sodass der Schütze das Ziel weniger wahrscheinlich trifft.

Diese Idee des Schusskegels kann verwendet werden, um die Schützengenauigkeit (Fertigkeit), Waffengenauigkeit und andere Bedingungen zu modellieren. Beispielsweise könnte ein NPC mit niedrigem Level einen Schusskegel mit niedriger Genauigkeit erhalten, wohingegen ein NPC mit hohem Qualifikationsniveau eine hohe Genauigkeit aufweisen würde. Ein Spieler, der mit einer Maschinenpistole aus der Hüfte schießt, hat einen weiten Schusskegel, der sich verringert, wenn er aufhört zu laufen oder zielt. Scharfschützengewehre hätten von Natur aus engere Schusskegel als eine Pistole.

Tim Holt
quelle
+1 gute Information. Aber ich denke, es könnte optisch ansprechender sein, wenn die KI nicht auf einen größeren Kegel, sondern auf den Spieler zielt. Oder wenn Sie den Kegel größer machen möchten, können Sie ihn auf der Grundlage des Rückstoßes variabel dimensionieren und Feinden mit niedrigerem Level eine schnellere Vergrößerungsrate geben, damit sie nur unerfahren wirken.
AttackingHobo
1

Apropos Nexuiz-Quellcode: Als ich einen Blick darauf geworfen habe, haben sie tatsächlich kein 'Aufzählungszeichen' von Punkt A nach Punkt B gesendet. Der Code zeigt an, wohin Ihre Waffe zeigt, wenn sie abgefeuert wird. Wenn es auf eine Person gerichtet ist (und eine Sofortwaffe ist), wenn Sie auf "Feuer" klicken, haben Sie einen Treffer erzielt.

Bemerkenswert ist auch, wie Nexuiz die serverseitige Möglichkeit hatte, Treffer auf dem Client oder auf dem Server zu berechnen. Wenn Sie vermuten, dass Clients betrügen, können Sie zu serverseitigen Trefferberechnungen wechseln, um dies zu verringern.

Jeff Welling
quelle
1

Eine andere Strategie ist eine Mischung aus Rendering und Raytracing. Sie müssen nicht unbedingt jede Kugel rendern. Wenn Ihre Waffe beispielsweise 30 Schuss / Sekunde abfeuert, kann ein Schuss einige hundert Partikel erzeugen ... Sie können das Rendering durch die Verwendung eines "Tracer-Effekts" reduzieren, jeden dritten Schuss rendern und die anderen beiden Strahlen verfolgen. Der Spieler sieht immer noch 10 Schuss pro Sekunde auf den Feind schießen.

Passen Sie die Einstellungen an Ihre spezifische Situation an, rendern Sie mehr für Waffen mit niedrigerer Feuerrate und weniger für höhere.

Stephen
quelle
1
Geben Sie an, warum bei jedem dritten Schuss der Tracer vorhanden ist. Es ist keine Entwicklung für Spieleentwickler. Es war das Militär. Markierungsgeschosse, in deren Rückseite Phosphor eingebettet ist. Wenn die Runde geschossen wird, entzündet das Schießpulver den Phosphor und bildet eine helle Spur hinter der Kugel. Tracer-Geschosse sind teurer als normale Geschosse, daher werden sie immer nur für X-Schüsse verwendet, um Geld zu sparen, und haben gleichzeitig den beabsichtigten Effekt, dass das Zielen einfacher ist.
AttackingHobo
Außerdem möchten Sie es nicht in das Rendern und Aktualisieren aufteilen, wie Sie sagen. Sie möchten, dass die gesamte Aufzählungszeichenphysik vollständig mit der Aktualisierungsmethode durchgeführt wird. Sie möchten, dass jeder X-Schuss oder so auch einen Tracer-Effekt erzeugt, der viel langsamer als die Kugel ist, um Bewegung und Richtung anzuzeigen.
AttackingHobo
@AttackingHobo Ich habe nicht speziell an Phosphorrunden gedacht, sondern an ein visuelles Indiz dafür, dass Kugeln fliegen. Die Idee war, eine selektive Komprimierung zu verwenden ... um eine Detailebene zu entfernen, die der Spieler niemals als "fehlend" registrieren würde, aber das entlastet das System. Das "Every 3rd Bullet" -Bit ist willkürlich ... Sie müssten experimentieren, um zu sehen, was gut funktioniert. In Ihrer Antwort sagten Sie "Fake Tracer", was auch sehr sinnvoll ist.
Stephen
1

Vergessen Sie nicht, dass die Framerate im Vergleich zur Geschwindigkeit des Geschosses ein Problem sein kann. In einigen Fällen kann das Geschoss ein Objekt durchdringen, ohne es zu treffen, wenn Sie Ihre Physik-Engine nicht gut genug codiert haben. Für diese Angelegenheit gibt es eine Lösung, an die ich mich nicht sehr gut erinnere ...

Wie auch immer, ich denke, es kann sehr problematisch sein, realistische Kugeln in einer Multiplayer-Umgebung zu kompensieren, wenn nicht unmöglich, wenn die Latenz länger als 30 oder 50 ms ist.

Eines Tages interessiert sich der ISP vielleicht ein bisschen mehr für die Latenz und liefert verschiedene Angebote ... aber ohne FTTH ist es immer noch ein Traum ...

jokoon
quelle
1

In solchen Spielen wie Bad Company, Battlefeild 3 und Stalker glaube ich, dass die Kugel eine tatsächliche Einzelentität ist, die wie eine "Rakete" abgefeuert wird. Ich denke nur, dass Raytracing notwendig ist, wenn die Kugel das Ziel sofort trifft. Wenn die Entität sich selbst in realistischen Kugeln befindet, tickt sie nur, um zu sehen, ob sie jemanden trifft.

JAMOY
quelle
0

Wenn Sie sich Videowiederholungen in Call of Duty ansehen, können Sie tatsächlich schwach einen orangefarbenen Zweibeiner sehen, der durch die Luft zum beabsichtigten Ziel fliegt, und attackinghobo hat tatsächlich größtenteils die richtige Antwort darauf.

Wenn Sie einen Richochet-Effekt wie Hobo möchten, spielen Sie einfach eines der Halo-Spiele. Wenn Sie aus einer näheren Position auf eine Metallwand schießen, können Sie die Kugeln sehen, die vom Metall abprallen. Der Scharfschütze hinterlässt eine Spur, auf die er trifft.

Retarted Antwort beendet, ich kann später zurückgehen, um zu beheben.

Jack ist flink
quelle
-5

Die Kugeln und die gesamte Physik in der Stalker-Reihe von Spielen verwenden eine Open-Source-Bibliothek mit dem Namen "Open Dynamics Engine".

http://en.wikipedia.org/wiki/Open_Dynamics_Engine

Die Kugeln fallen mit der Schwerkraft und hüpfen sogar an Wänden herum und stopfen sehr genau, wenn Sie klug genug sind, eine Kugel von etwas abzubiegen, um auf jemanden zu schießen, den Sie nicht sehen, aber dessen Position kennen. Die Kugel ist ein tatsächliches Objektmodell. Dies ist die realistischste Methode, die ich je gesehen habe. Die Ray-Trace-Methode ist nicht praktikabel, wenn Sie sich in große Räume begeben. Es wäre aber in Ordnung, eine Laserpistole zu schießen.

Andere Spiele, die es verwenden BloodRayne 2, Call of Juarez, World of Goo, X-Moto und OpenSimulator.

Eine weitere gute Wahl wäre die Physikbibliothek "Bullet". http://en.wikipedia.org/wiki/Bullet_%28software%29

Es wurde in Grand Theft Auto 4, Red Dead Redemption und mehr verwendet.

ps arma 2 verwendet eine hauseigene physik-engine, ihr nächstes spiel arma 3 wird die physX physik-engine verwenden

EddieV223
quelle
3
Es ist irreführend, Spiele aufzulisten, die ODE für Zwecke verwendeten, die nichts mit Kugeln zu tun haben.
jhocking
4
Es ist auch irreführend zu sagen, dass Stalker ODE für die Aufzählungszeichen verwendet, obwohl das Spiel seine eigenen Kollisionstests verwendet, aber nur den ODE-Löser verwendet.
AttackingHobo