38 lines
1.1 KiB
C#
38 lines
1.1 KiB
C#
|
|
using System.Collections;
|
|||
|
|
using System.Collections.Generic;
|
|||
|
|
using UnityEngine;
|
|||
|
|
|
|||
|
|
namespace Koenigz.PerfectCulling.Demos
|
|||
|
|
{
|
|||
|
|
public class FlyCamera : MonoBehaviour
|
|||
|
|
{
|
|||
|
|
[Range(30, 150)]
|
|||
|
|
[SerializeField] float MouseSensitivity = 90;
|
|||
|
|
|
|||
|
|
float m_rotationX = 0.0f;
|
|||
|
|
float m_rotationY = 0.0f;
|
|||
|
|
|
|||
|
|
void LateUpdate()
|
|||
|
|
{
|
|||
|
|
float dt = Time.deltaTime;
|
|||
|
|
|
|||
|
|
float speed = 15f;
|
|||
|
|
|
|||
|
|
if (Input.GetKey(KeyCode.LeftShift))
|
|||
|
|
{
|
|||
|
|
speed *= 2f;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
transform.localPosition += transform.forward * Input.GetAxis("Vertical") * speed * dt +
|
|||
|
|
transform.right * Input.GetAxis("Horizontal") * speed * dt;
|
|||
|
|
|
|||
|
|
m_rotationX += Input.GetAxis("Mouse X") * MouseSensitivity * dt;
|
|||
|
|
m_rotationY += Input.GetAxis("Mouse Y") * MouseSensitivity * dt;
|
|||
|
|
|
|||
|
|
m_rotationY = Mathf.Clamp(m_rotationY, -90, 90);
|
|||
|
|
|
|||
|
|
transform.localRotation = Quaternion.AngleAxis(m_rotationX, Vector3.up) *
|
|||
|
|
Quaternion.AngleAxis(m_rotationY, Vector3.left);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|