模型染色方法及装置与流程

文档序号:11145241阅读:946来源:国知局
模型染色方法及装置与制造工艺

本公开涉及计算机图形学技术领域,具体而言,涉及一种模型染色方法及模型染色装置。



背景技术:

在当前3D游戏行业中,为了复用已经制作好的模型,通常采用改变模型贴图的方式来快速制作出新的模型。改变模型贴图虽然不能改变模型原有的网格结构,但是可以改变模型颜色。模型的不同颜色可以表现同一种类单位的不同分组、不同阶段。例如,MMO(大型多人在线)游戏中,可以用颜色来区分不同队伍的怪物,使不同队伍的怪物外表拥有不同色系。

改变模型颜色的技术可以统称为模型染色,目前的模型染色技术方案有贴图替换和混合计算两种类别。在贴图替换方式下,被染色的模型不使用原来的贴图,而是使用一张全新的贴图替换原来的贴图;在混合计算方式下,被染色的模型还是使用原来的贴图,但是通过指定一个染色颜色来对模型进行染色得到最终颜色,混合计算通常是将Diffuse(固有色)与Tint(目标染色颜色)做一定程度的混合得到最终染色。

当目标只是改变模型颜色时,贴图替换的方式过于浪费贴图资源,而混合计算的方式由于难以把控好混合比例而容易丢失细节信息。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的目的在于提供一种模型染色方法及模型染色装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。

根据本公开的一个方面,提供了第一模型染色方法,其特征在于,包括:

根据模型的固有色颜色计算所述模型的亮度;

基于所述模型的亮度调制目标染色颜色获得候选染色结果;以及

基于所述固有色颜色、所述候选染色结果以及预定染色因子对所述模型进行染色。

在本公开的一种示例性实施例中,所述计算所述模型的亮度包括:

基于YUV颜色空间计算所述模型的亮度。

在本公开的一种示例性实施例中,所述基于所述模型的亮度调制目标染色颜色包括:

基于所述模型的亮度和增强系数来调制所述目标染色颜色。

在本公开的一种示例性实施例中,所述增强系数的取值范围为[1,3]。

在本公开的一种示例性实施例中,所述对所述模型进行染色包括:

通过所述预定染色因子对所述固有色颜色与所述候选染色结果进行插值运算来对所述模型进行染色。

根据本公开的另一方面,还提供了第二模型染色方法,其特征在于,包括:

使用遮罩贴图确定模型的待染色区域;

确定与所述遮罩贴图的各通道对应的各目标染色颜色分量;

在所述遮罩贴图的各通道上依次执行根据所述第一模型染色方法来对所述待染色区域进行染色。

在本公开的一种示例性实施例中,所述确定与所述遮罩贴图的各通道对应的各目标染色颜色分量包括:

确定与所述遮罩贴图的第一通道、第二通道以及第三通道分别对应的目标染色颜色的第一分量、第二分量以及第三分量。

在本公开的一种示例性实施例中,所述依次执行根据所述第一模型染色方法来对所述待染色区域进行染色包括:

在所述第一通道上对所述待染色区域进行染色获得所述待染色区域的第一固有色颜色;

基于所述第一固有色颜色在所述第二通道上对所述待染色区域进行染色获得所述待染色区域的第二固有色颜色;以及

基于所述第二固有色颜色在所述第三通道上对所述待染色区域进行染色获得所述待染色区域的目标染色颜色。

在本公开的一种示例性实施例中,所述预定染色因子为与所述遮罩贴图的各通道对应的遮罩颜色分量。

根据本公开的又一方面,还提供了第一模型染色装置,其特征在于,包括:

亮度计算单元,用于根据模型的固有色颜色计算所述模型的亮度;

调制单元,用于基于所述模型的亮度调制目标染色颜色获得候选染色结果;以及

染色单元,用于基于所述固有色颜色、所述候选染色结果以及预定染色因子对所述模型进行染色。

在本公开的一种示例性实施例中,所述计算所述模型的亮度包括:

基于YUV颜色空间计算所述模型的亮度。

在本公开的一种示例性实施例中,所述基于所述模型的亮度调制目标染色颜色包括:

基于所述模型的亮度和增强系数来调制所述目标染色颜色。

在本公开的一种示例性实施例中,所述增强系数的取值范围为[1,3]。

在本公开的一种示例性实施例中,所述对所述模型进行染色包括:

