原文:

Unity 3D 正交(Orthographic)摄像机尺寸学习笔记

在 Unity 3D 中可以把摄像机设置为正交。正交摄像机与 Unity 3D 中普通摄像机相比没有透视效果(近大远小),所以正交相机一般可以用于 2D 游戏开发或者是 3D 游戏的 UI 开发。

在 2D 游戏开发中,有时会遇到根据屏幕的分辨率对游戏的背景进行自适应缩放的需求,这就需要对正交摄像机的尺寸也就是显示范围有一定的了解。

在正交相机中唯一与显示范围相关的属性只有一个,那就是 Size,单位为 Unity 单位。这个属性的值代表了摄像机在纵向上一半的显示范围。举例来说,如果把 Size 设置为5,那就意味着这个摄像机在纵向可以显示10个 Uinty 单位。摄像机的 Size 是不会随着屏幕的分辨率而变化,而摄像机横向的显示范围则是会发生变化的。Uinty 3D 通过屏幕的宽度除以高度获 Camera.aspect,再通过纵向的显示范围乘以 Camera.aspect 获得摄像机横向的显示范围,这就保证了摄像机的显示范围可以覆盖整个屏幕。

在通常情况下,使用 Unity 单位来对游戏中的对象(例如:Rigidbody,Collider)的大小进行调节就够了,但是要调节一些图片素材的大小时就需要考虑到像素(Pixel)和 Unity 单位之间的转换。那么问题就来了,像素和 Unity 单位之间的转换关系是怎么的呢?准确的说,他们两者之间的关系是不固定的,这取决与在导入素材时"Pixels To Units"这一属性的值,在默认情况下这个属性的数值为100,也就是说100像素等于1个 Unity 单位。

了解这些知识之后,再根据屏幕的分辨率来做游戏背景的自适应就会很容易了。首先,使用摄像机的 Size 和 aspect 计算出以 Unity 单位为单位的屏幕长宽。然后,根据"Pixels To Units"的值算出以像素为单位的长宽。同理,对于背景素材,首先通过 gameObject.render.bounds.size 获取以 Unity 单位为单位的素材大小,然后转换为像素大小。知道了背景和素材的像素大小后就可以很容易地得出他们之间的比例,最后通过调节背景的 transform.localScale 就可以达到背景自适应的目的了。

游戏背景自适应屏幕分辨率相关推荐

  1. 字体大小自适应屏幕分辨率 CSS解决方案

    字体大小自适应屏幕分辨率 CSS解决方案 参考文章: (1)字体大小自适应屏幕分辨率 CSS解决方案 (2)https://www.cnblogs.com/love0618/p/4020752.htm ...

  2. js自动缩放页面自适应屏幕分辨率

    js自动缩放页面自适应屏幕分辨率 欢迎使用Markdown编辑器 欢迎使用Markdown编辑器 当开发前端页面在分辨率1920的情况下,需要切换到小屏,有种方法是可以对屏幕比例进行缩放,通过css3 ...

  3. LabVIEW自适应屏幕分辨率缩放

    文章目录 前言 一.子vi百度网盘自取 二.子vi使用方法 三.窗口大小设置 四.总结 前言 在使用 LabVIEW进行上位机项目开发的时候软件的分辨率是根据我们所开发的电脑所决定的,但是当开发完的上 ...

  4. Qt Creator软件界面配置——自适应屏幕分辨率

    为了使Qt Creator软件自身界面自适应屏幕分辨率,需要对默认设置进行修改,否则不便于软件的使用. 修改内容如下图所示: 软件修改前后的对比如下两图所示:

  5. js设置字体大小自适应屏幕分辨率

    js可以通过 screen.width获取屏幕分辨率的大小. var conf_div = document.createElement('div'); //创建div conf_div.style. ...

  6. vue数据大屏自适应屏幕分辨率js

    vue数据大屏自适应屏幕分辨率js 最近在写vue数据大屏的时候想到屏幕分辨率要自适应问题,按照设计图的百分比写感觉太麻烦,宽高甚至字体大小都要用百分比,就在想有没有其他的方案能实现,相信都用过rem ...

  7. cocos2d-x 2.0版本 自适应屏幕分辨率 .

    转载请注明来自:Alex Zhou的程序世界,本文链接:http://codingnow.cn/cocos2d-x/975.html 我使用的版本是cocos2d-2.0-x-2.0.4,cocos2 ...

  8. H5自适应屏幕分辨率大小

    说明: ①:H5自适应不同分辨率的设备,其实主要就一句 <meta name="viewport" content="width=device-width,init ...

  9. NGUI自适应屏幕分辨率

    一.当下移动设备的主流分辨率(数据来自"腾讯分析移动设备屏幕分辨率分析报告") 1.1 iOS设备的分辨率主要有: 宽 高 宽高比 960 640 1.5 1136 640 1.7 ...

最新文章

  1. bootstrap的php写在哪里,bootstrap用什么编辑器写
  2. C++基础:: struct vs class
  3. QQ因系统日期无法打开
  4. 三星android p内测,两年前老机重生!三星开启Galaxy C9 Pro升级安卓8.0内测
  5. SaaS-HRM 需求分析
  6. 软件测试考证:ISTQB、软件评测师
  7. GB28181国标错误码整理
  8. 王阳明:心力是克服万难的本源(附提升心力的12种方法)
  9. 打造高可用iOS进度条
  10. 办公软件使用学习笔记:excel第四节。excel美化表格(智能表格,美化套路)。图表数据动态显示,迷你图、条件格式、动态图表、
  11. 魔镜连接本地mysql_打造属于你的树莓派“魔镜”—硬件篇
  12. 示波器波形保存至PC端的设置
  13. 微信公众号发送完红包后查看领取状态 源码
  14. 微信小程序消息从公众号推送
  15. 联想服务器td340安装精简版win10
  16. Lua学习笔记(一)
  17. Manjaro 安装后的设置
  18. 多个点坐标存储在str中,如何转换成LineString?
  19. FastCopy和ExtremeCopy同盘移动文件速度测试比较评测
  20. OpenSSL: error:140AB18E:SSL routines:SSL_CTX_use_certificate:ca md too weak

热门文章

  1. Ubuntu18.04将Python升级到3.8
  2. ppt计算机实验报告册,PPT实验报告册.doc
  3. JAVA学习脚印10:解惑java 中UTF-16与char
  4. python 导入 包,模块,类,函数
  5. python中html.parser_Python html.parser库学习小结
  6. (转)Facebook杯2013年编程挑战赛——预选赛题目及答案
  7. 修改Android MTK 开关机动画 log
  8. linux内如何复制粘贴文本
  9. Python资源列表-Awesome Python,收藏吧,基本全了
  10. 30. secure world对smc请求的处理------OP-TEE对fast smc请求的处理