unity强力配置插件Luban【Next最新版本】(一)部署


前言

Luban 是一个强大、易用、优雅、稳定的游戏配置解决方案。它的设计目标是满足从小型到超大型游戏项目,从简单到复杂的游戏配置工作流需求。在2023年下半年,Luban 项目进行了重构,旧版本命名为 Classic 版,新版本为 Next 版。如果追求稳定性,建议使用 Classic 版,可以参考我博客中的 Luban 相关文章, 在经历了一年的发展之后,也就是现在的2024年,由于旧版不再更新,我将开始在项目中接入新版,会将博客进行翻新和增加新内容(旧版依旧稳定且相关博客不会删除)。
Next版的意义是为了简化之前繁重的流程,将各种功能模块化、定制化,比以前更加轻量具有针对性,话不多说,走。
官方文档


一、准备

  1. 安装dotnet sdk 8.0或更高版本sdk
  2. 下载luban_examples项目
  3. 准备一个unity项目
  4. 确立目标:实现示例的c#代码生成,生成位置为StreamingAssets下,在unity运行时加载数据并打印信息

二、快速配置

1、Luban配置

在目标工程新建Luban文件夹
在这里插入图片描述

将下载示例中的MiniTemplate和Tools文件夹拷贝进Luban文件夹
)
我们打开MiniTemplate文件夹找到gen.bat文件(至于下面的sh是macOS系统使用的脚本),如下图所示:
在这里插入图片描述
运行,生成json成功
在这里插入图片描述
小小测试一下,修改MiniTemplate\Datas\item.xlsx,我们加一个国庆节礼包保存文档,修改如下:
在这里插入图片描述
再次运行gen.bat,查找MiniTemplate\output\item_tbitem.json结果如下:
在这里插入图片描述
我们发现策划的狗头赫然陈列其中,那么意味着luban这边的配置大功告成。(想要修改路径、文件夹名称请编辑bat进行修改,文章后半段有说明,相信也难不倒大家)

2、unity配置

在进入https://github.com/focus-creative-games/luban_unity将工程下载下来,解压到文件夹并将文件夹改名成com.code-philosophy.luban。看到这个文件夹名称类型,相比大家已经清楚她是干什么的了,没错,就是unity包。
在这里插入图片描述
luban同时也会出现在Package Manager当中
在这里插入图片描述

然后在Unity的PlayerSettings里开启unsafe选项。

在这里插入图片描述
打开gen.bat,修改data生成的路径并添加代码生成的路径进去。(output文件夹不需要的话也可以删除了)

set WORKSPACE=..
set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=.

dotnet %LUBAN_DLL% ^
    -t all ^
    -c cs-simple-json^
    -d json ^
    --conf %CONF_ROOT%\luban.conf ^
    -x outputCodeDir=..\..\Assets\Scripts\Luban^
    -x outputDataDir=..\..\Assets\StreamingAssets/Luban

pause

简单讲解下,set 就是用来设置变量的, . 代表当前目录, 两个点就是上一级目录。
-c cs-simple-json^ 这里就是生成代码的方式。
-x outputCodeDir=…\Assets\Scripts\Luban^ 这里的路径会自动创建,所以不必担心路径不存在的问题

3、unity内加载

进入unity工程,在场景中添加如下Main脚本,运行。

using System.Collections;
using System.Collections.Generic;
using System.IO;
using UnityEngine;
using SimpleJSON;
using cfg;

public class Main : MonoBehaviour
{
    void Start()
    {
      string gameConfDir = Application.streamingAssetsPath+"/Luban"; // 替换为gen.bat中outputDataDir指向的目录
      var tables = new cfg.Tables(file => JSON.Parse(File.ReadAllText($"{gameConfDir}/{file}.json")));

      //检查
      Item item = tables.TbItem.DataList[10];
      Debug.Log(item);
    }
}

加载陈昆
在这里插入图片描述

