摄像机跟随角色,鼠标右键控制视角上下及旋转,滚轮控制缩放
using UnityEngine;
public class FollowPlayer : MonoBehaviour {
public GameObject player;
Vector3 offset;
void Start() {
offset = this.transform.position - player.transform.position;
}
void Update ()
{
this.transform.position = offset+player.transform.position;
if (Input.GetMouseButton(1))
{
Vector3 originalPosition = transform.position;
Quaternion originalRotation = transform.rotation;
transform.RotateAround(player.transform.position, Vector3.up, Time.deltaTime * 300 * Input.GetAxis("Mouse X"));
transform.RotateAround(player.transform.position, transform.right, -Time.deltaTime * 300 * Input.GetAxis("Mouse Y"));
//限制视角上下移动的角度。
if (transform.eulerAngles.x > 60 || transform.eulerAngles.x < 0)
{
transform.position = originalPosition;
transform.rotation = originalRotation;
}
offset = this.transform.position - player.transform.position;
}
Camera.main.fieldOfView = Mathf.Clamp(Camera.main.fieldOfView - Input.GetAxis("Mouse ScrollWheel") * 30, 20, 100);
}
}