Lua配置表存储优化方案

本文探讨了在Unity + Lua游戏中,如何优化配置文件以减少内存占用和提升加载速度。通过分析数据冗余,提出默认值处理、中文字符串唯一ID化和子表唯一化等方法,并介绍了优化后的Lua表结构,以及在宿主语言环境中读取子表数据的策略。提供了配置表优化工具的GitHub链接。
摘要由CSDN通过智能技术生成

       近几年移动端游戏大热,Unity + Lua更是手游行业的标配技术。如何有效利用有限的硬件条件,实现当前高品质、高规格的游戏产品是持久不变的话题。 Lua作为一个极为精简的嵌入型脚本语言,已经广泛地用在了游戏业,Lua的存在一般是两种场合,一种用于实现游戏上层业务逻辑,一种则利用了Lua语言本身灵活简单的数据表达能力而被广大程序员用于数据的存储,也就是常说的配置文件。

       一般来说配置文件的初始来源是策划维护的有着一定格式约束的Excel表格,经由程序员提供的导出工具,把Excel的表格数据导出成为游戏能直接读取使用的Lua源码。

       这些源码文件以Lua table的形式存储与Excel等价的数据,通常可以简单把这个配置表看成是一组2维数组,转换成配置就是一个key(Excel第一列)对应一组子数据(Excel中一行),那么整个配置数据就是一个大表包含着若干小表转换成配置就是一个key(Excel第一列)对应一组子数据(Excel中一行),那么整个配置数据就是一个大表包含着若干小表,如下:

原始配置表:

这里写图片描述


转换成Lua后大致是这样:
local mapsetting = 
{
    [1] = {
        name = "map1",
        useminimap = "map1000",
        show_name = "十里桃林",
        cam_pitch = 40,
        cam_yaw = 230,
        cam_dis = 10,
        pkflag_support = 1,
        pkflag_punish = 1,
        maxnum = 50,
        scheduleConf = {},
        scriptId = {},
        ...
    },
    [2] = {
        name = "map2",
        useminimap = "map1000",
        show_name = "碧波潭",
        cam_pitch =
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值