Quantcast
Channel: Latest Questions on Unity Answers
Viewing all articles
Browse latest Browse all 171066

Camera rotation script logic error?

$
0
0
I believe I have a logic error in my script. I want to make the camera rotate, and I screwed up. Here's the script; using UnityEngine; using System.Collections; public class cameraController : MonoBehaviour { public float dragSpeed; private Vector3 dragOrigin; private Quaternion rotateOrigin; public Transform target; void Start () { dragSpeed = PlayerPrefs.GetFloat("dragSpeed", 2f); } // Camera movement void Update () { CameraDrag(); CameraRotation (); if(Input.GetAxis ("Mouse ScrollWheel") < 0) { if(Camera.main.fieldOfView <= 70) { Camera.main.fieldOfView += 2f; } if(Camera.main.orthographicSize <= 20) { Camera.main.orthographicSize += 0.5f; } } if(Input.GetAxis("Mouse ScrollWheel") > 0) { if(Camera.main.fieldOfView > 20) { Camera.main.fieldOfView -= 2f; } if(Camera.main.orthographicSize >= 1) { Camera.main.orthographicSize -= 0.5f; } } } void OnDestroy() { PlayerPrefs.SetFloat("dragSpeed", dragSpeed); } void CameraDrag() { if (Input.GetMouseButtonDown(2)) { dragOrigin = Input.mousePosition; } else if(!Input.GetMouseButton (2)) { return; } Vector3 pos = Camera.main.ScreenToViewportPoint(Input.mousePosition - dragOrigin); Vector3 move = new Vector3(pos.x * dragSpeed, 0, pos.y * dragSpeed); transform.Translate(move, Space.World); } void CameraRotation() { if(Input.GetMouseButton (1)) { /*float h = dragSpeed * Input.GetAxis ("Mouse X"); float v = dragSpeed * Input.GetAxis("Mouse Y"); transform.Rotate(v, h, 0);*/ rotateOrigin = Quaternion.identity; } else if(!Input.GetMouseButton (1)){ return; } Quaternion cameraRot = Camera.main.transform.rotation; Quaternion rotate = new Quaternion(cameraRot.x, cameraRot.y, cameraRot.z, cameraRot.w); } }

Viewing all articles
Browse latest Browse all 171066

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>