Motor! oder Was ist Spielphysik?



Bei der Erstellung eines Spiels müssen Entwickler nicht nur in der Mechanik, sondern auch in der Physik ein Gleichgewicht finden. Realismus oder Spielhalle? Im Allgemeinen jemand so. Die Hauptsache ist Fan und Vergnügen. Es ist notwendig, die Grundgesetze Ihrer Welt zu schaffen und zu erklären, dass die Fähigkeit, an der Decke zu gehen, ein Mechaniker ist, kein Fehler.

Wie kompliziert die Spielphysik sein sollte, welche Arten von Spielen es gibt und welche Tricks Entwickler bei der Implementierung anwenden - übersetzt unter Schnitt.

Physik in Videospielen wird oft als selbstverständlich angesehen. Wenn der Charakter springt, muss er landen und nicht in den Weltraum fliegen (obwohl dies bei einem ziemlich langen Spiel in Skyrim immer noch passieren kann). Wir erwarten, dass sich die Objekte im Spiel wie im Leben verhalten (wir berücksichtigen keine Fehler).

Die Programmierphysik kann mit ein paar Codezeilen auf eine oder zwei Methoden reduziert werden. Oder vielleicht ein komplexes System mit einer separaten physischen Engine (z. B. Havok oder PhysX ) mit Millionen von Codezeilen. Unabhängig von der Komplexität wird die Spielphysik in zwei Kategorien unterteilt: Festkörperphysik und Weichkörperphysik.



Festkörperphysik wird in den meisten 2D- und 3D-Spielen benötigt. Die Weichkörperphysik beschreibt die Wirkung von Kräften auf ein Objekt, das verschiedene Formen annimmt (z. B. eine Flagge). Das Anzeigen eines weichen Körpers ist viel schwieriger, daher wird dieser Ansatz viel seltener verwendet.

Die wichtige Rolle der Spielphysik


Die Spielphysik dient verschiedenen Zwecken, aber die wichtigsten sind Intuitivität und Spaß. Wenn sich ein Objekt unvorhersehbar verhält, ist es schwierig, die Spielregeln zu verstehen.

Wenn der Ball in FIFA 20 jedes Mal in eine zufällige Richtung springen würde, wäre es unmöglich, ein Tor zu erzielen. Die Entwickler versuchen, den Rückprall des Balls in Abhängigkeit von seiner Flugbahn, Geschwindigkeit und anderen Faktoren in der realen Welt nachzubilden. Damit der Spieler intuitiv versteht, wie er mit dem Ball oder anderen Gegenständen umgeht. Übrigens hat FIFA 20 viele schlechte Kritiken, gerade weil seine Physik nicht wie von den Fans erwartet funktioniert.


Darüber hinaus sind Spiele nicht verpflichtet, die Naturgesetze strikt einzuhalten. Die Hauptsache ist, dass das Spiel Spaß machen sollte und die Implementierung realer physikalischer Gesetze die gesamte Erfahrung zerstören kann. Stellen Sie sich Grand Theft Auto V mit harter terrestrischer Physik vor (aber wenn Sie wirklich wollen, können Sie einen speziellen Mod einsetzen ). Selbst ein leichter Unfall mit hoher Geschwindigkeit würde tödlich enden und das Tempo und die Atmosphäre beeinträchtigen. Nicht sehr lustig.


Der Entwickler muss die richtige Balance zwischen einem lustigen Spiel und einem Spiel mit realistischer Physik finden. Und es kommt oft auf die Zielgruppe an. Ein gutes Beispiel ist der Rennsport.

Viele Leute mögen Arcade Racing (Need For Speed), bei dem das Berühren des Hackers oder eine scharfe Kurve die Steuerung der Maschine nur schwach beeinflusst. Andere bevorzugen realistische Rennsimulatoren (Gran Turismo).

Aber selbst wenn sie Simulationen erstellen, versuchen die Entwickler, ein neues Publikum anzulocken - Gran Turismo verließ sich auf Fotorealismus (und bis zu einem gewissen Grad funktionierte es). Am Ende fügte Polyphony Digital einen Arcade-Modus hinzu, um einen größeren Markt zu erobern.

Festkörperphysik


