1.Camera视口:用来记录当前摄像机能看到场景中的哪些内容,其大小及位置是可以改变的。而屏幕视口是指当前硬件的屏幕,对于一个固定的硬件(例手机),它的屏幕视口大小(即分辨率)是固定的。Camera视口的内容不一定可以完全显示在屏幕上,屏幕可能只显示了一部分视口内容,也可能对视口内容进行了放缩。可以简单理解为,Camera视口是一张二维图片,而屏幕是用来显示这张图片的,图片可能被裁减、也可能被压缩。Camera视口的内容现实到屏幕上的方式由很多因素决定。

2.Unity的Game面板中的aspect选项是用来模拟硬件屏幕的,可分为3类:全屏显示,固定比例显示和固定分辨率显示。全屏方式即以当前Game屏幕的大小来模拟硬件屏幕分辨率,其Camera视口即为当前摄像机的默认状态。而在固定比例方式则会改变Game视口的宽高比例,其大小不固定。而在固定分辨率方式下,视口的最大宽度和高度是固定的,当Game视口的宽度和高度大于固定分辨率时,其有效显示区间将保持固定分辨率的大小。

3.在Camera.aspect固定的情况下,无论选择Game视图中哪种屏幕模拟方式,它们的显示内容都是相同的。不同的屏幕模拟方式只会对显示的内容进行放缩。决定屏幕视口显示内容的是Camera.aspect的值和Camera的Transform,至于屏幕要如何显示Camera视口的内容,那就是硬件显示屏要处理的事情了。

4.PixelRect和Rect功能类似,都是决定硬件显示屏如何显示Camera视口提供的内容的。不同的是,PixelRect以实际像素来展示显示内容,而Rect以单位化形式来展示显示内容。

--------------------------------------- 《Unity API解析》