基于虚幻引擎的处理方法、装置、电子设备及存储介质与流程

文档序号:24542924发布日期:2021-04-02 10:27阅读:108来源:国知局
基于虚幻引擎的处理方法、装置、电子设备及存储介质与流程

本发明涉及软件技术领域,更具体地说,涉及一种基于虚幻引擎的处理方法、装置、电子设备及存储介质。



背景技术:

研发人员在设计软件中做好设计之后,需要对整体进行预览以便找出设计时疏漏的问题。由于设计软件预览时存在的漫游查看不便、显示效果较差等问题,研发人员常借助虚幻引擎进行效果制作,并在制作完成后在实时引擎中查看。但这需要研发人员手动操作,制作周期很长,无法实现标准化,不同制作方的最终效果也不同。



技术实现要素:

有鉴于此,为解决上述问题,本发明提供一种基于虚幻引擎的处理方法、装置、电子设备及存储介质,技术方案如下:

一种基于虚幻引擎的处理方法,所述方法应用于虚幻引擎转化服务器,所述方法包括:

获取目标文件的中间格式文件,所述中间格式文件中包含多个构件的模型信息;

基于所述多个构件的模型信息在虚幻引擎中生成三维场景,所述三维场景由所述多个构件对应的构件模型组成,一个构件对应一个构件模型;

对所述三维场景中各构件模型的材质进行升级处理,并为所述三维场景添加光照;

调用所述虚幻引擎执行光照构建、以及打包操作,以获取相应的可执行文件,所述可执行文件为实时引擎展示的基础。

优选的,所述获取目标文件的中间格式文件,包括:

通过转化服务器对所述目标文件进行转化得到所述中间格式文件;

接收所述转化服务器所输出的所述中间格式文件。

优选的,所述对所述三维场景中各构件模型的材质进行升级处理,包括:

调取预先建立的材质库,所述材质库中包含不同材质类型所对应的被物理渲染后的材质;

针对所述三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型所使用材质的目标材质类型;

使用所述材质库中与所述目标材质类型相对应的材质替换该构件模型所使用的材质。

优选的,所述中间格式文件中还包含多个构件的属性信息,所述为所述三维场景添加光照,包括:

为所述三维场景添加自然光照、以及室内光照;

其中,所述室内光照的添加过程包括:

针对所述三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别;

若该构件模型的构件类型属于室内光源,则获取所述构件类别所对应的元件参数;

按照该构件模型在所述三维场景中的位置和方向,以所述元件参数生成该构件模型对应的室内光照。

优选的,所述中间格式文件中还包含多个构件的属性信息,所述方法还包括:

针对所述三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别;

根据所述三维场景中每个构件模型的构件类型确定属于入户门的第一构件模型、以及属于天花板的第二构件模型;

基于所述第一构件模型在所述三维场景中的位置和方向,确定两个候选室内位置点;

分别以所述两个候选室内位置点为基准向上做射线,将所做的射线能够与所述第二构件模型相交的候选室内位置点作为实际室内位置点,所述实际室内位置点为确定默认视角位置的基础。

优选的,所述方法还包括:

对所述三维场景中各构件模型进行升级处理。

优选的,所述对所述三维场景中各构件模型进行升级处理,包括:

调取预先建立的模型库,所述模型库中包含不同模型类型所对应的真实模型;

针对所述三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型的目标构件类型;

使用所述模型库中与所述目标构件类型相对应的真实模型替换该构件模型。

一种基于虚幻引擎的处理装置,所述装置包括:

获取模块,用于获取目标文件的中间格式文件,所述中间格式文件中包含多个构件的模型信息;

创建模块,用于基于所述多个构件的模型信息在虚幻引擎中生成三维场景,所述三维场景由所述多个构件对应的构件模型组成,一个构件对应一个构件模型;

处理模块,用于对所述三维场景中各构件模型的材质进行升级处理,并为所述三维场景添加光照;

调用模块,用于调用所述虚幻引擎执行光照构建、以及打包操作,以获取相应的可执行文件,所述可执行文件为实时引擎展示的基础。

一种电子设备,所述电子设备包括:至少一个存储器和至少一个处理器;所述存储器存储有程序,所述处理器调用所述存储器存储的程序,所述程序用于实现任意一项所述的基于虚幻引擎的处理方法。

