需求

棋盘是放在世界中的,在各种分辨率下棋盘占据屏幕的相对宽度需要保持不变。
因此我需要根据屏幕的分辨率动态改变摄像机的大小来达到这样的效果。

 mCameraWorld.orthographicSize = 10f;

2D项目采用的正交视图,摄像机的基础大小为10。屏幕设计分辨率为1080*1920
摄像机orthographicSize属性代表的是摄像机照射范围高度的一半


红色的为摄像机照射范围,10 代表摄像机高度的一半
摄像机照射范围和UI重合。

可以计算得出摄像机宽为 1080/1920 * 20 = 11.25
要保持棋盘在UI中所占宽的比例不变,就需要使摄像机的宽在任何情况下都为 11.25
当屏幕分辨率发生改变,就可以倒推出摄像机的大小。
当屏幕分辨率改为1125*2436 时,屏幕的高是宽的 2436/1125 = 2.16倍。
摄像机的总高度应为 11.25 * 2.16 = 24.3
最终得出摄像机的大小为 24.3/2 = 12.15;
下面贴出代码

private void GetCameraSize() {float designScreenHeight = 1920;float designScreenWidth = 1080;float designCameraSize = 10;float designCameraWidth = designScreenWidth / designScreenHeight * (designCameraSize*2);float currCameraHeight = Screen.height / Screen.width * designCameraWidth;float currCameraSize = currCameraHeight / 2;}//*2 和 /2 并不必要,只是为了逻辑清晰。

如此就可以动态设置摄像机的大小,从而达到,棋盘占屏幕宽度比例不变的效果。

Unity Camera 动态摄像机大小相关推荐

  1. unity Camera(摄像机)介绍

    目录 一.摄像机类型 1.Perspective (透视摄像机) 2.Orthographic(正交摄像机) 二.摄像机属性 1.Clear Flags 2.Background 背景色 3.Cull ...

  2. Unity Camera设置-Culling Mask

    Unity Camera设置-Culling Mask 参考文档:Unity中Camera参数-Culling Mask详解_-MCQ-的博客-CSDN博客_unity相机cullingmask 简介 ...

  3. unity Camera控制(上帝视角)

    unity Camera控制(上帝视角) 解决问题 解决移动速度不变带来的操作迟缓: 实现在摄像机不同角度下,始终针对地面的水平移动(而非视口的上下左右移动): 实现绕点旋转. 正文 在针对大场景(如 ...

  4. Unity之2D摄像机跟随

    Unity之2D摄像机跟随 在2D游戏制作过程中,摄像机的跟随主角移动是必不可少的.有代码实现,也有插件实现.下面分别讲述两种方法. Unity中提供了专属的摄像机插件进行使用: 官方Cinemach ...

  5. Unity的动态字库字体超出字库图片尺寸导致字体花屏

    转载自:http://www.cnblogs.com/bicker/p/3669176.html 在我们游戏的开发过程中,在部分手机上运行游戏的时候,出现了字体丢失的问题,出问题的手机似乎用的都是高通 ...

  6. 使用Unity创造动态的2D水体效果

    者:Alex Rose 在本篇教程中,我们将使用简单的物理机制模拟一个动态的2D水体.我们将使用一个线性渲染器.网格渲染器,触发器以及粒子的混合体来创造这一水体效果,最终得到可运用于你下款游戏的水纹和 ...

  7. Unity中动态修改Terrain地形

    以下类实现了在Unity中动态的修改Terrain的功能,可以在运行时升高.降低以及平滑地形高度.在Unity的Play Mode修改地形后退出Play Mode仍然会保留修改:当游戏打包成独立的可执 ...

  8. 人工智能(12)----宽动态摄像机技术

    宽动态摄像机技术是指图像在同一时间曝光两次,一次快,一次慢,再进行合成使得能够同时看清画面上亮与暗的物体.宽动态技术和背光补偿技术都是为了克服在强背光环境条件下,看清目标而采取的措施,但背光补偿是以牺 ...

  9. 如何压缩动态图片大小?gif图太大了怎么压缩?

    对于新媒体行业人员来说,平时在工作中需要存非常多的素材,这些素材中有很多就是gif格式的,随着积累的素材越来越多,这些素材会占用大量的储存空间,那么遇到这种情况应该怎么办呢?应该如何压缩动态图片大小? ...

最新文章

  1. 【漫画】以后在有面试官问你AVL树,你就把这篇文章扔给他。
  2. mysql 性能问题_mysql性能问题
  3. 吴恩达深度学习 —— 3.3 计算神经网络的输出
  4. T-SQL MAX Functions
  5. modelmap前端怎么取值_【百度】前端开发岗面试题
  6. 性能测试(一)性能测试是什么?有哪些分类?
  7. Unity工程导入到AndroidStudio的一些注意事项
  8. matlab如何将二进制文件写入txt文档中
  9. 爬虫学习5-JSON 数据的分析与解析
  10. ASS字幕特效代码个人收藏
  11. 【毕业设计】基于树莓派的指纹识别考勤系统 - 单片机 嵌入式 物联网
  12. java数字转换金额大写——中文金额大写
  13. 攻克银联QPBOC L2认证的最后两个不过的案例(POS与卡片的数据交互分析)
  14. 从实习到毕业从事前端工作这两年
  15. Perl/Tkx ---- tcl/tk文本组件text
  16. 让照片开口讲话,让视频人物对口型
  17. mysql的备份恢复原理_MySQL备份恢复-mysqldump原理
  18. [python爬虫之路day19:] scrapy框架初入门day1——爬取百思不得姐段子
  19. LWN: kernel中GCC plugin的未来命运!
  20. 网易企业邮箱申请,申请企业邮箱流程分享~

热门文章

  1. 动态规划—钢管切割问题
  2. iOS 底层解析weak的实现原理
  3. caffe ssd中输入图片大小对于内存使用和运行时间的影响
  4. Report Painter学习记录
  5. c++应用程序内存泄露检测
  6. 计蒜客T1022-计算多项式的值
  7. SQL计算连续登陆天数大于等于3天的用户
  8. 数字逻辑综合工具实践-DC-07 ——综合优化(二)和RTL coding 和DFT
  9. 【miscellaneous】监狱安防系统智能视频监控系统设计方案
  10. 用Python爬取2020链家杭州二手房数据