找回密码
 立即注册
楼主: 哈哈SE7

Unity的序列化配表问题用什么方法比较好?

[复制链接]
发表于 2020-12-28 14:12 | 显示全部楼层
我们是用excel配表 通过vba导出为lua 然后配合lua的require机制直接就可以在运行过程中读取到新的数据
发表于 2020-12-28 14:21 | 显示全部楼层
http://github.com/Ribosome2/ExcelUtilityWith-ExcelReader 安利一个自己写的使用excelreader作为插件读取表格,根据配置类似protobuf 协议文件把表格数据序列化成二进制 并且生成对应的C#文件,源码都在,不爽自己改,欢迎拍砖 欢迎star
发表于 2020-12-28 14:22 | 显示全部楼层
thrift、protobuf、messpack 这么好用你不用
发表于 2020-12-28 14:32 | 显示全部楼层
和楼上那位用protobuf的方式类似,但是配合了自己写的代码生成器。
代码生成步骤如下:1.统一维护有潜规则(主要是表头和表格命名规则)的Excel.2.使用xls2csv工具批量转换成csv。
3.遍历csv生成.proto文件,生成数据库sql,自动创建表,生成一系列相关的数据库增删查改代码,
4.proto文件生成java和c#代码,并通过代码生成器生成对应的需要的helper类。
5.客户端生成的helper类会根据平台使用不同的加载逻辑。在Unity编辑器里实时读取最新的csv,在iOS和Android导出包的时候会先把csv数据转换成bytes文件供加载。

修改excel表字段结构的情况下,需要把代码重新生成一遍。
只修改excel数值的情况下,策划只需要修改excel,然后在本地运行xls2csv的命令生成本地最新的csv,然后切回编辑器进行操作就可以看到最新的数值的效果。
发表于 2020-12-28 14:40 | 显示全部楼层
关键词,fastjson aot。。
发表于 2020-12-28 14:41 | 显示全部楼层
我是题主……
正在下载http://json.net中……
发表于 2020-12-28 14:41 | 显示全部楼层
序列化可以考虑thrift和protobuf 好处在于在支持不同语言 且更对象化

我们项目的配置数据和通信协议都用的thrift
发表于 2020-12-28 14:44 | 显示全部楼层
今天刚写了一个,主要利用protobuf序列化,但是还有很多不足的地方,刚刚能跑起来,在这个项目的tools/ExcelToProtoRelease,好处在于,导出后只需在程序loading的时候load一下table,就可以很方便的使用数据,详情可以看该目录下的readme  https://coding.net/u/NxShow/p/NxLibrary/git
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-26 11:30 , Processed in 0.090960 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表