一种游戏对象的染色方法及装置的制造方法

文档序号:10471956阅读:382来源:国知局
一种游戏对象的染色方法及装置的制造方法
【专利摘要】本发明涉及一种游戏对象的染色方法,其包括以下步骤:制作与原图大小一致的模板图;生成颜色变换染色矩阵;获取原图的像素点的颜色向量;获取模板图中对应像素点的颜色向量;计算出当前模板像素点的染色变化向量;将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。本发明还提供了一种用于实现上述方法的游戏对象染色装置。相比于现有技术,本发明引入了染色模板的概念,划分了染色区域,不同区域内调用不同的染色矩阵,是颜色的变化更加丰厚多彩。
【专利说明】
一种游戏对象的染色方法及装置
技术领域
[0001]本发明涉及一种游戏中染色方法,特别是一种游戏对象的染色方法;本发明还提供了一种用于实现上述方法的染色装置。
【背景技术】
[0002]游戏中角色造型精灵越丰富,玩家的个性化越高,游戏的可玩性也会更高。但是不断增加精灵图片又会导致游戏渲染压力增加,游戏帧率下降;同时游戏纹理内存也会飙高,对低端设备压力越大,甚至可能出现内存过高导致游戏闪退的情况。现有技术中主要通过逐帧逐像素变换技术和基于灰度图的染色技术来进行图像颜色的变化。
[0003]其中,逐帧逐像素变换技术是在将图片展开的前提下,在渲染贴图的过程中,通过逐像素对颜色进行RGB (红绿蓝)的颜色矩阵过滤变换,或者将RGB转换成HSL(色相,饱和度,明度),再进行HSL变换,来达到一个染色的效果。但是,逐帧逐像素变换技术中的逐帧逐像素运算带来比较大的渲染开销,尤其在同场景在线人数火爆的场景下,渲染压力会大大增加。而且对于RGB和HSL的相互转换的非线性运算,在逐像素着色处理中开销比较大,可能会严重影响游戏的渲染帧率和流畅度。
[0004]而基于灰度图的染色技术是利用一种和原图匹配的灰度图贴图,记录了原图各个像素上的灰度图信息,在染色的时候,每分配一种主颜色值,就根据这个灰度图信息,逐像素乘以主颜色得到对应像素的RGB值,从而实现一种新的染色效果。但是,这种基于灰度图的染色技术染色的灵活度很低,只能有一个主色调,很难满足游戏实际染色的设计需求。
[0005]因此,基于现有技术中的缺陷,先需要提供一种能够快速进行游戏角色图像颜色变化的技术。

【发明内容】

