unity Camera FOV 角度转换
/// <summary>
/// 把垂直方向的FOV角度转化为水平方向的FOV角度
/// </summary>
/// <param name="d">垂直方向FOV角度</param>
/// <returns></returns>
public float FOVChangeV2H(float d)
{
var scale = Screen.width / (float)Screen.height;
return Mathf.Atan(Mathf.Tan(d / 2 * Mathf.Deg2Rad) * scale) * 2 * Mathf.Rad2Deg;
}
/// <summary>
/// 把水平方向的FOV角度转化为水平方向的FOV角度
/// </summary>
/// <param name="d">水平方向的FOV角度</param>
/// <returns></returns>
public float FOVChangeH2V(float d)
{
var scale = Screen.height / (float)Screen.width;
return Mathf.Atan(Mathf.Tan(d / 2 * Mathf.Deg2Rad) * scale) * 2 * Mathf.Rad2Deg;
}