Spielephysik: Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Kowa (Diskussion | Beiträge)
Kowa (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Verbesserungswürdiger Inhalt
{{In Bearbeitung}}
| {{SITENAME}}-Regeln = true
{{Qualität
| Genauer            = true
|correctness        = 1
|Anmerkung1 = Der Artikel [[Physik-Simulation]] und der Artikel [[Spielephysik]] sollten zusammengeführt werden.
|extent              = 1
|numberOfReferences  = 1
|qualityOfReferences = 3
|conformance        = 5
}}
}}
{{Quellenangaben fehlen}}
{{Kategorisierung fehlerhaft}}


=Definition=
==Definition==
Eine Spielephysik (Physik-Engine) wird zum Simulieren der physikalischen Eigenschaften von Objekten in einem Computerspiel genutzt. Dadurch wirkt das Spiel realistischer.
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 Kollisions-Algorithmen verwendet.
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..
Havok ist eine so genannte Physik-Engine. Jedoch ist sie keine Engine im eigentlichen Sinne, sondern vielmehr ein Software Development Kit, das Funktionen in die eigentliche Game Engine integriert. Havok unterstützt die Plattformen PC, PlayStation 2, GameCube und Xbox.
 
==Grundannahmen für die Beispeile im GlossarWiki ==
 
Es sei ein zweidimensionales geometrisches Objekt <code>g</code> gegeben, das folgende Attribute habe:
 
* <code>x</code>, <code>y</code>: Position (Einheit: Pixel)
* <code>vx</code>, <code>vy</code>: Geschwindigkeit in $x$- und $y$-Richtung (Einheit: Pixel/s)
* <code>m</code>: 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 <code>f</code>,
{{dh}}, die Positionen werden <code>f</code> mal pro Sekunde neuberechnet. Wenn es zu keiner Kollision kommt, wird
der Ball um <code>vx/f</code> bzw. <code>vy/f</code> Pixel in
$x$- bzw. $y$-Richtung verschoben:
 
<source lang="javascript">
  b.x += b.vx/f;
  b.y += b.vy/f;
</source>
 
Je höher die Frequent <code>f</code> ist, desto genauer wird die Bewegungsbahn der Bälle simuliert.
 
<!--
Im Folgenden seinen $s_1 = \begin{pmatrix}s_{1x}\\s_{1y}\end{pmatrix}$ und $s_2 = \begin{pmatrix}s_{2x}\\s_{2y}\end{pmatrix}$ die Startpositionen
zweier Balle und $v_1 = \begin{pmatrix}v_{1x}\\v_{1y}\end{pmatrix}$ und $v_2 = \begin{pmatrix}v_{2x}\\v_{2y}\end{pmatrix}$ die zugehörigen
Geschwindigkeitsvektoren.-->
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, {{dh}} 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, {{dh}}, 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==
<references/>
#{{Quelle|Kowarschick (MMProg)}}
 
[[Kategorie:Spielephysik]]


'''Hauptfunktionen:'''
Charakter Animation mit so genannten Ragdoll-Animationen, Simulation von Fahrzeugbewegungen, Simulation von physikalischen Effekten in der Umwelt, wie z. B. umfallende Kisten.


[[Kategorie:Spielephysik]]
[[Kategorie:Spielephysik]]

Version vom 5. November 2016, 14:27 Uhr

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)