Collision working once
Hi guys! I testing some collision, and i have a problem. I make this scenario: ][1]
The idea is, addforce by rigidbody, in the ball, he go ups, bounce wall, go down, bounce platformer, go up again and stays in this forever.
Every time the ball collide with something, in the console print "hit". The Script:
float speed = 10f;
// Use this for initialization
void Start () {
GetComponent<Rigidbody> ().velocity = Vector3.up * speed;
}
void OnCollisionExit (Collision Col)
{
if (Col.gameObject.tag != "Respawn") {
Debug.Log ("hit");
}
}
The Problem is.....in the console only appears hit, in the first colission, all other they dont work. Why this happens? What i make wrong?
Answer by Gabriel-Oliveira-Almeida · Mar 22, 2016 at 02:20 PM
I found the issue, is the Unity itself. I update for the last version, and the script works. Thx for the help.
Answer by Afro Dragon · Mar 15, 2016 at 03:13 PM
Perhaps you need to run it through FixedUpdate or somehow make it repeat the script constantly.
You could also try OnCollisionEnter, and see if that calls the script every time it bounces.
I tryin put in Update and FixedUpdate, but dont work. I thiking this function call its self, when have a colision. I trying Change to CollisionEnter, but have the same effect, only print one hit. The ball bounce like 5 times in the top wall and the raket, but print only one time.
Answer by Zoogyburger · Mar 15, 2016 at 04:55 PM
On your Rigidbody, make the Collison Detection Continuous.
I configure to continuous, for the ball and the wall, but dont work. Still print one time only.
Your answer
Follow this Question
Related Questions
Collision with a wall when I only want it with the player 1 Answer
Collision detection 1 Answer
GameObject not colliding properly with a collider! 3 Answers
Collisions not working in top-down RPG? 0 Answers
c# match 3 destroy... 1 Answer