Jump to content
Unity Insider Forum

Collider


Athene

Recommended Posts

Hi zusammen,

ich hab mal wieder eine Frage: Ich habe ein 2d gameobject, erstmal einfach nur ein Quadrat, welches ich mit der Maus bewegen kann. Jetzt möchte ich eine Art Feldbegrenzung am Bildschirmrand machen. Das habe ich in einem anderen Spiel schonmal mit einem leeren Gameobject und einem Collider gemacht, da hat das auch funktioniert. Der einzige unterschied zwischen den beiden projekten ist meiner meinung nach, dass ich das jameobject jetzt mit der Maus steuere und in dem andren Projekt mit der Tastatue, aber das macht doch eigentlich keinen Unterschied oder?

Der collider an dem 2d object funktioniert mit anderen gameobjects, aber halt nicht an dem am dem leeren gameobjekt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin!

vor 32 Minuten schrieb Athene:

aber das macht doch eigentlich keinen Unterschied oder?

Doch, das kann es schon sein. Objekte sind nicht von sich aus undurchlässig. Auch Collidern ist es egal, wenn sie ineinander stecken. Es muss immer irgendein Stück Code, z.B. der der Rigidbody-Komponente, ankommen und Kollisionschecks machen, damit Objekte nicht ineinander landen.

Wenn du in deinem anderen Projekt einen Rigidbody benutzt, diesen mit der Tastatur bewegst und er in eine Wand gerät, dann stellt er eine Kollision fest und bewegt sich wieder heraus. Hältst du die Taste in Richtung der Wand weiter gedrückt, dann passiert im nächsten Frame noch einmal dasselbe: Geht in die Wand hinein, stellt Kollision fest, geht wieder heraus. Diesen Zwischenstand in der Wand drin sieht man auch nicht, weil das alles zwischen zweimal rendern passiert.

Ich vermute jetzt: In deinem neuen Projekt bewegst du dich aber nicht jeden Frame ein Stück weiter (und dann im Kollisionsfall wieder ein bisschen zurück), sondern "teleportierst" dein Objekt in jedem Frame zur Mausposition. Vielleicht ist das nicht der Fall, oder vielleicht doch aber es ist nicht das Problem - aber der Punkt ist, dass in diesem Fall das Verhalten ganz anders sein kann, weil dein Rigidbody vielleicht tief in der Wand drinsteckt und nicht weiß, wo er hin soll. Rigidbodys haben die Angewohnheit, dann irgendwo™ hinzugehen, und deshalb gibt es so etwas.

Jetzt, wo das gesagt ist... ich weiß überhaupt nicht, was bei dir genau schief läuft. Gibt ja leider keine Info außer des implizierten "Geht nicht". Vielleicht ist der Absatz mit dem Rigidbody aber ja schon genug.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...