Perspective 透视
相机将用完全透视的方式来渲染对象。
Orthographic 正交 不会随着距离扩大视眼
相机将用没有透视感的方式均匀地渲染对象
Field of view 视野范围 (滚轮调整扩大视角)
相机的视角宽度,以及纵向的角度尺寸。
Near 近点
开始描绘的相对于相机最近的点。(距离摄像机过近的物体不会被摄像机看见)
Far 远点
开始描绘的相对于相机最远的点。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FollowPlayer : MonoBehaviour {
private GameObject player;
private Vector3 dir;
void Start () {
player = GameObject.Find("Female Druid"); //人物名字
dir = player.transform.position;
}
void Update () {
//摄像机跟随人物
dir = player.transform.position-dir;
transform.position += dir;
dir = player.transform.position;
//摄像机绕人物旋转
float mousex = Input.GetAxis("Mouse X");
float mousey = Input.GetAxis("Mouse Y");
if (System.Math.Abs(mousex) > System.Math.Abs(mousey))
{
if (mousex > 0)
{
transform.RotateAround(player.transform.position, Vector3.up, 2.5f);
}
else if (mousex < 0)
{
transform.RotateAround(player.transform.position, Vector3.up, -2.5f);
}
}
else if (System.Math.Abs(mousex) < System.Math.Abs(mousey))
{
if (mousey > 0 && transform.localEulerAngles.x >1)
{
transform.localEulerAngles -= new Vector3(0.5f, 0, 0);
}
if (mousey < 0 && transform.localEulerAngles.x < 30)
{
transform.localEulerAngles += new Vector3(0.5f, 0, 0);
}
}
//鼠标锁定到中心
Cursor.lockState = CursorLockMode.Locked;
//滚轮调整视眼大小
if (Input.GetAxis("Mouse ScrollWheel") > 0 && transform.GetComponent<Camera>().fieldOfView < 80)
{
transform.GetComponent<Camera>().fieldOfView += 2;
}
if (Input.GetAxis("Mouse ScrollWheel") < 0 && transform.GetComponent<Camera>().fieldOfView > 30)
{
transform.GetComponent<Camera>().fieldOfView -= 2;
}
}
}