I created this script for a specific project and when i added my versions of jumping I ended up seeing undesirable results in how fast my character jumped and the time it took for it to fall. Is there any way to add a nice jump feature using the gravity i have initialized?
using UnityEngine;
using System.Collections;
[RequireComponent (typeof(CharacterController))]
public class AdvancedMovement : MonoBehaviour {
public float runSpeed = 0.1f;
public float strafeSpeed = 2.5f;
public float gravity = 20;
private CharacterController _controller; //Our cached CharacterController.
public void Awake() {
_controller = GetComponent<CharacterController>();
}
void Start () {
animation.wrapMode = WrapMode.Loop;
}
void Update () {
_controller.Move(Vector3.down * gravity * Time.deltaTime);
if(_controller.isGrounded){
_controller.Move(Vector3.forward * runSpeed);
animation.CrossFade("RunInPlace");
}
if(Input.GetButton("Strafe")){
animation.CrossFade("RunInPlace");
_controller.Move(Vector3.right * Input.GetAxis("Strafe") * strafeSpeed);
}
}
}