使UnrealEngine用Python语言编辑Slate界面的方法技术

技术编号:38986900 阅读:10 留言:0更新日期:2023-10-07 10:17
本申请实施例提供一种使Unreal Engine用Python语言编辑Slate界面的方法,该方法包括:获取JSON格式的界面描述文件,所述界面描述文件关联Py thon工具实例,所述Python工具实例关联一个界面中间层实例;根据所述界面描述文件,创建Slate界面,所述Slate界面包括控件实例,其中,所述控件实例的事件绑定有所述Python工具实例中对应的Python代码;响应于在所述Sla te界面上针对所述控件实例的事件触发,获取所述Python代码的执行结果;通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,以更新所述Slate界面。本申请实施例的技术方案可以将Slate界面的定义和C++代码分离,通过Python快速调整和创建Slate界面内容,无需重新编译C++工程,有效节省编译时间、提高开发效率。提高开发效率。提高开发效率。

【技术实现步骤摘要】
使Unreal Engine用Python语言编辑Slate界面的方法


[0001]本申请实施例涉及计算机
,尤其涉及一种使Unreal Engine用Pyt hon语言编辑Slate界面的方法、装置、计算机设备、计算机可读存储介质、系统。

技术介绍

[0002]随着游戏市场的发展,虚幻引擎(Unreal Engine)被更多地应用在游戏项目开发中。Slate界面框架是虚幻引擎使用的一种界面框架,具有控件丰富、执行效率高、功能强大、界面美观等优点。
[0003]虚幻引擎的原生开发语言为C++语言,开发者使用C++语言创建和管理Sl ate界面。然而,受C++语言的限制,开发过程中对Slate界面做任何一点修改或调整,都需要花费大量时间等待C++工程重新编译完成才能看到改动后的界面效果,无法进行界面的实时更新和预览,导致开发过程繁琐、开发效率低下。
[0004]需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。

技术实现思路