一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令用于执行任意一项所述的基于虚幻引擎的处理方法。

相较于现有技术,本发明实现的有益效果为:

本发明提供的基于虚幻引擎的处理方法、装置、电子设备及存储介质,从文件的中间格式文件导入开始,能够在虚幻引擎中生成三维场景,进而自动进行材质升级、添加光照、构建光照和打包,最终获得可执行文件,整个流程自动化执行,使得实时引擎能够基于自动化产生的可执行文件进行展示。基于本发明能够在短时间内将设计转化为实时引擎的可执行文件,整个流程无需人为干预,提高了效果制作效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的基于虚幻引擎的处理方法的方法流程图;

图2为本发明实施例提供的基于虚幻引擎的处理方法的另一方法流程图;

图3为本发明实施例提供的基于虚幻引擎的处理方法的再一方法流程图;

图4为本发明实施例提供的基于虚幻引擎的处理方法的又一方法流程图;

图5为本发明实施例提供的场景示意图;

图6为本发明实施例提供的基于虚幻引擎的处理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

虽然本发明的一些实施例是基于虚幻引擎来展示revit模型的,然而,本公开的实施例也适用于其他的设计软件。虚幻引擎是一款由epicgames开发的一套完整的创作工具,可用于构建游戏、模拟及可视化内容,通过使用虚幻引擎,可以直观地显示建筑的三维模型,同时拥有优秀的最终显示效果。以下对本发明进行详细说明。

本发明实施例提供一种基于虚幻引擎的处理方法,该方法应用于虚幻引擎转化服务器,方法流程图如图1所示,包括如下步骤:

s10,获取目标revit文件的中间格式文件,中间格式文件中包含多个构件的模型信息。

本发明实施例中,中间格式文件即datasmith文件,其中至少包含构件的模型信息,而对于模型信息可以包含为几何体(用于描述构件的形状、尺寸等)和材质两方面的信息。此外,中间格式文件中还包含构件的属性信息,该属性信息可以包含价格、供应商、类别等非描述信息。

具体的,用户可以直接将所指定的revit文件,即目标revit文件上传至revit转化服务器,由revit转化服务器将目标revit文件转换为相应的中间格式文件。具体实现过程中,步骤s10“获取目标revit文件的中间格式文件”可以采用如下步骤:

通过revit转化服务器对目标revit文件进行转化得到中间格式文件;接收revit转化服务器所输出的中间格式文件。

本发明实施例中,用户将目标revit文件通过前端页面上传至revit转化服务器,并通过http请求通知revit转化服务进行处理。

revit转化服务器读取解析目标revit文件(rvt格式)后,提取其中各构件的模型和属性,生成相应的中间格式文件。而revit转化服务器的转化程序可以由epicgames提供。当然,还可以预先对相关转化程序进行改动,对构件的属性进行补充,并将其服务化,本发明实施例对此不做限定。

此外,revit转化服务器还具有文件存储服务,其可以在将目标revit文件转化为中间格式文件后,进行保存,并在指定时间内输出至虚幻引擎转化服务器。

s20,基于多个构件的模型信息在虚幻引擎中生成三维场景,三维场景由多个构件对应的构件模型组成,一个构件对应一个构件模型。

本发明实施例中,虚幻引擎转化服务器能够通过调用官方的datasmith插件将中间格式文件导入虚幻引擎内,并在虚幻引擎内构建生成整个三维场景。

当然,构建三维所需的信息至少包含多个构件的模型信息,如果中间格式文件中还包含多个构件的属性信息,还可以将构件的属性信息添加给相应的构建模型,以便用户查看。

s30,对三维场景中各构件模型的材质进行升级处理,并为三维场景添加光照。

由于revit中材质系统比较简单,因此将中间格式文件导入虚幻引擎后,三维场景内构件模型的材质表现效果较差,比如会出现反射和粗糙程度不真实等。因此,本发明实施例对应构件模型的材质进行升级,将构件模型所使用的简单材质替换为虚幻引擎中事先制作的同类型的材质。

