本仓库用于存放一些自创的小工具、对Unity的实用扩展、对第三方插件的扩展等。
本插件库从0.1.0版本到0.1.1版本改过包名,如果要跨该版本升级,请先删除本仓库,然后重新安装(更方便的做法是直接修改manifest.json文件中相应的包名,将 _ 改为 - )。
-
方法1:使用Unity Package Manager安装:
本仓库大部分工具都支持使用UPM进行安装,下述每个工具的说明中都附有UPM安装地址,但也有两个例外:- 由于依赖的第三方库没有做成UPM包,导致本仓库的工具无法做成UPM包。如: EasySplinePath2DPlus 。
- Unity2020 只有 2020.3.47f1 及之后的版本才支持 ?path=/folder1/folder2 的形式指定存储库子文件夹中的包,所以如果是 2020.1.0f1 ~ 2020.3.46f1 之间的版本,无法通过UPM安装。
-
方法2:文件夹拷贝至项目中。
BatchRename
支持重命名GameObject和Asset。
- 整体: 重命名为新的名称。
- 替换: 将原名中的一部分替换成别的字符串。
- 「正则表达式」复选按钮: 整体重命名时,用来将与原名匹配到的字符串插入到新名称中,替换重命名时,用来匹配需要替换的内容。
- 起始编号、递增补偿、编号位数: 多个对象重命名可以用编号替换「#」号,实现名称带序号功能。
- 「推测命名按钮」: 将原名剔除序号后去重,随着每次点击依次显示在输入框中。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/BatchRename
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/BatchRename
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/BatchRename
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/BatchRename
- 直接将 BatchRename 文件夹拷贝至项目中。
- 通过菜单项 Tools/WYTools/Batch Rename 打开窗口。
ReferenceReplace
设置一组映射关系列表,将目标内所有对列表左边的引用替换为列表右边。
- 列表: 原引用和替换为的映射表。(本工具不是把列表左边替换为列表右边,而是把对列表左边的引用替换为对列表右边的引用)
- 交换按钮: 在列表标题栏「原引用」与「替换为」之间的按钮,点击可以交换整个列表的左右两边。
- 详情:
- 列表行左右两边对象的类型毫无关系时,会出现警告图标,提示检查对象类型。
- 列表行左右两边对象都是GameObject时,会出现按钮,点击可将两个GameObject都拥有的组件加入映射列表。
- 列表支持拖放:
- 可选中多个对象,拖放到列表左半边或者右半边非ObjectField处,列表高亮区域将被覆盖。
- 拖放时按住Ctrl键,变为插入模式,选中的对象将被插入列表指定位置。
- 操作目标: 可以是场景内的GameObject,也可以是一个文件夹或资产文件。
- 如果目标是个场景内对象,则通过遍历引用进行替换。
- 如果目标是个以 YAML 格式储存的资产文件,则以文本形式打开文件,搜索GUID和FileID并替换保存。
- 如果目标是个以 YAML 格式储存的资产文件,则以文本形式打开文件,搜索GUID和FileID并替换保存。
- 如果目标是个文件夹,则遍历文件夹内所有文件,对每个资产文件进行操作。
AssetsDeepCloner
深拷贝资产——对多个目标资产建立副本,并在副本中保留相互之间的引用关系,而不是引用原文件。
实现方式:
- 将所有原资产的GUID与new出来的新GUID一对一建立映射关系。
- 将原资产文件和对应的meta文件克隆。
- 根据映射关系,将修改克隆得到的meta文件内的GUID改为新的GUID。
- 在克隆得到的资产文件内搜索原资产的GUID并替换为新GUID。
在需要拷贝的单个或若干个资产处右键,点击「克隆(复制内部依赖)」,即可进行深拷贝。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/ReferenceReplace
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/ReferenceReplace
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/ReferenceReplace
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/ReferenceReplace
- 直接将 ReferenceReplace 文件夹拷贝至项目中。
- 通过菜单项 Tools/WYTools/Reference Replace 打开窗口。
TransformSearch
内含多种搜索,搜索结果以节点树的形式呈现。
- 组件搜索: 以选中目标为搜索范围(支持多选,支持Prefab编辑场景,支持Prefab资产),将范围内所有匹配的组件显示出来。
- 选中某个组件脚本,可以出现自动填入类名的按钮。
- 当以完整类名(Assembly.GetType返回不为null)搜索时,以Type对象进行搜索,搜索结果包括派生类对象。
- 当以非完整类名(有命名空间,却未带命名空间)搜索时,以类名字符串进行搜索,搜索结果可能包括不同命名空间的相同类名对象,但不包括派生类对象。
- Layer搜索: 以选中目标为搜索范围(支持多选,支持Prefab编辑场景,支持Prefab资产),将范围内所有匹配的节点显示出来。
- 场景中引用搜索: 以整个场景为搜索范围(支持Prefab编辑场景),将范围内所有引用到所选对象(支持多选)的组件显示出来。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/TransformSearch
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/TransformSearch
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/TransformSearch
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/TransformSearch
- 直接将 TransformSearch 文件夹拷贝至项目中。
- 通过菜单项 Tools/WYTools/TransformSearch/SearchXXX 打开对应窗口。
UITools
提供对齐、同宽高、贴合、成组解组、平均行间距等操作,用于更方便地编辑UGUI。
另外还提供了「图片拖入场景直接创建Image」、「方向键控制节点移动」等功能。
- 对齐按钮: 分为「上」、「中」、「下」、「左」、「中」、「右」共6个按钮。
当选中单个UI节点,则将该节点与父节点对齐。当选中多个UI节点,则将其他节点与第一个节点对齐。
当按住Shift键再点击时,会同时设置节点的轴点。 - 同宽高按钮: 分为「同宽」和「同高」共2个按钮。
当选中单个UI节点,则将该节点与父节点同宽高。当选中多个UI节点,则将其他节点与第一个节点同宽高。 - 贴合按钮: 分为「水平贴合」和「竖直贴合」共2个按钮。
将选中节点的宽高设置为包裹所有子节点的最小尺寸,由于子节点的范围不一定剧中,所以会移动节点坐标。
当按住Shift键再点击时,会保持节点坐标,转而修改节点的轴点。 - 组按钮: 分为「成组」和「解组」共2个按钮。
成组:在当前位置新建一个名为「Group」节点,并将选中的一个或多个节点设为该节点的子节点。
解组:如果选中的节点名称为「Group」,则将其所有子节点设为该节点的父节点的子节点,并删除该节点。 - 行间距按钮: 分为「平均间距」和「平均行距」共2个按钮。
平均间距:以选中的多个节点的最左边节点和最右边节点为两端,平均分布节点间的间距。
平均行距:以选中的多个节点的最下边节点和最上边节点为两端,平均分布节点间的行距。
当按住Shift键再点击时,将会重新定义缝隙(广义缝隙)。 - 按住「Alt」键将图片拖放到 Hierarchy窗口 内的 RectTransform 下可直接创建 Image 。(Unity2021.2及之后版本才支持。)
- 注意: 放开时,必须按住Alt键,且指针指的是一个RectTransform。否则将默认创建SpriteRenderer。
- 按住「Alt」键将图片拖放到 Scene窗口 内的 Canvas框 中可直接创建 Image 。
- 注意: 放开时,必须按住Alt键,且指针指在某个Canvas框内。否则将默认创建SpriteRenderer。
- 按住「Alt」键且 Scene窗口 拥有焦点时,方向键可移动 Transform 。
- 注意: Scene窗口拥有焦点时才可移动。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/UITools
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/UITools
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/UITools
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/UITools
- 直接将 UITools 文件夹拷贝至项目中。
- Unity2021.2及之后版本:在场景窗口的右上角菜单中,勾选 Overlays/UITools 即可出现工具栏。
- 拖动工具栏头部两根线条,可以选择停靠模式或悬浮模式。
- 右键工具栏头部两根线条,可以选择折叠模式或展开模式。
- 悬浮模式下,右键工具栏头部两根线条,可以选择横向布局或纵向布局。
- Unity2021.2之前版本:通过菜单项 Tools/WYTools/UITools 打开窗口。
- 窗口高度大于等于100时,按钮纵向排列。
- 窗口高度小于100时,按钮横向排列。
UGUIExt
慢慢添加中。
- ImageAnimation: 将多个Sprite以序列帧的形式播放。
- RawImageAnimation: 将多个Texture以序列帧的形式播放。
- OutlineMellow: 支持调节层数,从而实现更圆滑的描边。
- TemplateText: 以模板形式赋值文本框,从而实现把文案留在UI界面中,而代码单独控制文案中的变量。
- ContentSizeFitterExt: 增加最大宽高和最小宽高功能,可实现文本框尺寸在字少的时候横向适应文本宽度,字多的时候纵向适应行数的需求。
依赖 UGUI 和 TextMeshPro 。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/UGUIExt
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/UGUIExt
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/UGUIExt
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/UGUIExt
- 直接将 UGUIExt 文件夹拷贝至项目中。
- 按需使用对应组件即可。
TransformInspector
在Transform检视面板最左侧区域新增右键菜单,添加「重置」、「保留2位小数」、「显示Global」三个功能。
在RectTransform检视面板末尾区域新增「保留整数」、「保留2位小数」两个按钮。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/TransformInspector
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/TransformInspector
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/TransformInspector
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/TransformInspector
- 直接将 TransformInspector 文件夹拷贝至项目中。
- 如图所示。
SpriteAtlasInspector
在SpriteAtlas检视面板末尾区域新增「去重」、「深入文件夹去重」、「清空列表」、「添加选中对象」四个按钮。
- 去重: 去除列表中重复的项。
- 深入文件夹去重: 列表中的文件夹如果包含列表中的其他项,也将去除重复的项。
- 清空列表: 清空列表。
- 添加选中对象: 将当前选中的所有对象添加到列表末尾。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/SpriteAtlasInspector
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/SpriteAtlasInspector
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/SpriteAtlasInspector
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/SpriteAtlasInspector
- 直接将 SpriteAtlasInspector 文件夹拷贝至项目中。
- 如图所示。
EasySplinePath2DPlus
在EasySplinePath2D插件的基础上,实现样条线的2.5D化(支持z轴移动、x轴旋转和y轴旋转)。
原版的EasySplinePath2D插件,只能在XY平面上编辑,运行时也只能获取到Vector2坐标。这在3D场景中完全没法用,所以为了让它在3D场景中可用,做了一些修改。
- 数据改用Vector3,支持z轴移动,意味着可以放到3D场景中了。
- 支持x轴旋转和y轴旋转,意味着可以将样条线水平放置,甚至任意放置。
- Scene窗口视角缩放时,节点图标跟着一起缩放,使节点图标看起来像是个3D场景中的物体。
- 支持在3D模式下,样条线完整的编辑功能。
- 购买AssetStore上正版的 EasySplinePath2D 插件, 或将 EasySplinePath2D 文件夹拷贝至项目中(该文件夹只用于配合EasySplinePath2DPlus,商业化使用请购买正版)。
- 将 EasySplinePath2DPlus 文件夹拷贝至项目中。
- 将 EasySplinePath2D 组件替换成 EasySplinePath2DPlus 组件即可。
AudioClipper
支持展示AudioClip对象的波形图,从中截取片段,试听并保存为wav、mp3、ogg文件。
- 展示带标尺的波形图。
- 可在波形图中选中截取区域,并支持拖动区域。
- 可根据阈值裁剪收尾空白。
- 可试听截取的片段。
- 可缩放音量,并在波形图中展示出来。
- 可保存片段到WAV、Mp3、Ogg等音频文件。
AudioVolumeUnify
本工具用于将多个音频统一音量,支持WAV、MP3、OGG三种格式。
- 可选择某个音频的音量作为统一音量,也可以自己设置统一音量。
- 支持以统一音量试音每个音频。
- 输出文件与源文件格式相同,也可以直接覆盖源文件。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/AudioFactory
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/AudioFactory
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/AudioFactory
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/AudioFactory
- 直接将 AudioEditor 文件夹拷贝至项目中。
- 通过菜单项 Tools/WYTools/Audio Clipper 和 Tools/WYTools/Audio Volume Unify 打开对应窗口。
- 点击窗口右上角问号按钮查看使用帮助。
ImageCropping
预览Texture对象,设置裁剪区域,设置圆角,预览裁剪后图片,保存为新文件。
- 以三种方式展示裁剪框数值。
- 在带标尺和滚动条的视口中展示原图。
- 拖动裁剪框边缘可以调整裁剪框,拖动到视口边缘可以自动滚动视口。
- 拖动视口其他位置可以移动整个视口位置,在视口中滚动鼠标滚轮可以缩放视口。
- 支持快捷缩放和快捷设置裁剪区域。
- 两种方式(普通圆角矩形、小米Logo)设置裁剪后的图片的圆角。
- 可实时预览裁剪后的图片。
- 可保存裁剪后的图片到新文件。
- 使用Unity Package Manager安装:
- GitHub:
https://github.com/wy19910222/Unity-Tools.git?path=Assets/Tools/ImageCropping
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/ImageCropping
- Gitee:
https://gitee.com/wy19910222/Unity-Tools.git?path=Assets/Tools/ImageCropping
[email protected]:wy19910222/Unity-Tools.git?path=Assets/Tools/ImageCropping
- 直接将 ImageCropping 文件夹拷贝至项目中。
- 通过菜单项 Tools/WYTools/Image Cropping 打开对应窗口。