Unity 关于摄像机的想法



首先,我们要理解摄像机是如何渲染物体的:

摄像机对游戏世界的渲染范围的边界是一个矩形。

根据Camera属性Projection的不同,可以对摄像机分为两类来讨论:

1.Perspective

屏幕矩形随离摄像机的距离改变而改变

摄像机对游戏世界的渲染范围是一个平截头体,渲染边界是一个矩形,用与near clippingplane或者far clippingplane平行的平面截取这个平截头体,可以获得无数个平行的矩形面,也就是我们看到的屏幕矩形。离摄像机越远,矩形越大,离摄像机越近,矩形越小。所以,同样大小的物体,随着离摄像机越来越远,相对于对应屏幕矩形就越来越小,所看起来就越来越小,这就是所谓的透视感(perspective)的由来。

影响矩形的因素:

field of view:这个属性的值会影响矩形的大小(但不影响矩形的宽高比例)。在距离摄像机的某个固定距离上截取一个矩形,矩形的大小随field of view的变大而变大,但是矩形宽高比例并不随之改变。

所以我们可以看到,当我们增大field of view时,游戏中的物体看上去变小了,这是由于,虽然物体与摄像机的距离没变,但是这个距离上的矩形变大了,导致物体相对于矩形变小了。

屏幕分辨率:这个分辨率指实际的游戏窗口大小。矩形的宽高比例随屏幕分辨率改变而改变,总跟屏幕分辨率的宽高比保持一致。

在屏幕上,某个像素点相对于屏幕矩形的位置,可以对应于游戏世界中的点相对于某个截面的位置,关键在于这个点在哪个截面上,也就是说,关键在于这个截面离摄像机有多远!


2.Orthographic

屏幕矩形不随距离摄像机的远近而改变,摄像机对游戏世界的渲染范围是一个长方体。

所以我们看不到所谓的透视感,同一个物体,不管距离摄像机有多远,我们看到的物体大小总是不变,因为它相对于对应距离的矩形的比例总是一样的。

影响矩形的因素:

size:与field of view类似,影响矩形的大小,但不影响宽高比

屏幕分辨率:与Perspective模式一样,影响矩形的宽高比,使其与屏幕宽高比保持一致。

那么,这个矩形的大小到底是多少呢?

假如屏幕宽Screen.width,屏幕高Screen.heigth,Camera的Size为camera.size,

那么矩形的高度总为2*camera.size,

设矩形的宽度为rectWidth,

则Screen.width/Screen.heigth=rectWidth/(2*camera.size),

矩形的宽度rectWidth为(2*camera.size)*Screen.width/Screen.heigth.

也就是说不管屏幕分辨率怎么变化,矩形的高度始终为摄像机size的两倍。再根据矩形宽高比与屏幕宽高比相同这一特性,来计算矩形宽度。




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值