Unity —— EditorToolbox
EditorToolbox
Unity便携的编辑器扩展插件,可以帮助开发Unity面板,使开发更方便寻找自己所需的内容
EditorToolbox 的使用
命名空间:using KevinCastejon.EditorToolbox
1 [HeaderPlus("Path", "Title", Color)]
如Unity原生的 [Header("Title")] 一般,目前有4个重载,支持三个参数
Path:是图标的文件路径,例如 Assets/Resources/Image/Health.png
Title:是抬头的标题,例如 “生命值”
Color:目前原生支持的几个快捷可置入颜色,例如 (int)HeaderPlusColor.green)
Color.red,
Color.green,
Color.blue,
Color.white,
Color.black,
Color.yellow,
Color.cyan,
Color.magenta,
Color.gray,
Color.grey
Color:第二种颜色输入方式为 0~1 的float值,为4个输入参数,按顺序分别对应Color的 R G B A
生成如下:
2 [HideOnPlay(bool init = false)]
使用该方式时,会影响编译器在运行时的参数显示与隐藏,不输入布尔值时默认为启动编译为隐藏数据
生成如下:
3 [Icon("Path")]
对面板显示图标,方便理解或知道对应参数的作用
Path:是图标的文件路径,例如 Assets/Resources/Image/Health.png
生成如下:
4 [LabelPlus("Path","Title",Color)]
与 [Icon] 或者 [Header] 相似,可以在面板上添加图标、标题、颜色
Path:是图标的文件路径,例如 Assets/Resources/Image/Health.png
Title:是抬头的标题,例如 “生命值”
Color:目前原生支持的几个快捷可置入颜色,例如 (int)LabelPlusColor.green)
Color.red,
Color.green,
Color.blue,
Color.white,
Color.black,
Color.yellow,
Color.cyan,
Color.magenta,
Color.gray,
Color.grey
Color:第二种颜色输入方式为 0~1 的float值,为4个输入参数,按顺序分别对应Color的 R G B A
生成如下:
5 [ReadOnly]
生成只读的一条参数,即可以观看参数值但不可编辑,与 [Inspector] 面板下的 [Debug] 模式类似
生成如下:
6 [ReadOnlyOnPlay(bool init = false)]
与 [HideOnPlay] 类似,声明后未输入布尔值参数默认为启动时关闭参数,但是与 [HideOnPlay] 所不同的是启动游戏是并非是隐藏,而是阻止其参数被面板动态更改
生成如下:
7 [Scene]
使场景可以如选项按钮一样直接使用
生成如下:
8 [Tag]
使标签可以如选项按钮一样直接使用
生成如下:
9 CustomEditorGenerator(自定义编辑器生成器)
使用方法如下:
10 CustomPropertyDrawerGenerator(自定义属性层级生成器)
使用方法如下:
11 StateMachineGenerator(状态机生成器)
打开方式:Window ——> StateMachineGenerator
Prefix name:这里输入你要给状态机生成的名字
Number of states:这里输入你要给当前状态机生成多少个状态
Default:状态的默认初始值为当前勾选的状态
State 0:状态栏中依次填入你想要给当前状态定义什么名称
‖
Code styling parameters:
Use regions:是否要给状态机生成脚本中使用 #region 隐藏各个功能模块
Space regions:是否要给每个隐藏功能模块之间添加空格
Group by state:按状态分组(需要勾选 Use regions 生效)
Group by phase:按阶段分组(需要勾选 Use regions 生效)
分组区别如下:
12 纹理最大尺寸设置器
使用方法如下:
13 Cone(锥体)
使用方法如下:
Pivot At Top:是否在(锥形)顶部枢轴
Orientation:锥形的顶点方向(X/Y/Z)
Invert Direction:是否反转当前方向
Is Trigger:触发器开关(连接碰撞体的 Is Trigger)
Material:锥形的材质球
Cone Sides:锥面数量(如果设置为3可变为三角形)
Proportional Radius:比例半径
Cone Radius:锥面半径
Cone Height:锥形高度
14 Game Objects Toggler(游戏对象切换器组件)
使用方法如下:
15 Trigger Notifier(触发通知程序)
使用方法如下:
未明白功能的一些组件
1 HideOnPrefab(隐藏在预制件上)
2 ReadOnlyOnPrefab(只读在预制件上)
3 AnimationGenerator(动画生成器)
上述中的在预制件上隐藏或只读,但是不管是在编译还是启动项目都毫无变化,脚本的参数依旧是一样的,更改面板并没有发现被阻止。同时打开 [Inspector] 面板上的 [Debug] 模式,同样能修改的还是能修改。
动画生成器看实例有点好像是懂了,但又没完全懂,所以这部分如果之后有用到或者了解到使用方法后会将其更新上去
总结
EditorToolbox 组件实用性完全可行,而且调用方式简单,导入插件后,引入命名空间即可完成许多可视的面板操作,同时参数英文但是标题可以是中文这一点,对于代码后期的维护或者开发中的查找理解都非常方便
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了