掌桥专利:专业的专利平台
掌桥专利
首页

基于Unreal引擎的模型动态颜色生成的方法和装置

文献发布时间:2024-04-18 19:58:26


基于Unreal引擎的模型动态颜色生成的方法和装置

技术领域

本申请实施例涉及计算机技术领域,尤其涉及一种基于Unreal引擎的模型动态颜色生成的方法、装置、计算机设备、计算机可读存储介质。

背景技术

Unreal引擎是一款综合性游戏引擎,可以用于实现实时交互体验,如用于游戏开发、虚拟现实(VR)等领域。通过Unreal引擎可以设置3D模型相关联的外观属性和效果,如改变3D模型的颜色,使得3D模型从一种颜色切换为另一种颜色。然而,当前的3D模型颜色切换效果较差,从而降低了用户的使用体验。

需要说明的是,上述内容并不必然是现有技术,也不用于限制本申请的专利保护范围。

发明内容

本申请实施例提供一种基于Unreal引擎的模型动态颜色生成的方法、装置、计算机设备、计算机可读存储介质,以解决或缓解上面提出的一项或更多项技术问题。

本申请实施例的一个方面提供了一种基于Unreal引擎的模型动态颜色生成的方法,所述方法包括:

获取目标模型的材质信息;

根据所述材质信息,获取目标模型上每个材质的染色区信息,同一个染色区在每个材质上同时对应同一种颜色;

获取针对所述染色区的动态颜色参数;

根据所述动态颜色参数,获取所述染色区在动态过程中每帧对应的帧颜色值;

根据每帧对应的帧颜色值,动态渲染所述染色区,以生成颜色动态改变的目标模型。

可选地,所述目标模型包括一个或多个材质,每个材质包括一个或多个颜色分区;每个颜色分区设有标识符,属于同一个染色区的颜色分区标识符相同;

对应地,获取针对所述染色区的动态颜色参数,包括:

根据颜色分区的标识符,从所述一个或多个材质中获取所述染色分区对应的目标颜色分区;

其中,所述染色区的动态颜色参数用于指示所述目标颜色分区进行动态改变。

可选地,每个材质关联一个动态子材质,目标颜色分区包括多个子分区;

对应地,获取针对所述染色区的动态颜色参数,还包括:

确定与所述多个子分区一一对应的多个目标动态子材质;

为每个目标动态子材质分配对应的动态颜色参数;所述对应的动态颜色参数为染色区的动态颜色参数中的其中一组参数,用于指示相应子分区进行动态改变。

可选地,还包括:

在子分区对应的目标材质未设置动态子材质的情况下,创建所述目标材质对应的目标动态子材质。

可选地,还包括:

将所述目标动态子材质缓存于预设数据结构中。

可选地,还包括:

在子分区对应的目标材质已设置有历史动态子材质的情况下,将所述历史动态子材质设置为目标动态子材质。

可选地,所述染色区的动态颜色参数包括所述染色区的颜色序列与时间周期之间的第一对应关系;

对应地,根据所述动态颜色参数,获取所述染色区在动态过程中每帧对应的帧颜色值,包括:

设置预设显示帧数;

设置所述预设显示帧数与所述时间周期之间的第二对应关系;

根据所述第一对应关系以及所述第二对应关系,获取所述染色区每帧对应的帧颜色值。

可选地,还包括:

获取实时显示帧率以及同屏显示的目标模型中渲染动态颜色对象的数量;

根据所述实时显示帧率调整目标模型中渲染动态颜色对象的数量,以使显示帧数为预设值。

本申请实施例的另一个方面提供了一种基于Unreal引擎的模型动态颜色生成的装置,所述装置包括:

第一获取模块,用于获取目标模型的材质信息;

第二获取模块,用于根据所述材质信息,获取目标模型上每个材质的染色区信息,同一个染色区在每个材质上同时对应同一种颜色;

第三获取模块,用于获取针对所述染色区的动态颜色参数;

第四获取模块,用于根据所述动态颜色参数,获取所述染色区在动态过程中每帧对应的帧颜色值;

渲染模块,用于根据每帧对应的帧颜色值,动态渲染所述染色区,以生成颜色动态改变的目标模型。

