Unity的序列化配表主要是给游戏设计师或关卡设计师调整游戏数据用的,用以改变游戏难度和调整游戏平衡性。
目前流行的做法是将Excel表格数据转换成Unity中的数据,再由GUI控件显示出来,有很多Unity的Excel插件可以在Asset Store上搜索。
如果是简单的线性数据可以用 SharpConfig 将其序列化为 INI 文件。
如果是结构复杂的数据可用 LitJSON 将其序列化为 Json 文件,或者直接使用 System.Xml 序列化为 XML。
另外有一些更高级的插件和工具,如 Excel2Unity 可以解决从策划配表到程序解析的转换。
优点
本转化器无需依赖vbs,vba.跨平台
直接输出基于protobuf文本的格式化数据, 直接读取
字段位置随意调整, 自动检查错误, 精确报错位置
充分利用cpu多核进行导出, 是已知的现有导出器中最快的
迭代历程
2011年: 一代导出器,基于vba的表格内建导出器,速度慢,复用困难,容易错,不安全
2012年: 二代导出器,基于c++和protobuf的导出器,内容格式与导出器混合编写,需要vbs导出csv,速度慢
2013年: 三代导出器,在二代基础上做到内容格式与导出器独立,但依然依赖csv前置导出,增加逗号分隔格子内容,导出速度慢
2015年: 四代导出器,基于golang导出器,增加id重复检查,数组格的多重写法, 支持a.b.c栏位导出, 导出速度大大提高
2016年: 五代导出器,在四代基础上重构,开源,支持并发导出,速度达到极致
应用情况
前面多个版本都在本人项目中使用
53个excel源文件, 格式xlsm, 大小3.8m
导出速度
9.4s 第四代导出器
4.9s 第五代导出器单线程
2.4s 第五代导出器i7-4790 8核并发
现在很多朋友都在用, 服务器golang, 客户端c#表示用起来很爽
本人已经8年没再单独解析过配置文件了, 一直用这套做游戏客户端和服务器
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....