- Home /
Question by
DaRealGabriel · May 18, 2017 at 12:37 AM ·
charactercontrollerjump
How to make a character controller jump properly
The code i am using made it successfully jump and move but sometimes it dosent jump when i press the space bar and some times it does. It always says that it sets vertVelocity to 5 ish when i press the space bar when i printed it with debug.log but it dosent jump i need some help everything else works fine though.
using System.Collections; using System.Collections.Generic; using UnityEngine;
public class FPSController : MonoBehaviour {
public float speed = 2f;
public float sensitivity = 1f;
public float jumpForce = 5f;
public Vector3 Movements = new Vector3(0, 0, 0);
private float vertVelocity = 0f;
private float moveH;
private float moveV;
private float rotX;
private float rotY;
private int jumpCount = 0;
public GameObject cam;
private CharacterController player;
private void Start()
{
player = GetComponent<CharacterController>();
}
private void Update()
{
moveH = Input.GetAxis("Horizontal") * speed;
moveV = Input.GetAxis("Vertical") * speed;
rotX = Input.GetAxis("Mouse X") * sensitivity;
rotY = Input.GetAxis("Mouse Y") * sensitivity;
Vector3 move = new Vector3(moveH, 0f, moveV);
move = transform.rotation * move;
transform.Rotate (0f, rotX, 0f);
cam.transform.Rotate(-rotY, 0f, 0f);
player.Move(move * Time.deltaTime);
if (!player.isGrounded)
{
vertVelocity += Physics.gravity.y * Time.deltaTime;
vertVelocity = Mathf.Clamp(vertVelocity, -53f, jumpForce);
Movements.y = vertVelocity;
}
else
{
vertVelocity = 0f;
if (Input.GetButtonDown("Jump"))
{
vertVelocity += jumpForce;
vertVelocity = Mathf.Clamp(vertVelocity, -53f, jumpForce);
Movements.y = vertVelocity;
}
}
player.Move(Movements * Time.deltaTime);
}
}
Comment
Your answer
Follow this Question
Related Questions
Unity my player does not jump 1 Answer
(Solved) Character Floats After Hitting Head on Object 1 Answer
change jumping in the character controller 0 Answers
Jumping Sideways 1 Answer
Charactercontroller jittering while jumping into wall 0 Answers