Jump to content
Unity Insider Forum

Player mit Collider2D und Rigidbody2D springt von unten durch Collider2D


superkerni

Recommended Posts

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

  • superkerni changed the title to Player mit Collider2D und Rigidbody2D springt von unten durch Collider2D

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.

 

11-02-_2022_13-22-51.jpg

11-02-_2022_13-24-41.jpg

11-02-_2022_18-22-43.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

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

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

Archiviert

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

×
×
  • Neu erstellen...