Wenn wir von Spielphysik sprechen, meinen wir normalerweise die Starrkörperphysik (RBP). Es beschreibt und reproduziert die physikalischen Gesetze, die für feste Materiemassen gelten. Der Ball in FIFA 20 ist ein Feststoff, der von der Physik des Spiels gesteuert wird.

Es spielt keine Rolle, ob wir uns 2D-Titel wie Pong oder 3D-Titel wie Skyrim ansehen - die meisten Spiele haben lineare Festkörperphysik.



Physik von 2D-Spielen


Nehmen Sie als Beispiel Pong. Zwei Feststoffe (Ball und Schläger) kollidieren immer wieder. Das klingt nicht sehr ermutigend. Der Großvater der Videospiele hatte keine realistische Physik.

Erstens ignorierten Programmierer Schwerkraft, Reibung und Trägheit. Es gab nur einen Ball, der sich mit konstanter Geschwindigkeit hin und her bewegte.
Zweitens wurde der Sprungwinkel des Balls vom Schläger nicht genau berechnet. Der Ball ignoriert das Reflexionsgesetz vollständig: Wenn Rotation und andere Faktoren nicht berücksichtigt werden, entspricht der Einfallswinkel des Balls auf der Oberfläche dem Winkel seines Rückpralls von ihm. In Pong wurde der Reflexionswinkel dadurch bestimmt, wie nahe der Ball zum Zeitpunkt des Kontakts an der Mitte des Schlägers war. Die ursprüngliche Flugbahn spielte keine Rolle. Die Spieler konnten die Trägheit des Balls trotz des Vektors seiner Bewegung vollständig ändern.

Die Flugbahn des Balls wurde in späteren Versionen und in anderen ähnlichen Spielen stärker berücksichtigt. Zum Beispiel in Breakout. Aber auch es gibt keinen Realismus, sonst wird aus einem lustigen Spiel ein langweiliges und schwieriges.



Spiele mit Artillerie waren die ersten, die Schwerkraft und Widerstand in ihrer Mechanik berücksichtigten. Die Benutzer feuerten abwechselnd Kanonenkugeln, Pfeile und Raketen ab, um die feindliche Basis zu zerstören. Solche Spiele berücksichtigten die semi-realistische Ballistik, dh den Startwinkel, die Schwerkraft, den Windwiderstand und die ursprüngliche Geschwindigkeit. Aber auch hier wollten die Designer nicht alles wie in der realen Welt machen. Ihre Zielgruppe waren normale Menschen, keine ballistischen Experten.

Das Verhalten von Festkörpern (hauptsächlich Schalen) hing von mehreren Kräften ab. Entsprechend haben sich die Animationen geändert. Pfeile und Raketen sind ein großartiges Beispiel für die Animation von Volumenkörpern in ähnlichen Spielen. Die Ebene des Projektils konnte sich während des Fluges ändern, und der Pfeil blieb gerade. Zwei Punkte auf einem Objekt in einem Festkörpersystem befinden sich immer im gleichen Abstand voneinander.

Spiele wie Donkey Kong und Mario Bros. stark beeinflusst die Physik von 3D-Projekten. Mario freundete sich mit den grundlegenden physikalischen Gesetzen an - Schwerkraft, Impuls und Trägheit. Der Sprung wurde zur Hauptmechanik und blieb für immer in der Spielebranche.



Das springende Objekt sollte zurückfallen. Die Frage ist nur, wie hoch es steigen und wie schnell es fallen wird. Und wie realistisch sollte die Schwerkraft in einem Spiel sein?

Wenn Mario den wirklichen Gesetzen der Physik gehorcht hätte, hätte er niemals die erste Stufe bestanden. Das Gleichgewicht musste geändert werden, um Spaß am Spiel und den Erwartungen der Spieler zu haben.

Weitere Spiele der Serie erweiterten diese Grenzen - ein Doppelsprung erschien. In diesem Franchise wurde es zuerst zu Super Mario 64 hinzugefügt, war aber zuvor 1984 in Dragon Buster verwendet worden.

Der Doppelsprung wurde bei Plattformspielern aktiv eingesetzt (manchmal sogar zu viel). Und es ist immer noch in vielen modernen Projekten vorhanden, einschließlich 3D. Zum Beispiel Devil May Cry und Unreal Tournament.

