【Unity】Luban学习笔记

个人向笔记。

1 前言

自己学习Luban时的一些笔记,方便以后复习。

2 Unity Luban使用流程

  1. 按照规则,创建并填写配置表。涉及类型定义(excel、xml),数据填写(excel)。
  2. 借助Luban相关工具,结合excel表,生成数据文件、代码文件。
  3. Unity中安装Luban Package。
  4. 将生成的数据文件、代码文件拷贝到Unity项目当中。
  5. 借助Package和生成代码,从数据文件中读取数据反序列化为类对象。
  6. 访问类对象,获取数据。

3 如何填表

参考官方文档。

4 如何根据excel表进行文件生成操作

先从官网下载案例项目luban_examples-main,以此文件夹为根目录来讲解。

使用时,大致可以把Luban分为三部分:

  1. 数据配置。
  2. Luban工具(更具体点:Luban.dll)
  3. 批处理生成相关文件(gen.bat)

解释:

  1. 数据配置,指根目录下的DataTables文件,里面包含了一些配置表与配置文件。
    1. Datas文件夹存储excel表。xxx.xlsx为默认的配置定义表(要被索引到.conf文件,具体见.conf内部),有三种,在__beans__.xlsx中我们可以定义自定义类型,在__enums__.xlsx中我们可以定义枚举类型,在__tables__.xlsx中我们需要给我们创建的配置表去定义一些参数配置。另外,我们自己的表则直接在此文件夹内创建即可(可以在在文件夹内创建,在配置参数时,建议子文件夹作为表的命名空间)。
    2. Defines文件夹内存储.xml文件。而.xml则也是提供各种类型定义的文件,与excel的配置定义类似。
    3. luban.conf文件。配置文件,内部提供了一些相关配置,在索引上索引了Datas文件夹目录、各__xxx__.xlsx配置定义表。同时,此文件还需要被批处理生成文件(gen.bat)所能索引到。
    4. check.bat、check.sh文件。数据校验,应该吧...
  2. Luban工具,指根目录下的Tools文件夹。里面有很多内容,Luban文件夹是官方提供的编译好的Luban本体。其中Tools\Luban\Luban.dll是我们需要与gen.bat索引关联的。
  3. 批处理操作(gen.bat、gen.sh,在MiniTemplate、Projects等文件夹中)。双击执行一系列命令行进行生成操作。需要提前在gen.bat中配置好Datas和Luban.dll的相关索引路径才能正常执行。输出路径也是配置在gen.bat中。还有很多相关命令可以添加,可参考官方文档。

配置完所有,双击gen.bat即可根据excel表生成相关文件。具体为两种文件:数据文件(如json或bytes文件等格式)、代码文件。

5 安装Luban Package

参考官方文档。

6 代码读取表中内容并访问

参考官方文档。文档说得很清晰。

7 其他

7.1 命名空间问题

给表格和类型规划分命名空间时,没有必要把table与此表格使用到的bean类型的放到同一命名空间下,可以分开放,生成功的代码会自动加上各自的命名空间来调用。所以,选择适合自己的划分即可。

7.2 名称问题

非自动导入情况下。tables.xlsx表中,full_name需要写全,即包括命名空间与表名(可选择不要命名空间)。value_type的话,不写命名空间默认与full_name同命名空间,写命名空间则按照自己写的。

7.3 表中空数据收集问题

表分为三种类型,讨论每种类型对于不完全填写的数据的收集情况。

  • 三种表都不会收集空行。
  • One表,单例模式,只能有一行数据。(没测试多行情况)
  • Map表,若缺少ID填写,其他有填写,则生成时报错。
  • List表,情况多种,分是否有Key的情况,暂时没测试。目前理解是,无key则只要一行中有数据就可以收集,若有key则同Map情况。

8 后记

暂时这些。

相关推荐
mxwin2 小时前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader
晚枫歌F3 小时前
三层时间轮的实现
网络·unity·游戏引擎
咸鱼永不翻身5 小时前
Lua脚本事件检查工具
unity·lua·工具
leo__5207 小时前
单载波中继系统资源分配算法MATLAB仿真程序
算法·matlab·unity
努力长头发的程序猿8 小时前
Unity使用ScriptableObject序列化资源
unity·游戏引擎
mxwin8 小时前
Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算
unity·游戏引擎·shader
小贺儿开发8 小时前
Unity3D 智能云端数字标牌系统
unity·阿里云·人机交互·视频·oss·广告·互动
魔士于安9 小时前
Unity windows 同步 异步 打开文件文件夹工具
游戏·unity·游戏引擎·贴图·模型
魔士于安9 小时前
unity lowpoly 风格 城市 建筑 道路 交通标志
游戏·unity·游戏引擎·贴图·模型
mxwin9 小时前
Unity GPU Shader 性能优化指南
unity·游戏引擎·shader