通过所述预定染色因子对所述固有色颜色与所述候选染色结果进行插值运算来对所述模型进行染色。

根据本公开的再一方面,还提供了第二模型染色装置,其特征在于,包括:

染色区域确定单元,用于使用遮罩贴图确定模型的待染色区域;

颜色分量确定单元,用于确定与所述遮罩贴图的各通道对应的各目标染色颜色分量;

染色单元,用于在所述遮罩贴图的各通道上依次执行根据所述第一模型染色方法来对所述待染色区域进行染色。

在本公开的一种示例性实施例中,所述确定与所述遮罩贴图的各通道对应的各目标染色颜色分量包括:

确定与所述遮罩贴图的第一通道、第二通道以及第三通道分别对应的目标染色颜色的第一分量、第二分量以及第三分量。

在本公开的一种示例性实施例中,所述依次执行根据权利要求1至5中任一项所述的模型染色方法来对所述待染色区域进行染色包括:

在所述第一通道上对所述待染色区域进行染色获得所述待染色区域的第一固有色颜色;

基于所述第一固有色颜色在所述第二通道上对所述待染色区域进行染色获得所述待染色区域的第二固有色颜色;以及

基于所述第二固有色颜色在所述第三通道上对所述待染色区域进行染色获得所述待染色区域的目标染色颜色。

在本公开的一种示例性实施例中,所述预定染色因子为与所述遮罩贴图的各通道对应的遮罩颜色分量。

本公开的一种示例性实施例中的第一模型染色方法及第一模型染色装置,可以根据模型的固有色颜色计算模型的亮度,基于所计算的模型亮度调制目标染色颜色,基于固有色颜色、经调制的目标染色颜色以及预定染色因子对模型进行染色。根据本示例实施例中的第一模型染色方法,一方面,根据模型的固有色颜色计算模型的亮度,基于所计算的模型亮度调制目标染色颜色,可以在保持模型亮度的前提下改变模型色度,不需要进行贴图替换,从而节省了贴图资源;另一方面,基于固有色颜色、经调制的目标染色颜色以及预定染色因子对模型进行染色,可以消除混合比例对模型的固有色贴图细节的影响,从而使染色结果不会丢失固有色贴图的细节。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

通过参照附图来详细描述其示例实施例,本公开的上述和其它特征及优点将变得更加明显。

图1示出了采用混合计算方式的模型染色方法对模型进行染色的示意效果图;

图2示出了根据本公开一示例性实施例的第一模型染色方法的流程图;

图3示出了根据本公开一示例性实施例的第一模型染色方法的计算流程示意图;

图4示出了采用图2所示的第一模型染色方法对模型进行染色的示意效果图;

图5示出了根据本公开一示例性实施例的第二模型染色方法的流程图;

图6示出了遮罩贴图以及其各通道的示意图;

图7示出了采用图5所示的第二模型染色方法在遮罩贴图的各通道上依次进行染色的过程示意图;

图8示出了根据本公开一示例性实施例的第一模型染色装置的示意性框图;以及

图9示出了根据本公开一示例性实施例的第二模型染色装置的示意性框图。

具体实施方式

现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现、材料或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个软件硬化的模块中实现这些功能实体或功能实体的一部分,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

一种模型染色技术方案中,采用混合计算的方式对模型进行染色。如图1所示,在该技术方案中,随着染色比例a的增加,模型颜色逐渐趋向于Tint(目标染色颜色),而固有色的细节信息逐渐减少。当a=1时,模型变为纯色。从图1中可以看出,当混合计算方式对Diffuse(固有色)与Tint采用较高的混合比例时,会掩盖固有色的细节,从而丢失固有色贴图(Diffuse Texture)原有的细节信息。

基于上述内容,在本示例实施例中,首先提供了第一模型染色方法。参考图2中所示,该第一模型染色方法可以包括以下步骤:

步骤S210.根据模型的固有色颜色计算所述模型的亮度;

步骤S220.基于所述模型的亮度调制目标染色颜色获得候选染色结果;以及

步骤S230.基于所述固有色颜色、所述候选染色结果以及预定染色因子对所述模型进行染色。

