Jump to content
Unity Insider Forum

OnCollisionEnter verhält sich wie OnCollisionExit


Coooder

Recommended Posts

Hallo Leute,

 

wenn mein Spieler gegen die Wand läuft springt er erst in den OnCollisionEnter, wenn sich der Spieler wieder wegbewegt ... So lange ich gegen die Wand laufe passiert nichts.

 

void OnCollisionEnter(Collision other)
   {
    if (other.transform.tag == Tags.Block)
    {
	    print(other.transform.tag);
    }
   }

 

Woran kann das denn liegen?

Link to comment
Share on other sites

Wie bewegst du den Spieler?

 

über den CharacterController

if (_cc.isGrounded)
    {
	    transform.Rotate(new Vector3(0, Input.GetAxisRaw("Horizontal") * rotationSpeed * Time.deltaTime));
    }
    Vector3 forward = transform.TransformDirection(Vector3.forward) * moveSpeed;
    _cc.SimpleMove(forward);

 

Versteh ich das jetzt falsch, oder brauchst du für deinen Wunsch nicht: OnCollisionStay ?

 

Ich will ja nur sobald die Kollidieren was machen und nicht die ganze zeit während der Kollision

Link to comment
Share on other sites

Der CharacterController löst alleine meines Wissens nach gar kein OnCollision...-Event aus.

Stattdessen gibt's OnControllerColliderHit.

Warum irgendetwas wie OnCollisionExit bei dir ausgeführt wird, weiß ich jetzt auch nicht so recht.

Link to comment
Share on other sites

Der CharacterController löst alleine meines Wissens nach gar kein OnCollision...-Event aus.

Stattdessen gibt's OnControllerColliderHit.

Warum irgendetwas wie OnCollisionExit bei dir ausgeführt wird, weiß ich jetzt auch nicht so recht.

 

Ja ich hab den Player dafür nen Extra Collider gegeben bzw. hat die Sphrere(mein player) ja von hause aus ein.

Mit OnControllerColliderHit funzt aber ... damit kann ich arbeiten, danke!

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...