Wenn Objekt durch den Boden fällt, hier sind die Dinge zu überprüfen.
. Ist Collider an das Objekt angehängt? Wenn nicht, dann verbinden Sie Collider oder Collider2D mit diesem Objekt.
. Ist isTrigger auf einem Objekt Collider aktiviert? Wenn ja, dann deaktivieren Sie IsTrigger auf beiden Collidern.
. Wenn Rigidbody an das GameObject angeschlossen ist, stellen Sie sicher, dass sich der Player 100% über dem Boden befindet, bevor Sie auf "Play" klicken oder weitere Probleme auftreten.
. Die Größe des GameObjects ist möglicherweise klein. Wirklich klein. Es gibt eine Grenze für die Größe des Objekts, bevor es mit einem anderen Objekt kollidieren kann. Versuchen Sie, die Größe des Objekts zu ändern und dann die Kamera zurück zu bewegen.
Wenn ich isTrigger für meine Spieler zu deaktivieren, dann wird es nicht möglich sein, durch die anderen Objekte zu gehen, die ich es brauche, um durch zu gehen.
Dies ist überhaupt kein Problem. Sie können Layer verwenden, um Unity festzulegen, welche Collider mit anderen kollidieren können. Nur deaktivieren Sie die isTrigger dann verwenden:
Für 2D:
Physics2D.IgnoreCollision(yourFirstCollider, yourOtherCollider, true);
oder
Physics2D.IgnoreLayerCollision(yourLayer, yourOtherLayer, true)
Für 3D-:
Physics.IgnoreCollision(yourFirstCollider, yourOtherCollider, true)
oder
Physics.IgnoreLayerCollision(yourLayer, yourOtherLayer, true);
Dadurch wird der Spieler nicht durch den Boden gehen, sondern durch andere Objekte, die Sie wollen. Dies können Sie auch über die Editor-Einstellungen tun.bearbeiten ->Projekteinstellungen ->Physik -> oder bearbeiten ->Projekteinstellungen ->Physik 2D
der Spieler einmal sterben soll, es mit etwas in Kontakt kommt, so weiß ich nicht, wie diese dieses
Ansatz ist nicht mit dem Problem, aber OnCollisionEnter2D
wird verwendet, um Kollision zu erkennen. Sie können Destroy
auf dem Player anrufen.
void OnCollisionEnter2D(Collision2D collision)
{
Destroy(player);
}
EDIT:
Wenn Sie auch erkennen, müssen, wenn der Spieler andere Beschleunigern berührt, aber nicht wollen sie eigentlich Collider, dann können Sie das tun, was ich oben und dann beschrieben hinzufügen Kind Objekte mit Collders zum Spieler. Diese untergeordneten Objekte haben isTrigger
aktiviert. Sie können dann die OnTriggerEnter
Funktion verwenden, um zu erkennen, wenn eine Kollision zwischen den Objekten, die kein Stockwerk sind, stattfindet.
Ein Collider .... Da es ein 2D-Objekt ist, haben Sie den 2D-Collider sowohl an das Objekt als auch an den Boden angeschlossen? – Programmer
Ja, ich habe den 2D Collider auf dem Boden befestigt. dennoch gelingt es, durch – ROOT
nicht nur auf den Boden sondern auch auf das andere Objekt zu fallen. Außerdem muss isTrigger auf beiden deaktiviert sein. Wenn dies der Fall ist, poste einen Screenshot von beiden GameObjects Inspector. – Programmer