另外,在为三维场景添加光照时,可以基于规则自动化添加方向光和天空光,该方向光可以模拟太阳光,由此模拟现实世界中室外真实的自然光照。并且,在添加方向光和天空光时,可以依据所设置的时间来添加,不同时间下太阳光和天空光是所有区别的。

具体实现过程中,步骤s30“对三维场景中各构件模型的材质进行升级处理”可以采用如下步骤,方法流程图如图2所示:

s3011,调取预先建立的材质库,材质库中包含不同材质类型所对应的被物理渲染后的材质。

本发明实施例中,虚幻引擎转化服务器在后台预先维护有一个虚幻引擎的材质库,该材质库中各材质类型的材质是基于物理渲染所得到的,相较于revit的材质,其效果更真实。

另外,需要说明的是,材质库中各材质的材质类型是能够与revit的材质类型相匹配的,比如对于revit中“不锈钢”的材质能够替换为材质库中的“不锈钢”材质。

再者,对于材质类型,可以用材质的名称来区分,由此,通过构件模型所使用材质的名称能够在材质库中检索到与其名称相同的、效果更真实的材质。

s3012,针对三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型所使用材质的目标材质类型。

本发明实施例中,对于三维场景中的每个构件模型,其都执行步骤s302~s303的步骤,对于一个构件模型来说,可以通过解析其模型信息获得该构件模型的目标材质名称,进而在材质库中检索是否存在该目标材质名称的材质,若有,则可以使用所检索到的材质替换该构件模型的材质。当然,如果在材质库检索不到目标材质名称的材质,则不执行后续的材质替换。

需要说明的是,对于一个构件模型来说,其所使用的材质可以由多种,因此,对于该构件模型的每种材质,都可以基于相应材质对应的目标材质明显在材质库中做检索,并依据检索结果对相应材质做升级。

s3013,使用材质库中与目标材质类型相对应的材质替换该构件模型所使用的材质。

基于此,只要构件模型用到材质库中的材质,虚幻引擎转化服务器都可以将其升级到效果更好的、基于物理渲染的材质。通过材质升级,自动将简单材质升级为更接近真实效果的材质。

在其他一些实施例中,还可以将revit模型进行升级,将简单模型升级更接近展示效果的模型。在图1所示的基于虚幻引擎的处理方法的基础上还包括如下步骤,优选的,该步骤可以设置于材质之后、添加光照之前:

对三维场景中各构件模型进行升级处理。

与材质升级类似,将构件模型替换为在虚幻引擎中事先制作好的同类型的模型。

具体实现过程中,“对三维场景中各构件模型进行升级处理”可以采用如下步骤:

调取预先建立的模型库,模型库中包含不同模型类型所对应的真实模型;针对三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型的目标构件类型;使用模型库中与目标构件类型相对应的真实模型替换该构件模型。

本发明实施例中,虚幻引擎转化服务器在后台预先维护有一个虚幻引擎的模型库,该模型库中的真实模型相较于revit模型,其效果更真实。

另外,需要说明的是,模型库中各真实模型的模型类型是能够与revit的模型类型相匹配的,比如对于revit的一个“多人沙发”的模型类型能够替换为模型库中的“多人沙发”的模型类型。

再者,对于模型类型,可以用模型编号来区分,由此,通过构建模型的编码能够在模型库中检索到与其编码相同的、效果更真实的模型。

还需要说明的是,对于三维场景中的每个构件模型,其都执行上述步骤,对于一个构件模型来说,可以通过解析其模型信息获得该构件模型的目标编号,进而在模型库中检索是否存在与该目标编号的真实模型,若有,则可以使用所检索到的真实模型替换该构件模型。当然,如果在模型库检索不到目标编号的真实模型,则不执行后续的模型替换。

例如一个多人沙发的构件模型,其编号为01,那么在所有不同的revit文件中此沙发都具有“01”的编号。在被导入虚幻引擎后,可以通过该编号来识别出此多人沙发的构件模型,再替换为模型库中更精细的多人沙发的真实模型。

另外,除了为三维场景添加自然光照,本发明实施例还可以进一步添加室内光照。此时要求中间格式文件中还包含多个构件的属性信息。室内光照的添加过程包括如下步骤,方法流程图如图3所示:

