飞道的博客

unity的ugui-4.canvas

241人阅读  评论(0)

Canvas

1.Screen Space - Overlay

表示 Canvas 下的所有的 UI 控件永远位于屏幕的前面 ,。

2. Screen Space - Camera

这种渲染模式 Canvas 和 摄像机之间有一定的距离 , 比如可以让2d的image通过旋转来达到3d效果

也可以播放一些粒子特效

3. World Space

让Canvas 就和普通的 3D 物体一样了 , 可以控制它的大小,旋转,缩放等 , 一般用来做血条。

将canvas放在人物下面,将canvas坐标清0,再将slider和Text调至合适数值

当你没有把camera放在人物下面时,会导致人物旋转时血条也在旋转,所以写个代码就可以了

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class LockUIRotation : MonoBehaviour
{
   
    public Camera camera;

    // Update is called once per frame
    void Update()
    {
   
        transform.rotation = Quaternion.LookRotation(camera.transform.forward);
    }
}

Pixel Perfect:勾选的话在Canvas中的模糊效果消失

Sort Order:值比较大的canvas将覆盖比较小的canvas

Canvas Scaler

UI Scale Mode:Constant Pixel Size,固定大小

Scale Factor–大小比例;
Reference Pixels Per Unit – ,每单位代表像素量,一般不修改

重点:

UI Scale Mode:Scale With Screen Size根据屏幕大小缩放

将参考分辨率改为1920*1080,Screen Match Mode为Match width or height根据高或宽适配

因为手机大多竖着是16:9和18:9,高一样而宽不一样,所以横屏游戏我们让他根据竖屏的高适配,也就是将Match调到height为1

如果是ipad为4:3,则等同于16:12,宽一样而高不一样,以宽适配则调到Match调到width为0,中间则是按比例混合

总之,什么一样,就适配什么

Screen Match Mode:Expand

当屏幕分辨率大于参考分辨率时,选择变化较小的一个方向(横向还是纵向),扩充到较大屏幕
具体看:点这里

Screen Match Mode:Shrink

和Expand类似,但是更适合于缩小的情形

在做自适应屏幕的时候,感觉Match width or height会好点,当然Expand和Shrink也可以做到,后面再补充哈哈哈

Rect Transform的一点补充

在物体瞄点设置为跟随父节点大小时,要将这4个值置为0,否则会出错

然后再点击左居中,就跟随父物体大小和对应的位置了,不需要手动设置

然后pivot中心点只在旋转时才修改,在canvas渲染模式改为摄像机渲染时会用到


转载:https://blog.csdn.net/weixin_44453949/article/details/116240273
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场