UGUI 浅谈Canvas

UGUI是Unity5.0版本以后才开始出现,而NGUI是在4.几的版本已经出现了,所以UGUI没有NGUI功能完善。UGUI与NGUI最大的区别在于图集的方式,在UGUI中是不存在图集的,只有当项目打包成程序的时候,Unity就会自动把图片或者Sprite打包成图集。


UGUI 浅谈Canvas_第1张图片
Paste_Image.png

Canvas UI渲染方式

画布,所有的UGUI控件都必须在它的范围内,我们也可以创建多个Canvas


UGUI 浅谈Canvas_第2张图片
Paste_Image.png

右键单击,我们先创建一个Canvas,在创建这个的时候我们会发现他会自动生成一个EventSystem,(这个在后边会讲到),这是个事件系统在项目中有且只有一个。同时我们也发现,UGUI跟NGUI第一个区别就是没有摄像机,UGUI是通过渲染器直接渲染进去的。我们接着看Canvas的 Inspector面板


UGUI 浅谈Canvas_第3张图片
Paste_Image.png
  • RectTransform 这个在每个UGUI元素上边都带的有,而这个是灰色的我们不能修改。
  • Canvas
  • Render Mode
    1:Screen Space-Overlay:这种模式层级视图中不需要任何的摄像机,且UI出现在所有摄像机的最前面。
    而其中的Target Display这个适合Game视图和MainCamera都是相互对应的
UGUI 浅谈Canvas_第4张图片
Paste_Image.png

UGUI 浅谈Canvas_第5张图片
Paste_Image.png

2:Screen Space-Camera:这种模式需要绑定一个UICamrea,这种和NGUI 的渲染模式一样,甚至我们选这个的时候,UGUI的一些控件可能不能正常工作,(它支持UI前面显示3D对象和粒子系统,这句话是我在网上看到的,不甚理解,更不知真假)。
3:World Space:此时的UGUI和3D物体是一样的,可以被其他物体遮罩,UI离摄像机越远越小。

  • CanvasScaler 适配方式
  • UI Scale Mode字面理解就是UI缩放模式
    1 Constant Pixel Size 固定像素,不缩放。
    2 Scale With Screen Size 根据屏幕大小来缩放,下边的几个选项就是适配方式,大家可以自行研究


    UGUI 浅谈Canvas_第6张图片
    Paste_Image.png

    3 Constant Physical Size 固定的物理尺寸(个人理解固定物体在世界坐标系的大小,不缩放)

  • Graphic Raycaster(不甚理解,猜测估计跟射线碰撞有关系)

注意

我们以前在NGUI 用代码去改变UI控件元素时,直接用脚本获取他的组件就可以,但是在UGUI中,我们需要注意几个点

  • 首先需要添加命名空间UnityEngine.UI
  • 加载预制体的时候要用泛型或者反射这两种方法去添加,用普通的会加载不了。
  • 改变他的图片时,后边不再是String型,而Sprite,我们要注意


    UGUI 浅谈Canvas_第7张图片
    Paste_Image.png

你可能感兴趣的:(UGUI 浅谈Canvas)