PlayerMovement.
cs
using [Link];
using [Link];
using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public CharacterController controller;
public float speed = 12f;
public float gravity = -9.81f * 2;
public float jumpHeight = 3f;
public Transform groundCheck;
public float groundDistance = 0.4f;
public LayerMask groundMask;
Vector3 velocity;
bool isGrounded;
// Update is called once per frame
void Update()
{
//checking if we hit the ground to reset our falling velocity,
otherwise we will fall faster the next time
isGrounded = [Link]([Link],
groundDistance, groundMask);
if (isGrounded && velocity.y < 0)
{
velocity.y = -2f;
}
float x = [Link]("Horizontal");
float z = [Link]("Vertical");
//right is the red Axis, foward is the blue axis
Vector3 move = [Link] * x + [Link] * z;
[Link](move * speed * [Link]);
//check if the player is on the ground so he can jump
if ([Link]("Jump") && isGrounded)
{
//the equation for jumping
velocity.y = [Link](jumpHeight * -2f * gravity);
}
velocity.y += gravity * [Link];
[Link](velocity * [Link]);
}
}