In taktischen Stealth-Spielen auf Roblox ist eine realistische KI-Wahrnehmung unerlässlich. Wenn Wachen durch Betonwände sehen oder Spieler im hellen Lichtschein ignorieren, bricht die Immersion zusammen.
Ein überzeugendes Stealth-Erlebnis erfordert optische Sichtkegel, geometrische Schattenverdeckung und akustische Dämpfung. Dieser Guide führt Sie durch die Implementierung eines produktionsreifen Sensory-Controllers in Luau.
1. Das Omnipräsenz-Problem: Warum reine Distanzprüfungen versagen
Reine Abstandsberechnungen führen zu gravierenden Spielfehlern:
- Röntgenblick durch Wände und Türen.
- Fehlende tote Winkel im Rücken der Wachen.
- Keine Unterscheidung zwischen grellem Flutlicht und tiefstem Schatten.
- Die Lösung: Kombination aus Sichtkegel-Vektoren, Raycasts und akustischen Schwellenwerten.
2. Mathematische Grundlagen: Skalarprodukt & inverse quadratische Dämpfung
Sicht- und Schallsysteme basieren auf Vektorgeometrie und physikalischen Ausbreitungsgesetzen:
- Skalarprodukt (Dot Product): Bestimmt, ob sich das Ziel im Sichtfeld befindet.
- Schatten-Raycast: Prüft Verdeckung gegenüber Sonnen- und Punktlichtquellen.
- Akustische Dämpfung: Schalldruck fällt mit der Distanz ab und wird durch Wände massiv reduziert.
3. Vollständige Luau-Implementierung des Stealth-Controllers
Modulares Luau-Skript zur Auswertung von Sichtlinie, Lichtexposition und Alarmstufen:
- Sichtkegel-Raycasting zur Zielverifikation.
- Schatten- und Lichtstärkebewertung.
- Zustandsautomat mit 4 Alarmstufen (Unaware, Suspicious, Alerted, Combat).
-- Siehe englische Spezifikation für den vollständigen Luau-Code
4. Akustische Ausbreitung & Eskalationsstufen
Schallausbreitung variiert je nach Bodenmaterial (Metall, Stein, Teppich) und Wanddämpfung.
- Metall erzeugt 24 Studs Radius, Teppich nur 3 Studs.
- Betonwände dämpfen Schallwellen um 65%.
- Wachen untersuchen Geräuschquellen im Verdachtsmodus.
5. Performance-Optimierung auf Mobilgeräten
Raycasts müssen auf Mobilgeräten zeitlich gestaffelt (Interleaving) und durch räumliche Gitter vorab gefiltert werden.
- Berechnung auf 4 Frames verteilen (15 Hz).
- Wiederverwendung von RaycastParams zur Reduzierung von GC-Spikes.
Frequently Asked Questions
Wie behandelt man transparentes Glas?
Transparenz prüfen und Erkennungsgeschwindigkeit reduzieren statt Sichtlinie komplett zu blockieren.
Warum Skalarprodukt vor Raycast?
Weil Vektorberechnungen 75% der Ziele ohne teure Kollisionsprüfungen eliminieren.
Wie funktionieren Scheinwerfer?
Durch Punkt-zu-Punkt-Raycasts innerhalb des Lichtkegels.
Wie priorisieren Wachen Geräusche?
Über eine priorisierte akustische Ereignis-Warteschlange.
Empfohlene Alarm-Abklingzeit?
10-15 Punkte pro Sekunde für 4-6 Sekunden Erholungszeit.