UnityEditor

Unity3D 中心化数据管理小工具 - UniInspect

2019-01-08  本文已影响0人  SkyrimWu

前言

平时在Unity上开发,没办法将所有的数据配表或者项目体量不大的时候,我们会将字段暴露在GameObject上,在Inspector上直接方便的修改。

有些时候我们也会用ScriptableObject作为我们定制化的数据容器进行数据的存储,能快速的在Editor上面预览和修改。

可是如果一旦这些Object多起来后,不像配表一样,可以同一时间针对目标字段进行批量修改;在Editor上,不同的字段往往是分散到一个个独立的GO/SO中,甚至还不是在hierarchy的最上层,在Editor上查看/比较/修改则变成非常困难。

介绍

一直没有非常重视这个问题,也没有中心化数据管理的这个概念,直到有一天我在商店看到了这个插件

Design Variables - Asset Store​assetstore.unity.com 图标 image

是一个几乎Editor Only的插件,只需要在需要的字段上面标注一个属性,就能在自定义窗体中找到所有有相关字段的资源,并且对其修改。

但是这个插件有两个问题:

  1. Design Variables is an asset MADE WITH ODIN. This means this asset requires you to have the ODIN INSPECTOR asset. Desgin Variables是一个用Odin Inspector制作的插件。这就意味着你必须有用Odin Inspector才能使用这个插件。脱离奥丁就用不了的话限制就比较大。

  2. 这是一个收费插件,目前的售价在4.99刀。。。我也没买。

于是,我花了一小点时间,做了个功能差不多插件,并且将其开源了。

这个工具拥有以下几个特性:

  1. 数据中心化

  2. 筛选、查找结果

  3. 支持多个组件显示

  4. 编辑器工具,对工程代码少侵入

  5. 可折叠查找结果

  6. 结果分页显示

需求

在以下Unity版本中进行测试:

Unity 2018.3.x由于使用了新的PrefabSystem,暂时没有支持到这个版本的Unity。

安装

方法一

  1. github仓库中clone/直接下载zip获得代码,直接添加到工程中即可。

方法二

  1. 将项目作为submodule添加你的工程中即可。

使用

  1. 将可序列化的字段以[UniInspect]来标记
  1. 在UniInpect/Browser中查看结果

其他

结语

上一篇下一篇

猜你喜欢

热点阅读