[0005]本申请实施例提供一种使Unreal Engine用Python语言编辑Slate界面的方法、装置、计算机设备、计算机可读存储介质,以解决或缓解上面提出的一项或更多项技术问题。
[0006]本申请实施例的一个方面提供了一种使Unreal Engine用Python语言编辑Slate界面的方法,所述方法包括:
[0007]获取JSON格式的界面描述文件,所述界面描述文件关联Python工具实例,所述Python工具实例关联一个界面中间层实例;
[0008]根据所述界面描述文件,创建Slate界面,所述Slate界面包括控件实例,其中,所述控件实例的事件绑定有所述Python工具实例中对应的Python代码;
[0009]响应于在所述Slate界面上针对所述控件实例的事件触发,获取所述Pytho n代码的执行结果;
[0010]通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,以更新所述Slate界面。
[0011]可选地,所述界面描述文件还用于指定所述Python工具实例的初始化代码以及清理代码。
[0012]可选地,所述界面描述文件还设有变量占位符,所述变量占位符用于标记需要填充的文本位置。
[0013]可选地,获取JSON格式的界面描述文件,包括:
[0014]获取配置文件,所述配置文件包括第一路径和目标位置,所述第一路径为菜单配置描述文件的所在路径,所述目标位置为菜单项的挂接位置;
[0015]根据所述第一路径,获取所述菜单配置描述文件,所述菜单配置描述文件用于指
定和所述菜单项对应的界面描述文件的路径信息;
[0016]根据所述配置文件和所述菜单配置描述文件,在所述目标位置创建所述菜单项;
[0017]响应于针对所述菜单项的点击操作,根据所述路径信息获取相应界面描述文件。
[0018]可选地,所述菜单配置描述文件还用于指定无界面的Python代码片段;和/或所述菜单配置描述文件还用于指定界面图标和/或工具提示。
[0019]可选地,所述目标位置包括预定义位置和/或工具菜单锚点位置。
[0020]可选地,所述使Unreal Engine用Python语言编辑Slate界面的方法还包括:
[0021]响应于所述Python工具实例的获取请求,根据所述界面描述文件获取所述界面中间层实例;其中,所述获取请求中包括第二路径,所述第二路径为所述界面描述文件的所在路径;
[0022]在所述界面描述文件包括第三路径的情形下,根据所述第三路径获取所述界面中间层实例,所述第三路径为所述界面中间层实例的所在路径;
[0023]在所述界面描述文件不包括所述第三路径的情形下,创建所述界面中间层实例,并将所述界面中间层实例分配给所述Python工具实例。
[0024]可选地,所述配置文件还包括所述界面中间层实例的所在目录;
[0025]对应地,所述响应于所述Python工具实例的获取请求,根据所述界面描述文件获取所述界面中间层实例,包括:
[0026]在所述界面描述文件包括所述界面中间层实例的名称的情形下,根据所述界面中间层实例的名称和所在目录,获取所述界面中间层实例。
[0027]可选地,通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,包括:
[0028]通过所述界面中间层实例查找所述控件实例的控件路径,并通过所述界面中间层实例传输所述执行结果和所述控件路径;
[0029]根据传输的执行结果和控件路径,查找所述控件实例并更新。
[0030]可选地,通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,包括:
[0031]通过所述界面中间层实例查找所述控件实例的控件引用,并通过所述界面中间层实例传输所述执行结果和所述控件引用;
[0032]根据传输的执行结果和控件引用,查找所述控件实例并更新。
[0033]可选地,所述使Unreal Engine用Python语言编辑Slate界面的方法还包括:
[0034]提供多个蓝图调用接口给基于Python语言封装的Python层,以供所述Pyt hon层调用Unreal Engine中C++封装的底层功能。
[0035]本申请实施例的另一个方面提供了一种使Unreal Engine用Python语言编辑Slate界面的装置,所述装置包括:
[0036]第一获取模块,用于获取JSON格式的界面描述文件,所述界面描述文件关联Python工具实例,所述Python工具实例关联一个界面中间层实例;
[0037]创建模块,用于根据所述界面描述文件,创建Slate界面,所述Slate界面包括控件实例,其中,所述控件实例的事件绑定有所述Python工具实例中对应的Python代码;
[0038]第二获取模块,用于响应于在所述Slate界面上针对所述控件实例的事件触发,获
取所述Python代码的执行结果;
[0039]更新模块,用于通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,以更新所述Slate界面。
[0040]本申请实施例的另一个方面提供了一种计算机设备,包括:
[0041]至少一个处理器;及
[0042]与所述至少一个处理器通信连接的存储器;
[0043]其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
[0044]本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
[0045]本申请实施例的另一个本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种使Unreal Engine用Python语言编辑Slate界面的方法,其特征在于,所述方法包括:获取JSON格式的界面描述文件,所述界面描述文件关联Python工具实例,所述Python工具实例关联一个界面中间层实例;根据所述界面描述文件,创建Slate界面,所述Slate界面包括控件实例,其中,所述控件实例的事件绑定有所述Python工具实例中对应的Python代码;响应于在所述Slate界面上针对所述控件实例的事件触发,获取所述Pytho n代码的执行结果;通过所述界面中间层实例传输所述执行结果,并根据传输的执行结果查找所述控件实例并更新,以更新所述Slate界面。2.根据权利要求1所述的方法,其特征在于,所述界面描述文件还用于指定所述Python工具实例的初始化代码以及清理代码。3.根据权利要求1所述的方法,其特征在于,所述界面描述文件还设有变量占位符,所述变量占位符用于标记需要填充的文本位置。4.根据权利要求1所述的方法,其特征在于,获取JSON格式的界面描述文件,包括:获取配置文件,所述配置文件包括第一路径和目标位置,所述第一路径为菜单配置描述文件的所在路径,所述目标位置为菜单项的挂接位置;根据所述第一路径,获取所述菜单配置描述文件,所述菜单配置描述文件用于指定和所述菜单项对应的界面描述文件的路径信息;根据所述配置文件和所述菜单配置描述文件,在所述目标位置创建所述菜单项;响应于针对所述菜单项的点击操作,根据所述路径信息获取相应界面描述文件。5.根据权利要求4所述的方法,其特征在于,所述菜单配置描述文件还用于指定无界面的Python代码片段;和/或所述菜单配置描述文件还用于指定界面图标和/或工具提示。6.根据权利要求4所述的方法,其特征在于,所述目标位置包括预定义位置和/或工具菜单锚点位置。7.根据权利要求4所述的方法,其特征在于,所述方法还包括:响应于所述Python工具实例的获取请求,根据所述界面描述文件获取所述界面中间层实例;其中,所述获取请求中包括第二路径,所述第二路径为所述界面描述文件的所在路径;在所述界面描述文件包括第三路径的情形下,根据所述第三路径获取所述界面中间层实例,所述第三路径为所述界面中间层实例的所在路径;在所述界面描述文件不包括所述第三路径的情形下,创建所述界面中间层实例,并将所述界面中间层实例分配给所述Python工具实例。8.根据权利要求4所述的方法,其特征在于,所述配置文件还包括所述界面中间层实例的所在目录;对应地,所述响应于所述Python工具实例的获取请求,根据所述界面描述文件获取所述界面中间层实例,包括:
在所述界面描述文件包括所述界面中间层实例的名称的情形下,根据所述界面中间层实例的名称和所在目录,获取所述界面中间层实例。9.根据权利要求1至8任意一项所述的方法...

【专利技术属性】
技术研发人员:陈慧鹏
申请(专利权)人:北京幻想美人鱼科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1