studycase2
This commit is contained in:
41
Assets/BOXOPHOBIC/Utils/Scripts/Runtime/CamController.cs
Normal file
41
Assets/BOXOPHOBIC/Utils/Scripts/Runtime/CamController.cs
Normal file
@@ -0,0 +1,41 @@
|
||||
using UnityEngine;
|
||||
|
||||
namespace Boxophobic.Utility
|
||||
{
|
||||
public class CamController : MonoBehaviour
|
||||
{
|
||||
public float movementSpeed = 5f;
|
||||
public float accelerationMultiplier = 2f;
|
||||
public float sensitivity = 2f;
|
||||
|
||||
private float yaw = 0f;
|
||||
private float pitch = 0f;
|
||||
|
||||
void Start()
|
||||
{
|
||||
// Store the initial rotation of the camera
|
||||
yaw = transform.eulerAngles.y;
|
||||
pitch = transform.eulerAngles.x;
|
||||
}
|
||||
|
||||
void Update()
|
||||
{
|
||||
float currentSpeed = movementSpeed;
|
||||
if (Input.GetKey(KeyCode.LeftShift) || Input.GetKey(KeyCode.RightShift))
|
||||
{
|
||||
currentSpeed *= accelerationMultiplier;
|
||||
}
|
||||
|
||||
float horizontalMovement = Input.GetAxis("Horizontal") * currentSpeed * Time.deltaTime;
|
||||
float verticalMovement = Input.GetAxis("Vertical") * currentSpeed * Time.deltaTime;
|
||||
|
||||
transform.Translate(horizontalMovement, 0, verticalMovement);
|
||||
|
||||
yaw += sensitivity * Input.GetAxis("Mouse X");
|
||||
pitch -= sensitivity * Input.GetAxis("Mouse Y");
|
||||
pitch = Mathf.Clamp(pitch, -90f, 90f);
|
||||
|
||||
transform.rotation = Quaternion.Euler(pitch, yaw, 0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user