Technik der Computerspiele Physik Physik Simulation: Inhalt Motivation Partikel Bsp: Feuerwerk, Artillerie Massenansammlungen Ketten, Stoffe, … auch Körper (Pyramide,...) Starre Körper Kisten, Flugzeug, Avatar, … Physik-Engine Zusammenfassung Physik Simulation: Motivation Realitätsgrad Lebendigere Welt reine „Physik-Spiele“ World of Goo → Crazy Machines Crayon Physics Bridge Builder → Partikel-Physik einzelne „Massenpunkte“ besitzen u.a. Position, Masse, … Reaktion auf Schwerkraft Simulation von Trägheit Wurfparabel (Artillerie) Verwendung: Feuerwerk (ein Partikel repräsentiert einen Leuchtkörper) Partikel-Physik: Repräsentation Vektoren als Datenstruktur im Objekt für: Position, Geschwindigkeit, Beschleunigung, wirkende Kräfte (Akkumulator) Masse → Repräsentation der inversen Masse Kehrbruch der Masse: 1/m „unendliche Masse“ möglich ↔ keine „Null-Masse“ Partikel-Physik: Bewegung Akkumulator für Kräfte resultierende Kraft Beschleunigung von Kraft und Masse abhängig Geschwindigkeit aus Beschleunigung und Zeit Position aus alter Position und Geschwindigkeit Abhängigkeit von der Bildrate der Simulation Partikel-Physik: Kraft-Generator Kraft-Generator symbolisiert eine spez. Kraft Beeinflussung der Beschleunigung des Objekts Bsp: Gravitationskraft, Federkraft Geschwindigkeit oder Position bleibt unberührt Registrierung als Bindeglied Kraft-Generator und Objekt sind der Reg. bekannt pro Frame: Iterieren über alle registrierten Objekte Partikel-Physik: Demo Partikel-Demo: Feuerwerk, Ballistik Massenansammlungen Körper/Objekt aus Partikeln und Federn zusammengesetzt Ketten, Stoffe, … Bsp: Hängebrücke Massenansammlungen: Federn Federkraft-Generator Ausdehnung der Feder: Strecke zw. 2 Positionen Hookesches Gesetz Restlänge der Feder → keine Kraft Verankerte Feder → ein Punkt fest im Raum Massenansammlungen: Demo Massenansammlung Demo: Hängebrücke Starre Körper dreidimensionale Ausdehnung jetzt: Orientierung und Rotation Bsp: Kisten, Kugeln, Flugzeuge, ... Starre Körper: Repräsentation vgl. Partikel (Pos., Geschw, …) zusätzliche Datenstrukturen: Orientierung Drehmoment Drehgeschwindigkeit Trägheitsmoment-Tensor Orientierung von Objekten → Euler-Winkel, Achse-Winkel, Rotationsmatrix Quaternion Starre Körper: Rotation Kraft nicht direkt auf Schwerpunkt → Rotation Drehbeschl. = Drehmoment * Trägheitsmoment Trägheitsmoment Repräsentation durch Tensor (3x3 Matrix) Rotationsgeschwindigkeit alte Geschw. + Drehbeschl. Starre Körper: Demo Starre Körper Demo Physik-Engine immer aufwändigere Physik in Spielen Wiederverwendbarkeit wichtig allgemeine Algorithmen → anpassbar Physik-Engine (Bsp. Havok, PhysX, ...) wiederverwendbar durch Abstraktion Zusammenspiel von Einzeleffekten Zusammenfassung Simulation von einzelnen Partikeln/Massen Position, Geschwindigkeit, Beschleunigung Kräfte Simulation von Massenansammlungen Massen-Verbindungen (Federn) Simulation dreidimensionaler Körper Rotation, Orientierung,... Buchempfehlung Game Physics Engine Development Autor: Ian Millington Diskussion