MOVIMIENTO
MOVIMIENTO
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
{
private Vector3 playerMovementInput;
private Vector2 playerMouseInput;
private Vector3 velocity;
private float xRot;
[SerializeField] private Transform playerCamera;
[SerializeField] private CharacterController controller;
[Space]
[Space]
[Range(0, 12f)][SerializeField] private float speed=4;
[Range(0, 12f)][SerializeField] private float jumpForce=10;
[Range(0, 12f)][SerializeField] private float sensitivity=3;
[Space]
[SerializeField] private float gravity = -9.81f;
MovePlayer();
MovePlayerCamera();
}
private void MovePlayer()
{
Vector3 MoveVector = transform.TransformDirection(playerMovementInput);
if (controller.isGrounded)
{
velocity.y = -1f;
if (Input.GetKeyDown(KeyCode.Space))
{
velocity.y = jumpForce;
}
}
else
{
velocity.y -= gravity * -2f * Time.deltaTime;
}
controller.Move(MoveVector * speed * Time.deltaTime);
controller.Move(velocity * Time.deltaTime);
}
private void MovePlayerCamera()
{
xRot -= playerMouseInput.y * sensitivity;
transform.Rotate(0f, playerMouseInput.x * sensitivity, 0f);
playerCamera.transform.localRotation = Quaternion.Euler(xRot, 0f, 0f);
}
}