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
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也可以做到,后面再补充哈哈哈