3D-Physik


Die Physik in 3D-Spielen unterscheidet sich nicht wesentlich von der Physik in 2D-Projekten. Die Berechnungen werden durch die dritte Dimension (Z-Achse) und die Tatsache, dass Objekte aus mehreren Volumenkörpern bestehen, kompliziert.

In den meisten 2D-Spielen müssen Entwickler nur Daten aus nur wenigen Kollisionen von Volumenkörpern verarbeiten. Zum Beispiel: Mario springt auf Kupu. Mario kann jeden Teil der Kupa berühren. Je nach Kontaktpunkt versteckt sich Coop entweder in einer Muschel oder Mario verliert sein Leben. In jedem Fall sprechen wir von einer einzigen Berührung.



In 3D-Spielen kollidieren mehrere feste Objekte gleichzeitig. In Uncharted überwacht das Programm, wenn Drake auf einen Felsen klettert, zumindest seine Arme und Beine - einzelne Feststoffe. Er kann mit einer oder zwei Händen hüpfen und die Treppe greifen, und die Animation wird anders sein.

In 3D-Spielen (und einigen 2D-Spielen) sind die Glieder der Charaktere in mehrere Körper unterteilt, die durch Gelenke verbunden sind. Das heißt, das Modell der menschlichen Hand besteht aus Unterarm und Hand, die durch das Handgelenk verbunden und durch das Ellbogengelenk an der Schulter befestigt sind. Dies wird durch die Ragdoll-Physik (aus der englischen Ragdoll-Rag-Puppe) beschrieben.


Bild: University of California , Riverside

Verbindungen von Festkörpern (Gelenken) werden im Skelettanimationssystem der Spiel-Engine erstellt. Jeder Körper muss sich nach bestimmten Regeln bewegen, um realistisch auszusehen. Um die Bewegungen zu berechnen, verwenden Programmierer verschiedene Techniken. Der bekannteste ist der Featherstone-Algorithmus , ein restriktiver Ansatz, der verhindert, dass Gliedmaßen zufällig heraushängen.

Es gibt andere Ansätze für die Arbeit mit Ragdoll: Werle-Integration (Hitman: Codename 47), inverse Kinematik (Halo: Combat Evolved und Half-Life), gemischte Ragdoll (Uncharted: Drakes Fortune und viele andere) und prozedurale Animation (Medal of Honor-Serie) )



All diese Techniken zielen darauf ab, dass der Körper nicht zu schnell schlaff wird und nicht wie eine Stoffpuppe zu Boden fällt. Die Bewegung von Festkörpern, die in ein Modell eingebaut sind, ist begrenzt, sodass sie sich vorhersehbar verhalten.

Ich möchte Sie daran erinnern, dass Sie immer ein Gleichgewicht zwischen Realismus und Spaß finden müssen. Auch wenn das Spiel ein wenig schummeln wird.

Nehmen Sie die Sniper Elite-Serie. In der realen Welt muss ein Schütze eine Reihe von Variablen berücksichtigen: Windgeschwindigkeit, Windrichtung, Reichweite, Zielbewegung, Trugbild, Lichtquelle, Temperatur, Druck und den Coriolis-Effekt .

Wenn Rebellion einen authentischen Scharfschützen-Simulator erstellen würde, der alle Variablen berücksichtigt, würde das Spiel sehr schwierig werden. Ihr Ignorieren ist nicht nur auf die Fähigkeiten moderner Prozessoren zurückzuführen. Der durchschnittliche Benutzer möchte nicht nur nicht alle diese Faktoren während des Spiels berechnen, sondern auch nicht einmal darüber Bescheid wissen. Es ist rentabler, den Spieler das Zielfernrohr benutzen zu lassen und den Flug der Kugel in Zeitlupe zu zeigen.


Call of Duty: Modern Warfare hat ein Level, in dem Sie ein Ziel aus großer Entfernung treffen müssen. Der Spieler muss den Coriolis-Effekt sowie die Geschwindigkeit und Richtung des Windes berücksichtigen. Einige Leute mögen diese Herausforderung, aber ich habe sie aufgegeben.

