寒郁轩良 发表于 2020-12-28 20:41

Unity3D几款GUI插件推荐

在游戏开发过程中,UI系统的开发虽然看似简单,但是想要高效稳健的实现各种效果的UI系统确是一件繁琐的事情。其中涉及到的UI管理、资源的加载/卸载、特效/3D模型的层级管理、UI动画的实现方式、数据的管理、各种消息的分发等等,这些都是在UI系统开发过程中常见的问题。
目前市面上绝大部份Unity开发的游戏中都是使用UGUI或NGUI作为其GUI系统,前者是Unity官方自带并且长期维护的,后者在UGUI没有出现时就已经诞生。这两款GUI系统各有千秋,两者都提供了一些基础组件,但是在游戏开发过程中,出于美观或性能考虑,你可能需要实现各种各样的UI效果,比如:翻书效果、图文混排、滚动效果、虚拟列表等等,这些在原生的UGUI和NGUI中并不自带。当然通过扩展UGUI或NGUI也是可以实现这些功能的,但是对于一个想要快速上线的项目时间就意味金钱。一款功能齐全好用的GUI组件库对于UI开发来说不亚于侠客的神兵利器。下面推荐几款好用的Unity GUI插件。
1.UnityUIExtensions

顾名思义UnityUIExtensions就是UGUI的扩展插件,并且此插件开源免费,作为UGUI的扩展包,不仅增强了UGU的某些原生组件,更是在此基础上增加了许多新组件。
新增UI组件:
Accordion:Acordian 样式的控件,使用动画片段。ComboBox:组合框控件。HSVPicker:颜色选取器 UI。SelectionBox:RTS 样式选择框控件。HorizontalScrollSnap:弹性滚动列表。UIButton:改进的按钮控件与其他事件。UIWindowBase:可拖动窗口的实现。ComboBox:对于文本的固定组合框实现。AutoCompleteComboBox:自动完成选择文本组合框。DropDownList:一个基本的下拉列表中的文本和图像支持。BoundToolTip:工具提示。
Effect 组件
BestFitOutline:改进的轮廓效果。CurvedText:Text顶点manipulator。Gradient:适用于任何UI对象的顶点颜色渐变。LetterSpacing:允许 finers 文字间距控件。NicerOutline:另一个outline 控件。RaycastMask:强化的mask 组件能够处理的图像数据的一个例子。启用对映像部件并不只是Rect Transform。UIFlippable:图像组件,翻转图形效果。
Additional 组件
ReturnKeyTrigger:TabNavigation:选项卡导航。FlowLayoutGroup:更高效的网格样式布局组。
还有更多其他组件就不在这里一一展示了,插件下载链接:
2.Doozy UI

Doozy UI是Unity UI视图层的框架,本身使用的还是UGUI的组件,但提供了一套强大的UI管理功能,可以很方便的实现一些炫酷效果,方便的UI系统管理与事件传递机制。
Button事件绑定
可以方便的实现UI群组的管理,实现多个UI的互斥与切换。
UI 元素的分类与命名
相对于Unity原生的GUI系统Doozy UI有以下优点:
使用本地uGUI简单易学,直观的设计高级编辑器集成UI动画系统用户界面导航系统UI效果,用户界面内的ParticleSystems用户界面通知系统用户界面触发器,零代码场景加载器
下载链接:
3.FairyGUI

严格来说FairyGUI并不是Unity的插件,而是有着自己独立编辑器的一套GUI系统,几乎支持市面上绝大多数游戏引擎,社区支持也算不错。
FairyGUI编辑器
编辑器使用习惯与Adobe系列软件保持一致,对于美术也可以轻松上手。并且包装了一些概念,使得界面瓶装十分方便,如关联=>屏幕适配 、控制器=>状态控制等等。提供了丰富的组件,几乎涵盖游戏内所有常用效果。内置了一些游戏内常用效果:Loading、预告、强调等等。解决了一些UI中常见问题,特效裁剪、模型裁剪等等。自带图集支持Alpha通道分离,在贴图压缩和机型兼容上可以直接应用到。相对于UGUI和NGUI提出的动静分离的DrawCall优化方案,FairyGUI优化技术是动态后期优化,在制作时对UI人员基本没有要求。(在实际测试过程中使用UGUI和FairyGUI制作相同的界面,FairyGUI的DrawCall只有UGUI的1/3,但是Saved by batching却是后者的3倍,FairyGUI的文档中提到“深度调整技术”就是提交顶点数据到GPU前先通过CPU将材质调整到连续的RenderingOrder值上,虽然降低了GPU的使用但是却消耗了CPU的使用)
总的来说FairyGUI作为一款优秀的游戏GUI系统,一旦熟悉了它的工作流程,UI开发会变得非常方便,由于FairyGUI是使用AS3开发的,配合上psd2fgui工具,可以很方便的从美术的PSD原图一键生成FairyGUI文件,极大提升开发效率。
FairyGUI官网:
其他

除了以上提到的Unity GUI系统外,还有一些非主流的方式实现的Unity GUI,比如使用HTML和CSS样式实现的GUI:PowerUI;将响应式编程应用到Unity中的插件:UniRx,虽然这并不是一套GUI系统,但是其设计思想对UI的开发却是友好的。
页: [1]
查看完整版本: Unity3D几款GUI插件推荐