OnCollisionEnter nicht funktioniert
Ich habe ein problem mit meinem onCollisionEnter Funktion in Unity3d. Die Sache ist, ich habe ein 3rd-person-controller, wenn kollidiert mit einem boudary-Objekt auslösen soll, ein anderes gameobject und ein label.
dies ist, wie ich habe mein code
function OnCollisionEnter(collision : Collision)
{
if(collision.gameobject1.tag=="tag1")
{
//activate game object and label
}
if(collision.gameobject2.tag=="tag2")
{
//deactivate game object and label
}
}
das problem ist, es ist Eingabe sowohl für die loops und ich weiß nicht, ob das, was ich gegeben habe, ist falsch oder die Art, wie ich gegeben habe. Wo mache ich falsch?
Sind die Beschleunigern befestigt, um das gameobject oder ein Kind gameobject?
InformationsquelleAutor Sharanya K M | 2012-01-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn die OnCollisionEnter-event ausgelöst (man könnte hinzufügen, ein drucken, um sicherzustellen), dann gibt es zwei Dinge zu überprüfen: - tags und-Beschleunigern
Tags
Versuchen
Überprüfen Sie auch, dass Sie gewählt haben der richtige tag für das gameobject.
Beschleunigern
In Unity3D die Kollision Rückrufe (onCollisionEnter, etc) passiert nur unter bestimmten Umständen. EX: EIN gameobject (gameobject1) mit einer Beschleuniger-und Festkörper-Komponente wird kollidieren mit einer statischen (nicht bewegten) gameobject (gameobject2), die nur einen collider.
Ich würde schauen Box Collider Reference denn an der Unterseite ist ein Kollision action matrix, der erklärt, unter welchen Bedingungen Kollisionen auftreten.
InformationsquelleAutor Tony Abrams
Bitte fügen Sie tags für die Einheit. Vielleicht haben Sie nicht das hinzufügen von tags zu Objekten. Bitte fügen Sie
tag1
undtag2
auf Ihre tags, wählen Sie die Objekte, und wählen Sietag1
odertag2
.InformationsquelleAutor Seyed Morteza Kamali