Viele frühe 3D-Spiele hatten das Problem, dass man fröhlich dahintaumelte und plötzlich alles schwarz war, mit einer Insel, die aussah wie die hohle Fassadenschale der Szene, durch die man gegangen war und die sich in die Ferne erhob. Weil du aus der Welt gefallen bist. Ich erinnere mich, dass dies ein besonderes und langjähriges Problem für Bethesda Softworks war, obwohl sie mit Sicherheit nicht allein waren. Es ist schon eine Weile her, dass ich es in der Wildnis gesehen habe, also scheinen wir es hinter uns gebracht zu haben. Meine Frage besteht aus zwei Teilen:
1) Was war die Ursache oder die Ursachen dafür? (Meine Vermutung ist, dass es sich um Fließkomma-genaue Nähte zwischen Polygonen handelt, die mit der Position des Punktmodells interagieren, dh der Bodenabschnitt A endet an Position 1.0, der Bodenabschnitt B beginnt an Position 0.9998 und für eine Mikrosekunde ist Ihre Position 0.99992 und boom, du fällst durch die Welt. Aber das ist nur eine Vermutung.)
2) Wie wurde es behoben?
quelle
Antworten:
Meist "Risse" in der Geometrie. Diese Spiele haben einige Gemeinsamkeiten, sie haben Schwerkraft und sie haben Kollisionserkennung.
Diese Anomalien sind Orte, an denen die Kollisionserkennung auf irgendeine Weise fehlgeschlagen ist. Es könnten scharfe Kanten, Lücken oder eine Reihe anderer Geometrieanomalien gewesen sein. Möglicherweise gab es sogar Probleme mit Zeitschritten in der Physik-Engine, bei denen die Aktualisierungen desynchronisiert wurden und der Charakter durch eine perfekt gute Geometrie fallen durfte.
Dies ist häufig der Fall, wenn der Spieler etwas tut, was von den Level-Designern nicht erwartet wurde. Springe auf einen Ort, an dem sie nicht sein sollten, oder überlebe irgendwie einen Sturz, den sie nicht haben sollten. Oder wenn der Spieler Funktionen im Spiel wie Teleportieren oder Fliegen verwendet, um zu Orten zu gelangen, an die die Level-Designer nicht gedacht haben, dass die Spieler gelangen könnten. Noch Skyrim ( Video: Um 11:25 Uhr aus der Welt fallen, schlage ich vor, den Ton stummzuschalten ...).
Wenn die Kollisionserkennung fehlschlägt, muss nichts von der Schwerkraft abgewendet werden, sodass Sie fallen. Genau wie von einer Klippe gehen.
Es ist nicht wirklich "behoben". Es gibt Techniken, um dies zu vermeiden. Meistens handelt es sich jedoch um bessere Tools und Tools zur Geometrieerstellung für Landschaften, sodass diese Anomalien nicht eingeführt werden.
quelle
Ich denke, es ist nicht möglich zu sagen, dass es einen bestimmten Grund gibt, warum die Welt durchschnitten wird. Aufgrund der unterschiedlichen Game-Engines / Physik-Abläufe zwischen den Spielen kann dies aus einer Reihe von Gründen geschehen.
Ich bin mir ziemlich sicher, dass das Herausfallen aus der Welt nicht unbedingt beseitigt wurde.
Ein paar groß angelegte Spiele-Engines (Unreal, CryEngine usw.) können zu weniger unvorhergesehenen Problemen führen, da an diesen Engines ständig gearbeitet wird. Es gibt jedoch nichts, was einen Entwickler davon abhält, Features / interessante Änderungen an der Umgebung hinzuzufügen, die möglicherweise selbst in der am meisten bearbeiteten Spiel-Engine zu Welt-Clipping führen.
BEARBEITEN: 1. Die zugrunde liegenden Ursachen dafür haben meines Wissens damit zu tun, dass Game-Engines, die dies ermöglichen, eine eingeschränkte Methode haben, um zu erkennen, ob sich ein Spieler falsch bewegt. Frühere Game Engines hatten wahrscheinlich mehr Probleme damit, da die Grundebene häufig nur eine Ebene war. Wenn sich ein Spieler in diesem Flugzeug befände, würde er nicht untergehen. Wenn, aus welchem Grund auch immer, seine vertikale Position ein wenig darunter sank, würde er für immer fallen. Ziemlich genau das, was Sie in Bezug auf Gleitkommaberechnungen sagen. Da es sich die Motoren leisten könnten, robuster zu sein und zu prüfen, ob sich ein Spieler in einer gesamten REGION befindet, in der dies nicht möglich ist, ist es weniger wahrscheinlich, dass der Fehler ausgelöst wird.
quelle
Ich vermute, dass ältere Motoren wahrscheinlich einen schnellen und einfachen Strahl-gegen-Dreieck-Test verwendeten, um eine Kollision mit der Geometrie zu erkennen. Das bedeutet, dass selbst die kleinste Lücke (oder ein Präzisionsfehler in den Berechnungen) den Spieler gelegentlich durchlassen kann.
In neueren Spielen wird wahrscheinlich ein teurerer Test mit einer Kugel oder Kapsel verwendet, die den Spieler darstellt, und das passt einfach nicht durch kleine Lücken. Viele moderne Spiele werden auch gut getestete Physik-Middleware verwenden, anstatt ihre eigenen Tests zu schreiben.
In manchen Fällen kann auch ein großer Zeitschritt im Physik-Update dafür verantwortlich gemacht werden. Ich scheine mich daran zu erinnern, dass man in mindestens einem der Elite-Spiele in einigen Fällen deswegen direkt durch einen Planeten fliegen konnte. Dies kann durch die kontinuierliche Kollisionserkennung behoben werden, die auch zusätzliche CPU-Zeit kostet.
quelle