本申请实施例的另一个方面提供了一种计算机设备,包括:

至少一个处理器;及

与所述至少一个处理器通信连接的存储器;

其中:所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。

本申请实施例的另一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。

本申请实施例采用上述技术方案可以包括如下优势:

获取目标模型的染色区以及染色区的动态颜色参数。根据染色区的动态颜色参数,确定染色区在动态变化过程中每帧对应的帧颜色值。继而根据每帧对应的帧颜色值,逐帧动态渲染染色区,使目标模型的颜色随帧数持续动态变化,从而提高目标模型的动态颜色切换效果,提升用户的使用体验。

附图说明

附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。

图1示意性示出了根据本申请实施例一的基于Unreal引擎的模型动态颜色生成的方法的流程图;

图2示意性示出了本申请实施例一中模型材质与颜色分区、染色区之间的关系层级图;

图3示意性示出了图1中步骤S104的子步骤流程图;

图4示意性示出了本申请实施例一中模型材质与颜色分区、染色区的效果图;

图5示意性示出了图1中步骤S106的子步骤流程图;

图6为本申请实施例一中模型的染色区对应的颜色值随时间变化的关系图;

图7示意性示出了根据本申请实施例一的基于Unreal引擎的模型动态颜色生成的方法的新增流程图;

图8示意性示出了根据本申请实施例一的基于Unreal引擎的模型动态颜色生成的方法的应用示例图;

图9示意性示出了根据本申请实施例二的基于Unreal引擎的模型动态颜色生成的装置的框图;及

图10示意性示出了根据本申请实施例三中的计算机设备的硬件架构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。

在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。

首先,提供本申请涉及的术语解释:

Unreal引擎:由Epic Games开发的一款综合性游戏引擎,用于创建交互式3D和2D内容。Unreal引擎可以应用于游戏开发、虚拟现实(VR)、增强现实(AR)、电影制作、建筑可视化等领域。

染色区:3D模型或对象上的特定部分或区域,所述染色区可以用于控制物体或角色的某些外观或行为特征。

材质:一种用于控制和渲染目标模型外观的虚拟材料。通过材质,可以定义物体对象的颜色、纹理、光泽、反射、透明度等视觉和物理特性。

其次,为方便本领域技术人员理解本申请实施例提供的技术方案,下面对相关技术进行说明:

Unreal引擎可以用于实现实时交互体验,如用于游戏开发、虚拟现实(VR)等领域。通过Unreal引擎可以设置3D模型相关联的外观属性和效果,如改变3D模型的颜色,使得3D模型从一种颜色切换为另一种颜色。然而,当前的3D模型颜色切换效果较差,从而降低了用户的使用体验。

为此,本申请实施例提供了一种基于Unreal引擎的模型动态颜色生成技术方案。在该技术方案中:(1)对于同一个3D模型,可以通过设置不同的动态颜色效果参数,实现模型在不同时间周期以及在多个不同的颜色中变化的动态效果。(2)能够更换不同的颜色过渡算法,使得在相同的时间周期和颜色序列中,可以实现不同的动态颜色变化效果。(3)在引擎中或游戏运行时,可以根据实际情况的需求,灵活调整功能模块的内容,来实现流畅的3D模型颜色动态变化效果。具体见后文。

实施例一

图1示意性示出了根据本申请实施例一的基于Unreal引擎的模型动态颜色生成的方法的流程图。

如图1所示,该基于Unreal引擎的模型动态颜色生成的方法可以包括步骤S100~S108,其中:

步骤S100,获取目标模型的材质信息。

步骤S102,根据所述材质信息,获取目标模型上每个材质的染色区信息,同一个染色区在每个材质上同时对应同一种颜色。

步骤S104,获取针对所述染色区的动态颜色参数。

步骤S106,根据所述动态颜色参数,获取所述染色区在动态过程中每帧对应的帧颜色值。

步骤S108,根据每帧对应的帧颜色值,动态渲染所述染色区,以生成颜色动态改变的目标模型。

