Unity UI系统——FairyGUI

1,423 阅读3分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第32天,点击查看活动详情

FairyGUI是什么

FairyGuI是跨引擎的开源UI解决方案。包含一个UI编辑器以及多个流行游戏引擎的运行库(SDK)支持包括 Unity,Unreal,Cocos2dx,Egret,Laya,Flash等等游戏引擎。

FairyGUI的工作方式
  1. FairyGUI编辑器中编辑UI

  2. 好的UI导出对应资源(图集和配置文件)

  3. 资源导入对应引擎后

结合FairyGUI提供的运行库(SDK)进行UI功能的制作

FairyGUI的优缺点
优点

1.可以让美术同学使用编辑器进行UI面板的拼凑,低美术同学的学习成本,美术不用学习如何使用游戏引擎。

2.方便项目Ul部分的移植。

3.FairyGUl提供了比UGUI、NGUI更多的功能,方便我们的使用。

缺点

由于它是跨引擎的工具,对部分引擎支持不到位,使用时会遇到一些bug但Untiy作为主流引擎,相对来说问题较少。

为什么要学FairyGul

虽然FairyGUI相对UGUI来说不是主流UI开发系统旦是还是有学习它的必要。

1.目前市面上有不少公司使用它,学习它可以提高你的就业竞争力,让你迅速上手。

2.FairyGUI具备一定的竞争力,它不仅跨引擎,还提供了很多额外功能供我们使用。在Unity引擎中,相对UGUl和NGUI来说,更加方便。

3.我们可以更方便的将拼凑UI的工作交给美术或者策划,让程序员专注于程序开发。

FairyGUI和UGUI类比

从基础角度

UGUI是基于Unity编辑器的,相比于以前的UI技术方案有了很大的提升,虽然扩展性强一些,但想要实现的更炫,更优雅,还是需要从程序角度下功夫,延长了开发周期和人员占用

FariyGUI是一个独立的编辑器,可视化的操作,各种动效点点鼠标即可实现,虽然扩展性差了点,但想要的效果基本都能实现,再高深的效果深入学习下FairyGUI也能再自己扩展。

从技术角度

Unity的锚点系统可以说很优秀了,快捷默认的十几个锚点工具帮助开发人员快速定位,但也存在缺点,因为锚点是针对父物体的,所以要考虑好各种父子关系,搞不好就懵了。

FairyGUI除了支持官方的锚点系统,还有自己的关联系统,任意俩组件关联,不用考虑任何的父子关系,这就像Android里面的相对布局。

从提供的基本组件数量上来看,FairyGUI明显多很多,从动画效果上看,FairyGUI实现起来更迅速

从整体角度

UGUI仍然在Unity编译器中操作,和项目不分开,需要有些动效的话,就需要写代码,多人开发的话很可能代码耦合

FariyGUI是真的将UI分出单独的工作,她都在自己的UI编辑器中完成,不需要代码。键的是利用FairyGUI可以妥善划分工作模块,比如将UI这块分给前端开发或者UI设计人员(我们公司前端和UI空闲时间较多),这样既可以减轻Unity开发的压力,还能让其他员工行动起来,从项目角度缩短开发周期。当然了刚开始的时候沟通成本可能有些花费,节点命名层次结构需要相互约定好,员工之间多磨合熟练增进下友谊也挺好。