关于Unity中的NGUI和UGUI

Posted 杭者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于Unity中的NGUI和UGUI相关的知识,希望对你有一定的参考价值。

用Unity开发2D游戏,有三套关系

1.GUI:Unity本身的对象

2.NGUI:以前在Unity中广泛来做2D的,是第三方的包,需要安装

3.UGUI:Unity5.X后,Unity找到NGUI的作者,开发了UGUI,变成内置于Unity中的包,官方主推

所有的元素都在Unity的UI工具栏

 

3D做2D游戏的方法:

1: 使用正交摄像机;
2: 使用透视摄像机,将2D元素移动到合适的距离。
例如设计分辨率为 960x640, 得到在3D世界里面一个图片的大小w*h米,将这个图片移动到一定的距离使得正确显示出来
3: tag(视角*0.5) = (h/2) / zeye摄像机到精灵的距离; zeye摄像机到精灵的距离= h / (2 * tan(30));

  960*640的zeye值大约是5.15,也就是要把Image的Z轴设置成5.15,这样才能把Image刚好覆盖整个Game视图屏幕

 

 

1.创建一个2D精灵

2.把Texture Type改为Sprite

3.这时候会出现一个Pixeis Per Unit表示多少像素为一米   

4.把图片拖进Sprite属性

5.旋转直接修改Inspector的Z轴参数

6.缩放X,Y,比例为Z轴标准缩放比例

 

UGUI

底下有一个

1.一个Canvas管理所有的子UI节点:创建的时候会自动创建一个EventSystem节点,用来专门管理事件。如果直接创建一个Text,系统也会自动帮我们创建一个父Canvas节点和EventSystem节点

2.控件(Button,Label)

3.事件响应

 

Canvas节点,有四个组件

1.Rect Transform组件:不能改变,一创建就自动的组件,而且继承自Transform组件

2.Canvas组件:Render Mode:(1)Screen Space (overlay):自适应屏幕空间,覆盖在屏幕最上面,像电视机的菜单一样,总是在最上面 。

                (2)Screen Space (Camera):在没有设置Camera属性的时候,和第Screen Space (overlay)一样。

                (3)World Space:等于用手动设置Scale,等于之前3D做2D游戏的手动方法。使得2D和3D节点很好地融合在一起。

         Plane Distance:2D和3D的遮挡关系,可以把3D游戏弄的远远的,或者近近的。

3.Canvas Scaler组件:就像上面的缩放X,Y,比例为Z轴标准缩放比例

           UI Scale Mode:(1)Content Pixel Size:窗口多大就显示多大的Image节点,不会缩放节点全部显示。

                   (2)Scale With Screen Size:按照屏幕来进行缩放

           Match:不同的分辨率转换的时候的X,Y的转换因子大小,比如960*640转800*480,X,Y的比例缩放因子设置。 

 

Image节点直接点击Set Native Size就会让Image节点自适应在屏幕上,全部显示。

 

Imgae组件是无交互式的组件,可以设置颜色,也可以挂材质球(但是只适用于Screen Space (overlay)),设置贴图属性,preserve aspact保持缩放比。

 

以上是关于关于Unity中的NGUI和UGUI的主要内容,如果未能解决你的问题,请参考以下文章

关于Unity中的NGUI精灵

关于Unity中的NGUI字体

Unity NGUI和UGUI与模型特效的层级关系

Unity学习笔记——关于Dropdown的学习

关于Unity的NGUI

关于Unity中NGUI图片精灵响应鼠标的方法