正交视角(Orthographic Projection)
MainCamera与设备分辨率的关系
在Camera组件中将Projection设置为Orthographic,设置Size为1,将Scene视图切换成2D视角,将Tools设置为Rect Tool,设置Game视图的分辨率为1080x1920。
可以看出Camera的Rect高度恰好是2个网格高度,再将Game视图分辨率设置为1920x1080。
Camera的Rect高度还是2个网格高度。再多次改变Game视图的分辨率,其表现结果一致。
可以得到结论:Camera在Projection=Orthographic且Size=1时,其Rect的高度始终是2个单元格高度。
切换成横向适配,让Camera的Rect宽度是一个单元格宽度
float rate = (float)Screen.height * 0.5f / (float)Screen.width;
Camera.main.orthographicSize = rate;
计算屏幕宽度对应的单元格数量
//屏幕宽度对应n个单元格
float xGridRatio = (2 / Screen.height) * Screen.width;
2D图片在Scene视图的分辨率与大小关系
2D图片的像素与单元格的映射关系是独立的,与MainCamera无关。
是图片导入参数的Pixels Per Unit控制
以上图中的256x256的图片为例,当Pixels Per Unit设置为256时,图片在Scene视图中恰好与一个单元格重叠。此时调整Transform的Scale就方便处理与MainCamera的大小关系。