zoukankan      html  css  js  c++  java
  • CanvasScaler(转)

    转自:深入理解Canvas Scaler - 神奇肉包子 - 博客园 (cnblogs.com)

    CanvasScaler组件是根据当前屏幕分辨率调节canvas的scale(canvas下的UI也随之改变),从而使UI显示更合适,会受到渲染UI的摄像机 参数影响(如果为Perspective 相机,会受到 Field Of View影响,如果是 Orthographic相机,会受到 Size影响)。

    分为两种模式:

    Ui Scale Mode--Scale With Screen Size

    Reference Resolution:

    参考分辨率,即一开始制作时选定的屏幕分辨率,后面的选项参数都是根据它来计算的。

    Screen Match Mode—Match Width Or Height

    Match

    Match是一个滑条,拉在最左时是Width ,最右时是Height,中间则是按比例混合。

    当处于最左边时,屏幕高度对于UI大小完全没有任何影响,只有宽度会对UI大小产生影响。假设宽度为Reference Resolution宽度的x倍,则UI整体缩放为Reference Resolution状态下的x倍。也就是说只有宽度等于Reference Resolution宽度时,才能做到pixel perfect,否则像素就会有拉伸

    当处于最右边时,与上述情况正好相反,决定整体缩放值的是高度,而宽度则没有任何影响

    处于中间某处时,对上述两者的影响进行权重加成

    Screen Match Mode—Expand

    当屏幕分辨率大于参考分辨率时,选择变化较小的一个方向(横向还是纵向),作为放大Canvas Scale的标准,另一方向上的变化则是在整体缩放以后再进行补偿性的变化。此举旨在减少扩大分辨率时由于非等比扩大而对UI整体布局造成影响。适合制作较小标准尺寸,扩充到较大屏幕。(16:9 -》 超窄屏)

    Screen Match Mode—Shrink

    当屏幕分辨率大于参考分辨率时,但是更适合于缩小的情形。它会在屏幕尺寸缩小时,通过缩小CanvasScale尽量减少由于非等比缩小对布局产生的影响。按照影响较小的一个方向缩小的比例去缩小CanvasScale,然后再通过变形调整另外一个方向。(16:9 -》 4:3)

    Ui Scale Mode—Constant Pixel Size

    固定的UI缩放值

    Scale Factor

    直接设定UI的Canvas Scale,例如,设定为2,则Canvas Scale为标准状态下的2倍

    源码

     

    HandleScaleWithScreenSize:

     

  • 相关阅读:
    Applet
    Tutorial中代码的区别及不同效果
    Session
    代码解析&Filter用户授权例子
    Web的后台运作过程
    XML
    数据库
    spring常用注解
    spring mvc 常用注解
    @requestMapping
  • 原文地址:https://www.cnblogs.com/mcyushao/p/14185993.html
Copyright © 2011-2022 走看看