Unity UI

UGUI滚动视图ScrollView的使用教程之简易背包

 

本篇文章我们来看下Unity New UI即UGUI,利用滚动视图ScrollView来创建简易背包,下面我们看具体步骤!

Unity3d中,UGUI提供了 Scroll Rect、Grid Layout Group、Mask这三个组件,我们用来实现滚动视图,这里用一个简易的背包作为示例。

首先我们放置好背包的底层方框,如下图。

More

Unity UGUI渲染小地图

 

本节我们来学下下载unity new UI即UGUI中实现小地图的制作,关于小地图的制作,我们在如下文章也也做过介绍

Unity教程之-Unity3d游戏开发之小地图的实现

Unity教程之-Unity3d游戏开发之小地图的再实现

制作类似 RPG 游戏时,可能会需要显示小地图。小地图的制作一种方式是用另一个摄像机来渲染到一张纹理上,实时显示到UI界面。

以Unity 5.0 的 UI 系统为例:
在地图正上方放置一个摄像机,设置其 Culling Mask,比如:Ground(地面)、MinimapSign(玩家怪物标识),创建一张 Render Texture,将 Target Texture 属性指向这张纹理图片,如下图所示:

More

Unity4.6 UI实现tabs标签

 

unity游戏开发中tab标签页想必会在很多地方用到,可能NGUI以及daikon forge GUI比较成熟,所以常用的控件比如listView,Table表格以及TabPage都有现成的模板例子,本篇文章我们来学习下,如何在unity new ui中实现tab标签页,不多说了,上图

下面我们来简单介绍下ugui tabpage制作过程,博主参考了NGUI的tabpage,贴上核心代码 More

Unity教程之-Unity4.6UI图片打包设置(小图打包成图集 SpritePacker)

 

在学习UGUI的过程中,一直使用小图也就是散图,一个按钮一个图片,一个图标一个图片,这样每一个图片都有一个Drawcall。

之前公司的游戏都是使用Unity4.3+NGUI,在NGUI中可以使用Texturepacker,先把小图片打包成一张大图,然后在NGUI中设置引用大图中的哪一块作为图片,这样能减少很多Drawcall。

但是在UGUI中没有办法使用Texturepacker了,也迷糊了几天。

之后一直在百度谷歌寻找,才发现原来Unity4.6中自带了图集打包工具SpritePacker。

在Unity4.6中,我们把一张图片拖入到Project中,可以设置它的用途,是Texture还是作为2DUI使用。而且注意到多了一个 Packing Tag的设置项。这个设置项就是设置小图打包成大图后的atlas的名称!

注意:

放在Resources中的图片,Unity不会打包到图集中!

来看下面的实例:

我在界面中放了7个image,每个image是一张不同的图片

More

Unity4.6UI界面自适应布局

 

Unity4.6新版UGUI,提供了三种基本的界面适配方案。

我们先添加一个Image,这样就会有一个Canvas被自动创建。来看Canvas的属性设置。

Canvas Scaler就是用来做适配的

Reference Resolution表示我们设计界面的时候使用的屏幕大小

Screen match Mode有三种选择,即三种界面适配方案。

如下

Shrink 保持缩放比例,裁切
Expand 缩放不裁切
Match Width Screen Size
如果是Match Width 那么就是适配宽度,把宽度设置为屏幕宽度,然后保持比例
如果Match height,那么适配高度,首先把高度设置为屏幕高度,然后保持比例

Unity4.6 UI实现DropDownList下拉菜单

 

在unity3d中如何在利用UGUI实现下拉菜单DropDownList呢,下面我们来学习下载unity4.6中利用New UI来实现DropDownList,我们来看下效果图先

QQ截图20150320213333 QQ截图20150320213359 QQ截图20150320213422

More

Unity4.6UI-UGUI开源源代码

 

Unity3d4.6 UI即UGUI的开源源代码已经公布,学习源代码我们可以了解UGUI的架构及实现原理,有助于我们我们更深层次的了解UGUI,看一下官方Unity官方的中文指南:

在上个月的Unite大会上,我们宣布了开放源代码的计划,也就是说未来Unity有一些组件将开源。自从我们公布了在BitBucket(源码托 管网站)上的Unity Test Tools项目,我们已经看见众多开发者进行了各种克隆、创建分支、拉取代码的操作(你可以从TestTools工程的仓库中看到工程的发展动态,当然你 也可以在工程的事件追踪器issue tracker中来观察)。此后,我们还发布了Xcode Manipulation API(允许开发者修改和调整所生成的Xcode项目)和iOS Native Code示例项目(给出一些类似于如何整合Unity和Native UI以及进行NativeVideo Rendering的例子)。现在,我们正在加紧Unity4.6版本中的全新的UI系统的开源工作(目前为公测beta版),同时我们也正在制定对于更 多组件进行开源的计划。

下面是下载地址:

UnityUI.txt (下载1014 )

 

Unity4.6 UI自定义UI动画

 

UI系统集成了Unity 的动画系统,即您可以使用状态机或者其他的动画特性来控制UI元素或面板,这种做法稍微有点复杂,而且在关联事件上也有点复杂,那么我们如何自定义实现动画呢,下面以更改CanvasRender的Opacity为例,并且自定义UI动画开始及动画结束事件,我们新建一个名为TweenPlayer的脚本文件

More

Unity4.6 UI实现渐隐渐现(FadeIn FadeOut)效果

 

在做UI后期设计时,我们可能要对UI做一些特效,这篇文章我们来学习下如何在Unity3d中对实现渐隐渐现的效果,

首先我们看下Unity New UI即UGUI中渐隐渐现的做法.

观察我们会发现Unity4.6 UI中每个能够显示控件都会有一个CanvasRender对象,CanvasRender有什么作用呢,我们

看下官方的解释:The Canvas Renderer component renders a graphical UI object contained within a Canvas.简单的

翻译过来就是,画布上的渲染器组件将呈现包含在一个画布内的图形用户界面对象,再仔细查看CanvasRenderer类

时我们可以看到有两个方法SetAlpha ,SetColor,显然我们可以修改透明度Alpha和Color来实现渐隐渐现,同时我

们还可以发现Button,Text,Image等控件都会集成自Unity.UI.Graphic

More

Unity4.6 UI实现ListView

 

Unity4.6 UI又称UGUI,用过NGUI的童鞋都知道,NGUI中已经实现了ListView以及Table等控件,而Unity New UI 我们只能找到

一些简单的Button、Panel、Image、Label之类的控件,那么我们如何在unity3d UI中实现ListView呢,我们发现新的UI系统中有

个脚本叫Vertical Layout Group和Horizontal Layout Group显然从字面我们可以理解前者为垂直布局,后者为水平布局,下面我们就

利用Vertical Layout Group这个属性来实现ListView

先看下最终实现的效果图

More