Rennsport ist ein weiteres Genre, das viele Berechnungen der Feststoffe und der auf sie einwirkenden Kräfte erfordert. Die Räder berühren die Fahrbahn, die Aufhängung berührt die Räder, die Autos kollidieren miteinander. Wieder andere Objekte nehmen direkt oder indirekt an Kollisionen teil.

Die beim Wenden auf Autos einwirkenden physikalischen Kräfte werden normalerweise vereinfacht. Das Driften in ihnen ist einfach, aber gleichzeitig ziemlich kompliziert - die Spieler sollten zufrieden sein.

Die Simulatoren Gran Turismo und Assetto Corsa haben realistischere Kräfte. Zum Beispiel Assetto Corsa Competizione (Version 1.0.7)verwendet ein Fünf-Punkte-Reifenmodell. Es enthält zwei Punkte an der Vorderkante des Reifens, zwei an der Hinterkante und einen in der Mitte - alle zusammen wirken als kombinierter Feststoff. Punkte können sich in drei Dimensionen bewegen und biegen, unabhängig von äußeren Kräften und Kontakt mit der Oberfläche. Zusätzliche Punkte erhöhen die Anzahl der Berechnungen, die der Motor durchführt, erheblich.


Physikalische Modelle in 3D-Titeln sind viel komplexer als in 2D. Sie müssen mehr Variablen und Gemeinsamkeiten im Auge behalten. Die meisten Berechnungen sind jedoch linear, sodass solche Modelle viel einfacher sind als Weichkörpermodelle.

Weiche Körperphysik


Die Weichkörperphysik (SBP) beschreibt verformbare Objekte. Es wird seltener verwendet und ist in Videospielen aufgrund des enormen Rechenaufwands stark reduziert.

Weiche Körper sind Kleidung, Haare und Ansammlungen von Partikeln wie Rauch oder Nebel. Die Punkte eines Volumenkörpers bleiben immer im gleichen Abstand voneinander. Ein weicher Körper kann sich verformen und bewegen, so dass sich der Abstand zwischen seinen Punkten ändert.

Verformbare Feststoffe


Die Bewegung des weichen Körpers kann eingeschränkt sein. Alle Punkte der Flagge bleiben immer auf der Flagge, sie können nicht getrennt werden. Der Bereich der Abweichung von Punkten voneinander hängt vom Abstand zwischen ihnen auf der geglätteten Flagge ab.

Benachbarte Punkte bleiben immer benachbart. Entfernte Punkte können näher kommen, aber gleichzeitig können sie sich nicht weiter über die Entfernung hinaus bewegen, in der sie auf der erweiterten Flagge fixiert sind.



Die Anzahl der Berechnungen für den Soft Body übersteigt die Fähigkeiten der CPU und der GPU. Daher vereinfachen und tricksen Entwickler. Beispielsweise wird eine Schleifenanimation verwendet. Aber ein solches Bild wird nach einiger Zeit unnatürlich erscheinen. Es ist besser, nicht auf einen solchen Life-Hack zurückzugreifen, wenn das Objekt im Mittelpunkt der Aufmerksamkeit steht.

Kleidung hat fast die gleichen Weichkörpereigenschaften wie die Flagge, aber ihre Physik ist noch komplexer. Erstens, weil der Spieler auf jeden Fall auf sie achten wird. Zweitens, weil es oft dynamischer ist: Der Spieler übt seinen eigenen Einfluss darauf aus. Ein gutes Beispiel ist Batmans Umhang in der Arkham-Serie.


Designer können keine Schleifenanimation für einen Umhang verwenden, da seine Bewegung von den Aktionen des Spielers abhängt. Wenn der Spieler den Charakter nach links lenkt, sollte sich der Umhang nach rechts verschieben, um die Trägheit und den Luftwiderstand realistisch darzustellen.

Hier kommen physische Motoren ins Spiel. In Batman: Arkham Knight verwendete Rocksteady APEX Cloth PhysX. Mit diesem Werkzeug können Sie eine Maske für Körper erstellen, die Kleidung anzeigen, und die Parameter ihrer Bewegung anpassen. Je nach Konfiguration kann alles von Seide bis Sackleinen angezeigt werden.