本实施例提供的基于Unreal引擎的模型动态颜色生成的方法,获取目标模型的染色区以及染色区的动态颜色参数。根据染色区的动态颜色参数,确定染色区在动态变化过程中每帧对应的帧颜色值。继而根据每帧对应的帧颜色值,逐帧动态渲染染色区,使目标模型的颜色随帧数持续动态变化,从而提高目标模型的动态颜色切换效果,提升用户的使用体验。

以下结合图1,对步骤S100~S108中各个步骤以及可选的其他步骤进行详细阐述。

步骤S100

所述目标模型可以为基于Unreal引擎生成的3D模型,所述3D模型是指三维空间中的虚拟对象或物体,可以为游戏世界中的角色、场景、物体、建筑和其他物体。在示例性的应用中,所述目标模型可以是上衣、裙子等服饰物体,也可以是其他物体。

所述材质信息可以是用于渲染和呈现目标模型的材质属性的设置信息。根据材质信息可以确定目标模型的外观,如颜色、纹理、反射、光照、透明度等视觉特性。示例性地,所述材质信息可以包括贴图上的颜色分区信息,以及材质上的颜色分区标记信息等。

步骤S102

一个目标模型上可以包括一个或者多个染色区,在示例性的应用中,如图2所示,该目标模型中包含两个染色区,即染色区1“橙色”和染色区2“蓝色”。

每个染色区可以包括一个或多个颜色分区,所述一个或多个颜色分区的颜色相同。需要说明的是,修改某个染色区的颜色,就可以同时改变该染色区对应的一个或多个颜色分区的颜色,所述一个或多个颜色分区的颜色变化相同。

步骤S104

每个染色区对应一组动态颜色参数,在对目标模型进行设计时,可以在引擎中或者游戏内界面中实时修改相应的动态颜色参数,以实时调整染色区动态变化的具体颜色值以及动态变化时长,并预览染色区的动态颜色变化效果。

在可选的实施例中,所述目标模型包括一个或多个材质,每个材质包括一个或多个颜色分区。每个颜色分区设有标识符,属于同一个染色区的颜色分区标识符相同。

对应地,所述步骤204还可以包括:

根据颜色分区的标识符,从所述一个或多个材质中获取所述染色分区对应的目标颜色分区。

其中,所述染色区的动态颜色参数用于指示所述目标颜色分区进行动态改变。

所述材质是一种用于控制和渲染目标模型外观的虚拟材料。通过所述材质,可以定义目标模型的视觉属性,如颜色、光照、纹理等。且所述材质可以使用贴图来划分多个不同的颜色分区。

所述标识符用于标识材质上的每个颜色分区属于哪个染色区。

在上述可选的实施例中,根据颜色分区的标识符,可以迅速地从目标模型中的一个或多个材质上获取染色区对应的目标颜色分区,提高获取染色区对应的目标颜色分区的效率,进而提高对目标颜色分区进行动态颜色变化的效率。

在可选的实施例中,每个材质关联一个动态子材质,目标颜色分区包括多个子分区。对应地,如图3所示,所述步骤104还包括:

步骤S300,确定与所述多个子分区一一对应的多个目标动态子材质。

步骤S300,为每个目标动态子材质分配对应的动态颜色参数。所述对应的动态颜色参数为染色区的动态颜色参数中的其中一组参数,用于指示相应子分区进行动态改变。

所述动态子材质是一种在运行时动态创建和修改的材质实例。动态子材质允许在游戏或应用程序运行时实时修改材质的属性,如颜色、纹理、光照、透明度等,从而实现目标模型动态的视觉效果和交互性。

所述目标颜色分区可以包括多个子分区,所述多个子分区的标识符相同且被标记为属于同一个染色区。示例性的应用中,如图4所示,染色区1包括以下子分区:子分区A2、子分区B1、子分区C2。需要说明的是,修改该染色区的颜色,就能同时改变该染色分区对应的多个子分区的颜色。