[0006]本发明在于克服现有技术的缺点与不足,提供一种游戏对象的染色方法及装置。
[0007]本发明是通过以下的技术方案实现的:一种游戏对象的染色方法,其包括以下步骤:
[0008]制作与原图大小一致的模板图;
[0009]生成颜色变换染色矩阵;
[0010]获取原图的像素点的颜色向量;
[0011]获取模板图中对应像素点的颜色向量;
[0012]计算出当前模板像素点的染色变化向量;
[0013]将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。
[0014]作为本发明的进一步改进,所述制作与原图大小一致的模板图的步骤中,还包括步骤:使用不同的颜色标记所述模板图的不同部位。
[0015]作为本发明的进一步改进,使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。
[0016]作为本发明的进一步改进,所述生成颜色变化染色矩阵的步骤中,所述颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。
[0017]作为本发明的进一步改进,所述获取原图的像素点的颜色向量的步骤中,是通过原图的纹理和纹理坐标获取原图像素点VO (X,y)的颜色向量vO (RO,GO,BO)。
[0018]作为本发明的进一步改进,所述获取模板图中对应像素点的颜色向量的步骤中,是通过原图的纹理和纹理坐标获取原图像素点Vs(x,y)的颜色向量vs(Rs,Gs,Bs)。
[0019]作为本发明的进一步改进,所述计算出当前模板像素点的染色变化向量的步骤中,为将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb,其中红色分量为:Vtr=Mr*(Rs,Gs ,Bs ,As),绿色分量为:Vtg = Mg*(Rs ,Gs,88,六8),蓝色分量为:¥让=1&*(1^,68,88 38),其中六8为透明度。
[0020]作为本发明的进一步改进,所述将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量的步骤中,具体为:将Vtr,Vtg,Vtb三个分量组成的三维向量(Vtr,Vtg,Vtb),再分别计算出新染色的红色颜色分量Vr=Mr*(Vtr,Vtg,Vtb),红色颜色分量\^=]\%*(¥1:1',\^8,¥1:13)和红色颜色分量\^=]\&*(¥1:1',\^8,¥1:13)。
[0021]相比于现有技术,本发明引入了染色模板的概念,划分了染色区域,不同区域内调用不同的染色矩阵。通过通过自定义染色矩阵与染色模板像素点的RGB向量进行矩阵乘积来构造变换矩阵,再由变换矩阵与原像素点的矩阵乘积获取当前像素点的RGB。从而不受传统方法中调色板的256色限制,色彩更加丰富多变。
[0022]本发明还提供了一种游戏对象的染色装置,其包括
[0023]模板图制作模块,用于制作与原图大小一致的模板图;
[0024]变化矩阵生成模块,用于生成颜色变换染色矩阵;
[0025]原图像素点获取模块,用于获取原图的像素点的颜色向量;
[0026]模板图像素点获取模块,用于获取模板图中对应像素点的颜色向量;
[0027]染色变化向量计算模块,用于计算出当前模板像素点的染色变化向量;以及,
[0028]新染色的颜色向量计算模块,用于将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。
[0029]作为本发明的进一步改进,所述模板图制作模块包括标记子模块,用于使用不同的颜色标记所述模板图的不同部位。
[0030]作为本发明的进一步改进,所述标识子模块使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。
[0031]作为本发明的进一步改进,所述变化矩阵生成模块生成的颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。
[0032]作为本发明的进一步改进,原图像素点获取模块通过原图的纹理和纹理坐标获取原图像素点¥0(1,7)的颜色向量“(如,60,80)。
[0033]作为本发明的进一步改进,所述模板图像素点获取模块通过原图的纹理和纹理坐标获取原图像素点Vs (X,y)的颜色向量vs (Rs,Gs,Bs)。
[0034]作为本发明的进一步改进,所述染色变化向量计算模块将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb,其中红色分量为:Vtr = Mr*(Rs ,Gs ,Bs ,As),绿色分量为:Vtg = Mg*(Rs,Gs,Bs ,As),蓝色分量为:Vtb = Mb*(RS,GS,BS,AS),其中As为透明度。
[00;35]作为本发明的进一步改进,所述新染色的颜色向量计算模块将Vtr,Vtg, Vtb三个分量组成的三维向量(Vtr,Vtg ,Vtb ),再分别计算出新染色的红色颜色分量Vr=Mr*( Vtr,Vtg1Vtb),红色颜色分量Vg=Mg*( Vtr,Vtg ,Vtb)和红色颜色分量Vb=Mb*( Vtr,Vtg, Vtb)。
[0036]为了更好地理解和实施,下面结合附图详细说明本发明。
【附图说明】
[0037]图1是本发明的游戏对象的染色方法的步骤流程图。
[0038]图2是本发明的游戏对象的染色装置的模块框图。
[0039]图3是本发明的模板图示意图。
【具体实施方式】
[0040]请参阅图1,其为本发明的游戏对象的染色方法的步骤流程图。本发明提供了一种游戏对象的染色方法,其包括以下步骤:
[0041 ] SI:制作与原图大小一致的模板图。
[0042]具体的,在步骤SI中,还包括步骤:使用不同的颜色标记所述模板图的不同部位。
[0043]进一步,在本步骤中,使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。
[0044]S2:生成颜色变换染色矩阵。
[0045]具体的,所述生成颜色变化染色矩阵的步骤中,所述颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。
[0046]S3:获取原图的像素点的颜色向量。
[0047]具体的,在本步骤中,是通过原图的纹理和纹理坐标获取原图像素点V0(x,y)的颜色向量 V0(R0,G0,B0)。
[0048]S4:获取模板图中对应像素点的颜色向量。
[0049]具体的,在本步骤中是通过原图的纹理和纹理坐标获取原图像素点Vs(x,y)的颜色向量vs(Rs ,Gs ,Bs) ο
[0050]S5:计算出当前模板像素点的染色变化向量。
[0051]具体的,在本步骤中,是通过将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb,其中红色分量为:Vtr=Mr* (Rs,Gs,Bs,As),绿色分量为:Vtg=Mg*(Rs,Gs ,Bs ,As),蓝色分量为:Vtb=Mb*(Rs,Gs ,Bs ,As),其中As为透明度。
[0052]S6:将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。
[0053]具体的,在本步骤中通过将Vtr,Vtg,Vtb三个分量组成的三维向量(Vtr,Vtg,Vtb),再分别计算出新染色的红色颜色分量Vr=Mr*(Vtr,Vtg,Vtb),红色颜色分量Vg=Mg*(Vtr,Vtg ,Vtb)和红色颜色分量Vb=Mb*(Vtr,Vtg, Vtb)。
[0054]请参阅图2,其为本发明的游戏对象的染色装置的模块框图。相应地,本发明还提供了一种游戏对象的染色装置,其包括模板图制作模块1、变化矩阵生成模块2、原图像素点获取模块3、模板图像素点获取模块4、染色变化向量计算模块5和新染色的颜色向量计算模块6 0
[0055]所述模板图制作模块I,用于制作与原图大小一致的模板图。
[0056]进一步,所述模板图制作模块I包括标记子模块11,用于使用不同的颜色标记所述模板图的不同部位。
[0057]具体的,所述标识子模块使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。
[0058]所述变化矩阵生成模块2,用于生成颜色变换染色矩阵。
[0059]进一步,所述变化矩阵生成模块2生成的颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。
[0060]所述原图像素点获取模块3,用于获取原图的像素点的颜色向量。
[0061]进一步,原图像素点获取模块3通过原图的纹理和纹理坐标获取原图像素点V0(x,
7)的颜色向量¥0(如,60,80)。
[0062]所述模板图像素点获取模块4,用于获取模板图中对应像素点的颜色向量。
[0063]进一步,所述模板图像素点获取模块4通过原图的纹理和纹理坐标获取原图像素点\^(1,7)的颜色向量¥8(1^,68,1^)。
[0064]所述染色变化向量计算模块5,用于计算出当前模板像素点的染色变化向量。
[0065]进一步,所述染色变化向量计算模块5将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb,其中红色分量为:Vtr = Mr*(Rs,Gs,Bs ,As),绿色分量为:Vtg=Mg*(Rs,Gs,Bs ,As),蓝色分量为:Vtb=Mb*(Rs,Gs,Bs ,As),其中As为透明度。
[0066]所述新染色的颜色向量计算模块6,用于将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。
[0067]进一步,所述新染色的颜色向量计算模块6将Vtr,Vtg,Vtb三个分量组成的三维向量(Vtr,Vtg,Vtb),再分别计算出新染色的红色颜色分量Vr=Mr*(Vtr,Vtg,Vtb),红色颜色分量\^=]\%*(¥1:1',\^8,¥1:13)和红色颜色分量\^=]\&*(¥1:1',\^8,¥1:13)。
[0068]以下通过一个具体例子,介绍本发明中的游戏对象的染色方法。
[0069]首先,根据一个原图,制作一个大小一致的模板图。请参阅图3,其为本发明的模板图的示意图。将该模板图分割为多个部位,其中,A表示红色、B表示绿色、C表示蓝色和D表示黄色。其中A、B和C的部位需要进行染色,而D的部位不需要进行染色。
[0070]然后,再针对A、B、C分别生成颜色变换染色矩阵Mr、Mg、Mb。
[0071 ]接着,再分别获取原图的像素点的VO (X,y)的颜色向量vO (RO,GO,BO)和模板图中对应像素点Vs (X,y)的颜色向量vs (Rs,Gs,Bs)。
[0072]再将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb。
[0073]最后,将¥廿,¥七8,¥价三个分量组成的三维向量(¥廿,¥七8,¥让),再分别计算出新染色的红色颜色分量Vr=Mr*(Vtr,Vtg,Vtb),红色颜色分量Vg=Mg*(Vtr,Vtg ,Vtb)和红色颜色分量Vb=Mb*(Vtr,Vtg,Vtb)。
[0074]相比于现有技术,本发明引入了染色模板的概念,划分了染色区域,不同区域内调用不同的染色矩阵。通过通过自定义染色矩阵与染色模板像素点的RGB向量进行矩阵乘积来构造变换矩阵,再由变换矩阵与原像素点的矩阵乘积获取当前像素点的RGB。从而不受传统方法中调色板的256色限制,色彩更加丰富多变。
[0075]本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图包含这些改动和变形。
【主权项】
1.一种游戏对象的染色方法,其包括以下步骤: 制作与原图大小一致的模板图; 生成颜色变换染色矩阵; 获取原图的像素点的颜色向量; 获取模板图中对应像素点的颜色向量; 计算出当前模板像素点的染色变化向量; 将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。2.根据权利要求1所述游戏对象的染色方法,其特征在于:所述制作与原图大小一致的模板图的步骤中,还包括步骤:使用不同的颜色标记所述模板图的不同部位。3.根据权利要求2所述游戏对象的染色方法,其特征在于:使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。4.根据权利要求3所述游戏对象的染色方法,其特征在于:所述生成颜色变化染色矩阵的步骤中,所述颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。5.根据权利要求4所述游戏对象的染色方法,其特征在于:所述获取原图的像素点的颜色向量的步骤中,是通过原图的纹理和纹理坐标获取原图像素点VO(x,y)的颜色向量vO(R0,G0,B0)o6.根据权利要求5所述游戏对象的染色方法,其特征在于:所述获取模板图中对应像素点的颜色向量的步骤中,是通过原图的纹理和纹理坐标获取原图像素点Vs(x,y)的颜色向量vs(Rs,Gs,Bs)ο7.根据权利要求6所述游戏对象的染色方法,其特征在于:所述计算出当前模板像素点的染色变化向量的步骤中,为将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量¥廿、¥七8和¥价,其中红色分量为:¥廿=1^*(1^,68,88 38),绿色分量为:Vtg=Mg*(Rs,Gs ,Bs ,As),蓝色分量为:Vtb=Mb*(Rs,Gs ,Bs ,As),其中As为透明度。8.根据权利要求7所述游戏对象的染色方法,其特征在于:所述将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量的步骤中,具体为:将Vtr,Vtg,Vtb三个分量组成的三维向量(Vtr,Vtg,Vtb),再分别计算出新染色的红色颜色分量Vr =Mr*(Vtr,Vtg,Vtb),红色颜色分量Vg = Mg*(Vtr,Vtg,Vtb)和红色颜色分量Vb = Mb*(Vtr,Vtg1Vtb)。9.一种游戏对象的染色装置,其特征在于:包括 模板图制作模块,用于制作与原图大小一致的模板图; 变化矩阵生成模块,用于生成颜色变换染色矩阵; 原图像素点获取模块,用于获取原图的像素点的颜色向量; 模板图像素点获取模块,用于获取模板图中对应像素点的颜色向量; 染色变化向量计算模块,用于计算出当前模板像素点的染色变化向量;以及, 新染色的颜色向量计算模块,用于将计算出的染色变化向量与原图像素点的颜色向量相乘,得到新染色的颜色向量。10.根据权利要求9所述游戏对象的染色装置,其特征在于:所述模板图制作模块包括标记子模块,用于使用不同的颜色标记所述模板图的不同部位。11.根据权利要求10所述游戏对象的染色装置,其特征在于:所述标识子模块使用红、绿、蓝和黄四种颜色进行标记;其中,所述红、绿和蓝用于标记染色部位,所述黄色用于标记不染色部位。12.根据权利要求11所述游戏对象的染色装置,其特征在于:所述变化矩阵生成模块生成的颜色变化矩阵为Mr、Mg、Mb共3个矩阵,且每个都为四维矩阵,分别表示3个颜色变化部位的变化方案。13.根据权利要求12所述游戏对象的染色方法,其特征在于:原图像素点获取模块通过原图的纹理和纹理坐标获取原图像素点VO (X,y)的颜色向量vO (RO,GO,BO)。14.根据权利要求13所述游戏对象的染色方法,其特征在于:所述模板图像素点获取模块通过原图的纹理和纹理坐标获取原图像素点Vs(x,y)的颜色向量vs(Rs,Gs,Bs)。15.根据权利要求14所述游戏对象的染色方法,其特征在于:所述染色变化向量计算模块将当前模板像素点的颜色分量与染色变化向量矩阵相乘,得出各个染色变化向量Vtr、Vtg和Vtb,其中红色分量为:Vtr = Mr*(Rs,Gs ,Bs ,As),绿色分量为:Vtg = Mg*(Rs,Gs ,Bs ,八8),蓝色分量为:¥让=1&*(1^如^>),其中六8为透明度。16.根据权利要求15所述游戏对象的染色方法,其特征在于:所述新染色的颜色向量计算模块将Vtr,Vtg,Vtb三个分量组成的三维向量(Vtr,Vtg ,Vtb),再分别计算出新染色的红色颜色分量Vr=Mr*(Vtr,Vtg,Vtb),红色颜色分量Vg=Mg*(Vtr,Vtg,Vtb)和红色颜色分量Vb=Mb*(Vtr ,Vtg1Vtb)。
【文档编号】G06T11/40GK105825531SQ201610153344
【公开日】2016年8月3日
【申请日】2016年3月17日
【发明人】徐波
【申请人】广州多益网络股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1