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.

Unity屏幕永远保持为固定分辨率的更多相关文章

  1. Unity 3D手游对不同分辨率屏幕的UI自适应

    目前安卓手机的屏幕大小各异,没有统一的标准,因此用Unity 3D制作的手游需要做好对不同分辨率屏幕的UI自适应,否则就会出现UI大小不一和位置错位等问题. 我们的项目在开发时的参照分辨率(Refer ...

  2. 关于Unity屏幕分辨率的比例

    1.Free Aspect任意窗口大小 2.16:9是1920*1080的手机 3.4:3是1024*768ipad 4.3:2是960*640,iPhone4手机屏幕 5.480*800,竖屏手机游 ...

  3. Unity 屏幕适配小脚本

    屏幕适配是可以通过代码实现的,相信给你时间就一定能写出来. 我们公司貌似没有分辨率适配框架通常对应小屏幕的苹果4要额外设置下等等就完了! 屏幕适配框架实现思路:  通过代码获取当前的分辨率 –> ...

  4. 闲话Android 之 屏幕大小、pixel、分辨率、dpi、dip

    之前都是在自研的产品上做开发,而且我们的屏幕是1dip=1px的,所以在写App布局的时候,随便写单位,也没觉得什么不妥.可是近期我把以前的App里面的一些自定义控件在emulator上跑的时候,才发 ...

  5. Unity屏幕射线碰撞

    Layers层: 从Layers设置看来,最多支持32层.  图层的值开始依次 0^2,1^2, 2^2, 3^3 依次增加. 当摄像机Culling Mask属性 Nothing= –1 Eveni ...

  6. Unity 屏幕震动效果实现

    要实现震屏效果其实并不难,所谓的震屏在PC端可以简单地理解为相机(MainCamera)的抖动. 代码实现如下: using UnityEngine; using System.Collections ...

  7. css div相对屏幕永远居中

    不管屏幕如何滑动,该div始终保持在屏幕正中央(支持IE7(包括IE7)以上版本) <div class="loginBox"></div> .loginB ...

  8. Unity 屏幕外死亡的敌人的分数显示在屏幕内

    在敌人死亡后,会出现分数,如果敌人死亡的位置在屏幕内,那么使得获得的分数显示在屏幕内,超出屏幕范围的,显示在屏幕外 当然,这里例子是使得场景中的物体显示在屏幕内,当然也可以使用纯粹的UGUI物体的显示 ...

  9. 元素随屏幕滚动到顶部固定js效果

    网站中常见这种效果,某个广告或详情页切换tab,当屏幕向下移动时,该元素会停留在浏览器最顶部,下面ecshop模板中心教您实现js代码: 案例图: 1.首先在页面上找到该元素  加上 id =&quo ...

  10. 响应式网站布局要适应的当下主流手机屏幕的各个版本的分辨率有哪些(media query)

    CSS宽有14种: 320.360.375.384.400.414.533.600.768.800.853.1024.1280.1366 CSS高有16种: 360.480.533.568.569.6 ...

随机推荐

  1. Java代码审计sql注入

    java_sec_code 该项目也可以叫做Java Vulnerability Code(Java漏洞代码). 每个漏洞类型代码默认存在安全漏洞(除非本身不存在漏洞),相关修复代码在注释里.具体可查 ...

  2. 【DL论文精读笔记】ResNet

    Abstract 利用残差学习架构释放深度 152层深度是VGG的8倍,且复杂度更低 ImageNet上的错误率3.57% 在ILSVRC和2015COCO竞赛,在多项任务拿到第一 3.1 Intro ...

  3. i春秋Hash

    打开题目页面是一个超链接 先查看源码得到一段信息 没什么,这只是超链接跳转的信息 点击跳转到下一个界面 提示我们如果我们的传入不是123,123也就是key了,在上面的url就可以看到 如果key!= ...

  4. oracle 内置函数(二)字符函数

    主要函数: 大小写转换函数 获取子字符串函数(字符串截取) 获取字符串长度函数 字符串连接函数 去除子字符串函数 字符替换函数 字符串出现次数 字符串按照特定符号拆分多行 一.大小写转换 1.uppe ...

  5. 【Spark】Day06-Spark高级课程:性能调优、算子调优、Shuffle调优、JVM调优、数据倾斜、TroubleShooting

    一.Spark性能调优 1.常规性能调优 (1)最优资源配置:Executor数量.Executor内存大小.CPU核心数量&Driver内存 (2)RDD优化:RDD复用.RDD持久化(序列 ...

  6. 最新 2022 年 Kubernetes 面试题高级面试题及附答案解析

    题1:Kubernetes Service 都有哪些类型? 通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上.其主要类型有: C ...

  7. Blazor 部署 pdf.js 不能正确显示中文资源解决办法

    在Blazor项目嵌入 pdf.js 时不能正确显示中文,浏览器F12显示如下错误 错误 l10n.js /web/locale/locale.properties not found. 我找到了解决 ...

  8. 学习Django框架之前所需要了解的知识点

    目录 一: Web应用 1.Web应用程序什么? 2.软件开发架构 3.Web应用程序的优点 4.Web应用程序的缺点 5.B/S架构优点 6.Web框架本质 二:MVC和MTV模式 1.MVC设计模 ...

  9. 前端(js部分讲解)

    BOM操作 BOM概念 BOM:Browser Object Model 是浏览器对象模型,浏览器对象模型提供了独立与内容的.可以与浏览器窗口进行互动的对象结构,BOM由多个对象构成,其中代表浏览器窗 ...

  10. get请求拼接数组转字符串

    get请求拼接数组转换成字符串