Physik: Unterschied zwischen den Versionen
(→Fertige Physikbibliotheken) |
|||
Zeile 39: | Zeile 39: | ||
Wer keine Zeit, Lust oder Geduld hat, eine eigene Physikbibliothek zu erstellen findet hier eine kleine Auswahl an fertigen: | Wer keine Zeit, Lust oder Geduld hat, eine eigene Physikbibliothek zu erstellen findet hier eine kleine Auswahl an fertigen: | ||
# Havok (http://www.havok.com/) (Windows) | # Havok (http://www.havok.com/) (Windows) | ||
− | # Newton (http://www.physicsengine.com/) (Windows, MacOS X) | + | # Newton (http://www.physicsengine.com/) (Windows, Linux, MacOS X) |
# NovodeX (http://www.ageia.com/novodex.html) (Windows) | # NovodeX (http://www.ageia.com/novodex.html) (Windows) | ||
# ODE (http://www.ode.org/) (Windows, Linux, MacOS X) | # ODE (http://www.ode.org/) (Windows, Linux, MacOS X) |
Version vom 18. Oktober 2005, 07:56 Uhr
(Mehr Informationen/weitere Artikel) {{{1}}} |
Die Physik ist mittlerweile in fast allen Spiele-Genres zum wichtigen Bestandteil geworden. Mittlerweile werden sogar Hardware-Physik-Beschleuniger entwickelt (siehe Ageia), die, wie Grafikkarten, die CPU bei speziellen Berechnungen entlasten sollen.
Inhaltsverzeichnis
Kollisionskontrolle
Ein Egoshooter, bei dem man durch Wände laufen kann, ein Echtzeitstrategiespiel, bei sich Einheiten durch Gebäude bewegen, all dies kommt der Realität nicht so wirklich nahe.
Deshalb verfügen selbst einfachste Jump&Run-Spiele über eine Kollisionskontrolle. Diese verhindert, dass sich Objekte ungebremst durch andere Objekte bewegen können. Überprüft wird hierbei, ob ein Objekt A (z.B. der Spieler) ein Objekt B (z.B. die Wand) berührt. Ist dies der Fall, wird die Bewegung des Objektes A in die Richtung des Objektes B blockiert, und die Routine für das Verhalten bei Kollisionen aufgerufen.
Da diese Berechnung bei Objekten mit vielen Polygonen sehr rechenintensiv ist, werden in der Praxis meist so genannte Bounding-Boxes eingesetzt. Dabei wird für die Kollisionskontrolle nicht das Objekt mit vielen Polygonen verwendet, sondern ein dem Objekt ähnliches Gebilde aus weniger Polygonen. So kann der Spieler in einem 3D-Shooter durch fünf einfache Quader (Rumpf & Kopf, Arme, Beine) simuliert werden. In den meisten Fällen ist solch eine einfache Bounding-Box bereits ausreichend.
Gravitation
Gerade bei neueren Spielen, in denen viele frei bewegliche Objekte vorhanden sind, ist die Simulation der Schwerkraft sehr wichtig. Hier ein kurzes Beispiel:
Der Spieler läuft durch einen Gang, in dem mehrere Kisten stehen. Er schießt auf eine Kiste. Durch die Wucht der Geschosse wird die Kiste in die Luft geschleudert.
Ohne die Gravitation würde diese Kiste nun ewig im Raum rumschweben. Durch die Gravitation jedoch fällt die Kiste wieder zu Boden, was der Realität auf der Erde doch näher kommt. Für den Einsatz der Gravitation, muss jedem Objekt eine Masse zugewiesen werden.
Plastische Verformungen
Plastische Verformungen sind meist das Ergebnis einer Kollision. Das wohl beste Beispiel für den Einsatz von plastischen Verformungen ist das Schadensmodell der Autos in Rennspielen, bei denen die Fahrzeuge bei Crashs Kratzer und Dellen bekommen.
Ragdoll
Unter Ragdoll-Simulationen versteht man die Simulation des Zubodengehens einer Spielfigur. Diese Technik wird meist in 3D-Shootern verwendet, um darzustellen wie z.B. die Gegner von den Treffern des Spielers nach hinten geworfen werden, vom Balkon fallen und dabei an Ästen hängen bleiben wobei sich ihr Körper weiter verformt. Diese physikalisch korrekt berechnete Simulation des Todes ist gerade in Deutschland sehr umstritten.
Fertige Physikbibliotheken
Wer keine Zeit, Lust oder Geduld hat, eine eigene Physikbibliothek zu erstellen findet hier eine kleine Auswahl an fertigen:
- Havok (http://www.havok.com/) (Windows)
- Newton (http://www.physicsengine.com/) (Windows, Linux, MacOS X)
- NovodeX (http://www.ageia.com/novodex.html) (Windows)
- ODE (http://www.ode.org/) (Windows, Linux, MacOS X)