关于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的主要内容,如果未能解决你的问题,请参考以下文章