Mein Code funktioniert nicht, ich versuche, die Kamera zu klemmen, aber es funktioniert nicht. Wie klemme ich die Kamera?So spannen Sie die Kamera in Unity3D
using UnityEngine;
using System.Collections;
public class MoveCamera : MonoBehaviour
{
public float sensitivity = 4.0f;
private Vector3 mouseOrigin;
private bool isRotating;
private float speed = 2.0f;
private float minX = -45.0f;
private float maxX = 45.0f;
private float minY = -10.0f;
private float maxY = 10.0f;
float rotationY = 0.0f;
float rotationX = 0.0f;
void Update()
{
if (Input.GetMouseButtonDown (0)) {
mouseOrigin = Input.mousePosition;
isRotating = true;
}
if (!Input.GetMouseButton (0))
isRotating = false;
if (isRotating) {
Vector3 pos = Camera.main.ScreenToViewportPoint (Input.mousePosition - mouseOrigin);
transform.RotateAround (transform.position, transform.right, -pos.y * sensitivity);
transform.RotateAround (transform.position, Vector3.up, pos.x * sensitivity);
rotationY = Mathf.Clamp (rotationY, minY, maxY);
rotationX = Mathf.Clamp (rotationX, minX, maxX);
transform.localEulerAngles = new Vector3 (-rotationY, rotationX, 0);
}
}
}
Ich möchte nicht externe Tools verwenden, By the way, korrigierte ich den Code, seine "Y" anstelle von "X". Danke für die schnelle Antwort. :) –
Das externe Werkzeug, das ich beziehe, ist wirklich extern. Es hat keinerlei Auswirkung auf Unity ... Und wenn die Korrektur, die ich gepostet habe, immer noch nicht genug ist, benutze Debug. Logge dich ein, um zu sehen, was du tatsächlich tust, anstatt was du willst. Wie, wieder, Mathf.Clamp funktioniert wie vorgesehen - auch in Ihrem Code ... –