在示例性的应用中,如图4所示,目标模型可以包括3个材质,即材质A,材质B,材质C。对应地,所述目标模型可以包括3个动态子材质,具体地:材质A关联动态子材质A,材质B关联动态子材质B,材质C关联动态子材质C。此外,目标模型包括两个染色区,即染色区1和染色区2。其中,染色区1包括以下子分区:子分区A2、子分区B1、子分区C2。染色区2包括以下子分区:子分区A1、子分区A3、子分区B2、子分区C1、子分区C3。根据材质和动态子材质之间的关联关系,可以确定各个子分区对应的目标动态子材质。具体地:子分区A2对应的目标动态子材质为动态子材质A;子分区B1对应的目标动态子材质为动态子材质B;分区C2对应的目标动态子材质为动态子材质C。相应地,染色区2中的子分区与目标动态子材质的对应关系如下:子分区A1对应的目标动态子材质为动态子材质A;子分区A3对应的目标动态子材质为动态子材质A;子分区B2对应的目标动态子材质为动态子材质B;子分区C1对应的目标动态子材质为动态子材质C;子分区C3对应的目标动态子材质为动态子材质C。

在上述可选的实施例中,确定子分区对应的目标动态子材质,继而为目标动态子材质分配对应的动态颜色参数,使得可以根据分配好对应动态颜色参数的目标动态子材质,动态改变相应子分区的颜色,提高目标模型的颜色切换效果。

在可选的实施例中,所述方法还包括:

在子分区对应的目标材质未设置动态子材质的情况下,创建所述目标材质对应的目标动态子材质。

在示例性的应用中,判断目标模型中,子分区对应的目标材质是否是第一次设置动态子材质。在目标材质未设置相应的动态颜色效果,即未设置动态子材质的情况下,创建目标材质对应的目标动态子材质,并将所述目标动态子材质存储于目标材质中。

在上述可选的实施例中,在子分区对应的目标材质未设置动态子材质的情况下,创建目标材质对应的目标动态子材质,以便后续可以根据创建的目标动态子材质实现目标模型颜色的实时动态改变,从而提高目标模型的颜色切换效果。

在可选的实施例中,所述方法还可以包括:将所述目标动态子材质缓存于预设数据结构中。

所述数据结构可以以数组或者结构体等的形式存在,需要说明的是,所述数据结构可以根据对应的材质中的颜色分区进行排列,以提高后续根据颜色寻找对应材质的效率。在上述可选的实施例中,将目标动态子材质缓存在预设的数据结构里,可以提高目标模型在进行动态颜色变化时对目标动态子材质的访问效率。

在可选的实施例中,所述方法还可以包括:

在子分区对应的目标材质已设置有历史动态子材质的情况下,将所述历史动态子材质设置为目标动态子材质。

在示例性的应用中,判断目标模型中,子分区对应的目标材质是否第一次设置动态子材质。若目标材质已经创建过历史动态子材质,即目标材质已设置有历史动态子材质的情况下,将历史动态子材质设置为目标动态子材质。

在上述可选的实施例中,将历史动态子材质设置为目标动态子材质,使得后续在修改子分区的颜色时,可以直接使用该动态子材质,无须每次修改子分区的颜色时,都额外创建一个对应的动态子材质,减少出现因多次创建动态子材质而导致运行卡顿的情况。

步骤S106

所述帧颜色值是指在动态变化过程中,染色区在每一帧(游戏或动画中的单个图像帧)中所呈现的颜色属性值。所述帧颜色值可以是一个颜色向量,且所述帧颜色值可以有多种表示方式,如RGB(红、绿、蓝)、HSV(色相、饱和度、明度)、CMYK(青色(Cyan)、洋红色(Magenta)、黄色(Yellow)和黑色(Key))等。举例而言,帧颜色值用RGB表示时,可以为(R=255,G=0,B=0)。

在可选的实施例中,所述染色区的动态颜色参数包括所述染色区的颜色序列与时间周期之间的第一对应关系。对应地,如图5所示,所述步骤106包括:

步骤500,设置预设显示帧数。

步骤500,设置所述预设显示帧数与所述时间周期之间的第二对应关系。

步骤500,根据所述第一对应关系以及所述第二对应关系,获取所述染色区每帧对应的帧颜色值。

