此篇把之前的相机功能进行了汇总,通过一个枚举类型进行切换。功能如下:
followInching:跟踪加缓动效果
freeInching:自由加缓动效果
onlyFollow:仅跟踪视角
onlyFree:仅自由视角
none:正常相机
代码如下:
using UnityEngine;
using System.Collections;
using UnityEngine.EventSystems;
using UnityEngine.UI;
[System.Serializable]
public class CameraData {
public Transform target;//相机所看目标点,若target==null,则相机为自由视角,否则为跟踪视角
public float yMinLimit = -50.0f;//y最小角度视角限制
public float yMaxLimit = 90.0f;//y最大角度视角限制
public float xMinRangeLimit = float.MinValue;//x最小限制距离
public float xMaxRangeLimit = float.MaxValue;//x最大限制距离
public float yMinRangeLimit = float.MinValue;//y最小限制距离
public float yMaxRangeLimit = float.MaxValue;//y最大限制距离
public float zMinRangeLimit = float.MinValue;//z最小距离限制
public float zMaxRangeLimit = float.MaxValue;//z最大距离限制
public float minDistanceToTarget = 0.0f;//距离目标最小距离
public float maxDistanceToTarget = 10.0f;//距离目标最大距离
public float xSpeed = 200.0f;//x角度旋转速度
public float ySpeed = 120.0f;//y角度旋转速度
public float scaleSpeed = 4.0f;//缩放速度
public float xMoveSpeed = 4.0f;//x方向平移速度
public float yMoveSpeed = 4.0f;//y方向平移速度
public float lerpSpeed = 5.0f;//差值速度(缓动速度)
//实时变化
[HideInInspector]
public float distance = 5.0f;//相机与目标点距离
[HideInInspector]
public float xCurrentAngle =