UED——Unity编辑器拓展

前置知识:C#,Unity前三部曲,IMGUI,UGUI

Unity编辑器拓展

学习Unity编辑器拓展的主要用处就是制作开发工具,提升我们的游戏开发效率
我们可以把一些常用的工作流程工具化

  1. 数据可视化 (在Scene窗口实时查看数据表现)
  2. 辅助功能开发 (对资源进行二次处理)
  3. 游戏工具开发(地图编辑器、数据编辑器、技能编辑器等等)

等等

Unity编辑器拓展相关更多的只是一些辅助性功能,编辑器开发的重点是要更具游戏需求来开发提升效率的辅助工具
比如:技能编辑器、地图编辑器、剧情编辑器、关卡编辑器 等等,开发这些工具的难点其实不在于编辑器拓展相关API的使用
而是在于具备的编程能力,如果能够独立开发出游戏中的这些相关系统,那么编辑器开发会是一门信手拈来的技能

编辑器拓展的更多内容:

本系列学习内容

  • 自定义菜单栏拓展

  • 自定义窗口拓展

  • EditorGUI相关(自定义编辑器窗口控件相关)

    • 文本、层级和标签、颜色
    • 枚举、选择、按下按钮
    • 对象关联、各类型输入
    • 折叠、折叠组
    • 开关、开关组
    • 滑动条、双滑块滑动条
    • 帮助框、间隔
    • 动画曲线、布局
  • EditorGUIUtility公共类(自定义编辑器窗口绘制相关)

    • 资源加载
    • 搜索框查询、对象选中提示
    • 窗口事件传递、坐标转换
    • 指定区域使用对应鼠标指针
    • 绘制色板、绘制曲线
  • Selection公共类(获取当前在编辑器上选择的资源相关)

  • Event公共类(获取和检查用户在编辑器上的输入相关)

  • Inspector窗口拓展 (重写继承MonoBehaviour​的脚本在Inspector窗口上的显示相关)

    • 基础知识
    • 数组、List属性
    • 自定义属性
    • 字典属性
  • Scene窗口拓展

    • Handles公共类(主要用来在Scene窗口上编辑器控制手柄,也可以绘制一些辅助内容)

      • 文本、线段、虚线
      • 弧线、圆、立方体,几何体
      • 移动、旋转、缩放
      • 自由移动、自由旋转
      • 显示GUI
    • HandleUtility公共类(坐标转换相关)

    • Gizmos公共类(主要用来在Scene窗口上绘制辅助内容)

      • 颜色、立方体、视锥
      • 贴图、图标
      • 线段、网格、射线
      • 球体、网格线
  • EditorUtility公共类(提供编辑器拓展的辅助方法)

    • 编辑器默认窗口相关(弹出消息窗口,进度条等)
    • 文件面板相关(通过文件面板选择文件或文件夹保存或打开的路径)
    • 其他内容(压缩纹理和查找对象依赖项)
  • AssetDatabase公共类(在编辑器环境中管理和操作项目中的资源)

  • 更多内容

    • PrefabUtility公共类(处理预制体相关,包括 实例化预制体、创建预制体、修改预制体 等等)
    • EditorApplication公共类(编辑器本身相关的一些功能,事件监听(播放、暂停等)、生命周期判断、进入播放模式、退出播放模式等)
    • CompilationPipeline公共类(用于处理代码编译相关的操作和事件,可判断脚本是否编译结束)
    • AssetImporter 和 AssetPostprocessor(资源导入批量设置,资源导入后处理)