Bucky
Bucky

Reputation: 1206

No Bounce after adding velocity In Unity 2d

First of all I'm new to Unity and Game programming. I'm trying to add a cricket bowling like animation. But when the ball touches the ground It doesn't bounce at all and it shows an weird rolling animation.

Here is the GIF,

No Bounce

So I just added the velocity in code,

public class Ball : MonoBehaviour {


    public float EndPointX ;
    public float EndPointY ;
    bool ForceAdded = true;
    private Rigidbody2D rigidBody;

    void Start () {
        rigidBody = GetComponent<Rigidbody2D> ();

    }

    void Update () {

        rigidBody.velocity = new Vector3(EndPointX, EndPointY, 0)*2;

    }
}

My Bounce 2d material file,

2d Material

Ball Properties,

Ball

It bounces perfectly without any velocity. I mean when it falls in a straight angle.

Thanx For The Help!!

Upvotes: 1

Views: 450

Answers (1)

ryeMoss
ryeMoss

Reputation: 4343

Since Update() runs every frame, you are continuously setting the velocity, and immediately overwriting the bounce materials attempts to change its direction of movement. If you move the velocity to your Start() method, the velocity will only be set once and the bounciness will be able to influence your object properly.

void Start () {
    rigidBody = GetComponent<Rigidbody2D> ();
    rigidBody.velocity = new Vector3(EndPointX, EndPointY, 0)*2;
}

Upvotes: 4

Related Questions