这篇文章我们讨论一下如何通过 Camera来制作一个瞄准镜的效果,玩射击类游戏比较多的朋友大概就能感觉出来这个功能大致的实现效果如何了。
主要的方法就是通过调整 Camera的 Field Of View,让其渐大渐小来实现
当我们瞄准的时候,我们只需要将 Field Of View 变小,停止瞄准的时候,再将Field Of View 恢复成原来的大小
if (Mathf.Abs(Camera.main.fieldOfView-(initFOV/ZoomLevel))<0.5f)
{
Camera.main.fieldOfView = initFOV/ZoomLevel;
}else if (Camera.main.fieldOfView-(Time.deltaTime*ZoomInSpeed)>=initFOV/ZoomLevel)
{
Camera.main.fieldOfView -= Time.deltaTime*ZoomInSpeed;
}
if (Mathf.Abs(Camera.main.fieldOfView - (initFOV/ZoomLevel)) < 0.5f)
{
Camera.main.fieldOfView = initFOV;
}else if (Camera.main.fieldOfView+(Time.deltaTime*ZoomOutSpeed)<=initFOV)
{
Camera.main.fieldOfView += Time.deltaTime*ZoomOutSpeed;
}