Unity excel转protobuf工具

这次放出一个excel导protobuf工具

先上个图

使用方法

导出proto以及对应cs文件和配置bytes文件

1.设置好上图路径

2.一键导出proto(等编译完)

3.一键导出数据(数据导出在resources目录下,可以设Assetbundle不过要自己改导出路径)

注意删掉要删掉配置表路径下的excel表,以及proto文件,bytes文件,还有unity工程Plugins/proto路径下的对应的proto文件

 

unity里面使用

1.一句初始化配置代码

2.获取单个配置的方法(里面传id第一列作为唯一id)

        //只执行一次
        CfgMgr.GetIns().LoadAllConfig();

        //获取配置
        buffConfig cf = CfgMgr.GetCfg().Getbuff(1);
        Debug.LogError(cf.buff_name);

 

工具原理

1.规范excel规范只支持.xlsx 前三行(描述,类型,字段名)如下图

2.读取每个excel表前三行,自动创建单个proto文件,proto文件包括单个配置已经这个配置列表(如下图)

3.最后根据所有表创建一个总表proto

4.利用protobuf工具把proto文件生成cs文件(放在unity里面,需要编译)

5.自动生成获取配置代码GetConfig(不用反射获取)

5.遍历总表代码属性把对应的excel表数据读取出来

6.最后导出bytes文件

 

扩展:配置表数据可以单个表导出避免和别人冲突

改成单个表导出问题不大,单个表加载可以自动生成代码的时候一个加载配置一个方法,然后用个方法把所有加载方法调用一次就可以

 

下面放出工程地址

https://github.com/PieKen/Excel2Protobuf

https://gitee.com/PieKen/Excel2Protobuf

这个工程目前不支持ilruntime(主工程和热更工程用同一份),如果换成protobuf 3 ilruntime版本,也类似只是部分工具改改,我这边已经把工具集成ilruntime unity工程

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Excel换为Protobuf是一种将Excel表格中的数据换为Protobuf协议格式的方法。这可以通过多种方式实现,如使用Python脚本或其他编程工具。引用提到了一种方法,即通过读取Excel生成对应的LUA文件,然后使用Lua生成对应的proto文件,并使用pbc将数据打包进proto。该方法适用于包含整数、字符串数组、二维数组和自定义枚举等数据类型的Excel表格。引用和也提到了类似的工具和脚本,可以将Excel表格换为Protobuf协议格式的数据。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [excelToProtobuf:excel数据包到protobuf](https://download.csdn.net/download/weixin_42101720/18606099)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [ExcelProtobuf 协议 数据](https://blog.csdn.net/qq_37682160/article/details/113701577)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [将Excel表格数据Protobuf V3【Unity】](https://blog.csdn.net/u010019717/article/details/53415186)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值