Hitbox
Eine Hitbox (auch Hit-Box; engl. für „Trefferkasten“) beschreibt einen vordefinierten, virtuellen, für den Anwender üblicherweise nicht sichtbaren Bereich um ein 3D-Modell in einer 3D-Engine (bzw. Game-Engine), welcher zur Berechnung von Kollisionen und/oder Trefferabfragen genutzt wird. Hitboxen dienen hierbei vorwiegend zur Vereinfachung von Berechnungen, da 3D-Modelle, insbesondere jene von Personen, aus einer Vielzahl von Polygonen bestehen. Je komplexer die Engine, desto ähnlicher wird die Hitbox dem entsprechenden 3D-Modell.
Geschichte
Auch wenn Hitboxen in modernen Engines wesentlich komplexer sind als ein einfacher Kasten, leitet sich das Wort ursprünglich von genau dieser Bedeutung ab. In den Anfängen der Spielegeschichte wurde in der Tat jedem 3D-Objekt ein einfacher Kasten umschrieben. Auch heute noch werden für schnelle Vorberechnungen oder Testläufe in 2D- oder 3D-Konstruktionsprogrammen sogenannte Bounding Volumes verwendet, die im Grunde einfache geometrische Formen (Kugel, Zylinder, Quader / Kreis, Rechteck) sind. Insbesondere bei Ego-Shootern führt dies allerdings zu Problemen: ein einfaches geometrisches Objekt führt bei der Trefferabfrage natürlich zu einem recht mangelhaften Ergebnis, da auch Treffer neben das eigentliche 3D-Modell des Gegners (also das optisch sichtbare Ziel) das Bounding Volume treffen und somit den Spieler/Gegner virtuell verletzen können. Bei Rennsimulationen sind nahezu rechteckige bzw. quaderförmige Varianten allerdings weniger problematisch, die Fahrzeuge selbst sind in ihrer Grundform meist ebenfalls sehr einfach gestaltet.
Neben dem Nutzen für die Berechnung der physikalischen Abgrenzung eines Objektes eignen sich Hitboxen auch zur Bestimmung von verschiedenen Trefferzonen. Dies ist wiederum vorwiegend in Ego-Shootern wichtig, da ein schwieriger Kopftreffer (Headshot) üblicherweise zu einem größeren Energieabzug führt als ein einfacher anzubringender Treffer am Torso. Je genauer hierbei die Hitboxen (diese müssen wie erwähnt nicht zwangsläufig kubisch oder quaderförmig sein) das entsprechende Modell umschließen, desto realistischer lassen sich auch entsprechende Spiele gestalten – Anwendungsgebiete existieren ausreichend, etwa das Hinken im Falle eines Beintreffers.
Auch wenn ein 3D-Modell durch mehrere verschiedene Kästen oder sonstige Formen umschrieben ist, spricht man dennoch von einer einzigen Hitbox pro 3D-Modell.
Beispielsweise bietet Microsoft DirectX (die Erweiterung D3DX) u. a. die Funktionen D3DXComputeBoundingBox, D3DXComputeBoundingSphere, D3DXBoxBoundProbe für solche Zwecke. [1]
Das Hitbox-System ist das am meisten verbreitete System zur Ermittlung von Treffern, einige wenige Spiele (z. B. Doom 3) nutzen aber ein absolut exaktes System (Per-Polygon Hit-Detection) – diese Systeme sind aber ungleich ressourcenlastiger und erlauben in Onlinespielen üblicherweise nur eine weitaus kleinere Spielerzahl.
Hitbox in zweidimensionalen Spielwelten
Hitboxes sind auch von vitaler Bedeutung bei den meisten Shoot ’em up-Spielen. Hierbei gibt es zwei unterschiedliche Ansätze: das vollständige Erfassen der Spielfigur durch die Hitbox oder Markieren der Spielfigur durch eine sehr kleine Hitbox (oft nur wenige Pixel groß), meist in einer wichtigen Region wie dem Cockpit. Die zweite Version findet vor allem bei Danmaku-Shootern Einsatz[2]. Da der Bildschirm bei dieser Art des Spiels zum Teil fast vollständig von gegnerischer Munition übersät ist, wäre das Spiel dadurch unrealistisch schwer.
Referenzen
- Mesh Functions Dokument bei Microsoft MSDN, Online-Ressource
- Eintrag zu Hitbox im Touhou-Wiki (eng.)