美文网首页UnityEditor
Unity3D 中心化数据管理小工具 - UniInspect

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

作者: SkyrimWu | 来源:发表于2019-01-08 12:12 被阅读0次

    前言

    平时在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版本中进行测试:

    • ✅ 2017.x.x

    • ✅ 2018.1.x

    • ✅ 2018.2.x

    • ❌ 2018.3.x (not supported yet)

    • ❓ Older than 2017.4.x

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

    安装

    方法一

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

    方法二

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

    使用

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

    其他

    • 支持显示装饰性Attribute(自带的Range/Header等,也支持自己编写的)
    • 支持显示自定义PropertyDrawer

    结语

    • 这是一个快速制作出来的小工具,可能会有莫名其妙的Bugs。

    • 有啥问题github上、或者评论私信都可以。

    • 最后希望大家用的开心

    相关文章

      网友评论

        本文标题:Unity3D 中心化数据管理小工具 - UniInspect

        本文链接:https://www.haomeiwen.com/subject/ozyvrqtx.html