UGUI_CanvasScaler

public class L2 : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        //CanvasScaler 用于分辨率自适应,负责控制不同分辨率下UI控件的大小,并不负责控制位置,位置由RectTransfor负责
        //Canvas对象下的 宽高*Scale = 屏幕分辨率
        #region 恒定像素 无论屏幕大小,UI会以相同的像素显示
        //Scale Factor 缩放系数,按此系数缩放Canvas中的UI元素
        //Reference Pixels Per Unit 参考单位像素,多少像素对应Unity中的一个单位
        //Set Native Size恢复原始尺寸
        //原始尺寸 = 图片大小(像素)/(Pixels Per Unit/Reference Pixels Per Unit)
        #endregion

        #region 缩放模式 根据屏幕尺寸进行缩放
        //Reference Solution 参考分辨率

        //Screen Match Mode 当前屏幕分辨率宽高比跟参考分辨率不同时,用于分辨率大小自适应的匹配模式

        //Expand 拓展画布,可能有黑边
        //缩放系数 = Mathf.Min(屏幕宽/参考宽,屏幕高/参考高)
        //画布尺寸 = (屏幕宽高)/缩放系数
        //会显示完整UI细节,但可能会留有黑边

        //Shrink 裁剪画布,可能有裁剪
        //缩放系数 = Mathf.Max(屏幕宽/参考宽,屏幕高/参考高)
        //画布尺寸 = (屏幕宽高)/缩放系数

        //Match Width or Height 以宽高或者二者的权重平均值作为参考来缩放画布
        //竖屏游戏 Match = 0 将Canvas宽度设置为参考分辨率宽度
        //横屏游戏 Match = 1 将Canvas高度设置为参考分辨率高度
        #endregion

        #region 恒定物理 无论屏幕大小,UI元素保持相同物理大小
        //Fallback Screen DPI 备用DPI
        #endregion

        #region CanvasScaler3D
        //当Canvas渲染模式是World Space时才会出现CanvasScaler3D
        #endregion
    }
}
posted @ 2025-04-04 10:56  cannedmint  阅读(38)  评论(0)    收藏  举报