Unity屏幕永远保持为固定分辨率

Unity屏幕永远保持为固定分辨率

前言

开题废话

· 啊喽哈,你们的小黑又来了,今天是周六啊,小伙伴们有咩有什么活动进行呢,不管如何都希望大家要出门戴好口罩,回家洗手。一定要注意安全啦!

· 还有还有,小黑换工作了和你们说了么?哈哈哈哈哈,没说就现在告诉你们啦,在上家公司待的小黑实在是太憋屈了,索性就换工作了,然后来到了现在这家公司,技术总监超级nice👍,人好技术牛,啥不会都能去问他,大哥一枚,小黑跟定了😂。记录于2021年6月24日:小黑是傻逼,跟着他等于一年白费。还好自己没浪费时间学了点儿东西。

之所以会写今天的这篇小知识呢,是因为我大哥在群里提出了一个功能:

就是pc程序不管运行在什么分辨率下,永远保持16:9的比例,多出的屏幕就留黑边。你们可以改变当前显示器分辨率模拟不同分辨率下的软件运行情况,测试是否改的符合预期。

正好今儿下午:

  • 1没出去,2没朋友来,3联盟一个人打两把就没劲儿了
  • 所以,开干吧! 淦!淦!淦!淦!淦!
  • 实现了该功能,然后写博客
  • 结果在去复制我老大呢段话的时候,突然发现我大哥还给了思路/(ㄒoㄒ)/~~:

给个思路,player setting下有native resolution的配置,更改这个可以控制程序运行的分辨率,所以你们可以在程序启动读取当前屏幕分辨率,然后计算出一个最大的16:9的分辨率给这个配置赋值应该就可以了。

来根烟,小黑我冷静一下;别问为啥,问就是:我老大发的内容没看完就开干,我干完了功能后还发送了录屏过去,不是按小黑老大思路走的,应该没啥大问题。
不管了、不管了,也不知道不设置native resolution这个参数有没有问题,写博客分享知识要紧😂~

小黑废话说了这么多,相信大家也不想看了,想看的留言啊,出发,上代码😄

Unity版本

目前小黑比较喜欢用新版本的Unity,所以版本为:

Unity2019.4.4f1

👇正题开始

正题:

打开一场景

因为小黑新开的项目,所以加入了一个Cube用来分辨
在这里插入图片描述

创建脚本并且编写

using UnityEngine;

/// <summary>
/// 屏幕分辨率控制类
/// </summary>
public class CamreaController :MonoBehaviour
{
    //想要的 宽比
    float ScaleWithWidth = 16f;
    //想要的 高比
    float ScaleWithHight = 9f;
    
    private void Start()
    {
        ScreeneResolution();
    }
    
    private Camera MAIN_CAMERA;
    private float rectHight;
    private float rectwidth;
    private float widthShoudSize;
    private float heightShoudSize;
    
    private void ScreeneResolution()
    {
        MAIN_CAMERA = GetComponent<Camera>();        
        
        float screenWidth = Screen.width;
        float screenheight = Screen.height;
        
        widthShoudSize = screenheight / ScaleWithHight * ScaleWithWidth;
        heightShoudSize = screenWidth / ScaleWithWidth * ScaleWithHight;
        
        rectwidth = widthShoudSize / screenWidth;
        rectHight = heightShoudSize / screenheight;        
        
        if (Screen.width <= Screen.height)
            MAIN_CAMERA.rect = new Rect(0, (1f - rectHight) / 2f, 1, rectHight);
        else
            MAIN_CAMERA.rect = new Rect((1f - rectwidth) / 2f, 0, rectwidth, 1);
    }   
}

挂在脚本到场景摄像机上边

挂载脚本

以不同比的分辨率运行程序,并且观看是否正确

测试

发布为exe测试

这个大家自己测一下就好了啊,小黑不会发短视频😭,还有待学习啊。。

结尾

结尾唠叨

  • 小黑的今日分享结束啦,小伙伴们你们get到了么,你们有没有更好的办法呢,可以评论区留言分享,也可以加小黑的QQ:841298494,大家一起进步。

今日推荐

关于屏幕分辨率的博客:
👉👉 Unity之屏幕自适应

什么?小伙伴你还想要别的知识?好的呀,分享给你们😄
👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇👇
小黑的杂货铺,想要什么都有,客官来杯茶喝啊

程序的道路上学习永不停止,探索随时进行。
Let’s go. Just do it. We can.

  • 7
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青衫磊落长歌行

觉得小黑这篇文章不赖,打赏哟~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值