From bb5097622959f48938a7669c38bee1db705a5965 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sun, 6 Oct 2019 20:45:57 -0400 Subject: [PATCH 1/4] Inital push. Potential start to a camera that can 360 rotate around the player --- Assets/Scripts/CameraController.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs index dd98a01..f25b93d 100644 --- a/Assets/Scripts/CameraController.cs +++ b/Assets/Scripts/CameraController.cs @@ -52,12 +52,13 @@ public class CameraController : MonoBehaviour float angleY = player.eulerAngles.y; float cameraAngle = transform.eulerAngles.y; - //if (Mathf.Abs(cameraAngle - angleY) <= 45){ Potential start for camera following similar to banjo/mario64 + Quaternion rotation = Quaternion.Euler(angleX, angleY, 0); - Quaternion rotation = Quaternion.Euler(angleX, angleY, 0); - transform.position = player.position - (rotation * offset); - - //} + if(!Input.GetKey(KeyCode.LeftShift)){ + transform.position = player.position - (rotation * offset); + } else { + transform.position = player.position - offset; + } if(transform.position.y < player.position.y){ transform.position = new Vector3(transform.position.x, player.position.y - 0.5f, transform.position.z); From d8e0b5fa804a6b77d9753ea0196bae7c340c330d Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sun, 13 Oct 2019 14:02:58 -0400 Subject: [PATCH 2/4] Implemented free roam camera. Working on a button which resets camera location. --- Assets/Scripts/CameraController.cs | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs index f25b93d..cc5ac14 100644 --- a/Assets/Scripts/CameraController.cs +++ b/Assets/Scripts/CameraController.cs @@ -27,7 +27,7 @@ public class CameraController : MonoBehaviour void LateUpdate(){ float camX = Input.GetAxisRaw("Mouse X") * rotateSpeed; - player.Rotate(0, camX, 0); + pivot.Rotate(0, camX, 0); float camY = Input.GetAxisRaw("Mouse Y") * rotateSpeed; if (invertY){ @@ -36,6 +36,12 @@ public class CameraController : MonoBehaviour pivot.Rotate(-camY, 0, 0); } + if(Input.GetKey(KeyCode.LeftShift)) + { + player.Rotate(0, camX, 0); + pivot.Rotate(0, 0, 0); + } + if(pivot.rotation.eulerAngles.x > maxViewAngle && pivot.rotation.eulerAngles.x < 180f) { pivot.rotation = Quaternion.Euler(maxViewAngle, 0, 0); @@ -47,18 +53,18 @@ public class CameraController : MonoBehaviour } float camZ = Input.GetAxisRaw("Mouse ScrollWheel"); - + float angleY = pivot.eulerAngles.y; float angleX = pivot.eulerAngles.x; - float angleY = player.eulerAngles.y; - float cameraAngle = transform.eulerAngles.y; + + if(Input.GetKey(KeyCode.LeftShift)) + { + angleY = player.eulerAngles.y; + } + + float cameraAngle = transform.eulerAngles.y; Quaternion rotation = Quaternion.Euler(angleX, angleY, 0); - - if(!Input.GetKey(KeyCode.LeftShift)){ - transform.position = player.position - (rotation * offset); - } else { - transform.position = player.position - offset; - } + transform.position = player.position - (rotation * offset); if(transform.position.y < player.position.y){ transform.position = new Vector3(transform.position.x, player.position.y - 0.5f, transform.position.z); From 8891b706414685e6b42095ba7aaffd336bd9708b Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Thu, 17 Oct 2019 23:40:37 -0400 Subject: [PATCH 3/4] Implemented static y axis rotation when reset button is pressed --- Assets/Scripts/CameraController.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs index cc5ac14..a225f5f 100644 --- a/Assets/Scripts/CameraController.cs +++ b/Assets/Scripts/CameraController.cs @@ -59,6 +59,7 @@ public class CameraController : MonoBehaviour if(Input.GetKey(KeyCode.LeftShift)) { angleY = player.eulerAngles.y; + angleX = player.eulerAngles.x; } float cameraAngle = transform.eulerAngles.y; From e99156177bad4852893392927cbbf74a5abcca45 Mon Sep 17 00:00:00 2001 From: Gregory Campbell Date: Sun, 10 Nov 2019 20:37:51 -0500 Subject: [PATCH 4/4] Commented out the reset camera button since that functionality may be useless in the long run --- Assets/Scripts/CameraController.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Assets/Scripts/CameraController.cs b/Assets/Scripts/CameraController.cs index a225f5f..6fba5b9 100644 --- a/Assets/Scripts/CameraController.cs +++ b/Assets/Scripts/CameraController.cs @@ -19,7 +19,7 @@ public class CameraController : MonoBehaviour } pivot.position = player.position; - pivot.parent = player.transform; + pivot.parent = null; Cursor.visible = !Cursor.visible; Cursor.lockState = CursorLockMode.Locked; @@ -56,11 +56,12 @@ public class CameraController : MonoBehaviour float angleY = pivot.eulerAngles.y; float angleX = pivot.eulerAngles.x; + /* Code to force the camera behind the player if(Input.GetKey(KeyCode.LeftShift)) { angleY = player.eulerAngles.y; angleX = player.eulerAngles.x; - } + } */ float cameraAngle = transform.eulerAngles.y;