一种基于虚幻引擎的换装系统的制作方法

文档序号:28396593发布日期:2022-01-08 01:01阅读:284来源:国知局
1.本发明涉及计算机系统的
技术领域
:,特别涉及一种基于虚幻引擎的换装系统。
背景技术
::2.蓝图文件(blueprint),是虚幻引擎独有的一种文件。而数字人蓝图是添加了不同的数字人相关组件的蓝图文件。例如通过在蓝图文件中添加毛发组件,就可以添加毛发资产到蓝图。再对组件进行设置就可实现数字人换装。3.现有技术中,通常需要制作人员手动复制需求换装的数字人蓝图,将复制出的新蓝图更换规范的名字并在蓝图内对每个组件手动的进行资产更换,完成后保存蓝图。4.因此在换装过程中,为了保证不影响原本的蓝图,一个数字人角色一次换装就必须复制一份新蓝图,这导致了蓝图量的不断增大,且手动工作效率低下,极容易出现差错。此外,虚幻引擎加载蓝图时会遍历和蓝图有关的所有强引用资产并同步加载,这造成在打开或使用蓝图时会因同步加载造成软件长时间卡住不动的问题。技术实现要素:5.本发明的目的就是解决
背景技术
:中提到的问题,提出一种基于虚幻引擎的换装系统。6.为实现上述目的,本发明提出了一种基于虚幻引擎的换装系统,包括:7.数据表模块,包括骨骼网格体数据结构体和毛发数据结构体,所述骨骼网格体数据结构体存放骨骼网格体资产和颜色材质球变量,所述毛发数据结构体存放毛发资产和毛发黑色素材质球实例,骨骼网格体资产、毛发资产以软引用形式存放;8.装扮资产展示模块,展示数字人的当前装扮资产信息;9.装扮资产更换模块,从所述数据表模块中按类型读取数据作为下拉列表中对应选项,接收对下拉列表中相应选项的选择指令后,加载被选择装扮资产以及相应数字人蓝图组件,从而进行实时换装。10.可选的,还包括:装扮资产调色模块,展示数字人的当前装扮资产颜色属性。11.可选的,所述装扮资产调色模块,接收输入的第一调色指令后,对骨骼网格体资产进行调色。12.可选的,所述装扮资产调色模块,接收输入的第二调色指令后,对毛发资产进行调色。13.可选的,所述骨骼网格体资产包括上装、下装、鞋。14.可选的,所述毛发资产包括头发、眉毛、睫毛。15.本发明的有益效果:16.本发明实施例的一种基于虚幻引擎的换装系统,为一个基于虚幻引擎的可视化交互系统,一方面使用c++和蓝图高效执行换装逻辑,省略人工更换步骤,另一方面,通过装扮资产更换模块读取并加载以软引用形式存放在数据表模块中的装扮资产,解决了传统蓝图强引用资产的卡顿问题。此外,本发明实施例的一种基于虚幻引擎的换装系统具有能够直观查看当前数字人的装扮,并能统一的管理所有的换装资产的优点,并可以应用于数字人实时捏人,虚拟偶像一键换装等特定场景。17.本发明的特征及优点将通过实施例结合附图进行详细说明。附图说明18.图1为本发明实施例一种基于虚幻引擎的换装系统的系统框图之一;19.图2为本发明实施例一种基于虚幻引擎的换装系统的系统框图之二。具体实施方式20.为了便于本领域技术人员的理解,下面将结合具体实施例对本发明作进一步详细描述。21.图1示意性示出本发明实施例一种基于虚幻引擎的换装系统的系统框图。22.请参考图1,本发明实施例一种基于虚幻引擎的换装系统包括:数据表模块100、装扮资产展示模块200、装扮资产更换模块300。23.下面,将结合附图及实施例对本发明实施例中的一种基于虚幻引擎的换装系统的各个模块进行更详细的说明。24.数据表模块,包括骨骼网格体数据结构体和毛发数据结构体。25.具体的,通过声明一个毛发数据结构体:structfgroomassetdetail{};26.在毛发数据结构体内,声明软引用格式的毛发资产和毛发绑定资产:27.tsoftobjectptr《ugroomasset》groomasset;28.tsoftobjectptr《ugroombindingasset》bindasset;29.在毛发数据结构体内,声明软引用格式的毛发黑色素材质球实例数组:30.tarray《tsoftobjectptr《umaterialinstance》》materialinsasset;31.从而完成在毛发数据结构体存放毛发资产和毛发黑色素材质球实例。32.另一方面,通过声明一个骨骼网格体数据结构体:structfactorassetdetail{};33.在骨骼网格体数据结构体内,声明软引用格式的骨骼网格体资产:tsoftobjectptr《uskeletalmesh》meshasset;34.声明颜色材质球变量配置数据结构体:structfmaterialcolorinfo{};35.在颜色材质球变量配置数据结构体内,声明材质球下标:int32materialindex;36.在颜色材质球变量配置数据结构体内,声明材质球变量名称数组:tarray《fname》parametername;37.颜色材质球变量配置数据结构体完整代码:38.structfmaterialcolorinfo39.{40.int32materialindex;41.tarray《fname》parametername;42.};43.在骨骼网格体数据结构体内,声明颜色材质球变量配置数据结构体数组:tarray《fmaterialcolorinfo》materialcolorinfo;44.从而完成在骨骼网格体数据结构体存放骨骼网格体资产和颜色材质球变量。45.本实施例中,骨骼网格体资产、毛发资产在数据表模块中以软引用形式保存,软引用形式保存的是资产的路径,因此数据量小,不用担心海量的装扮资产数据造成内存负担,相比现有技术中,在使用或打开蓝图时,编辑器会自动加载蓝图所有资产的强引用,软引用形式按类型同步加载各个资产,将同步加载分散到了不同的批次避免虚幻引擎强引用加载卡顿。46.装扮资产展示模块,为一个展示数字人当前装扮信息的展示界面,装扮资产展示模块中创建有文本控件,文本控件的文本被设定为数字人当前装扮类型以及装扮资产名字(例如:上装:皮夹克a)。47.具体的,数字人当前装扮类型以及装扮资产名字通过先获得组件,再对组件中装扮资产使用getdisplayname(获得展示的名字,此方法为虚幻引擎代码,是种查询资产名字的方法)获得当前装扮资产名字。48.装扮资产更换模块,一方面具有对数字人实现实时换装的功能,另一方面同时也是对可更换装扮资产的一个展示。49.从所述数据表模块中按类型读取数据作为下拉列表中对应选项,接收对下拉列表中相应选项的选择指令后,加载被选择装扮资产以及相应数字人蓝图组件,从而进行实时换装。50.装扮资产更换模块,创建有下拉列表comboboxstring,这个下拉列表的内容是根据类型从所述数据表模块中读取。51.具体的,对数据表模块使用getdatatablerow(读取数据表方法)取得数据,再对下拉列表comboboxstring使用addoption(添加选项方法)用取得的数据为下拉列表创建选项。52.当用户选择下拉菜单中某一项时,使用loadasset(同步加载资产方法)同步加载被选择装扮资产,以及相应数字人蓝图组件,再通过setskeletalmesh(实时生效的更换骨骼网格体方法)和setgroomasset(实时生效的更换毛发方法),进行实时换装。53.请参考图2,在一实施例中,一种基于虚幻引擎的换装系统还包括:装扮资产调色模400。54.装扮资产调色模,为一个展示数字人的当前装扮资产颜色属性的界面,创建有colorpicker(调色盘)、button(按钮)以及spinbox(带进度条的数字输入框),button的onbuttonclicked(按钮点击)回调事件中将colorpicker显示。通过调色盘回调事件oncolorcommitted(调色盘颜色变更)中使用setcolorandopacity(修改颜色和透明度)将button改为调色盘当前颜色。55.所述装扮资产调色模块,接收输入的第一调色指令后,对骨骼网格体资产进行调色,其中,骨骼网格体资产的颜色属性为的rgba这4个通道的颜色值,每个通道的值范围0~1。接收输入的第二调色指令后,对毛发资产进行调色,毛发资产的颜色属性为0~1的黑色素值。56.在一实施例中,一种基于虚幻引擎的换装系统中数字人蓝图模板还具有根据名字获得相应组件的功能。57.具体的,首先创建基类,基类用于约束数字人各个部位的命名,使用虚幻引擎创建蓝图,蓝图继承于actor(演员),需要说明的是,蓝图相当于c++语言中的类,只是被要求了必须继承父类,此处的actor没有什么意义只是因为蓝图必须要继承父类。actor本身也没有功能,为满足蓝图的开发规范常用的占位手段,目的为创建一个蓝图又不想它自带任何功能。58.给蓝图依次添加组件,再通过getcomponentsbyclass(获得数字人蓝图组件方法)获得数字人蓝图全部组件,再对组件使用getobjectname(获得数字人组件名字方法)取得组件名字,从而实现根据名字获得相应组件的功能。59.在本发明实施例的一种基于虚幻引擎的换装系统,为一个基于虚幻引擎的可视化交互系统,一方面使用c++和蓝图高效执行换装逻辑,省略人工更换步骤,另一方面,通过装扮资产更换模块读取并加载以软引用形式存放在数据表模块中的装扮资产,解决了传统蓝图强引用资产的卡顿问题。此外,本发明实施例的一种基于虚幻引擎的换装系统具有能够直观查看当前数字人的装扮,并能统一的管理所有的换装资产的优点,并应用于数字人实时捏人,虚拟偶像一键换装等特定场景。60.上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。61.上述实施例是对本发明的说明,不是对本发明的限定,任何对本发明简单变换后的方案均属于本发明的保护范围。以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本
技术领域
:的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1