所述染色区的动态颜色变化参数还可以包括:动态颜色变化的时间周期中子时间周期的对应颜色序列组合。示例性地,染色区的动态颜色变化的时间周期为0-8秒,颜色由红变黄。其中,所述时间周期中可以包括多个子时间周期,所述多个子时间周期可以对应不同的颜色变化,具体地:在0-2秒的子时间周期中,染色区的颜色由红变橙;在2-5秒的子时间周期中,染色区的颜色由橙变红;在5-6秒的子时间周期中,染色区的颜色由红变橙色,在5-6秒的子时间周期中,染色区的颜色由橙色变黄色。需要说明的是,所述子时间周期对应的颜色和时间可以根据实际情况进行选择,在此不做限定。

所述颜色序列可以用于描述染色区的颜色随时间变化的序列。所述时间周期可以为染色区颜色变化的时间周期。需要说明的是,所述动态颜色变化参数中的颜色序列、时间周期可以根据实际需求进行设计,以实现目标模型在不同时间周期以及不同的颜色中动态变化的效果。

在示例性的应用中,如图4所示,假设染色区1的时间周期为2秒,帧颜色值以RGB(红、绿、蓝)表示,染色区的颜色序列为:由橙色动态变为蓝色,即染色区1的RGB颜色值由橙色(237,125,49)变为蓝色(91,155,213)。相应地,所述第一对应关系中的部分对应关系可以为:染色区1在0秒时,RG B颜色值为橙色(237,125,49),染色区1在1秒时,RGB颜色值为(200,130,100),染色区1在1.5秒时,RGB颜色值为(150,140,160),染色区1在2秒时,RGB颜色值为蓝色(91,155,213)。需要说明的是,所述第一时对应关系可以实际情况进行设定,在此不做限定。

所述预设显示帧数为引擎或者游戏中需要的显示帧数,举例而言,所述预设显示帧数可以为每秒30帧或者每秒60帧。

在示例性的应用中,所述预设显示帧数可以为每秒30帧,所述时间周期可以为2秒。根据所述预设显示帧数,将所述时间周期与预设显示帧数相关联,获取第二对应关系。所述第二对应关系中的部分对应关系可以为:在第0秒时,染色区处于第0帧;在第1秒时,染色区处于第30帧,在第1.5秒时,染色区处于第45帧,在第2秒时,染色区处于第60帧。

在示例性的应用中,可以根据颜色过渡算法,获取染色区在颜色动态变化过程的时间周期中每帧对应的帧颜色值。所述颜色过渡算法可以根据染色区的颜色表示方法、颜色序列和帧数的对应关系(如线性或者非线性)等实际情况进行选取。所述颜色过渡算法可以为:(1)线性插值(Lerp):通过在两个颜色之间进行线性插值来创建过渡颜色。例如,在RGB颜色空间中,从红色到绿色的线性插值可以在每个颜色通道上分别进行。在红色(255,0,0)和绿色(0,255,0)之间进行线性插值会产生各种不同的黄色色调。(2)贝塞尔曲线(Bezier Curve):通过在控制点上定义颜色,创建复杂的颜色过渡效果。(3)HSL/HSV过渡:基于HSL(色相、饱和度、亮度)或HSV(色相、饱和度、明度)颜色模型的颜色过渡算法,HSL/HSV过渡算法允许在色相轮上过渡,从而使目标模型达到更加自然的颜色过渡效果。需要说明的是,在获取染色区每帧对应的帧颜色值时,可以根据实际情况选择不同的颜色过渡算法,使得染色区可以在时间周期内以及颜色序列都相同的情况下,实现不同的颜色变化效果,从而提高目标模型的动态颜色切换效果,提升用户的使用体验。

在上述可选的实施例中,根据第一对应关系以及第二对应关系,获取染色区每帧对应的帧颜色值,以便后续可以根据所述每帧对应的帧颜色值对染色区进行逐帧渲染,从而提高染色区的动态颜色变化效果。

步骤S108

在示例性的应用中,如图6所示,染色区1每帧的帧颜色值可以随帧数变化而变化。所述染色区1包括以下子分区:子分区A2、子分区B1、子分区C2。其中染色区1在0帧时的RGB颜色值为橙色(237,125,49),染色区1在30帧时RGB颜色值为蓝色(91,155,213),染色区1在60帧时RGB颜色值为橙色(237,125,49)。根据图6所示的每帧对应的帧颜色值动态渲染所述染色区,使得染色区1会在0-1s时颜色由橙色变为蓝色,而后在1-2s内颜色由蓝色变为初始颜色(橙色),染色区1可以循环这一动态颜色变化过程。对应地,所述染色区1对应的子分区,即子分区A2、子分区B1、子分区C2的颜色变化与染色区1相同。

