[发明专利]跨引擎调用方法及装置有效
| 申请号: | 201610711711.9 | 申请日: | 2016-08-22 |
| 公开(公告)号: | CN106325866B | 公开(公告)日: | 2019-09-20 |
| 发明(设计)人: | 黄巍 | 申请(专利权)人: | 网易(杭州)网络有限公司 |
| 主分类号: | G06F8/30 | 分类号: | G06F8/30 |
| 代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 宋子良 |
| 地址: | 310000 浙江省杭州*** | 国省代码: | 浙江;33 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 引擎 第一数据 编程语言 数据集合 引擎调用 集合 序列化 操作指令 回调事件 游戏对象 脚本 调用 编译 嵌入 语言 | ||
本发明公开了一种跨引擎调用方法及装置。其中,该方法包括:第一引擎获取第一数据集合,其中,第一引擎采用编译型编程语言,第一数据集合包括一种或多种类型回调事件的序列化结果;第一引擎向第二引擎传入第一数据集合,其中,第二引擎采用脚本编程语言;第一引擎接收来自于第二引擎的第二数据集合,其中,第二数据集合包括:对游戏对象的操作指令的序列化结果。本发明解决了相关技术中提供的在Unity引擎中嵌入Lua脚本系统的技术方案的跨语言调用速度较慢,执行效率较低的技术问题。
技术领域
本发明涉及计算机领域,具体而言,涉及一种跨引擎调用方法及装置。
背景技术
目前,相关技术中提供的Unity(其为一种游戏引擎的名称)引擎由于使用的是编译型编程语言C#,因此,在开发过程中,无法及时在实体设备上查询最新的程序运行效果,而需要经历漫长的编译安装等待,由此造成开发效率较低。此外,在提交移动终端应用程序(App)发布渠道后,无法修改游戏逻辑。如果存在漏洞(bug)需要修复,则必须重新提交App审核,由此造成修复周期较长。
对于上述问题,如果能够在Unity引擎中嵌入脚本编程语言Lua脚本系统,则可以跳过编译,快速更新安装在实体设备上的程序,同时还可以绕过App发布渠道即时进行bug修复。
由于Unity引擎中没有提供编译型编程语言C应用程序编程接口(API),而只存在C#API。为此,相关技术中所提出的技术方案都是采用Lua C API将C#类导出至Lua中。Lua调用C#的方式是采用Lua代理对象来操作对应的C#对象。而C#调用Lua的方式则是直接通过Lua C API调用Lua函数。
然而,相关技术中所提出的上述解决方案存在如下技术缺陷:
(1)Lua绑定C#类的开销较大,其原因在于:一方面是由于每个Lua与C#跨语言调用都会产生多个Lua C API调用,从而使得跨语言调用的速度较慢;另一方面是由于Lua与C#跨语言互相引用对象会产生额外的对象管理开销,例如:对象存入引用字典、对象查询、对象类型转换、对象销毁。
(2)因执行效率较低易导致相关技术中大多数使用Lua脚本系统的Unity游戏脚本化程度较低。采用Lua控制的部分主要集中于菜单界面、网络通信部分,而战斗部分、资源加载部分则很少使用Lua脚本控制,由此造成实体设备上高速开发的部分较为局限,并且绕过App发布而使用脚本修正的bug范围也十分有限。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种跨引擎调用方法及装置,以至少解决相关技术中提供的在Unity引擎中嵌入Lua脚本系统的技术方案的跨语言调用速度较慢,执行效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种跨引擎调用方法,包括:
第一引擎获取第一数据集合,其中,第一引擎采用编译型编程语言,第一数据集合包括一种或多种类型回调事件的序列化结果;第一引擎向第二引擎传入第一数据集合,其中,第二引擎采用脚本编程语言;第一引擎接收来自于第二引擎的第二数据集合,其中,第二数据集合包括:对一个或多个游戏对象的操作指令的序列化结果。
可选地,第一引擎获取第一数据集合包括:第一引擎获取待操作的一个或多个游戏对象;第一引擎分别收集与每种游戏对象对应的回调事件,并分别对收集到的回调事件进行序列化处理,得到待拼接的序列化结果;第一引擎将得到的与每种游戏对象对应的待拼接的序列化结果进行拼接,获取第一数据集合,其中,第一数据集合记录每个回调事件所归属的游戏对象。
可选地,第一引擎获取第一数据集合还包括:第一引擎获取当前存在的全部帧事件,其中,帧事件包括以下至少之一:渲染帧更新事件、逻辑帧更新事件;第一引擎将获取到的帧事件拼接至第一数据集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于网易(杭州)网络有限公司,未经网易(杭州)网络有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610711711.9/2.html,转载请声明来源钻瓜专利网。





