Ich arbeite an einem 2D TopDown Spiel in Unity 5. Die Kollision funktioniert überhaupt nicht. Der Spieler und das Hindernis haben beide eine 2D Collider und sie sind nicht Trigger. Der Spieler hat 2D Starrkörper mit Kinematic Satz falsche, Schwereskala gleich Null . Vielleicht hat der Bewegungscode etwas damit zu tun. Der Code ist ein bisschen zu lang, so werde ich Ihnen zeigen, den Code für die Bewegung nach oben:Unity 2D-C# - Collider nicht
if (Input.GetAxis ("Up") > 0) {
if (movingDown == false) {
posY += speed * Time.deltaTime;
movingUp = true;
}
} else {
movingUp = false;
}
/.../
transform.position = new Vector3 (posX, posY, 0);
Es wird immer den Wert der Position einstellen, so lange wie Sie die Auf-Taste drücken. Gibt es eine Möglichkeit, das zu beheben?
Auf jeden Fall müssen diese Sie lösen Ihre überprüfen Physik Einstellungen im Bearbeiten> Projekteinstellungen> Physik Min. Durchdringen für Penalty oder Solver Iteration Ihr Problem beheben zählen kann. ich weiß, dass Sie verwenden „isKinematic = false“. Allerdings (für zukünftige Referenzen), wenn Sie zwei isKinematic Elemente der Kollision Erkennung wird nicht funktionieren. – Cabrra