s3021,针对三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别。

本发明实施例中,对应三维场景中的每个构件模型都会执行步骤s3021~s3023的步骤。

以一个构件模型类说,通过解析该构件对应的属性信息,能够获取其构件类别,比如餐桌、沙发、筒灯、射灯等。

s3022,若该构件模型的构件类型属于室内光源,则获取构件类别所对应的元件参数。

本发明实施例中,可以预先确定属于室内光源的多个构件类别,比如筒灯、射灯都属于室内光源。如果该构件模型的构件类型属于所确定的多个构件类别中的一个,则可以确定该构件模型的构件类型属于室内光源,进一步获取相应元件参数,比如功率、照度和色温等参数。

此外,如果该构件模型的构件类型不属于室内光源,则不执行后续的步骤。

s3023,按照该构件模型在三维场景中的位置和方向,以元件参数生成该构件模型对应的室内光照。

本发明实施例中,通过识别该构件模型在整个三维场景中的位置和方向,可以在按照相同的位置和方向生成同照度、同色温的光源,以此实现在相应灯具处补充光源,来模拟室内光照。

需要说明的是,如果元件参数包含有照度,可以直接按照该真实的照度生成光源。而如果元件参数不包含照度、但包含功率,可以按照构件模型的构件类型换算出照度,比如对于led灯,按照平均值80lm/w换算出照度。

s40,调用虚幻引擎执行光照构建、以及打包操作,以获取相应的可执行文件,可执行文件为实时引擎展示的基础。

本发明实施例中,光照构建和打包操作属于虚幻引擎的功能。

以上添加的无论是自然光照、还是室内光照,其无法做到光照间诸如反射、折射的迭加,也无法产生光照迭加到构件模型后的效果,由此可以使用命令行的方式自动调用虚幻引擎进行光照构建,目的在于计算出真实的光照信息。并且,为了显示效果,构件的光照会采用静态光的方式,将光线信息保存在场景中每个构件模型的光照贴图中。

另外,对于打包操作,也可以使用命令行的方式自动调用虚幻引擎来实现,将整个三维场景打包为可执行文件,如windows环境下是.exe扩展名的文件。为实现供其他人查看,打包后的可执行文件会自动压缩成zip格式并上传到服务端,并向前端提供此zip的下载链接,支持漫游查看。

在其他一些实施例中,执行步骤s40之前,还可以进行虚幻引擎的其他设置,包括稳定曝光值、进行环境光遮蔽调整等,来保证在不同的设计下显示效果保持统一。具体的,虚幻引擎中可以动态调整曝光度,有压制高光和提升暗处细节的作用。但是为了还原真实照明效果,本申请把曝光值稳定在固定值,同时调整了环境光遮蔽等参数来提升显示效果。

在其他一些实施例中,还可以设置默认视角,通过对入户门的识别和相关计算,保证默认视角是在入户门内玄关位置处。此时要求中间格式文件中还包含多个构件的属性信息,本发明实施例还包括如下步骤,方法流程图如图4所示:

s501,针对三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别。

本发明实施例中,步骤s501的具体实现方式可以参见步骤s3021公开部部分,在此不再赘述。

s502,根据三维场景中每个构件模型的构件类型确定属于入户门的第一构件模型、以及属于天花板的第二构件模型。

s503,基于第一构件模型在三维场景中的位置和方向,确定两个候选室内位置点。

本发明实施例中,在进入虚幻引擎时,人物一般都会有一个默认视角,考虑第一构件模型在三维场景中的位置和方向,可以确定垂直于入户门的方向。参见图5所示的场景示意图,垂直于入户门的方向有两个(两个箭头所指示的方向),在这两个方向分别距离入户门一定距离(一般为1米)、1.5高度的位置能够选取两个位置点,这两个位置点即候选室内位置点。

s504,分别以两个候选室内位置点为基准向上做射线,将所做的射线能够与第二构件模型相交的候选室内位置点作为实际室内位置点,实际室内位置点为确定默认视角位置的基础。

