Unity Spieler Gravity funktioniert nicht?
In meinem Unity Spiel habe ich zuerst meinem Spieler Rigidbody2D und einen Circle Collider und einen Box Collider hinzugefügt. Daraufhin habe ich dem Boden einen Box Collider 2D hinzugefügt. Wenn ich dann das SPiel starte fällt der Spieler immer durch den Boden durch. Bitte brauche hilfe bin völlig genervt!
4 Antworten
Fällt er vom Boden verdeckt, oder davor runter? Ich vermute mal davor?
Denn dein Spieler steht bei -1.77, der Boden liegt bei +1.422 (auf ≈2.456 skaliert)
1.77+1.422=3.192 Abstand zu 1/2+2.456/2=1.728 Überschneidungsbreite,
dürften sich also nach meiner Spontanvermutung nicht berühren.
Sollte es so sein, dann setze einfach beides auf X gleich 0.
Edit: Ich sehe gerade, du hast die Kollidermaße extra noch mal verändert?
Die Transformpositionen vom Boden und dem Spieler.
Das Wichtigste ist natürlich, dass die Kollisionsfelder an gleicher Stelle sind.
Wo ein Objekte selbst seinen Ursprung hat, ist der Kollisionsabfrage egal.
Die beachtet nur die Collider-Positionen und reagiert auf eventuelle Kontakte.
Da eine Collider-Position rellativ zum Objekt verschiebbar ist, kann sogar eine
Kollision statt finden, obwohl sich die dazugehörigen Mesh nie berühren würden.
Der Boden braucht auch einen Rigidbody 2D
Selbst wenn ich dem Boden Rigidbody 2D mit GRavity Scale auf 0 gebe funktioniert es nicht
Alle objekte haben einen Collider? Der nicht Trigger ist?
Ich habe einfach die Unterschiedlichen Texturen des Spielers zusammengefügt zu einer ebene und habe dann nur einen Box Collider 2d auf den Spieler gemacht
Ist ein Collider vielleicht als Trigger gesetzt?
Entweder du setzt diese crazy Formeln in C# um:
oder du machst es einfach so:
void start(){
Vector3 newPos = new Vector3();
newPos.x = 0;
newPos.y = 0;
newPos.z = 0;
}
Deine Entscheideung. Grüße, Tjovo Studios




Was genau soll ich auf X setzen