123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- using UnityEngine;
- using System.Collections;
- namespace VolumetricFogAndMist {
- public class FreeCameraMove : MonoBehaviour {
- public float cameraSensitivity = 150;
- public float climbSpeed = 20;
- public float normalMoveSpeed = 20;
- public float slowMoveFactor = 0.25f;
- public float fastMoveFactor = 3;
-
- private float rotationX = 0.0f;
- private float rotationY = 0.0f;
- // void Start () {
- // Cursor.lockState = CursorLockMode.Locked;
- // }
- void Update () {
- Vector2 mousePos = Input.mousePosition;
- if (mousePos.x < 0 || mousePos.x > Screen.width || mousePos.y < 0 || mousePos.y > Screen.height)
- return;
- rotationX += Input.GetAxis ("Mouse X") * cameraSensitivity * Time.deltaTime;
- rotationY += Input.GetAxis ("Mouse Y") * cameraSensitivity * Time.deltaTime;
- rotationY = Mathf.Clamp (rotationY, -90, 90);
-
- transform.localRotation = Quaternion.AngleAxis (rotationX, Vector3.up);
- transform.localRotation *= Quaternion.AngleAxis (rotationY, Vector3.left);
-
- if (Input.GetKey (KeyCode.LeftShift) || Input.GetKey (KeyCode.RightShift)) {
- transform.position += transform.forward * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis ("Vertical") * Time.deltaTime;
- transform.position += transform.right * (normalMoveSpeed * fastMoveFactor) * Input.GetAxis ("Horizontal") * Time.deltaTime;
- } else if (Input.GetKey (KeyCode.LeftControl) || Input.GetKey (KeyCode.RightControl)) {
- transform.position += transform.forward * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis ("Vertical") * Time.deltaTime;
- transform.position += transform.right * (normalMoveSpeed * slowMoveFactor) * Input.GetAxis ("Horizontal") * Time.deltaTime;
- } else {
- transform.position += transform.forward * normalMoveSpeed * Input.GetAxis ("Vertical") * Time.deltaTime;
- transform.position += transform.right * normalMoveSpeed * Input.GetAxis ("Horizontal") * Time.deltaTime;
- }
-
-
- if (Input.GetKey (KeyCode.Q)) {
- transform.position -= transform.up * climbSpeed * Time.deltaTime;
- }
- if (Input.GetKey (KeyCode.E)) {
- transform.position += transform.up * climbSpeed * Time.deltaTime;
- }
-
- }
- }
- }
|