基于webrtc实现的UE4三维场景代码注入二次开发方法、介质及装置与流程

文档序号:31569031发布日期:2022-09-20 21:44阅读:490来源:国知局
基于webrtc实现的UE4三维场景代码注入二次开发方法、介质及装置与流程
基于webrtc实现的ue4三维场景代码注入二次开发方法、介质及装置
技术领域
1.本发明涉及软件与信息技术领域,具体而言,涉及一种基于webrtc实现的ue4三维场景代码注入二次开发方法、介质及装置。


背景技术:

2.如图1所示,现有技术中实现的ue4三维场景二次开发方法,包括如下步骤:
3.第一步,在ue4三维场景端开发控制接口;
4.第二步,使用js语言封装ue4三维场景端开发的控制接口成二次开发sdk,通讯协议采用webrtc或http;
5.第三步,开发者在第三方系统的浏览器端集成二次开发sdk,集成二次开发sdk后第三方系统的浏览器页面即可调用ue4的云渲染画面作为三维底图;
6.第四步,开发者在第三方系统的浏览器端调用二次开发sdk中的函数即可实现对ue4三维场景的二次开发。
7.以上现有技术提供的二次开发能力取决于ue4暴露的二次开发接口,当有新的业务需求或效果需要实现时,需要联系ue4三维场景的开发者先开发对应的接口,然后重新发布对应的场景,开发周期和响应较慢。


技术实现要素:

8.本发明旨在提供一种基于webrtc实现的ue4三维场景代码注入二次开发方法、介质及装置,以解决现有技术中实现ue4三维场景二次开发方法存在开发周期和响应较慢的问题。
9.本发明提供的一种基于webrtc实现的ue4三维场景代码注入二次开发方法包括:
10.采用lua代码注入功能来实现所述基于webrtc实现的ue4三维场景代码注入二次开发方法。
11.在一些实施例中,所述基于webrtc实现的ue4三维场景代码注入二次开发方法,包括如下步骤:
12.第一步,浏览器集成ue4三维场景的二次开发sdk;
13.第二步,浏览器调用二次开发sdk的图层和模型查询功能,查询三维场景对外暴露的图层和模型信息;
14.第三步,根据第二步查询到的三维场景对外暴露的图层和模型信息,编写lua脚本;
15.第四步,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求,所述代码注入请求中包含lua脚本和lua脚本的hash值;
16.第五步,ue4三维场景收到代码注入请求后,用lua脚本的hash值对lua脚本进行一致性校验,一致性校验通过后则执行第六步;
17.第六步,对lua脚本进行安全性校验,并在安全性校验通过后执行lua脚本。
18.在一些实施例中,lua脚本和lua脚本的hash值的传输要进行加解密。
19.进一步的,所述lua脚本和lua脚本的hash值的传输要进行加解密的方法的方法包括:
20.第四步中,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求时,要对代码注入请求中包含的lua脚本和lua脚本的hash值进行加密传输;
21.第五步中,ue4三维场景收到代码注入请求后,要采用与加密相对应的解密方法解密lua脚本和lua脚本的hash值,然后再用lua脚本的hash值对lua脚本进行一致性校验。
22.在一些实施例中,第六步中安全性校验未通过时不执行lua脚本,并且返回lua脚本错误提示信息。
23.在一些实施例中,所述安全性校验未通过的情况包括:
24.(1)lua脚本中包含关闭ue4程序的操作;
25.(2)lua脚本中包含删除文件的操作;
26.(3)调用操作系统危险命令的操作。
27.本发明还提供一种计算机终端存储介质,存储有计算机终端可执行指令,所述计算机终端可执行指令用于执行上述的基于webrtc实现的ue4三维场景代码注入二次开发方法。
28.本发明还提供一种计算装置,包括:
29.至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的基于webrtc实现的ue4三维场景代码注入二次开发方法。
30.综上所述,由于采用了上述技术方案,本发明的有益效果是:
31.本发明是在现有的技术基础上增加lua代码注入的二次开发技术,能更灵活更快速的实现想要的ue4三维场景效果和业务交互逻辑,解决开发周期和响应较慢的问题。
附图说明
32.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
33.图1为现有技术中实现的ue4三维场景二次开发方法的流程图。
34.图2为本发明实施例1中基于webrtc实现的ue4三维场景代码注入二次开发方法的流程图。
35.图3为本发明实施例2中基于webrtc实现的ue4三维场景代码注入二次开发方法的流程图。
36.图4为本发明实施例3中基于webrtc实现的ue4三维场景代码注入二次开发方法的流程图。
具体实施方式
37.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
38.因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
39.本发明涉及的缩略语和关键术语定义如下:
40.webrtc:网页即时通信(英语:web real-time communication)的缩写,是一个支持网页浏览器进行实时语音对话或视频对话的api。
41.三维场景:使用ue4渲染引擎和美术工具制作出的三维仿真场景。
42.云渲染:(cloudrender)模式与常规的云计算类似,即将3d程序放在远程的服务器中渲染,用户终端通过web软件或者直接在本地的3d程序中点击一个“云渲染”按钮并借助高速互联网接入访问资源,指令从用户终端中发出,服务器根据指令执行对应的渲染任务,而渲染结果画面则被传送回用户终端中加以显示。
43.二次开发:指在现有的三维场景上进行定制修改、功能扩展,然后达到自己想要的功能和效果,一般来说都不会改变原有场景的内核。
44.sdk:软件开发工具包,在本发明中指采用js语言封装的ue4三维场景远程调用接口。
45.lua:一种小巧的脚本语言,可用于ue4开发。
46.本发明提出一种基于webrtc实现的ue4三维场景代码注入二次开发方法,包括:
47.采用lua代码注入功能来实现所述基于webrtc实现的ue4三维场景代码注入二次开发方法。
48.即,本发明是在现有的技术基础上增加lua代码注入的二次开发技术,能更灵活更快速的实现想要的ue4三维场景效果和业务交互逻辑,解决开发周期和响应较慢的问题。
49.实施例1
50.如图2所示,本实施例中所述基于webrtc实现的ue4三维场景代码注入二次开发方法,包括如下步骤:
51.第一步,浏览器集成ue4三维场景的二次开发sdk;
52.第二步,浏览器调用二次开发sdk的图层和模型查询功能,查询三维场景对外暴露的图层和模型信息;
53.第三步,根据第二步查询到的三维场景对外暴露的图层和模型信息,编写lua脚本;
54.第四步,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求,所述代码注入请求中包含lua脚本和lua脚本的hash值;
55.第五步,ue4三维场景收到代码注入请求后,用lua脚本的hash值对lua脚本进行一致性校验,一致性校验通过后则执行第六步;
56.第六步,对lua脚本进行安全性校验,并在安全性校验通过后执行lua脚本。
57.实施例2
58.在实施例1的基础上,增加lua脚本和lua脚本的hash值的传输要进行加解密的技术方案。即:
59.第四步中,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求时,要对代码注入请求中包含的lua脚本和lua脚本的hash值进行加密传输;
60.第五步中,ue4三维场景收到代码注入请求后,要采用与加密相对应的解密方法解密lua脚本和lua脚本的hash值,然后再用lua脚本的hash值对lua脚本进行一致性校验。
61.由此,如图3所示,本实施例中所述基于webrtc实现的ue4三维场景代码注入二次开发方法,包括如下步骤:
62.第一步,浏览器集成ue4三维场景的二次开发sdk;
63.第二步,浏览器调用二次开发sdk的图层和模型查询功能,查询三维场景对外暴露的图层和模型信息;
64.第三步,根据第二步查询到的三维场景对外暴露的图层和模型信息,编写lua脚本;
65.第四步,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求,所述代码注入请求中包含加密的lua脚本和lua脚本的hash值;
66.第五步,ue4三维场景收到代码注入请求后,采用与加密相对应的解密方法解密lua脚本和lua脚本的hash值,然后再用lua脚本的hash值对lua脚本进行一致性校验,一致性校验通过后则执行第六步;
67.第六步,对lua脚本进行安全性校验,并在安全性校验通过后执行lua脚本。
68.实施例3
69.在实施例2的基础上,增加安全性校验未通过时不执行lua脚本,并且返回lua脚本错误提示信息的技术方案。由此,如图4所示,本实施例中所述基于webrtc实现的ue4三维场景代码注入二次开发方法,包括如下步骤:
70.第一步,浏览器集成ue4三维场景的二次开发sdk;
71.第二步,浏览器调用二次开发sdk的图层和模型查询功能,查询三维场景对外暴露的图层和模型信息;
72.第三步,根据第二步查询到的三维场景对外暴露的图层和模型信息,编写lua脚本;
73.第四步,调用二次开发sdk提供的lua代码注入接口向ue4三维场景发送代码注入请求,所述代码注入请求中包含加密的lua脚本和lua脚本的hash值;
74.第五步,ue4三维场景收到代码注入请求后,采用与加密相对应的解密方法解密lua脚本和lua脚本的hash值,然后再用lua脚本的hash值对lua脚本进行一致性校验,一致性校验通过后则执行第六步;
75.第六步,对lua脚本进行安全性校验:
76.在安全性校验通过后执行lua脚本;
77.安全性校验未通过时不执行lua脚本,并且返回lua脚本错误提示信息;其中,所述安全性校验未通过的情况包括:
78.(1)lua脚本中包含关闭ue4程序的操作;
79.(2)lua脚本中包含删除文件的操作;
80.(3)调用操作系统危险命令的操作。
81.需要说明的是,以上安全性校验未通过的情况仅仅是一些常见举例,也可能还有一些其他导致安全性校验未通过的操作,不应以此进行限定。
82.实施例4
83.本实施例提出一种计算机终端存储介质,存储有计算机终端可执行指令,所述计算机终端可执行指令用于执行如实施例1-3所述的基于webrtc实现的ue4三维场景代码注入二次开发方法。计算机存储介质的示例包括磁性存储介质(例如,软盘、硬盘等)、光学记录介质(例如,cd-rom、dvd等)或存储器,如存储卡、rom或ram等。计算机存储介质也可以分布在网络连接的计算机系统上,例如是应用程序的商店。
84.实施例5
85.本实施例提出一种计算装置,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如实施例1-3所述的基于webrtc实现的ue4三维场景代码注入二次开发方法。计算装置的示例包括pc机、平板电脑、智能手机或pda等。
86.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1