superkerni Geschrieben 9. Februar 2022 Melden Share Geschrieben 9. Februar 2022 Hallo, in meinem kleinen "Jump and Run" schweben Grasflächen in der Luft. Natürlich kann mein Player springen aber leider von unten springt er "durch" die Grasfläche. Meine Bullets prallen ab. Der Player verfügt über einen Collider2D und einen Rigidbody2D, das Gras hat nur einen Collider2D. Ich kann einfach nicht finden, warum mein Player nicht abprallt, was ich möchte. Habt Ihr einen Hinweis ? Gruß Wolfgang Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Peanut Geschrieben 11. Februar 2022 Melden Share Geschrieben 11. Februar 2022 Wie groß ist der Collider der Grasflächen? Wie ist das springen im Code umgesetzt? Der Code und ein Bild vom Collider wären auch Hilfreich Gruß von der Nuss Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
superkerni Geschrieben 11. Februar 2022 Autor Melden Share Geschrieben 11. Februar 2022 Danke Peanut für Deine Antwort. Zuerst der Jump-Code, ohne Ground-Behandlung usw. if (Input.GetButtonDown("Jump")) // && (!isJumping)) { //rb.AddForce(new Vector2(0,jumpspeed), ForceMode2D.Impulse); //rb.AddForce(Vector2.up * jumpspeed); Vector2 jumpAdd = new Vector2(0f, jumpspeed); rb.velocity += jumpAdd; //isJumping = true; } Die beiden anderen Methoden ergeben das gleiche Problem. Im Anhang die Collider-Ausstattung. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jog Geschrieben 12. Februar 2022 Melden Share Geschrieben 12. Februar 2022 Hallo, Am 9.2.2022 um 17:17 schrieb superkerni: mein Player springen aber leider von unten springt er "durch" die Grasfläche. @superkerni Versuch mal beim Rigidbody2D von Player Collision Detection von Discrete auf Continuous zu setzen. Hatte mal ein ähnliches Problem, und dieses hatte bei mir geholfen. Discrete: Wenn du die Kollisionserkennung auf Discrete setzt, können sich GameObjects mit Rigidbody 2Ds und Collider 2Ds während eines Physik-Updates überlappen oder durchqueren, wenn sie sich schnell genug bewegen. Continuous: Wenn die Kollisionserkennung auf Continuous festgelegt ist, durchlaufen GameObjects mit Rigidbody 2Ds und Collider 2Ds während einer Aktualisierung nicht einander. Stattdessen berechnet Unity den ersten Aufprallpunkt eines der Collider 2Ds und verschiebt das GameObject dorthin. Deshalb kostet Continuous auch mehr CPU-Zeit als Discrete. Gruß Jog Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
superkerni Geschrieben 12. Februar 2022 Autor Melden Share Geschrieben 12. Februar 2022 Hallo Jog, der Retter in der Not, Dein Hinweis war Spitze und hat geholfen. Mein Player prallt jetzt auch ab !!!!!! Grüße Superkerni P.S. CPU-Zeit geht mir am Ar ... vorbei, da ich nur ein kleines game für meinen Enkel aus Spaß programmiere. Außerdem habe ich undendlich (hoffe ich) Zeit. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Jog Geschrieben 12. Februar 2022 Melden Share Geschrieben 12. Februar 2022 Hallo, Freut mich wen ich helfen konnte. vor 22 Minuten schrieb superkerni: P.S. CPU-Zeit geht mir am Ar ... vorbei, da ich nur ein kleines game für meinen Enkel aus Spaß programmiere. Außerdem habe ich unendlich (hoffe ich) Zeit. Mein Maßband ist auch nicht mehr so lang wie es mal war.😇 Sollte auch nur eine Erklärung sein weshalb Continuous mehr CPU Zeit kostet. Außerdem, die Dosis macht das Gift.😉 Gruß Jog Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.