二、优化整理

  • 目录Luban\DesignerConfigs\Datas下无用文件删除,只留__beans__.xlsx、enums.xlsx、tables.xlsx三个(表格里也一并清空)。
  • 目录Luban\MiniTemplate\Defines.xml里面是适配unity的现有的枚举和结构,比如vector、double3、矩阵这样的类型,建议保留;官方适配了常用的几种,至于矩阵之类的需要自己添加。
  • 添加ExternalTypeUtil脚本,方便转换Vector等unity属性。
public static class ExternalTypeUtil
{
    public static UnityEngine.Vector2 NewVector2(cfg.vector2 v)
    {
        return new UnityEngine.Vector2(v.X, v.Y);
    }

    public static UnityEngine.Vector3 NewVector3(cfg.vector3 v)
    {
        return new UnityEngine.Vector3(v.X, v.Y, v.Z);
    }

    public static UnityEngine.Vector4 NewVector4(cfg.vector4 v)
    {
        return new UnityEngine.Vector4(v.X, v.Y, v.Z, v.W);
    }
}
  • 将目录Luban\MiniTemplate中的gen.sh移除(不需要mac的话),将gen.bat移动到Luban目录下并修改bat文件如下:
set WORKSPACE=.
set LUBAN_DLL=%WORKSPACE%\Tools\Luban\Luban.dll
set CONF_ROOT=%WORKSPACE%\MiniTemplate

dotnet %LUBAN_DLL% ^
    -t all ^
    -c cs-simple-json^
    -d json ^
    --conf %CONF_ROOT%\luban.conf ^
    -x outputCodeDir=..\Assets\Scripts\Luban^
    -x outputDataDir=..\Assets\StreamingAssets/Luban

pause

至此,Luban Next版部署完成。(Jenkins上直接调用bat脚本即可)


总结

如果您正在寻找一种快速上手新版 Luban 的方法,那么这篇文章正是您所需要的。我提供了一个完整的资源包,包括所需的软件、原始工程文件,以及为 Unity 定制的示例项目,确保您能够无缝地开始使用。

为了应对可能的版本更新,我们已经将所有相关资源放置在网盘,方便您随时访问和使用。您可以选择通过点赞👍来下载这些资源,以便快速开始您的项目。
链接:【Luan_Next】

  • 7
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
Unity Trilib2插件是一个用于Unity引擎的三维模型导入和管理工具。它可以帮助开发者在Unity中导入、处理和管理各种三维模型资源。最新版Unity Trilib2插件的主要特点和更新如下: 1. 支持多种模型格式:Unity Trilib2可以导入和处理常见的三维模型格式,包括OBJ、FBX、3DS等。这使得开发者可以方便地导入各种不同格式、来源的三维模型文件。 2. 快速而稳定的导入功能:最新版的Unity Trilib2插件在导入模型时具有更高的性能和稳定性。它可以有效地处理大型模型或高复杂度的场景,同时减少导入时的崩溃和错误情况。 3. 自定义导入设置:Unity Trilib2插件提供了丰富的导入设置选项,允许开发者根据项目需求进行细致的调整。例如,可以选择导入的材质类型、贴图压缩方式、动画导入方式等。 4. 高效的模型数据管理:Unity Trilib2插件可以将导入的模型数据进行组织和管理,使得开发者可以更轻松地在项目中使用。例如,可以在Unity编辑器中预览、修改和配置模型的各种属性和效果。 5. 多种平台的兼容性:最新版的Unity Trilib2插件可以与主流的平台和设备兼容,包括PC、移动设备、虚拟现实设备等。这为开发者提供了更广泛的使用场景和目标用户。 总之,最新版的Unity Trilib2插件通过提供更高的性能、稳定性和灵活性,为开发者在Unity中导入、处理和管理三维模型提供了更好的工具和体验。无论是开发大型项目还是小型应用程序,Unity Trilib2插件都能为开发者提供高效、便捷的三维模型操作功能。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值