更新日期:2024年12月30日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]
索引
- 问题再现
- 通过Tag搜索物体(SearchByTag)
- 打开SearchByTag窗口
- 搜索标记指定Tag的所有物体
- 批量修改Tag
- 搜索Undefined状态的所有物体
- 通过Layer搜索物体(SearchByLayer)
- 打开SearchByLayer窗口
- 搜索标记指定Layer的所有物体
- 批量修改Layer
- 搜索MissingLayer状态的所有物体
问题再现
我们可能会遇到这样的场景,比如需要定义一个Tag用来标记不会移动的建筑物件
,我们新建了一个Tag叫Build
,用它来标记这些物件。
在未来的某一天,出现了会移动的建筑物件
,所以在Tag上要做出区分,我们需要将Build
修改为StaticBuild
,由于Tag不支持修改,只能先删除旧的,再添加新的。
那么问题来了,我们如何找到以前的所有标记为Build
的物件?手动找虽然可行但场景和预制件太多的话绝对要命!而且在删除Build
添加了StaticBuild
后,以前所有标记为Build
的物件的Tag都会丢失,变为Undefined
状态。
通过Tag搜索物体(SearchByTag)
此时,我们便可以借助SearchByTagToolkit
来快速应对这一变故。
打开SearchByTag窗口
通过以下菜单打开SearchByTag窗口:
搜索标记指定Tag的所有物体
支持在当前场景
或当前编辑的预制件
中搜索标记了指定Tag的所有物体:
你可以通过此方式找到所有标记为Build
的物体,将其修改为新的StaticBuild
后,再删除Build
Tag。
批量修改Tag
此时可点击窗口下方Modify Tag Batch
(批量修改标签)按钮,将所有物体批量修改为指定Tag:
搜索Undefined状态的所有物体
当然,如果你已先一步删除Build
标签,此时所有标记了该Tag的物体都会处于Undefined
状态,那么处理起来也简单,只需要搜索所有Undefined
状态的物体:
然后再使用Modify Tag Batch
功能,将其修改为你需要的Tag即可。
通过Layer搜索物体(SearchByLayer)
同理,我们也可以借助SearchByLayerToolkit
来快速应对Layer的变化。
打开SearchByLayer窗口
通过以下菜单打开SearchByLayer窗口:
搜索标记指定Layer的所有物体
支持在当前场景
或当前编辑的预制件
中搜索标记了指定Layer的所有物体:
批量修改Layer
此时可点击窗口下方Modify Layer Batch
(批量修改层级)按钮,将所有物体批量修改为指定Layer:
搜索MissingLayer状态的所有物体
当然,如果你已先一步删除了一个Layer,此时所有标记了该Layer的物体都会处于MissingLayer
状态,那么处理起来也简单,只需要搜索所有MissingLayer
状态的物体:
然后再使用Modify Layer Batch
功能,将其修改为你需要的Layer即可。