Rigidbody - How to make it jump and fall down fast ? Help needed.
Hello I have a question about making the character jump with Rigidbody component attached . I tried to do it this way but the character jumps a little and falls slowly. Does anybody knows how to fix this ? Without increasing gravity in the settings ?
public Rigidbody rb;
public float Forward = 4000f;
public float RL = 100f;
bool jump= false;
public float JUMP= 50000f;
void Start () { rb = GetComponent<Rigidbody>(); }
void FixedUpdate ()
{
rb.AddForce(0, 0, Forward * Time.deltaTime);
if (Input.GetKey(KeyCode.D))
{ rb.AddForce(RL * Time.deltaTime, 0,0,ForceMode.VelocityChange);}
if (Input.GetKey(KeyCode.A))
{ rb.AddForce(-RL * Time.deltaTime,0,0,ForceMode.VelocityChange);}
if (Input.GetKey(KeyCode.Space) && Jump == true)
{ rb.AddForce(0, JUMP* Time.deltaTime, 0,ForceMode.VelocityChange);
jump = false; }
private void OnCollisionEnter(Collision collision) { if (collision.collider.tag == "Ground") { jump = true; } }
Answer by AlharbiSunds · Aug 10, 2018 at 10:48 AM
For me, I increase the mass before the jump (before AddForce statement), then I reduce it again in "OnCollisionEnter".
I do not know if it is a good practice or no, but it works for me
Or, apply custom gravity for special cases, if using 3D Physics (2D Physics has per object gravity scale, IIRC): https://forum.unity.com/threads/why-does-rigidbody-3d-not-have-a-gravity-scale.440415/
Your answer
Follow this Question
Related Questions
oncollisionexit not working 1 Answer
Rigidbody doesn't seem to apply gravity 1 Answer
How to make rigidbody not effect movement while still using it for collisions? 0 Answers
How can I make my player jump faster but not higher? 3 Answers
Unity 5: AddForce Increases power when already being pushed towards a collider. How to make stop? 1 Answer