相机默认是根据高度适配的,但是在部分游戏中需要根据宽度进行适配
实现步骤
- 定义标准屏幕宽、高
- 判断标准屏幕宽高比与当前的是否相等
- 通过**(标准宽度/当前宽度)= (标准高度 / 当前高度)**计算缩放
- 调整相机fieldOfView即可
实现代码
csharp
public class CameraAdjust : MonoBehaviour
{
[SerializeField] private int ManualWidth = 1080;
[SerializeField] private int ManualHeight = 1920;
private void Start()
{
float heigtht;
if (Screen.height * 1f / Screen.width > ManualHeight * 1f / ManualWidth)
{
heigtht = ManualWidth * 1f / Screen.width * Screen.height;
}
else
{
heigtht = ManualHeight;
}
GetComponent<Camera>().fieldOfView *= heigtht / ManualHeight;
}
}