Um die Leistung zu verbessern, können Sie die Auswirkungen natürlicher Kräfte auf den Stoff begrenzen. Beispielsweise kann die Windmethode auf Genau oder Legacy eingestellt werden. Die Teilanzeige ignoriert kleine Schwankungen, es werden weniger Berechnungen durchgeführt.

Nicht alle Punkte auf dem Stoff müssen berücksichtigt werden - sie können in Gruppen agieren. Dies reduziert die Anzahl der Scheitelpunkte, die verarbeitet werden müssen. Allerdings interagieren nicht alle diese Gruppen miteinander wie in einem wirklich weichen Körper. Sie betreffen hauptsächlich nur die nächstgelegenen Punkte, sodass die Anzahl der mathematischen Berechnungen auf ein akzeptables Maß reduziert wird.

Weiche Körperpartikelsysteme


Das Anzeigen von Rauch oder Wolken ist noch schwieriger. Die Punkte solcher Objekte können sich nichtlinear relativ zueinander bewegen. Einige Punkte können sich über die bildlichen Grenzen des Objekts hinaus bewegen und sogar andere weiche Körper bilden.

Physikalische Motoren haben Partikelsysteme in den letzten Jahren erheblich verbessert. Schauen Sie sich den Begrüßungsbildschirm von Skyrim an und wie realistisch der Rauch dort aussieht.


Jedes Partikel im Weichkörpersystem hat eine statische Lebensdauer. Dies ist der Zeitraum vom Moment seines Auftretens bis zum Moment seines Verschwindens (nach einiger Zeit wird es von der Partikelquelle wieder erzeugt). Während dieser Zeit bewegt sich der Punkt mit den angegebenen Parametern.

Betrachten Sie als Beispiel den Rauch eines Lagerfeuers. Jedes Teilchen bewegt sich von der Quelle nach oben: nichtlinear, dreht sich und ändert zufällig seine Position im Raum. Also steigen sie auf, bis ihre Lebensdauer endet, und dann werden sie entfernt.

Die Lebenserwartung beeinflusst, wie natürlich ein Partikelsystem aussieht. Mit einer langen Dauer können Sie aus einem Feuer ziemlich realistischen Rauch erzeugen, der den Prozessor jedoch stark belastet. Kurz - Reduziert die Anzahl der Berechnungen, aber die Partikel haben nur Zeit, leicht aufzusteigen, bevor sie verschwinden.

Der Rauch im Skyrim-Bildschirmschoner sieht cool aus, einfach weil auf dem Bildschirm nichts anderes passiert. Die gesamte Leistung des Prozessors und der Grafikkarte kann so gesteuert werden, dass Rauchpartikel mit einer sehr langen Lebensdauer simuliert werden.



Im Spiel selbst sieht der Rauch des Feuers nicht mehr so ​​realistisch aus. Es ist immer noch ziemlich überzeugend, aber einfacher: Entwickler haben die Zeit für die Anzeige von Partikeln in einer Simulation verkürzt. Es gibt noch andere Tricks. Zum Beispiel das Überlagern mehrerer statischer Rauchschichten

Die Weichkörperphysik wird den Spielen sehr sorgfältig hinzugefügt. Erstens ist eine vollständige Simulation der Weichkörperphysik nicht erforderlich - in der Regel nur für die Ästhetik. Zweitens erfordert die genaue Reproduktion des Weichkörpersystems zu viele Berechnungen.

Zusammenfassen


Die Physik von Videospielen ist ein komplexes Gebiet, in dem Entwickler ein Gleichgewicht zwischen Realismus und den Einschränkungen der Rechenleistung suchen. Tricks, Vereinfachungen und physikalische Engines ermöglichen es Ihnen, schnell eine ziemlich realistische Physik zu erstellen, um sich auf wichtigere Aspekte des Spiels zu konzentrieren.



Das Spiel sollte interessant sein. Realismus ist im Vergleich zum süchtig machenden Gameplay nicht so wichtig. Spielphysik ist immer noch wichtig - Sie benötigen intuitive Regeln. Gleichzeitig können sie geändert werden, um das Gameplay zu bereichern (denken Sie an den Doppelsprung).

Wenn Sie die Physik von Videospielen besser verstehen möchten, lesen Sie die entsprechenden Abschnitte im Unity Guide oder im Lumberyard Guide .

All Articles