Unity 接入Luabn记录图解
Luban
- 文档及链接
- 项目目录
- UnityEditor 导表工具
文档及链接
官方文档
最新版本
项目目录
接入的方法有很多,我这里随便找了一种
https://gitee.com/focus-creative-games/luban_examples.git

如上图,git拉去后,只保留圈起来的2个文件夹。基础使用已经够了
每个项目工程目录不尽相同,这里及以下根据我自己的项目目录配置,

在Unity平级目录创建一个文件夹,用来存放导表工具Luban

将上面Git保留的2个文件夹放入这个文件夹下,如上图

这个路径下存放的是配置表,将配表填入_tables_.xlsx
中,用以生成表数据及代码

这个是生成工具,需要用文档打开,修改为自己路径
set WORKSPACE=..
set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=.dotnet %LUBAN_DLL% ^-t client ^-c cs-simple-json ^-c cs-bin ^-d json ^-d bin ^--conf %CONF_ROOT%\luban.conf ^-x cs-simple-json.outputCodeDir=..\Code\Json ^-x cs-bin.outputCodeDir=..\..\ClientFrame\Assets\Game\Scripts\DataTable ^-x json.outputDataDir=..\..\ClientFrame\Assets\DataTable\Json ^-x bin.outputDataDir=..\..\ClientFrame\Assets\Res\Tablepause
这里同时导出了二进制和json,项目中用的是二进制,Json用于自己查表方便。可根据自己需求保留二进制和json
outputCodeDir
是导出代码路径
outputDataDir
是导出数据路径
可根据自己需求修改路径。
例如:只保留二进制
set WORKSPACE=..
set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=.dotnet %LUBAN_DLL% ^-t client ^-c cs-bin ^-d bin ^--conf %CONF_ROOT%\luban.conf ^-x cs-bin.outputCodeDir=..\..\ClientFrame\Assets\Game\Scripts\DataTable ^-x bin.outputDataDir=..\..\ClientFrame\Assets\Res\Tablepause
UnityEditor 导表工具
每次导表需要到项目找到对应文件夹,执行bat,很麻烦。
在UnityEditor 加个工具,直接执行bat导表

