Stellt sich die Frage, wie Oblivion das löst. Wird tatsächlich die Sichtlinie berechnet oder einfach nur die Entfernung abgefragt? Ich denke eher letzteres. Es passiert einfach viel zu oft, dass plötzlich ein Gegner hinter irgendeinem Fels hervor springt oder aus seinem Zelt gerannt kommt und angreift, obwohl er einen eigentlich gar nicht gesehen haben kann.
Von daher dürfte das schwierig umzusetzen sein.
Soweit ich weiß berechnet Oblivion eben doch die Sichtlinie, jedenfalls kann man sich z.B. hinter Schränken verstecken und die NPCs sehen einen nicht, obwohl sie in die eigene Richtung starren und nur 3 Meter entfernt sind.
Als ich Assassine war habe ich mal die Erfahrung gemacht, und zwar beim Einbruch in ein Schloss. Normalerweise müsste ja sofort die Wache auf mich zugerannt kommen.
Allerdings sieht der Gegner den Spieler trotzdem durch Büsche hindurch, da diese keine Kollision haben.
Also das ist alles meine Meinung und auch nicht bewiesen (von mir). Aber ich bin mir zu 80% sicher, dass die Gegner nur angreifen, wenn sie den Spieler in der direkten Sichtlinie haben.
Auf jeden Fall hat Oblivion die Funktion, die Sichtlinie von Gegenständen und NPCs zu überprüfen, nämlich mit dem
GetLos-Befehl. Andernfalls würde meine Wall-Climbing-Mod nicht funktionieren, denn dort wird vor den Spieler ein "unsichbarer" Ball gesetzt. Sobald etwas die Sicht auf diesen Ball versperrt, wird das Klettern aktiviert.
Deshalb glaube ich, dass diese Funktion mit der Sichtlinie auch verwendet wird bei NPCs und Kreaturen.
Vielleicht liegt es wirklich nur daran, dass die NPCs dich durch Blätter hindurch erkennen (da diese keine Kollision haben), aber du nicht durch die Blätter sehen kannst und deswegen denkst, die NPCs können dich auch nicht sehen.
Oder ich habe unrecht und die sehen wirklich alles (Wenn Wachen dich verhaften wollen ist es z.B. so, aber da wird garnicht mit dem GetLos-Befehl geprüft, ob sie dich sehen.)