Spielephysik

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg

Dieser Artikel wird derzeit von einem Autor gründlich bearbeitet. Die Inhalte sind daher evtl. noch inkonsistent.

Dieser Artikel erfüllt die GlossarWiki-Qualitätsanforderungen nur teilweise:

Korrektheit: 1
(nur rudimäntär überprüft)
Umfang: 1
(zu gering)
Quellenangaben: 1
(fehlen großteils)
Quellenarten: 3
(gut)
Konformität: 5
(ausgezeichnet)

Definition

Eine Spielephysik (Physik-Engine) wird zum Simulieren der physikalischen Eigenschaften von Objekten in einem Computerspiel genutzt. Dadurch wirkt das Spiel realistischer. Die Physik-Engine simuliert anhand physikalischer Gesetze und Regeln das Verhalten von Personen und Gegenständen in der Spielewelt. Zum Beispiel berechnet die Spielephysik Kollisionen von Gegenständen und deren Auswirkung. Um die Kollision zwischen zwei Gegenständen festzustellen werden meist komplexe Kollisionsalgorithmen verwendet..

Grundannahmen für die Beispeile im GlossarWiki

Es sei ein zweidimensionales geometrisches Objekt g gegeben, das folgende Attribute habe:

  • x, y: Position (Einheit: Pixel)
  • vx, vy: Geschwindigkeit in $x$- und $y$-Richtung (Einheit: Pixel/s)
  • m: Masse (die Einheit ist irrelevant, sie muss nur für alle Bälle dieselbe sein)

Die Frequenz der Neuberechnung der Positionen aller im System vorhandener Bälle sei f, d. h., die Positionen werden f mal pro Sekunde neuberechnet. Wenn es zu keiner Kollision kommt, wird der Ball um vx/f bzw. vy/f Pixel in $x$- bzw. $y$-Richtung verschoben:

  b.x += b.vx/f;
  b.y += b.vy/f;

Je höher die Frequent f ist, desto genauer wird die Bewegungsbahn der Bälle simuliert.

Im Folgenden seinen $s_1 = (s_{1x},s_{1y})$ und $s_2 = (s_{2x},s_{2y})$ die Startpositionen zweier Balle und $v_1 = (v_{1x},v_{1y})$ und $v_2 = (v_{2x},v_{2y})$ die zugehörigen Geschwindigkeitsvektoren.

Es gilt also, dass sich die beiden Bälle zu Zeitpunkt $t_0$ an den Positionen $s_1$ und $s_2$ befinden. Eine Sekunde später, d. h. zum Zeitpunkt $t_0+1$ befinden sich sich an den Positionen $s_1+v_1$ und $s_2+v_2$, sofern sie nicht kollidieren. Wenn die Neuberechnung mit einer Frequenz $f$ Hz erfolgt, d. h., wenn die Periodendauer $T = 1/f$ beträgt, dann befinden sich die Bälle nach der Berechnung an den Positionen $s_1+Tv_1$ und $s_2+Tv_2$, sofern sie nicht kollidieren.

In Folgenden wird stets der Fall $t=1$ angenommen. Alle Aussagen, die für einen beliebigen Geschwindigkeitsvektor $v$ gelten, gelten dann natürlich auch für $v' := tv$.

Quellen

  1. Kowarschick (WebProg): Wolfgang Kowarschick; Vorlesung „Web-Programmierung“; Hochschule: Hochschule Augsburg; Adresse: Augsburg; Web-Link; 2024; Quellengüte: 3 (Vorlesung)