根据本示例实施例中的第一模型染色方法,一方面,根据模型的固有色颜色计算模型的亮度,基于所计算的模型亮度调制目标染色颜色,可以在保持模型亮度的前提下改变模型色度或色相,不需要进行贴图替换,从而节省了贴图资源;另一方面,基于固有色颜色、经调制的目标染色颜色以及预定染色因子对模型进行染色,可以消除混合比例对模型的固有色贴图细节的影响,从而使染色结果不会丢失固有色贴图的细节。

下面,将对本示例实施例中的第一模型染色方法进行进一步的说明。

在步骤S210中,根据模型的固有色颜色计算所述模型的亮度。

在本示例性实施例中,可以采用YUV颜色空间模型来计算模型的亮度,但是在本公开的示例性实施例中,计算亮度的颜色空间模型不限于此,例如颜色空间模型还可以为HSV颜色模型、YIQ颜色模型以及HSL颜色模型等颜色模型,这也属于本公开的保护范围。

具体而言,在YUV颜色空间中,Y代表亮度(Luminance,计算中记为Luma),U/V代表色度,亮度信号Y和色度信号U、V是分离的,如果只有Y信号分量而没有U、V分量,那么只有Y分量的图像就是黑白灰度图像。按照BT.601标准,Luma与RGB颜色空间为线性关系,具体计算公式如下:

Luma=0.299*R+0.587*G+0.114*B (1)

接下来,在步骤S220中,基于所述模型的亮度调制目标染色颜色获得候选染色结果。

在本示例性实施例中,可以用模型的亮度Luma来调制目标染色颜色Tint,得到候选染色结果Candidate,可以采用下述数学式来对Tint进行调制:

Candidate=a*Luma*Tint (2)

需要说明的是,由于在YUV颜色模型中,Luma和Tint各项分量的取值范围都是[0,1],则在本示例性实施例中,可以设计增强系数a来提高调制结果,增强系数a的值可以为美术效果的经验值,其范围一般为[1,3]。

接下来,在步骤S230中,基于所述固有色颜色、所述候选染色结果以及预定染色因子对所述模型进行染色。

在本示例性实施例中,可以通过预定染色因子对固有色颜色与候选染色结果进行插值运算来对模型进行染色。例如,可以按下式所示在固有色Diffuse与候选染色结果Candidate之间进行线性插值:

Final=Diffuse*(1–Factor)+Candidate*Factor (3)

其中,Diffuse为固有色,Factor为染色因子,Candidate为候选染色结果,染色因子用于控制固有色与候选染色结果之间的插值比例。

本领域技术人员可以理解的是,在本示例性实施例中,所述插值运算不限于线性插值,在本公开的示例性实施例中,插值运算还可以包括牛顿插值法、拉格朗日插值法以及线性插值三角网法等插值运算,这同样在本公开的保护范围内。

进一步地,在图3中示出了采用第一模型染色方法的计算流程示意图。如图3所示,在步骤S210中,基于固有色Diffuse计算亮度Luma,在步骤S220中,用所计算的亮度Luma来调制目标染色颜色Tint,设置增强系数a用以提高调制效果,在步骤S230中,通过染色因子Factor对固有色与经调制的目标染色颜色Tint进行插值运算,从而得到最终颜色。

本示例实施例所采用的第一模型染色方法保持了模型固有色的亮度,染色处理主要是改变模型色度或模型色相的值,染色结果不会丢失固有色贴图的细节。采用该第一模型染色方法对模型进行染色的染色示意结果如图4所示。从图4中可以看出,随着混合比例a增大,模型的颜色逐渐变为目标染色颜色Tint,但是固有色Diffuse的细节并未丢失。

在下面,为了方便描述,步骤S210至步骤S230的数值计算过程可抽象为一个函数CalcTint,在该函数中,自变量为Diffuse、Tint、Factor,因变量为Final,该函数如下所示:

Final=CalcTint(Diffuse,Tint,Factor) (4)

进一步地,本示例实施例还提供了第二模型染色方法。参照图5所示,该第二模型染色方法可以包括以下步骤:

步骤S510.使用遮罩贴图确定模型的待染色区域;

步骤S520.确定与所述遮罩贴图的各通道对应的各目标染色颜色分量;

步骤S530.在所述遮罩贴图的各通道上依次执行上述第一模型染色方法来对所述待染色区域进行染色。

在本示例性实施例中,一方面,通过使用遮罩贴图(Mask Texture)来确定模型的待染色区域和染色因子,使得能够精确地对模型的指定部分进行染色;另一方面,在遮罩贴图的各通道上依次对待染色区域进行染色,可以基于遮罩贴图的各通道进行染色,从而能够精确地控制染色结果。

