Hello everyone,
i want to find a way to replace this line :
//trans is the transform instance
trans.Translate (Vector3.up * flySpeed * Time.deltaTime);
The reason why i want to do this is because with that code the object act weirdly when it collides with something in front (instead of just stopping it tries to keep pushing giving a weird shaking effect)
The first thing i found is using making something like this :
rigidbody2D.AddRelativeForce (Vector2.up * flySpeed);
It kinda works but it keeps adding force to the object which after few seconds the object speed become ridiculously high
So i think what i need to do is to figure out the velocity of the object based on its rotation, knowing that this is how am controlling the object rotation :
if (Input.GetKey (KeyCode.LeftArrow)) {
euler.z += rotationSpeed * Time.deltaTime;
} else if (Input.GetKey (KeyCode.RightArrow)) {
euler.z -= rotationSpeed * Time.deltaTime;
}
trans.eulerAngles = euler;
Thank you