游戏角色染色方法、装置、用户终端及游戏系统的制作方法_4

文档序号:9480060阅读:来源:国知局
参数发送至游戏服务器,此时,所述游戏服务器将所述染色参数发送至在所述游戏服务器注册的其他用户终端,其他用户终端再执行步骤S101至S104步骤,从而在不同用户终端达到数据同步的效果,由于所述染色参数全部都是整数或者浮点数类型,因此数据量非常小,不会影响所述游戏服务器的运作负荷,此外,所述游戏角色染色装置还可先对所述染色参数进行压缩后,再将压缩后得到的数据包发送给所述游戏服务器,进一步减小传输的数据量。
[0153]本发明实施例还提供一种游戏角色染色装置及具有该游戏角色染色装置的用户终端,用于执行上述任一实施例所述的游戏角色染色方法。这里的所述用户终端可为智能手机、平板电脑、台式机、笔记本电脑或其他智能终端,本发明不做具体限定。
[0154]请一并参阅图5,图5是本发明第二实施例提供的游戏角色染色装置的结构示意图。所述游戏角色染色装置200可设置于所述用户终端内,并用于执行所述游戏角色染色方法,其至少包括参数接收单元210、蒙版信息生成单元220、染色单元230及渲染单元240,其中:
[0155]所述参数接收单元210,用于接收对游戏角色进行染色的染色参数,其中,所述游戏角色上加载有用于展现颜色的第一贴图。
[0156]在本发明实施例中,为了满足玩家对所述游戏角色进行染色的需要,所述参数接收单元210可提供一个染色编辑器,所述染色编辑器内可设置用于染色的各种染色参数,玩家可通过选择所述染色参数来实现对游戏角色进行染色的目的。
[0157]所述蒙版信息生成单元220,用于根据所述染色参数生成所述第一贴图的蒙版信息,其中,所述蒙版信息包括对所述第一贴图的每个像素点的染色信息。
[0158]具体地,请一并参阅图6,在本发明的一个实施例中,所述染色参数包括至少一组蒙版生成参数、蒙版生成算法及染色算法,则所述蒙版信息生成单元220包括:
[0159]第一算法配置单元221,用于根据所述蒙版生成参数及蒙版生成算法获得所述第一贴图的至少一个待染色区域,并将所述染色算法配置给对应的待染色区域。
[0160]优选地,所述蒙版生成算法为区域增长算法、多边形标注算法或标记贴图方法中的任意一种或多种的组合;所述染色算法为不染色、灰度图转换算法、色相变换算法或通道混合算法中的任意一种或多种的组合。
[0161]第一标记单元222,用于标记所述第一贴图上的每个像素点归属的待染色区域及对应的染色算法,生成蒙版信息。
[0162]请一并参阅图7,在本发明的另一个实施例中,所述染色参数包括至少一组蒙版生成参数及染色算法,则所述蒙版信息生成单元220包括:
[0163]第二算法配置单元223,根据所述蒙版生成参数及预设的蒙版生成算法获得所述第一贴图的至少一个待染色区域,并将所述染色算法配置给对应的待染色区域。
[0164]第二标记单元224,标记所述第一贴图上的每个像素点归属的待染色区域及对应的染色算法,生成蒙版信息。
[0165]在本发明实施例中,所述蒙版生成算法由所述第二算法配置单元223预先设置,所述第二算法配置单元223可根据玩家选择的蒙版生成参数选取对应的蒙版生成算法,无需由玩家来选择,方便了玩家的操作。
[0166]所述染色单元230,用于根据所述蒙版信息对所述第一贴图上的每个像素点进行染色处理,生成第二贴图。
[0167]请一并参阅图8,在本发明的一个实施例中,所述染色单元230具体包括:
[0168]查询单元231,用于读取所述第一贴图,针对所述第一贴图上的每个像素点,从所述蒙版信息中查询每个像素点所归属的待染色区域。
[0169]染色处理单元232,用于根据所述待染色区域所配置的染色算法,对所述待染色区域内的像素点进行染色处理。
[0170]生成单元233,用于将染色处理后的像素保存到一张新的贴图上,生成第二贴图。
[0171]请一并参阅图9,在本发明的另一个实施例中,所述染色单元230具体包括:
[0172]第一格式转换单元234,用于读取第一格式的第一贴图,并将所述第一贴图的图片格式转换为第二格式,其中,所述第一格式为经过压缩的图片格式,所述第二格式为未经过压缩的图片格式。
[0173]查询单元235,用于针对所述第一贴图上的每个像素点,从所述蒙版信息中查询每个像素点所归属的待染色区域。
[0174]染色处理单元236,用于根据所述待染色区域所配置的染色算法,对所述待染色区域内的像素点进行染色处理。
[0175]生成单元237,用于将染色处理后的像素保存到一张新的贴图上,生成中间贴图,其中,所述中间贴图的图片格式为第二格式。
[0176]第二格式转换单元238,用于将所述中间贴图的图片格式转化为第一格式,生成第二贴图。
[0177]所述渲染单元240,用于将在所述游戏角色上加载的贴图更新为所述第二贴图,经渲染后获得染色后的游戏角色。
[0178]在本发明实施例中,所述渲染单元240可接收所述第二贴图,并将在所述游戏角色上加载的贴图更新为所述第二贴图,经渲染后获得染色后的游戏角色。
[0179]需要说明的是,在本发明实施例中,所述染色编辑器还提供预览功能,所述渲染单元240渲染后得到的染色后的游戏角色可在染色编辑器中进行预览。
[0180]综上所述,本发明实施例提供的游戏角色染色装置200及用户终端,所述参数接收单元210接收玩家输入的自定义的染色参数,蒙版信息生成单元220再根据所述染色参数生成蒙版信息后,所述染色单元230根据蒙版信息生成染色后的第二贴图,再将所述第二贴图加载到游戏角色上后,获得染色后的游戏角色,并具有如下有益效果:
[0181](1)、由于本发明实施例支持多种染色算法,取代了原本简单的颜色替换和叠加,使得染色效果可以尽可能地保留原始贴图中的各种细节,实现更加精美细致的染色效果。
[0182](2)、将原本需要在材质代码中每帧渲染都进行很多次的计算过程改变为只需要在内存中处理一次,减少了渲染单元240的渲染消耗,同时提高了染色效果和游戏的流畅度。
[0183]请一并参阅图10,需要说明的是,在本发明另一实施例中,所述游戏角色染色装置200还包括:
[0184]存储单元250,用于存储所述第二贴图。
[0185]其中,所述存储单元250对染色处理生成的第二贴图进行保存,为所述第二贴图配置一个存储地址,当需要调用所述第二贴图时,可根据所述存储地址直接调用所述第二贴图,而不需要再重新再经过染色处理。
[0186]显然的,存储单元250也为所述第一贴图也配置了一个存储地址,当需要还原所述游戏角色时,只需重新加载所述第一贴图,即可还原所述游戏角色。
[0187]此外,在游戏运行时,贴图通常会以相对于资源目录的路径作为唯一标识,在本发明实施例中,新生成的贴图以特殊的命名规则进行标识。例如,所述第一贴图的存储地址形式类似“char/hero/0002/0002_body_body.dds”,染色后的第二贴图在之前添加“::”来表示一张在外存并不存在的贴图,即染色后的第二贴图存储地址为“::Char/hero/0002/0002_b°dy_b°dy.dds”。
[0188]需要说明的是,在本发明另一个实施例中,对于一个联网的游戏,当一个玩家在对他的游戏角色进行染色后,则其他玩家上的用户终端显示的该游戏角色也需要是经过染色后,因而,所述游戏角色染色装置200还包括:
[0189]发送单元260,用于将所述染色参数发送至游戏服务器,其中,所述游戏服务器将所述染色参数发送至在所述游戏服务器注册的其他用户终端,以使其他用户终端根据所述染色参数对所述游戏角色进行染色处理。
[0190]在本发明实施例中,在接收到所述染色参数后,所述发送单元260将所述染色参数发送至游戏服务器,此时,所述游戏服务器将所述染色参数发送至在所述游戏服务器注册的其他用户终端,其他用户终端再执行上述的染色处理后,从而在不同用户终端达到数据同步的效果,由于所述染色参数全部都是整数或者浮点数类型,因此数据量非常小,不会影响所述游戏服务器的运作负荷,此外,所述游戏角色染色装置还可先对所述染色参数进行压缩后,再将压缩后得到的数据包发送给所述游戏服务器,进一步减小传输的数据量。
[0191]请一并参阅图11,图11是本发明第三实施例提供的游戏角色染色装置的结构示意图。所述游戏角色染色装置300包括编辑器模块310、存储加载模块320、蒙版信息计算模块330、染色模块340、格式转换模块350、缓存模块360、替换模块370及多线程并行处理模块380,其中:
[0192]所述编辑器模块310用于为玩家提供染色参数的编辑以及效果预览的功能。具体来说包括图形化的用户交互界面,与渲染引擎交互的数据通信方法,染色效果实时预览功能,以及根据染色参数生成染色方案的功能。
[0193]所述存储加载模块320是染色参数的存储和加载模块,用于持久化保存玩家设计好的染色方案,具体来说包括蒙版信息的格式定义,染色参数的数据格式定义,数据的存储功能,数据的加载功能,数据的压缩和解压功能等。所述存储加载模块320作为整个游戏角色染色装置300的输入,可以从磁盘或者网络上获得染色所需的各种数据和参数。
[0194]所述蒙版信息计算模块330用于根据玩家输入的染色参数生成区分待染色区域的蒙版信息。具体来说,所述蒙版信息计算模块330应当包括区域增长算法、多边形标注算法和标记贴图方法三种蒙版信息生成方式的实现,并且提供灵活的扩展功能,方便扩展更多的区域区分方式。所述蒙版信息计算模块330以染色参数为输入,蒙版信息为输出。
[0195]所述染色模块340是核心的染色算法执行模块,用于根据蒙版信息和染色参数生成所需的第二贴图。具体来说,所述染色模块340包含通道混合算法、色相变换算法、灰度图生成算法等多种图像处理算法的实现,并提供框架支持更多形式的图像处理算法。
[0196]所述格式转换模块350是贴图格式转换模块,用于各种格式之间的贴图转换。具体来说包括将第一贴图的格式从DDS、PVRTC或者ETC格式转换到A8R8G8B8格式,以及将第二贴图的格式从A8R8G8B8格式转换到DDS、PVRTC或者ETC格式。所述格式转换模块350还需要支持贴图大小的缩放和mipmap生成功能。
[0197]所述缓存模块360是贴图资源加载和缓存模块,所述缓存模块360用于从外部存储设备加载染色需要的原始贴图(即第一贴图)、区域标记贴图等,并将所述第一贴图按照一定的规则缓存在内存中。具体来说,所述第一贴图的加载过程支持打包资源和未打包资源两种格式的磁盘数据来源,缓存算法采用最近未使用规则来进行替换。
[0198]所述替换模块370用于将第一贴图替换为染色好的第二贴图。具体来说,所述
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1