在一些实施例中,可以将多种动态颜色变化方案应用于目标模型中,在预览不同颜色方案的效果时,无须多次来回切换修改以预览目标模型的颜色,可以直接从服务器中拉取相应的动态颜色变化方案,从而自动对目标模型进行动态颜色变化操作。

在可选的实施例中,如图7所示,所述方法还包括:

步骤700,获取实时显示帧率以及同屏显示的目标模型中渲染动态颜色对象的数量;

步骤702,根据所述实时显示帧率调整目标模型中渲染动态颜色对象的数量,以使显示帧数为预设值。

同屏显示的目标模型中渲染动态颜色对象的数量越多,游戏运行的帧数就会降低。如,当渲染动态颜色对象的数量为1时,游戏运行的帧率可以为60,而当渲染动态颜色对象的数量为5时,游戏运行的帧率可能降低至30帧。为了使帧数保持稳定,可以通过调整同屏显示的目标模型中渲染动态颜色对象的数量。示例性地,可以实时监测游戏运行帧率的变化,在帧率降低时,可以关闭某些效果,即减少目标模型中渲染动态颜色对象的数量,从而使帧数保持稳定。

在上述可选的实施例中,根据实时显示帧率调整目标模型中渲染动态颜色对象的数量,使显示帧数为预设值,从而保持显示帧数的稳定,以便可以根据稳定的显示帧数获取染色区每帧对应的帧颜色值,进而保证后续可以根据每帧对应的帧颜色值,逐帧动态渲染染色区,实现目标模型颜色随帧数持续动态变化的效果。

为了使得本申请更加容易理解,以下结合图8提供一个示例性应用。

在该示例性应用中,所述目标模型包括一个或多个材质,每个材质包括一个或多个颜色分区。所述目标模型包括一个或多个染色区,每个染色区(颜色相同)包括一个或多个子分区,所述一个或多个子分区可以来自不同的材质。每个子分区设有标识符,属于同一个染色区的子分区标识符相同。

S11,获取目标模型的材质信息;

S12,根据材质信息获取目标模型的染色区;

S13,判断目标材质是否设置目标动态子材质,具体地:

S131,未设置,创建目标动态子材质;

S132,已设置,将历史动态子材质作为目标动态子材质;

S14,获取针对染色区的动态颜色参数,具体地:

①根据颜色分区的标识符,从材质中获取染色分区对应的目标颜色分区;所述目标颜色分区包括多个子分区。

②确定各个子分区对应目标动态子材质;

③为每个目标动态子材质分配对应的动态颜色参数。

S15,根据动态颜色参数,获取染色区在动态过程中每帧对应的帧颜色值,具体地:

①设置预设显示帧数;

②设置预设显示帧数与时间周期之间的第二对应关系;

③根据染色区的动态颜色参数(第一对应关系)以及第二对应关系,获取染色区每帧对应的帧颜色值。

S16,根据每帧对应的帧颜色值,动态渲染染色区。

实施例二

图9示意性示出了根据本申请实施例二的基于Unreal引擎的模型动态颜色生成装置的框图,该基于Unreal引擎的模型动态颜色生成装置可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本实施例中各程序模块的功能。如图9所示,该基于Unreal引擎的模型动态颜色生成装置900可以包括:第一获取模块910、第二获取模块920、第三获取模块930、第四获取模块940、渲染模块950,其中:

第一获取模块910,用于获取目标模型的材质信息;

第二获取模块920,用于根据所述材质信息,获取目标模型上每个材质的染色区信息,同一个染色区在每个材质上同时对应同一种颜色;

第三获取模块930,用于获取针对所述染色区的动态颜色参数;

第四获取模块940,用于根据所述动态颜色参数,获取所述染色区在动态过程中每帧对应的帧颜色值;

