【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 后记

暂时这些。

相关推荐
峰度偏偏1 天前
【适配】屏幕拖拽-滑动手感在不同分辨率下的机型适配
算法·游戏·unity·ue5·ue4·godot
小春熙子1 天前
Unity图形学之CubeMap立方体贴图
unity·游戏引擎·贴图·技术美术
浅陌sss1 天前
Unity中动态生成贴图并保存成png图片实现
unity·游戏引擎·贴图
小春熙子1 天前
Unity图形学之法线贴图原理
unity·游戏引擎·贴图·技术美术
老朱佩琪!2 天前
UNity将脚本中的文本提示显示在编辑器中
unity·c#·编辑器
杳戢2 天前
技术美术百人计划 | 《2.1 色彩空间介绍》笔记
笔记·unity·游戏引擎·图形渲染·技术美术
tealcwu2 天前
【Unity How】Unity中如何实现物体的匀速往返移动
unity·游戏引擎
恬静的小魔龙2 天前
【SKFramework框架核心模块】3-2、音频管理模块
3d·unity·编辑器·游戏引擎·音视频
浅陌sss2 天前
物体网格弹性变形---Unity中实现
unity·游戏引擎
异次元的归来3 天前
Unity DOTS中的Entity
unity·游戏引擎