下面,将对本示例实施例中的第二模型染色方法进行进一步的说明。

在步骤S510中,使用遮罩贴图确定模型的待染色区域。

在本示例性实施例中,使用遮罩贴图可以精确指定模型的待染色区域,并且可以确定每个遮罩贴图的各像素的染色因子。图6示出了一个典型的遮罩贴图,该遮罩贴图可以按RGB通道分为3个灰度图。

此外,在本示例性实施例中,使用RGB888的颜色格式,因此每个灰度图的灰度值Gray范围在[0,255]之间,可以按以下公式,将灰度值Gray映射到范围[0,1]之间:

Factor=Gray/255.0 (5)

进一步地,在本示例性实施例中,映射之后的Factor可以作为染色因子(Tint Factor),用来代表染色的强度。从式(3)可知,Factor=0表示完全使用Diffuse,Factor=1表示完全使用Candidate。从单通道图来看,灰度图的颜色越黑染色越弱,灰度图的颜色越白染色越强。

接下来,在步骤S520中,确定与所述遮罩贴图的各通道对应的各目标染色颜色分量。

在本示例性实施例中,遮罩贴图可以提供3个不同的灰度通道,对于每个通道,都可以设置染色颜色,各通道设置的染色颜色分别记为TintR、TintG、TintB。多通道的遮罩贴图能够给美术提供巨大的发挥空间,并且能够精确控制染色结果。

接下来,在步骤S530中,在所述遮罩贴图的各通道上依次执行上述第一模型染色方法来对所述待染色区域进行染色。

在本示例性实施例中,实时染色过程就是依次在遮罩贴图的3个通道上,对模型分别进行3次染色的过程,三次染色过程如图7所示。该染色过程可以包括以下步骤:

步骤S710.制作Diffuse固有色贴图和Mask遮罩贴图;

步骤S720.调整Mask遮罩贴图的三个通道分别对应的染色颜色TintR、TintG、TintB;

步骤S730.进行第一次染色,从Diffuse固有色贴图读出原始颜色c0,并从Mask遮罩贴图读出遮罩颜色(MaskR,MaskG,MaskB)作为染色因子,开始进行R通道染色,按如下方式计算:

c1=CalcTint(c0,TintR,MaskR)

步骤S740中.进行第二次染色,在上一次染色结果的基础上,在G通道进行染色,按如下方式计算:

c2=CalcTint(c1,TintG,MaskG)

步骤S750.进行第三次染色,在上一次染色结果的基础上,在B通道进行染色,按如下方式计算:

c3=CalcTint(c2,TintB,MaskB)

三次染色处理的结果c3可以作为最终的颜色,输出到后续的处理中。三次染色处理可以在保持固有色贴图亮度的基础上改变模型的色度。

进一步地,如果染色在整个模型上起效,并且染色因子无需精确到每个贴图像素,那么可以不使用遮罩贴图确定染色因子,而可以使用3个浮点数来表示染色因子。

需要说明的是,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。

此外,在本示例实施例中,还提供了第一模型染色装置。如图8所示,该第一模型染色装置800可以包括:亮度计算单元810、调制单元820以及染色单元830。其中:

亮度计算单元810用于根据模型的固有色颜色计算所述模型的亮度;

调制单元820用于基于所述模型的亮度调制目标染色颜色获得候选染色结果;以及

染色单元830用于基于所述固有色颜色、所述候选染色结果以及预定染色因子对所述模型进行染色。

进一步地,在本示例实施例中,还提供了第二模型染色装置。如图9所示,该第二模型染色装置900可以包括:染色区域确定单元910、颜色分量确定单元920以及染色单元930。其中:

染色区域确定单元910用于使用遮罩贴图确定模型的待染色区域;

颜色分量确定单元920用于确定与所述遮罩贴图的各通道对应的各目标染色颜色分量;

染色单元930用于在所述遮罩贴图的各通道上依次执行上述第一模型染色方法来对所述待染色区域进行染色。

由于本公开的示例实施例的模型染色装置的各个功能模块与上述模型染色方法的示例实施例的步骤对应,因此在此不再赘述。

应当注意,尽管在上文详细描述中提及了模型染色装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施例的描述,本领域的技术人员易于理解,这里描述的示例实施例可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施例的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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