unity不同分辨率适配摄像机

这篇博客探讨了在Unity中如何处理竖屏游戏的分辨率适配问题,特别是摄像机在不同分辨率设备上的表现。当从iPhone6转到iPhoneX时,作者指出默认情况下摄像机会有放大效果,而非保持宽度一致。文章提供了代码示例,通过GameSetting.Instance.Width和GameSetting.Instance.Height调整参照值来确保在各种分辨率下保持正确的视图宽度。

竖屏游戏的时候,unity中摄像机是自动上下适配的,也就是说在不同分辨率下看到的上下看到的世界范围是一致的,比如在iphone6正常,那么在iphoneX上就有一种放大的效果。而正常的情况是在iphoneX上看到的宽度应该是一致的,也就是说上下应该看到的更宽。废话不多说,直接上代码。

    /// <summary>
    /// 适配世界摄像机 竖屏宽度适配
    /// </summary>
    public void MainCameraAdjust()
    {
        float ratio = GameSetting.Instance.Width * 1f / GameSetting.Instance.Height / (Screen.width * 1f / Screen.height);
        if (Camera.main.orthographic)
        {
            Camera.main.orthographicSize = Mathf.Max(GameSetting.Instance.CameraAdjust, ratio * GameSetting.Instance.CameraAdjust);

        }
        else
        {
            Camera.main.fieldOfView = Mathf.Max(GameSetting.Instance.CameraAdjust, ratio * GameSetting.Instance.CameraAdjust);
        }
    }

代码中GameSetting.Instance.Width和GameSetting.Instance.Height是直接替换为对应的常量值就行,如下。这个值是参照值,就是在这个值下设置正确的,那么其他分辨率上也会是正确的。

  public const int Width = 720;
  public const int Height = 1280;

如果是横屏的,则需要上下适配,只需要将Width和Height的值对调就行。

  public const int Width = 1280;
  public const int Height = 720;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值