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

暂时这些。

相关推荐
★YUI★16 小时前
学习游戏制作记录(玩家掉落系统,删除物品功能和独特物品)8.17
java·学习·游戏·unity·c#
SmalBox16 小时前
【渲染流水线】[光栅阶段]-[光栅插值]以UnityURP为例
unity·渲染
谷宇.16 小时前
【Unity3D实例-功能-拔枪】角色拔枪(二)分割上身和下身
游戏·unity·c#·游戏程序·unity3d·游戏开发·游戏编程
NRatel1 天前
亚马逊S3的使用简记(游戏资源发布更新)
游戏·unity·amazon s3
SmalBox2 天前
【渲染流水线】[几何阶段]-[屏幕映射]以UnityURP为例
unity·渲染
SmalBox3 天前
【渲染流水线】[几何阶段]-[归一化NDC]以UnityURP为例
unity·渲染
SmalBox3 天前
【渲染流水线】[几何阶段]-[图元装配]以UnityURP为例
unity·渲染
霜绛4 天前
Unity:GUI笔记(一)——文本、按钮、多选框和单选框、输入框和拖动条、图片绘制和框绘制
笔记·学习·unity·游戏引擎
谷宇.4 天前
【Unity3D实例-功能-移动】角色行走和奔跑的相互切换
游戏·unity·c#·unity3d·游戏开发·游戏编程
17岁的勇气4 天前
Unity Shader unity文档学习笔记(十九):粘土效果,任意网格转化成一个球(顶点动画,曲面着色器)
笔记·学习·unity·图形渲染·顶点着色器·曲面着色器