Unity - 计算 horizontal fov(水平方向上的 field of view)
发布时间
阅读量:
阅读量
Unity版本
Unity 2017.4.2
Unity fov
1. 通过Camera组件获取fov(这是vertical fov):
void Start()
{
Camera mainCamera Camera.main;
float mainCamera.fieldOfView;
Debug.Log("fov:" fov);
}
2. 计算horizontal fov
void Start()
{
Camera mainCamera Camera.main;
float mainCamera.fieldOfView;
Debug.Log("fov:" fov);
float Mathf.Deg2Rad;
float22 mainCamera.aspect);
float Mathf.Rad2Deg;
Debug.Log("horizontal fov:" horizontalFov);
}
horizontal fov应用举例
1. 用一张图像作为背景,效果如下:
在Main Camera下创建BackgroundQuad,localPosition=(0, 0, 100),localScale=(100, 100, 1)

2. 我们希望背景图像在水平方向上填满,同时保持原图宽高比,效果如下

Sample Code:
publicclass bg : MonoBehaviour
{
public Texture bgTexture;
public Transform backgroundQuad;
float CalcHorizontalFov()
{
float Mathf.Deg2Rad;
float22 Camera.main.aspect);
return Mathf.Rad2Deg;
}
// Use this for initializationvoid Start()
{
float100// distance form camera to background quadfloat CalcHorizontalFov();
float22;
float bgTexture.width;
backgroundQuad.localPosition new00, d);
backgroundQuad.localScale new1);
}
}
全部评论 (0)
还没有任何评论哟~
