Need help jumping with a kinetic rigidbody.

I want to make my player jump when I press the space bar and it is on the ground. Then after I’m off the ground, fall back to the ground. Previously I was able to, but i turned my character into a kinetic rigidbody, and don’t know how to get it to work. My current code is the following.

using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
    //Variables
    public GameObject player;
    public float moveSpeed;
    public float turnSpeed;
    private float jumpValue = 0;
    private float moveHorizontal;
    private float moveVertical;
    bool spaceKeyDown = false;
    bool isGrounded = false;

    void OnCollisionEnter (Collision col)
    {
        if(col.gameObject.tag == "Floor")
        {
            isGrounded = true;
        }
    }

    void OnCollisionExit (Collision col)
    {
        if(col.gameObject.tag == "Floor")
        {
            isGrounded = false;
        }
    }

    void Update ()
    {
        moveHorizontal = Input.GetAxis ("Horizontal");
        moveVertical = Input.GetAxis ("Vertical");
        if(Input.GetButtonDown("Jump"))
        {
            spaceKeyDown = true;
            //Debug.Log("Space Key Pressed. Frame: " + Time.frameCount);
        }
    }

    void FixedUpdate ()
    {
        JumpData ();
        transform.Rotate(Vector3.up * moveHorizontal * turnSpeed * Time.deltaTime);
        transform.Translate(Vector3.forward * moveVertical * moveSpeed * Time.deltaTime);
    }

    void JumpData()
    {
        if (isGrounded == true)
        {
            if (spaceKeyDown == true)
            {
                spaceKeyDown = false;
                jumpValue = 9.8f;
            }
            else {jumpValue = 0;}
        }
        else {jumpValue = 0;}
        spaceKeyDown = false;
    }
}

Hi!

If your rigidbody is kinematic it will ignore all the Physics in your game. So the AddForce will not work anymore.

If you really need to set your rigidbody to kinematic, try this guy solution (does not use Physics

Although it does work, when running the code it doesn’t seem very natural. Is there any way I can sort of mimic the effects of the gravity unity uses (while keeping the rigidbody kinematic). Basically I want my character to jump a height specified by the player through the period of 1 second (slowing down as I reach the peak), then fall (speeding up until i reach my original jump position) through the period of 1 second (the exact opposite from going up).