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. LoadRunner11脚本小技能之同步/异步接口分离+批量替换请求头

    最近在公司又进行了一次LoadRunner11性能测试,技能又get了一点,继续Mark起来!!! 一.异步/同步接口分离 之前在另一篇博文中有提到"事务拆分"的小节,即一个htm ...

  2. 【题解】CF374C Inna and Dima

    题面传送门 解决思路 本题是找最长路的图上问题,所以先考虑如何建图. 首先把每一个字母转化为数字,然后对于每一个点枚举四个方向,如果有下一个字母,就向那个点建一条边,可以用 \(vector\) 存图 ...

  3. 【笔记】入门DP

    复习一下近期练习的入门 \(DP\) .巨佬勿喷.\(qwq\) 重新写一遍练手,加深理解. 代码已经处理,虽然很明显,但请勿未理解就贺 \(qwq\) 0X00 P1057 [NOIP2008 普及 ...

  4. 深入理解Golang 闭包,直通面试

    大家好 今天为大家讲解的面试专题是: 闭包. 定义 闭包在计算机科学中的定义是:在函数内部引用了函数内部变量的函数. 看完定义后,我陷入了沉思...确实,如果之前没有接触过闭包或者对闭包不理解的话,这 ...

  5. Java开发环境安装与配置(干货详细教程)

    Java开发环境安装与配置(干货详细教程)  对于文章中出现的任何错误请大家批评指出,会及时做出修改!  安装JDK JDK是 Java 语言的软件开发工具包要学习 链接Java中国官网https:/ ...

  6. nestjs搭建HTTP与WebSocket服务

    最近在做一款轻量级IM产品,后端技术栈框架使用了nodejs + nestjs作为服务端.同时,还需要满足一个服务同时支持HTTP服务调用以及WebSocket服务调用,此文主要记录本次搭建过程,以及 ...

  7. VH6501模板工程介绍(一)

    VH6501硬件结构 1.式样 1.正向有5个灯,用来指示干扰的触发状态,干扰类型(数字或模拟),通道通信以及设备状态. 2.两个DB9接口(公头male和母头female),这是CAN或CANFD通 ...

  8. PHP-表单传值

    一.传值引入 了解传值必须要先知道为什么需要传值? 传值的主要作用是为了实现用户数据的定制化,用户与服务端的互交 二.传值的方式 虽然 http协议中有很多数据传输的方式,但在PHP中只有 POST ...

  9. Jmeter 模拟http发送zip文件

    发送zip文件的接口配置如下: 1.  在不知参数情况下使用fidder进行抓包操作,查看参数与MiME类型 2.  新建http取样器,并设置接口地址,进入文件上传设置参数与MIME类型 appli ...

  10. 浅聊一下Django如何避免xss攻击

    一.什么是xss攻击 xss攻击:----->web注入 xss跨站脚本攻击(Cross site script,简称xss)是一种"HTML注入",由于攻击的脚本多数时候是 ...