using System.Diagnostics;
using System.IO;
using UnityEngine;
using UnityEditor;public class LubanExpand
{[MenuItem("Luban/Export Excel")]public static void ExecuteBat(){// 获取上一级目录var parentPath = Path.GetDirectoryName(Path.GetDirectoryName(Application.dataPath));// 确定 .bat 文件的绝对路径var batFilePath = Path.Combine(parentPath, "Luban/DataTables/gen.bat").Replace("\\", "/" );// 获取.bat文件所在目录var batDirectory = Path.GetDirectoryName(batFilePath);if (!File.Exists(batFilePath)){UnityEngine.Debug.LogError($"Bat file not found: {batFilePath}");return;}try{var processInfo = new ProcessStartInfo{FileName = batFilePath,UseShellExecute = false, // 不使用系统ShellRedirectStandardOutput = true, // 重定向输出RedirectStandardError = true, // 重定向错误CreateNoWindow = false, // 不创建新窗口WorkingDirectory = batDirectory // 关键点:工作目录设为.bat所在文件夹};var process = new Process { StartInfo = processInfo };process.Start();// 读取输出(防止进程阻塞)var output = process.StandardOutput.ReadToEnd();var error = process.StandardError.ReadToEnd();process.WaitForExit();AssetDatabase.Refresh();if (!string.IsNullOrEmpty(output))UnityEngine.Debug.Log($"Bat Output:\n{output}");if (!string.IsNullOrEmpty(error))UnityEngine.Debug.LogError($"Bat Error:\n{error}");UnityEngine.Debug.Log("Bat executed successfully!");}catch (System.Exception e){UnityEngine.Debug.LogError($"Failed to execute bat: {e.Message}");}}
}
坑点:上面代码中 WorkingDirectory
是指定工作目录。如果不设置,工作目录会默认是Unity项目的Assets平级目录,gen.bat 里的WORKSPACE
生效错误,无法导出
相关文章:

Unity 接入Luabn记录图解
Luban 文档及链接项目目录UnityEditor 导表工具 文档及链接 官方文档 最新版本 项目目录 接入的方法有很多,我这里随便找了一种 https://gitee.com/focus-creative-games/luban_examples.git如上图,git拉去后,只保留圈起来的2个文件夹。…...

【MySQL】我在广州学Mysql 系列——Mysql 日志管理详解
ℹ️大家好,我是练小杰,今天又是新的一周了,又该摆好心态迎接美好的明天了!!!😆 本文主要对Mysql数据库中的日志种类以及基本命令进行讨论!! 回顾:Ǵ…...

【线段树 二分查找】P3939 数颜色|普及+
本文涉及知识点 C线段树 C二分查找 P3939 数颜色 题目背景 大样例可在页面底部「附件」中下载。 题目描述 小 C 的兔子不是雪白的,而是五彩缤纷的。每只兔子都有一种颜色,不同的兔子可能有 相同的颜色。小 C 把她标号从 1 到 n n n 的 n n n 只兔…...
2011年下半年软件设计师考试上午题真题的详细知识点分类整理(附真题及答案解析)
以下是针对2011年下半年软件设计师考试上午题真题的详细知识点分类整理,涵盖所有题目涉及的核心知识点,供考生背诵记忆: 1. 数据结构与算法 树与图: 树的性质:树的节点数、深度、叶子节点数之间的关系。二叉树遍历&am…...

tmagic-editor,腾讯开源的基于 Vue3 的页面可视化编辑器
hi, 大家好, 我是徐小夕. 之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如: H5-Dooring(页面可视化搭建平台)V6.Dooring(可视化大屏搭建平台)F…...

K8s学习总结
文章目录 介绍Kubernetes 核心组件k8s安装环境安装组件 常用命令测试1. 创建一个测试应用程序2. 检查 Pod 是否运行 3. 暴露应用让外部访问4. 查看服务的暴露端口5. 访问 nginx 服务6. 验证节点调度 如有错误,敬请指针,谢谢! 介绍 Kubernetes࿰…...
正则表达式(Regular expresssion)
正则表达式 匹配单次 . :匹配任意一个字符 [ ] :匹配[ ]里举例的任意一个字符 /d :匹配数字0-9 /D :匹配非数字 /s :匹配空白或tab建 /S :匹配非空白 /w :…...

Python的那些事第二十一篇:Python Web开发的“秘密武器”Flask
基于 Flask 框架的 Python Web 开发研究 摘要 在 Web 开发的江湖里,Python 是一位武林高手,而 Flask 则是它手中那把小巧却锋利的匕首。本文以 Flask 框架为核心,深入探讨了它在 Python Web 开发中的应用。通过幽默风趣的笔触,结合实例和表格,分析了 Flask 的特性、优势以…...
MySQL的聚簇索引与非聚簇索引
前言 首先我们要了解到,聚簇索引只能有一个,而非聚簇可以有多个。在本文中可以了解到,范围查询时聚簇索引的优势,以及非聚簇索引在频繁更新时的劣势。 在MySQL中,主键索引通常就是聚簇索引,如果没有显式…...

vscode的一些实用操作
1. 焦点切换(比如主要用到使用快捷键在编辑区和终端区进行切换操作) 2. 跳转行号 使用ctrl g,然后输入指定的文件内容,即可跳转到相应位置。 使用ctrl p,然后输入指定的行号,回车即可跳转到相应行号位置。...
C++11 thread
文章目录 C11 线程库线程对象的构造方式无参的构造函数调用带参的构造函数调用移动构造函数thread常用成员函数 this_thread命名空间join && detachmutex C11 线程库 线程对象的构造方式 无参的构造函数 1、调用无参的构造函数,调用无参的构造函数创建出来的线程对象…...

rabbitmq五种模式的总结——附java-se实现(详细)
rabbitmq五种模式的总结 完整项目地址:https://github.com/9lucifer/rabbitmq4j-learning 一、简单模式 (一)简单模式概述 RabbitMQ 的简单模式是最基础的消息队列模式,包含以下两个角色: 生产者:负责发…...

Qt中基于开源库QRencode生成二维码(附工程源码链接)
目录 1.QRencode简介 2.编译qrencode 3.在Qt中直接使用QRencode源码 3.1.添加源码 3.2.用字符串生成二维码 3.3.用二进制数据生成二维码 3.4.界面设计 3.5.效果展示 4.注意事项 5.源码下载 1.QRencode简介 QRencode是一个开源的库,专门用于生成二维码&…...

Java数据结构---链表
目录 一、链表的概念和结构 1、概念 2、结构 二、链表的分类 三、链表的实现 1、创建节点类 2、定义表头 3、创建链表 4、打印链表 5、链表长度 6、看链表中是否包含key 7、在index位置插入val(0下标为第一个位置) 8、删除第一个关键字key …...
mongodb是怎么分库分表的
在构建高性能的数据库架构时,MongoDB的分库分表策略扮演着至关重要的角色,它通过一系列精细的步骤确保了数据的高效分布与访问。以下是对这一过程的详尽阐述,旨在提供一个清晰且优化过的理解框架。 确定分片键(Shard Key…...
C++自研游戏引擎-碰撞检测组件-八叉树AABB检测算法实现
八叉树碰撞检测是一种在三维空间中高效处理物体碰撞检测的算法,其原理可以类比为一个管理三维空间物体的智能系统。这个示例包含两个部分:八叉树部分用于宏观检测,AABB用于微观检测。AABB可以更换为均值或节点检测来提高检测精度。 八叉树的…...

spring boot对接clerk 实现用户信息获取
在现代Web应用中,用户身份验证和管理是一个关键的功能。Clerk是一个提供身份验证和用户管理的服务,可以帮助开发者快速集成这些功能。在本文中,我们将介绍如何使用Spring Boot对接Clerk,以实现用户信息的获取。 1.介绍 Clerk提供…...
一种动态地址的查询
背景 当我们注入一个进程,通过函数地址进行call时经常会遇到这样的一个问题。对方程序每周四会自动更新。更新后之前的函数地址就变化了,然后需要重新找地址。所以,我就使用了一个动态查询的方式。 第一步:先为需要call的函数生…...

周雨彤:用角色与生活,诠释审美的艺术
提到内娱审美优秀且持续在线的女演员,周雨彤绝对是其中最有代表性的一个。 独树一帜的表演美学 作为新生代演员中的实力派代表,周雨彤凭借细腻的表演和对角色的深度共情,在荧幕上留下了多个令人难忘的“出圈”形象。在《我在他乡挺好的》中…...

使用jks给空apk包签名
1、在平台官方下载空的apk包(上传应用时有提醒下载) 2、找到jdk目录,比如C:\Program Files\Java\jdk1.8\bin,并把下载的空包apk和jks文件放到bin下 3、以管理员身份运行cmd,如果不是管理员会签名失败 4、用cd定位到…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序
一、开发准备 环境搭建: 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 项目创建: File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...

HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...

Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...

基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
深入浅出Diffusion模型:从原理到实践的全方位教程
I. 引言:生成式AI的黎明 – Diffusion模型是什么? 近年来,生成式人工智能(Generative AI)领域取得了爆炸性的进展,模型能够根据简单的文本提示创作出逼真的图像、连贯的文本,乃至更多令人惊叹的…...

Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...