Jump to content
Unity Insider Forum

Multiplayer Spieler Collider Crash verhindern


Morenar

Recommended Posts

Hallo Liebe Community,

 

mein Mutliplayer funktioniert besser als ich erwartet hatte, server hosten, Lobby mit Chat und und und, jedoch im Spiel selbst, kam mir ein kleines Manko auf, wenn sich 2 Objekte, also die Spieler beim laufen begegnen, dann kam es öfters, das sie sich hochgestappelt oder besser gesagt einer über den anderen Spieler hüpfen will obwohl er nicht hüpft ... .

 

Wahrscheinlich liegt es an der Syncro der Collider, die etwas benötigen um das zu Erkennen und dann das Richtige ausführen, doch soetwas kann man doch sicherlich beheben oder?

 

 

Ich dachte an eine Art sperre der y-Achse, jedoch möchte ich diese Methode wirklich nur am Schluss haben, da ich verschieden Ebenen in meinem Spiel besitze.

 

 

 

Infos:

 

Spieler hat normales MovementScript mit Rigidbody und CharacterController, Spieler können nur wasd laufen und nicht hüpfen.

 

 

 

 

Wenn jmd eine Anregung oder Idee zu dem Problem kennt wäre das echt super.

 

Danke im Vorraus

 

 

 

TheMorenar

Link zu diesem Kommentar
Auf anderen Seiten teilen

momentan können die 2 spieler ja nicht durch z.b. einen dritten spieler durchlaufen wenn ich das richtig verstanden habe.

warum stellst du das spiel nicht gleich so um das grundsätzlich alle spieler durch alle laufen können, dann bist du auch gleich

das problem los, das spieler andere "sperren" und z.b. einen durchgang in eine höhle oder was auch immer versperren. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Du hast das schon verstanden, vielleicht jedoch ein wenig falsch. :D

Also jeder Spieler hat einen Collider, der wiederum die anderen Spieler/Objekte blocken soll!! und diese dann einfach auch erkennen soll, doch bei bewegbaren Objekten im Netzwerk, wie zum Beispiel die Spieler selbst, die sich natürlich blocken sollen, springt der Collider leider manchmal üBER die Person oder besser gesagt er stappelt sich komisch, wenn sich die bewegenden Spieler berühren.

 

Wenn jedoch der Spieler stehen bleibt und ein anderer Spieler sich auf diesen zubewegt, passiert dieses Phänomen nicht, da ja für den Spieler der sich bewegt der andere Spieler nicht bewegt, somit die Collider sich beim bewegen nicht verschmelzen.

 

 

Aufjedenfall sollen sich die Spieler blocken können und ich weiß bis jetzt noch nicht wie ich das richtig umsetzen kann, habe zwar kleine Ansätze aber irgendwie erscheinen diese mir nicht als sehr gut.

 

 

 

 

Die Idee mit dem alle sind begehbar ist schon nicht schlecht und in viele Spielen sinnvoll, jedoch in meinem Spiel wäre es nicht geschickt.

 

 

 

MfG

 

TheMorenar

Link zu diesem Kommentar
Auf anderen Seiten teilen

du meinst beim instanzieren / spawnen des spielers ?

das habe ich gelöst indem ich zum einen mehrere spawnpunkte gesetzt habe und zum anderen die spawnhöhe

entsprechend erhöht habe.

 

was wie gesagt auch geht ist eine überprüfung, ob an der position schon jemand steht und den "eigenen" char beim

spawn einfach auf z.b. der x achse um +20 verschiebt

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die Spieler Collidieren alle mit den Character Controller den ich dem Spieler hinzugefügt habe, zudem habe ich die Körperteile alle als Trigger eingestellt und manche sogar komplet entfernt.

(Also jeder Spieler besteht wenn man allgemein Spricht aus einem CapselCollider der hoch genug ist das niemand sich stacken sollte)

 

Werde trotzdem mal schauen, ob ich da ein paar Körperteile habe die evtl einen Collider haben könnten.

 

Achja den Rigidbody meines Characters zu freezen also die Y-Position hat bei mir überhaupt nicht funktioniert.

 

 

Danke für die bisherigen Antworten, hoffe das ihr noch ein paar Ratschläge habt. ;)

 

 

 

//EDIT: LINK hier ein anderes Forum mit dem selben Problem, leider aber nicht optimal gelöst. ^^

Vielleicht für das Verständnis meines Problems noch als Zusatzinfo.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...