- Home /
Problem with making an object bounce.
I have this script attached to a Sphere with a Rigidbody:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
Rigidbody rb;
public float forceStrenght = 10;
public bool isGrounded;
public float bounceStrenght = 3;
// Use this for initialization
void Start ()
{
rb = GetComponent<Rigidbody> ();
}
// Update is called once per frame
void Update ()
{
if (Physics.Raycast (transform.position, new Vector3 (transform.position.x, transform.position.y - .1f, transform.position.z), 1f)) {
isGrounded = true;
} else {
isGrounded = false;
}
if (Input.GetMouseButtonDown (0)) {
rb.AddForce (0, -forceStrenght, 0, ForceMode.VelocityChange);
}
if (isGrounded) {
rb.AddForce (0, bounceStrenght, 0, ForceMode.VelocityChange);
}
}
}
My problem is that sometimes the object bounces bigger sometimes smaller. I don't want that, I want the object always reach the same height if I don't interupt it by pressing the LMB.
Answer by AshwinTheGammer · Oct 07, 2017 at 11:25 AM
Create a physic material
Set the bounce combine to maximum
Change bounciness to 0.9699999 exact
I don't know if its much different to that but I put a background behind it and I saw it reach the same point. or Go into the rigidbody component and set the collision detection to continuous. That's it.
or you can try the both.
Answer by omerselman · Oct 07, 2017 at 11:36 AM
I guess it is something like this https://forum.unity.com/threads/projectile-bounce-problem.21138/ If that is a sphere i would use collision rather than raycasting to find out if it is touching the layer ground. So you dont have to use raycasting in update. Also which way do you raycast? Up? Down? Sides? Whats the origin of the ray? Is it looking down to check hit to ground always? Is it always at same distance on all sides? Use collision and create a bool. In update use if(grounded) {jump();} That will work
Your answer
Follow this Question
Related Questions
Rigidbody Enemy and Collisions 2 Answers
2D metroid boost ball 0 Answers
different beetween transform.translat and rigidbody.addforce? 1 Answer
Problem reading/getting from rb.velocity value? 1 Answer
Rigidbody movement conflict? 1 Answer