渲染模块950,用于根据每帧对应的帧颜色值,动态渲染所述染色区,以生成颜色动态改变的目标模型。

作为可选的实施例,所述目标模型包括一个或多个材质,每个材质包括一个或多个颜色分区;每个颜色分区设有标识符,属于同一个染色区的颜色分区标识符相同;

对应地,所述第三获取模块930还用于:

根据颜色分区的标识符,从所述一个或多个材质中获取所述染色分区对应的目标颜色分区;

其中,所述染色区的动态颜色参数用于指示所述目标颜色分区进行动态改变。

作为可选的实施例,每个材质关联一个动态子材质,目标颜色分区包括多个子分区;

对应地,所述第三获取模块930还用于:

确定与所述多个子分区一一对应的多个目标动态子材质;

为每个目标动态子材质分配对应的动态颜色参数;所述对应的动态颜色参数为染色区的动态颜色参数中的其中一组参数,用于指示相应子分区进行动态改变。

作为可选的实施例,所述装置还包括创建模块,所述创建模块用于:

在子分区对应的目标材质未设置动态子材质的情况下,创建所述目标材质对应的目标动态子材质。

作为可选的实施例,所述装置还包括缓存模块,所述缓存模块用于:

将所述目标动态子材质缓存于预设数据结构中。

作为可选的实施例,所述装置还包括设置模块,所述设置模块用于:

在子分区对应的目标材质已设置有历史动态子材质的情况下,将所述历史动态子材质设置为目标动态子材质。

作为可选的实施例,所述染色区的动态颜色参数包括所述染色区的颜色序列与时间周期之间的第一对应关系;

对应地,所述第四获取模块940还用于:

设置预设显示帧数;

设置所述预设显示帧数与所述时间周期之间的第二对应关系;

根据所述第一对应关系以及所述第二对应关系,获取所述染色区每帧对应的帧颜色值。

作为可选的实施例,所述装置还包括调整模块,所述调整模块用于:

获取实时显示帧率以及同屏显示的目标模型中渲染动态颜色对象的数量;

根据所述实时显示帧率调整目标模型中渲染动态颜色对象的数量,以使显示帧数为预设值。

实施例三

图10示意性示出了根据本申请实施例三的适于实现基于Unreal引擎的模型动态颜色生成的方法的计算机设备10000的硬件架构示意图。在一些实施例中,计算机设备10000可以是智能手机、可穿戴设备、平板电脑、个人电脑、车载终端、游戏机、虚拟设备、工作台、数字助理、机顶盒、机器人等终端设备。在另一些实施例中,计算机设备10000可以是机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括独立的服务器,或多个服务器所组成的服务器集群)等。如图10所示,所述计算机设备10000包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:

存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(如,SD或DX存储器)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如基于Unreal引擎的模型动态颜色生成的方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。

处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。

网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(WidebandCode Divi sion Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetoo th)、Wi-Fi等无线或有线网络。

需要指出的是,图10仅示出了具有部件10010-10030的计算机设备,但是应该理解的是,并不要求实施所有示出的部件,可以替代地实施更多或者更少的部件。

在本实施例中,存储于存储器10010中的基于Unreal引擎的模型动态颜色生成的方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(如处理器10020)所执行,以完成本申请实施例。

实施例四

本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,其中,计算机程序被处理器执行时实现实施例中的基于Unreal引擎的模型动态颜色生成的方法的步骤。

本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEP ROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中基于Unr eal引擎的模型动态颜色生成的方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。

显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算机设备来实现,它们可以集中在单个的计算机设备上,或者分布在多个计算机设备所组成的网络上,可选地,它们可以用计算机设备可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算机设备来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。

需要说明的是,以上仅为本申请的优选实施例,并非因此限制本申请的专利保护范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

相关技术
  • 颜色选择用比色图表及其生成方法、以及生成装置
  • 动态生成人脸三维模型的方法、装置、电子设备
  • 基于CIM模型的配电网单线图线路分支结构生成方法和装置
  • 基于生成对抗模型识别肝肿瘤的方法及装置
  • 基于Unreal引擎的物理动画生成方法和装置
  • 一种Unreal Engine平台下的百万量级地下管线模型动态生成方法
技术分类

06120116492414