UG4——FairyGUI系列

UI系统第四部分——系列代号UG4

FairyGUI

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

需要时可以在FairyGUI官网上去查看官方文档:
编辑器教程:编辑器使用基础 - 编辑器教程 | FairyGUI
UnitySDK教程:特色功能 - Unity SDK 教程 | FairyGUI

FairyGUI编辑器部分功能专业版才有

本系列学习内容:

  • FairyGUI基础

    • 基础必备

      • FairyGUI编辑器下载和UnitySDK下载

      • 编辑器基础使用

      • 项目设置

      • 包的概念

      • 组件

      • 发布UI

      • 使用发布的UI

        • 加载包
        • UIPanel加载界面
        • 动态加载界面
        • StageCaera和UIContentScaler
        • UIConfig
    • FairyGUI中的基础元件

      • 元件

      • 图片

      • 图形

      • 动画

        • 序列帧动画元件
        • 骨骼动画元件
      • 装载器

      • 3D装载器

    • FairyGUI中的控件

      • 文本

        • 文本控件
        • 字体的处理
        • 富文本控件
      • 输入文本

      • 控制器

      • 关联系统

      • 标签

      • 按钮

      • 进度条

      • 滑动条

      • 滚动条

      • 滚动容器

      • 列表

      • 下拉框

    • Unity中的使用

      • 组件拓展类
      • 分辨率自适应
      • 坐标系统
      • 输入处理
      • 事件机制
      • 拖拽相关
      • 插入模型/粒子/Canvas
      • DrawCall优化
  • FairyGUI进阶

    • 分支

    • 多国语言

    • 窗口

      • 窗口基础使用
      • 窗口高级使用
    • 弹出功能

    • 曲面UI

    • 动效

    • 其它功能

FairyGUI的工作方式

  1. 在FairyGUI编辑器中编辑UI
  2. 将编辑好的UI导出对应资源(图集和配置文件)
  3. 将资源导入对应引擎后,结合FairyGUI提供的运行库(SDK) 进行UI功能的制作

拼面板——注意事项

  1. 关联系统的相关设置,之后的分辨率自适应的关键
  2. FairyGUI中关键元件名的命名(title,icon,frame等等)
  3. 拼面板要高度还原美术同学示意图

写代码——注意事项

  1. 面向对象思想
  2. 面板跳转流程梳理
  3. 数据管理

必须达到的水平

能够使用FairyGUI进行游戏UI开发

  1. 拼界面:能够熟练制作各种界面
  2. 写代码:熟练利用组件拓展类和窗口类进行面向对象思想编程
  3. 分辨率自适应:GRoot相关API使用和关联系统的使用

关于FairyGUI的Unity代码

FairyGUI的Unity代码是能被直接看到的,随着自己的能力提升
以后可以深入去了解一下它的一些逻辑实现,每一个元件的代码相关我只讲了重要的
可以通过元件对象点出它的所有公共成员进行使用和设置

FairyGUI相对其它UI的优势

  1. 功能更强大
  2. 跨引擎
  3. 将拼界面工作分离出引擎

但是具体选择哪一种UI解决方案,还是要根据你们的团队情况决定

FairyGUI的优缺点

  • 优点

    1. 可以让美术同学使用编辑器进行UI面板的拼凑,降低美术同学的学习成本,美术不用学习如何使用游戏引擎
    2. 方便项目UI部分的移植
    3. FairyGUI提供了比UGUI、NGUI更多的功能,方便我们的使用
  • 缺点

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

为什么要学FairyGUI

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

  1. 目前市面上有不少公司使用它,学习它可以提高你的就业竞争力,让你迅速上手
  2. FairyGUI具备一定的竞争力,它不仅跨引擎,还提供了很多额外功能供我们使用。在Unity引擎中,相对UGUI和NGUI来说,更加方便
  3. 我们可以更方便的将拼凑UI的工作交给美术或者策划,让程序员专注于程序开发