只要在Unity中使用到了UI组件,系统就会自动生成Canvas,译为画布,就是说所有的UI组件都是画在这上的。当然同一个场景(Scene)中可以包含多个画布,比如常时显示的状态栏(时间、血量),点击显示的背包栏,触发显示的对话栏等等。
下面要说的是CanvasScaler就是画布中比较重要的一个组件。Canvas Scaler的UI Scale Mode分为三种:Constant Pixel Size、Scale with Screen Size、Constant Physical Size。
Constant Pixel Size:恒定的像素大小,即不管屏幕大小怎么变化,UI组件的像素不变。用来放置缩放图片比较好。
Scale with Screen Size:根据屏幕的大小,比较常用。
Constant Physical Size:恒定的物理大小,这个还没有用到,用到后再详细说吧。
跳坑小贴士:
- UI组件的锚点(AnchorPresets)如果是中心点时,画布选择Constant Pixel Size的话,有时候会超出画面大小被剪切。这个时候画布要选择Scale with Screen Size将所有的UI都包含在内。
有想到的再补充,欢迎指出错误和探讨。