2016-04-30 15 views
0

Mein Ziel ist es, die Objektfarbe zu ändern, wenn sie mit etwas kollidiert. Das Objekt selbst ist ein KapselCollider mit einigen Partikeleffekten. Der CapsuleCollider verfolgt, wo der Spieler wacht.OnCollisionEnter funktioniert nicht Unity3d 5

telePoint.GetComponent<Rigidbody>().MovePosition(new Vector3(tempHit.point.x, player.transform.position.y, tempHit.point.z)); 

Ich habe versucht, dieses Skript an die Collider i Position verbunden mit dem ein Spieler zu beobachten ist:

void OnCollisionEnter(Collision col) { 

    Debug.LogError("COLLISION ??" + col.gameObject.name); 
    if (!col.gameObject.name.Contains("floor")) { 

     player.GetComponent<telePortationScript>().teleEnabled = false; 
    } 
    else { 
     Debug.LogError("Collision with -> " + col.gameObject.name); 
     player.GetComponent<telePortationScript>().teleEnabled = true; 
    } 

} 

Die Kapsel Collider, dass ich auch eine Starrkörper Komponente bewege und ist Kinetic aktiviert. Andere Objekte haben nur Colliders und keine starren Körper.

Kann mir jemand helfen?

+1

Beide Objekte haben einen Collider und der bewegliche hat einen Starrkörper (nicht kinetisch)? Hier ist ein Beispiel, wie der Code aussehen könnte http://docs.unity3d.com/ScriptReference/Collider.OnCollisionEnter.html –

+0

Könnten Sie Ihren Code näher erläutern? – MSB

+0

Hinzugefügt mehr code –

Antwort

0

meine Kapsel Collider als Auslöser markiert und hinzugefügt gearbeitet, um eine Funktion

void OnTriggerStay(Collider col) 

Und es!

Verwandte Themen