- Home /
Question by
Merced_3 · Nov 20, 2018 at 12:25 AM ·
camerastoporbitmathf.clampcamera rotation
How Do I Make The Camera Orbit Stop at a Certain Point?
So I am creating a cube that moves Around on a surface and i am trying to make it where if i move the camera up and down but also with restrictions so that the camera doesn't go through the map. Line 15, 39 and 41 is the Ones that aren't Working. if you would be so kind to help me with this, Much Appreciated. :)
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Character : MonoBehaviour
{
public const float X_ANGLE_MIN = -30f; //min Angle
public const float X_ANGLE_MAX = 40f; //max Angle
[Header("Character Utilities: ")]
public float MoveSpeed = 20f;
public float TurningSpeed = 20f;
[Header("Camera Utilities: ")]
//public Transform camRotator;
private bool isVisible = false;
private float RotCamX;
private void Start()
{
Cursor.visible = isVisible;
}
void Update()
{
RotCamX = (Input.GetAxis("Mouse Y") * Time.deltaTime * TurningSpeed);
if (Input.GetKeyDown(KeyCode.Escape))
Cursor.visible = !isVisible;
transform.Translate(Input.GetAxis("Horizontal") * Time.deltaTime * MoveSpeed, 0, Input.GetAxis("Vertical") * Time.deltaTime * MoveSpeed);
transform.Rotate(0, Input.GetAxis("Mouse X") * Time.deltaTime * TurningSpeed, 0);
CameraShit();
}
void CameraShit()
{
//camRotator.Rotate(-RotCamX, 0f, 0f);
//RotCamX = Mathf.Clamp(camRotator.rotation.x, X_ANGLE_MIN, X_ANGLE_MAX);
}
}
so the Red circle to the Left of the Image is what i use to rotate the camera. its a empty GameObject thats inside the small white cube. that GameObject is the, public Transform camRotator(Line 15), and whenever the X rotates on it, it orbits the cube but only up and down.
I hope I Gave you enough information so that maybe you can help me with my bump in the road.
camera-orbit-issue.jpg
(337.9 kB)
Comment