unity的ugui-4.canvas

目录

    • Canvas
    • Canvas Scaler

Canvas

1.Screen Space - Overlay

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

2. Screen Space - Camera

unity的ugui-4.canvas_第1张图片

这种渲染模式 Canvas 和 摄像机之间有一定的距离 , 比如可以让2d的image通过旋转来达到3d效果
unity的ugui-4.canvas_第2张图片
也可以播放一些粒子特效

3. World Space

让Canvas 就和普通的 3D 物体一样了 , 可以控制它的大小,旋转,缩放等 , 一般用来做血条。
unity的ugui-4.canvas_第3张图片unity的ugui-4.canvas_第4张图片
将canvas放在人物下面,将canvas坐标清0,再将slider和Text调至合适数值
unity的ugui-4.canvas_第5张图片
当你没有把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根据高或宽适配
unity的ugui-4.canvas_第6张图片

因为手机大多竖着是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也可以做到,后面再补充哈哈哈

你可能感兴趣的:(unity的ugui,canvas,unity)