[发明专利]一种Lua语言和Unity之间的数据交互方法有效
申请号: | 202011544878.3 | 申请日: | 2020-12-23 |
公开(公告)号: | CN112579062B | 公开(公告)日: | 2022-04-29 |
发明(设计)人: | 梁超;汪兴 | 申请(专利权)人: | 厦门极致互动网络技术股份有限公司 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/41;A63F13/77 |
代理公司: | 厦门致群财富专利代理事务所(普通合伙) 35224 | 代理人: | 刘兆庆 |
地址: | 361000 福建省厦门市火*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 lua 语言 unity 之间 数据 交互 方法 | ||
本发明公开了一种Lua语言和Unity之间的数据交互方法,包括如下步骤:S1、定义Lua变量的类型,转换成固定格式的Lua代码并写入挂载到C#中介组件上的Lua脚本文件中;S2、对Lua变量进行自动赋值,并存储到C#中介组件中的数据容器中;S3、将数据容器中的数据自动序列化;S4、C#中介组件将数据容器中收集到的序列化数据全部反序列化出来,并将其组装成一个Lua语言能够识别的LuaTable类型的变量;S5、C#中介组件初始化Lua脚本文件,并将LuaTable类型的变量传递到Lua脚本文件以供使用传递变量。本发明通过C#中介组件实现Lua和Unity之间的数据交互,极大地简化了Lua语言的变量申明和使用流程,同时提升了Lua语言在使用Unity对象时的游戏性能。
技术领域
本发明涉及计算机技术领域,特别涉及一种Lua语言和Unity之间的数据交互方法。
背景技术
Unity引擎游戏热更新是当前移动平台网络游戏的重要技术,现有的Unity游戏引擎提供的C#语言与Unity对象交互的流程为:C#申明变量,在Unity编辑器下拖动绑定或编辑对象。与Unity引擎原生支持的C#语言不同的是,Unity并未为Lua语言提供变量绑定的支持,包括Lua变量识别、编辑、存储及使用流程,游戏开发中Lua语言与Unity对象、组件在交互时只能调用Unity提供的C#接口“Find”(查询)和“GetComponent”(获取对象)来获取对象或组件,这导致开发过程繁琐,同时游戏性能也会在频繁的对象调用过程中受到影响。
发明内容
为解决上述问题,本发明提供了一种Lua语言和Unity之间的数据交互方法,极大地简化了Lua语言的变量申明和使用流程的同时,也提升了Lua语言在使用Unity对象时的游戏性能。
本发明采用以下技术方案:
一种Lua语言和Unity之间的数据交互方法,包括如下步骤:
S1、定义Lua变量的类型:以命名的方式对Lua本地变量进行类型的定义,并转换成固定格式的Lua代码,将所述Lua代码写入挂载到对应的Unity场景或预制体上的C#中介组件上的Lua脚本文件中;
S2、Lua变量的赋值和存储:解析所述Lua代码,识别所有变量及其对应的类型,遍历保存的Unity场景或预制体,通过名字找到Lua变量对应的对象,对所述Lua变量进行自动赋值,并将收集到的所有对象放入C#中介组件中的数据容器中;
S3、自动序列化:将所述数据容器中的数据序列化并持久地存储到Unity的场景文件或预制体文件中;
S4、反序列化:C#中介组件在游戏运行起来且自身被激活后,将所述数据容器中收集到的序列化数据全部反序列化出来,并将其组装成一个Lua语言能够识别的LuaTable类型的变量;
S5、传递变量:所述C#中介组件初始化自身挂载的Lua脚本文件,将所述LuaTable类型的变量传递到所述Lua脚本文件以供使用。
进一步地,所述步骤S1中所述类型的定义采用手动编写或自动编写。
进一步地,所述类型包括引用类型和值类型,所述引用类型包括游戏对象、材料、变形、照相机或按钮,所述值类型包括整型变量、单精度浮点数或数组。
进一步地,步骤S2中所述Lua代码解析时采用正则表达式。
进一步地,所述步骤S2中的赋值还可以采用手动赋值,具体为:所述Unity调用EditorGUILayout.ObjectField接口进行绘制,在Unity的监察器面板上直接对Lua变量进行赋值。
进一步地,所述步骤S3中的自动序列化由Unity自动完成。
进一步地,所述步骤S3在存储前需要将所述Unity的场景文件或预制体文件标记为脏。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门极致互动网络技术股份有限公司,未经厦门极致互动网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011544878.3/2.html,转载请声明来源钻瓜专利网。