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的工作交给美术或者策划,让程序员专注于程序开发