Jump to content
Unity Insider Forum

Archived

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

Coooder

OnCollisionEnter verhält sich wie OnCollisionExit

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?

Share this post


Link to post
Share on other sites

Wie bewegst du den Spieler?

Wenn du transform.position veränderst kann es sein, dass die Kollisionen nicht erkannt werden.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
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

Share this post


Link to post
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.

Share this post


Link to post
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!

Share this post


Link to post
Share on other sites

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

 

Alles klar, falsch verstanden. :)

Share this post


Link to post
Share on other sites

×
×
  • Create New...