aufgerufen Ich habe fast jede Antwort dafür überprüft, aber das waren meist einfache Fehler und Fehler. Mein Problem ist, dass OnCollisionEnter nicht aufgerufen wird, wenn Sie mit anderen Starrkörper kollidieren.OnCollisionEnter wird nicht in Einheit
hier ist der Teil, was nicht aufgerufen wird:
void OnCollisionEnter(UnityEngine.Collision col) {
Debug.Log("collision!!!");
foreach(ContactPoint contact in col.contacts) {
//checking the individual collisions
if(contact.Equals(this.target))
{
if(!attacking) {
Debug.Log("hitting target");
} else {
Debug.Log("dying");
//engage death sequence
}
}
}
}
Nicht einmal die „Kollision !!!“ Nachricht erscheint. Verstehe ich die Verwendung falsch oder habe ich etwas vergessen?
auch die an das Objekt angeschlossenen Komponenten: transform; Sprite-Renderer; Kastencollider 2D; Kreis Collider 2D; feindlicher Controller (Skript); Starrkörper 2D; Animator; –
Bitte [bearbeiten Sie Ihren Beitrag] (http://stackoverflow.com/posts/20567692/edit), um diese Informationen hinzuzufügen, fügen Sie sie nicht als Kommentar hinzu, da sie möglicherweise übersehen wird. – Dave
Der OnCollisionEnter wird nicht aufgerufen, wenn Sie benutze einen characterController. Das hat seine eigene Kollisions-Methode (ich kann es im Moment nicht nachschlagen). –