Dies kann als Animationsproblem angesehen werden. Wenn eine Positionskorrektur vom Server zurückkommt, weil versucht wurde, in ein unsichtbares Objekt einzudringen, senden Sie nicht nur die Korrektur zurück, sondern auch ein Flag, das angibt, warum die Korrektur benötigt wurde. Anstatt dass ein Spieler rückwärts knallt, kann er eine "Woah" -Animation durchführen, bei der es glaubwürdiger aussieht, als wäre er gerade auf etwas gestoßen.
In Spielen, die diesen Ansatz verwenden, ist es nicht ungewöhnlich, Unsichtbarkeit (zumindest vorübergehend) von allem zu entfernen, auf das gestoßen wurde. Dies ist unter anderem ein Anreiz für unsichtbare Spieler, Massen zu vermeiden oder anderen Charakteren zu nahe zu kommen, wodurch die Häufigkeit verringert wird, mit der Kollisionen mit unsichtbaren Spielern auftreten. Selbst wenn Ihre Animation für diese Art von Kollision schwach (oder nicht vorhanden) ist, wird sie durch den unsichtbaren Charakter, der in Sichtweite gerät, etwas verdeckt und zeigt allen klar, was gerade passiert ist.
Die Animationsanforderung konnte beseitigt werden, indem die Unsichtbarkeit nicht aus nächster Nähe funktioniert. Dies gibt unsichtbaren Spielern einen noch größeren Anreiz, sich anderen Charakteren nicht zu nähern. Dies ist ein gängiger Ansatz für Stealth-basierte Spiele und KI (ersetzen Sie "unsichtbar" durch "für das Ziel nicht sichtbar") und ist in PvP-Spielen wie World of Tanks zu sehen. Sie müssen sich keine Gedanken über die Kollisionsreaktion mit unsichtbaren Zeichen machen, wenn Ihnen nichts Unsichtbares jemals nahe genug ist, um damit zu kollidieren (innerhalb der Latenzgrenzen).
Dracors Lösung, Kollisionen mit unsichtbaren Objekten einfach zu ignorieren, ist auch eine gute. Dies erfordert wiederum einige Animationen (für den unsichtbaren Spieler-Client), damit Objekte nicht nur durch den Avatar des Spielers auf seinem Bildschirm geschnitten werden. Wenn Sie nichts anderes tun, können Sie dafür sorgen, dass sichtbare Objekte immer unsichtbare Objekte verschieben, sodass der unsichtbare Spieler auf dem Server automatisch aus dem Weg geräumt wird, wenn jemand mit ihm kollidiert.
Unsichtbar-unsichtbare Kollisionen sind etwas kniffliger. Es kann vorteilhaft sein, nur Kollisionen zu deaktivieren, da niemand sehen kann, ob zwei unsichtbare Objekte zusammenschneiden (vorausgesetzt, mit "unsichtbar" meinen wir, dass beide Objekte nicht für denselben Client sichtbar sind). Wenn eines der Objekte sichtbar wird, kehrt es automatisch zur sichtbaren-unsichtbaren Kollisionsreaktion zurück (schieben Sie das unsichtbare Objekt weg).
Dies alles wird schwieriger, wenn Unsichtbarkeit komplizierte Mengen von Personen enthält, die wen sehen können. Die erste oder zweite Lösung oben ist wahrscheinlich die beste, wenn Sie sie brauchen. Nicht jedes Problem dieser Art braucht eine technische Lösung. Viele benötigen lediglich Designlösungen (z. B. erlauben Sie Ihren Designern diese Funktion nicht).