本发明实施例中,分别在两个候选室内位置点向上做射线,作为室内位置点,其相应的射线能够与构件类型为天花板的第二构件模型相交,反之,室外位置点则无法与第二构件模型相交。因此,通过确定射线能够与第二构件模型相交的候选室内位置点即可确定实际室内位置点。进一步,可以在该实际室内位置点所在的空间区域选取默认视角位置,当然,还可以直接将该实际室内位置点作为默认视角位置。

综上,本发明实施例提供的基于虚幻引擎的处理方法,能够自动化进行材质模型升级、添加光照、更还其它设置、计算默认视角、构建光照和打包的流程,从而在短时间内将revit设计转化为实时引擎的可执行文件,支持漫游查看,整个流程无需人为干预,提高了效果制作效率。

基于上述实施例提供的基于虚幻引擎的处理方法,本发明实施例则对应提供执行上述基于虚幻引擎的处理方法的装置,该装置的结构示意图如图6所示,包括:

获取模块10,用于获取目标revit文件的中间格式文件,中间格式文件中包含多个构件的模型信息;

创建模块20,用于基于多个构件的模型信息在虚幻引擎中生成三维场景,三维场景由多个构件对应的构件模型组成,一个构件对应一个构件模型;

处理模块30,用于对三维场景中各构件模型的材质进行升级处理,并为三维场景添加光照;

调用模块40,用于调用虚幻引擎执行光照构建、以及打包操作,以获取相应的可执行文件,可执行文件为实时引擎展示的基础。

可选的,获取模块10,具体用于:

通过revit转化服务器对目标revit文件进行转化得到中间格式文件;接收revit转化服务器所输出的中间格式文件。

可选的,处理模块30对三维场景中各构件模型的材质进行升级处理的过程,包括:

调取预先建立的材质库,材质库中包含不同材质类型所对应的被物理渲染后的材质;针对三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型所使用材质的目标材质类型;使用材质库中与目标材质类型相对应的材质替换该构件模型所使用的材质。

可选的,中间格式文件中还包含多个构件的属性信息,处理模块30为三维场景添加光照的过程,包括:

为三维场景添加自然光照、以及室内光照;

其中,室内光照的添加过程包括:

针对三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别;

若该构件模型的构件类型属于室内光源,则获取构件类别所对应的元件参数;

按照该构件模型在三维场景中的位置和方向,以元件参数生成该构件模型对应的室内光照。

可选的,中间格式文件中还包含多个构件的属性信息,处理模块30还用于:

针对三维场景中的每个构件模型,解析该构件模型所对应的属性信息,以获取该构件模型的构件类别;根据三维场景中每个构件模型的构件类型确定属于入户门的第一构件模型、以及属于天花板的第二构件模型;基于第一构件模型在三维场景中的位置和方向,确定两个候选室内位置点;分别以两个候选室内位置点为基准向上做射线,将所做的射线能够与第二构件模型相交的候选室内位置点作为实际室内位置点,实际室内位置点为确定默认视角位置的基础。

可选的,处理模块30还用于:

对三维场景中各构件模型进行升级处理。

可选的,处理模块30对三维场景中各构件模型进行升级处理的过程,包括:

调取预先建立的模型库,模型库中包含不同模型类型所对应的真实模型;针对三维场景中的每个构件模型,解析该构件模型所对应的模型信息,以获取该构件模型的目标构件类型;使用模型库中与目标构件类型相对应的真实模型替换该构件模型。

本发明实施例提供的基于虚幻引擎的处理装置,能够自动化进行材质模型升级、添加光照、更还其它设置、计算默认视角、构建光照和打包的流程,从而在短时间内将revit设计转化为实时引擎的可执行文件,支持漫游查看,整个流程无需人为干预,提高了效果制作效率。

基于上述实施例提供的基于虚幻引擎的处理方法,本发明实施例还提供一种电子设备,该电子设备包括:至少一个存储器和至少一个处理器;存储器存储有程序,处理器调用存储器存储的程序,程序用于实现任意一项所述的基于虚幻引擎的处理方法。

基于上述实施例提供的基于虚幻引擎的处理方法,本发明实施例还提供一种存储介质,存储介质中存储有计算机可执行指令,计算机可执行指令用于执行任意一项所述的基于虚幻引擎的处理方法。

以上对本发明所提供的一种基于虚幻引擎的处理方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素,或者是还包括为这些过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1