Unity UI系统-UGUI简介

2020-11-10 14:34发布

UGUI的简介:

UGUI系统是从Unity 4.6开始,被集成到Unity的编辑器中Unity官方给这个新的UI系统赋予的标签是:灵活,快速和可视化!,简单来说对于开发者而言就是有三个优点:效率高效果好,易于使用,扩展,以及与Unity的兼容性高。

在不使用任何代码的前提下,就可以简单快速额在游戏中建立其一套UI界面,这在过去是绝对不可想想的,但是新的UI系统确实做到了这一点因为Unity预定义了很多常见的组件,它们以“游戏对象”的形式存在于游戏场景中。

4.6之前的UI

void OnGUI(){

//添加一个图片

GUI.DrawTexture(new Rext(L LeftX,eftY,miniMapWidth,miniMapHwight),backGround);

//做一个按钮,Rect(屏幕的位置,大小),

if(GUI.Button(new Rect(30,100,100,50),"按钮上的文字")){....按下按钮要执行的语句...}

}

与NGUI的区别:

1,uGUI的Canvas有世界坐标和屏幕坐标

2,uGUI的Image可以使用material

3,uGUI通过Mask来剪裁,为NGUI通过Panel的Clip

4,NGUI的渲染先后是通过Widget的Depth。而uGUI渲染顺序根据Hierarchy的顺序,越下面渲染在顶层

5,uGUI不需要绑定Colliders,UI可以自动拦截事件

6,uGUI的Anchor是相对父对象,没有提供高级选项,

7,UGUI没有Atlas,使用Sprite

8,uGUI的事件需要实现事件系统的接口,但写起来也算简单

Canvas简介:

Render Mode - 渲染模式

  Canvas 中的 Render Mode 设置,用来决定它以屏幕空间进行渲染还是以世界空间进行渲染,有三种设置方式。

1、Screen Space - Overlay

  这种渲染模式将屏幕上的 UI 元素渲染在场景的最顶层。如果屏幕的大小或者分辨率发生了变化,Canvas 也会自动改变大小,和屏幕的保持一致。


2、Screen Space - Camera

  这个渲染模式和 Screen Space - Overlay 相似,在这种模式下,Canvas 会处于指定摄像机的前方,距离可以调整。UI 元素通过这个摄像机来渲染,摄像机的设置会影响 UI 的外观。如果摄像机设置为了透视,UI 元素也会以透视呈现,并且透视的形变量可以通过摄像机的 Field of View 来控制。如果屏幕的大小或者分辨率发生了变化,或者摄像机的视锥发生了变化,Canvas 同时也会改变大小,和屏幕保持一致。

3、World Space

  在这种渲染模式下,Canvas 就和场景中的其他游戏对象一样。Canvas 的大小能够手动地通过 RectTransform 来设置,并且 UI 元素会根据在 3D 场景中的放置位置,来决定渲染在场景中其他对象的前面还是后面。当我们想让 UI 成为世界场景的一部分时非常有用。这也被称作“叙事化界面(Diegetic Interface)"。




作者:Czhenya

链接:https://czhenya.blog.csdn.net/article/details/77864652

来源:CSDN
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。