CN115761066A - 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 - Google Patents
马赛克颗粒的动画效果生成方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN115761066A CN115761066A CN202211457782.2A CN202211457782A CN115761066A CN 115761066 A CN115761066 A CN 115761066A CN 202211457782 A CN202211457782 A CN 202211457782A CN 115761066 A CN115761066 A CN 115761066A
- Authority
- CN
- China
- Prior art keywords
- mosaic
- noise
- particles
- map
- original
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种马赛克颗粒的动画效果生成方法、装置、存储介质及设备。该方法包括:获取原始模型的顶点信息和原始贴图,扩大顶点信息,同时保持原始贴图不变,根据马赛克颗粒的数量对原始贴图的贴图坐标进行处理,以得到马赛克噪声图,该马赛克噪声图中包括与数量匹配的马赛克颗粒,确定每个马赛克颗粒的目标移动位置和移动速度,根据移动速度和马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值,根据每一帧中的坐标偏移值获取原始贴图中对应的像素,控制像素按照每一帧中对应马赛克颗粒的移动速度向目标移动位置进行运动,以生成马赛克颗粒的动画效果,本申请实施例中能操作原始贴图中的像素生成马赛克颗粒的动画效果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及游戏动画技术领域,具体涉及一种马赛克颗粒的动画效果生成方法、装置、存储介质及设备。
背景技术
目前实现马赛克颗粒的飞散效果,通常采用粒子发射器,发射跟图片颜色相似的粒子,往图片的位置聚合/飞散,图片上再做马赛克颗粒镂空,粒子聚合的越多,图片上的马赛克颗粒镂空越少,最终显示出一张完整的图片。这种方案有以下两个缺点:
第一,粒子跟图片分开渲染,分别对应两种不同的渲染方式,最终只是在视觉上模拟了很多细小颗粒聚合成一张完整的图片,但粒子颜色和图片颜色并没有完全对应上,图片的镂空位置和粒子的聚合位置不能完全对应上;
第二,当马赛克颗粒需要细分成非常细小的颗粒的时候,对应粒子的数量巨大,粒子越大,每一个独立的粒子都需要一个3D面片模型,因此所需要的3D面片模型就越大,会给CPU造成巨大压力。
其中,如图1a所示,每一个正方形的粒子都是一个3D面片模型,粒子数量越多,3D面片模型就越多,如图1b所示。
发明内容
本申请实施例提供一种马赛克颗粒的动画效果生成方法、装置、存储介质及计算机设备,可以使得飞散出去的马赛克颗粒的颜色与图片颜色完全对应的同时,提高计算机设备的性能。
本申请实施例提供了一种马赛克颗粒的动画效果生成方法,包括:
获取原始模型的顶点信息和原始贴图;
根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图相对于屏幕的大小和位置不变;
按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;
确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;
根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;
根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
本申请实施例还提供一种马赛克颗粒的动画效果生成装置,包括:
获取模块,用于获取原始模型的顶点信息和原始贴图;
扩大缩小模块,用于根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变;
颗粒确定模块,用于按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;
位置速度确定模块,用于确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;
偏移确定模块,用于根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;
获取控制模块,用于根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的马赛克颗粒的动画效果生成方法中的步骤。
本申请实施例还提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的马赛克颗粒的动画效果生成方法中的步骤。
本申请实施例提供的马赛克颗粒的动画效果生成方法、装置、存储介质及计算机设备,通过获取原始模型的顶点信息和原始贴图,根据马赛克颗粒的运动范围扩大原始模型的顶点信息,同时保持原始贴图不变,根据马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,该马赛克噪声图中包括与数量匹配的马赛克颗粒,确定每个马赛克颗粒在运动范围内的目标移动位置和移动速度,根据移动速度和马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值,根据每一帧中的坐标偏移值获取原始贴图中对应的像素,控制每一帧中的像素按照对应马赛克颗粒的移动速度向目标移动位置进行运动,以生成马赛克颗粒的动画效果,本申请实施例中操作原始贴图中的像素以生成马赛克颗粒的动画效果,使得马赛克颗粒的颜色与原始贴图中的镂空的颜色完全对应上,且无论生成的马赛克颗粒的数量有多少,都只使用一个原始模型,每个马赛克颗粒的动画效果都是基于原始贴图上的像素的运动来实现的,不会增加多余的3D面片模型,提高了计算机设备的性能。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a和图1b为现有技术中的粒子对应的3D面片模型的示意图。
图2为本申请实施例提供的马赛克颗粒的动画效果生成方法的流程示意图。
图3为本申请实施例提供的原始模型在屏幕上显示的效果示意图。
图4为本申请实施例提供的放大原始模型的顶点坐标,缩小贴图后的效果示意图。
图5为本申请实施例提供的初始的马赛克噪声图的示意图。
图6为本申请实施例提供的得到初始的马赛克噪声图的关键步骤示例图。
图7为本申请实施例提供的中间马赛克噪声图的示意图。
图8为本申请实施例提供的得到中间马赛克噪声图的关键步骤示例图。
图9为本申请实施例提供的最终的马赛克噪声图的示意图。
图10为本申请实施例提供的最终的马赛克噪声图的关键步骤示例图。
图11为本申请实施例提供的大小不一致的马赛克颗粒的示意图。
图12a和图12b为本申请实施例提供的某一帧动画效果的示意图。
图13为本申请实施例提供的马赛克颗粒的动画效果生成装置的结构示意图。
图14为本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种马赛克颗粒的动画效果生成方法、装置、存储介质及计算机设备。具体地,本申请实施例的马赛克颗粒的动画效果生成方法可以由计算机设备执行,其中,该计算机设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(Personal Digital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该马赛克颗粒的动画效果生成方法运行于终端设备时,终端设备存储有马赛克颗粒的动画效果生成应用程序并用于呈现马赛克颗粒的动画效果,或者终端设备存储有游戏应用程序,在该游戏应用程序中生成马赛克颗粒的动画效果。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载动画效果生成应用程序/游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者通过全息投影呈现图形用户界面。
例如,当该马赛克颗粒的动画效果生成方法运行于服务器时,可以为云动画或者云游戏如云游戏中的动画。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面/动画效果画面呈现主体是分离的,马赛克颗粒的动画效果生成方法的储存与运行是在云游戏服务器上完成的。而动画效果画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏画面(包括动画效果画面)的呈现。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏应用程序,将游戏画面等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏画面。由此降低终端的计算资源消耗,以及提高终端所显示画面的画面质量。
需要注意的是,本申请实施例中的动画可以是三维动画,还可以为二维动画,下文中以二维动画为例进行说明。
以下将分别对本申请实施例提供的一种方向控制方法、装置、计算机可读存储介质及计算机设备进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
图2是本申请实施例提供的马赛克颗粒的动画效果生成方法,该方法包括如下步骤。
101,获取原始模型的顶点信息和原始贴图。
若生成的是二维动画,原始模型是二维的模型,如二维面片模型等,若是三维动画,则原始模型可以是3D模型,如3D面片模型等。
原始模型包括顶点信息和纹理贴图,该纹理贴图即为原始贴图,原始贴图为一张图片,其对应的坐标为纹理贴图坐标,也可称为uv坐标或者贴图坐标等,用u、v来表示,u、v定义了纹理贴图坐标上的每个点的位置信息。
本申请实施例中以二维动画为例进行说明,对应地,原始模型可以为二维面片模型,顶点信息可包括二维面片模型的四个顶点信息,原始贴图为原始模型所对应的贴图,原始贴图以二维面片模型为载体。对于一张原始贴图来说,其对应的原始模型也为一个。
获取原始模型的顶点信息和原始贴图,并将原始模型加载至屏幕上进行显示。如图3所示,为原始模型在屏幕上显示的效果示意图。其中,较大的白色框为计算机设备的屏幕大小,较小的黑色框是原始二维面片模型的大小,所显示的图片即为原始贴图。
102,根据马赛克颗粒的运动范围扩大原始模型的顶点信息,同时保持原始贴图相对于屏幕的大小和位置不变。
要制作图片的马赛克颗粒飞散动画效果/聚合动画效果,需要有马赛克颗粒从图片上飞散出来,或者有马赛克颗粒从图片外聚合至图片中,因此,马赛克颗粒的运动范围大于图片如原始贴图的显示范围,也大于原始模型所在的范围。因此,可根据马赛克颗粒的运动范围扩大原始模型的顶点信息,并保持原始贴图相对于屏幕的大小和位置不变。
例如,根据马赛克颗粒的运动范围扩大原始模型,以得到扩大后的顶点信息和扩大后的贴图,当扩大原始模型时,必然会同时扩大顶点信息和原始贴图,扩大顶点信息之后能使马赛克颗粒的显示范围扩大,然而并不需要得到扩大后的贴图,因此将扩大后的贴图恢复为原始贴图,即缩小扩大后的贴图为原始贴图,且保持原始贴图相对于屏幕的大小和位置不变。
其中,马赛克颗粒的运动范围可通过马赛克颗粒的运动范围参数来确定,如_MosaicRange,该运动范围参数是一个自定义参数,可以由用户根据具体场景来提前设定,还可以采用默认的运动范围参数。该运动范围参数为浮点值,取值可以设置为3、5等值,即扩大3倍、5倍。
在顶点着色器中,根据马赛克颗粒的运动范围扩大原始模型的顶点信息,扩大后4个顶点所在的模型范围即为马赛克颗粒的运动范围。其中,在一实施例中,可让模型范围超出计算机设备的屏幕,以为了做出马赛克颗粒从屏幕外飞进来的动画效果。
顶点着色器中放大原始模型的顶点信息的关键步骤代码如下:OUT.worldPosition.xyz+=((_MosaicRange-1.0)*IN.vertex.xyz);其中,_MosaicRange即为马赛克颗粒的运动范围参数,IN.vertex.xyz为输入的原始模型的顶点坐标,OUT.worldPosition.xyz为输出的扩大后的顶点坐标,其中,-1的作用是为了让扩大模型顶点和缩小贴图都可以使用该运动范围参数,理解为,顶点坐标乘以1,相当于顶点坐标没有动,因此,uv坐标也不能动,而顶点坐标乘以2,相当于顶点放大了一倍,而此时uv坐标缩小一倍。
在像素着色器中,对扩大后的贴图做缩小处理,其中,贴图缩小系数与模型放大系数保持一致,如原始模型放大一倍,贴图缩小一倍,原始模型放大五倍,贴图缩小五倍。
像素着色器中缩小贴图像素的关键步骤代码如下:float2 finalvu651=saturate(((mosaicuv650*_MosaicRange)+((_MosaicRange-1.0)*-0.5)));其中,saturate函数的作用是将结果值约束到0-1之间,超过1的值取1,低于0的值取0,其他保持不变,mosaicuv650为传入的uv坐标值,(_MosaicRange-1.0)*-0.5的作用是将贴图坐标进行转换,以让贴图从屏幕的中心点开始缩放,原始贴图的左下角为原点,如果没有(_MosaicRange-1.0)*-0.5,那么贴图从左下角进行缩放。其中,缩小贴图像素时需要从u坐标和v坐标都需要对应的处理,因此,输出的是float2格式的结果,也可以理解为是二维的结果。
需要注意的是,本申请实施例中的二维与通常意义上的二维理解不同,通常意义上用(x,y)来表示一个二维点,而本申请实施例中的u坐标对应一个维度,可称为u坐标维度,v坐标对应一个维度,可称为v坐标维度,u坐标对应的维度中包括多个点的u坐标,v坐标对应的维度中包括多个点的v坐标,u坐标维度和v坐标维度一起为两个维度。
上文中的根据马赛克颗粒的运动范围对原始模型的顶点信息进行放大,使得马赛克颗粒的运动范围扩大,而贴图相对于屏幕的相对大小和相对位置保持不变,以让飞散的马赛克颗粒有更大的显示空间。
图4为放大原始模型的顶点坐标,缩小贴图后的效果示意图。在图4中,白色框为屏幕大小,部分超出屏幕外的黑色框为扩大后的模型范围,可以看出,缩小后的贴图相对于屏幕的大小和位置都未发生变化,即保持原始贴图相对于屏幕的大小和位置不变。
从图3和图4中也可以看出,本申请实施例中只有一个二维面片模型,无论马赛克颗粒的数量为多少,都不会影响到模型的数量。
103,按照马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,该马赛克噪声图中包括与数量匹配的马赛克颗粒。
其中,马赛克颗粒的数量是自定义的值,马赛克颗粒的数量可以根据具体实际场景的需求来预先进行设置或预先进行生成。例如,马赛克颗粒的数量可为1个维度的,如10等,也可为两个维度的,分别对应u坐标维度和v坐标维度,例如u坐标维度对应的数量为10,v坐标维度对应的数量为5,即u坐标上对应有10个马赛克颗粒,v坐标上对应有5个马赛克颗粒。需要注意的是,该数量仅仅为示例说明,真实情况中马赛克颗粒的数量一般超过这个数量。
按照马赛克颗粒的数量对原始贴图所对应的贴图坐标即uv坐标进行处理,例如,可根据马赛克颗粒的数量、噪声函数对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,该马赛克噪声图中包括与数量匹配的马赛克颗粒。其中,马赛克噪声图中的每个马赛克颗粒的大小可以相同,也可以不相同,每个马赛克颗粒的明暗可以一致,也可以不一致。
其中,相同或者一致理解为完全一样,只要有不一样的则为不相同或者不一致。无论马赛克噪声图中的每个马赛克颗粒的大小是否相同,明暗是否一致,所生成的马赛克噪声图中的马赛克颗粒的数量与自定义的马赛克颗粒的数量相同。其中,马赛克噪声图中的每个马赛克颗粒的大小一致,意味着每个马赛克颗粒的大小相同,即飞散出去/聚合回来的马赛克颗粒大小相同,每个马赛克颗粒明暗不一致意味着马赛克颗粒所对应的值不相同,明暗不一致影响着后文中根据马赛克噪声图进行的一系列处理的处理结果。
在一情况下,上述按照马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,该初始的马赛克噪声图中包括与数量匹配、大小一致且明暗不一致的马赛克颗粒。将该初始的马赛克噪声图作为最终的马赛克噪声图。
对应地,按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图的步骤,包括:将原始贴图的贴图坐标与马赛克的数量相乘之后再进行取整处理,以得到第一取整结果;将第一取整结果输入至噪声函数中进行噪声处理,以得到初始的马赛克噪声图。其中,取整处理包括向下取整处理。
其中,原始贴图的贴图坐标的坐标范围为[0,1],若马赛克的数量为10,则将原始贴图的贴图坐标与马赛克的数量相乘之后得到的数值的范围为[0,10],由于原始贴图的贴图坐标的坐标范围中包括小数,则得到的数值[0,10]中也会包括小数,因此再对得到的数值中的[0,10]进行向下取整处理,以得到第一取整结果,该第一取整结果中包括0,1,2,3,4,5,6,7,8,9等整数值。若马赛克数量为二维的,u坐标维度对应的数量为10,v坐标维度对应的数量为5,则将贴图坐标中的u坐标的[0,1]均乘以10,得到[0,10],将贴图坐标中的v坐标的[0,1]均乘以5,得到[0,5],将得到的[0,10]和[0,5]都进行向下取整处理,以得到第一取整结果。
得到第一取整结果后,将第一取整结果作为噪声函数的输入,利用噪声函数来进行噪声处理,得到初始的马赛克噪声图,该马赛克噪声图中包括与所确定的马赛克颗粒的数量匹配、大小一致且明暗不一致的马赛克颗粒。
其中,噪声函数用于对第一取整结果中的值进行随机噪声处理,以得到马赛克噪声图。该噪声函数中的输入为float2格式的,即输入为二维的,包括u坐标维度和v坐标维度,输出为一维的,即一个维度上的马赛克噪声图。如图5所示,为根据噪声函数,对第一取整结果进行噪声处理,得到的初始的马赛克噪声图的示意图,其中,该马赛克噪声图中每个马赛克颗粒对应一个颗粒块,从图5中可以看出,该马赛克噪声图中的每个马赛克颗粒的大小一致、明暗不一致。其中,本申请实施例中的初始的马赛克噪声图是一维的,该一维的马赛克噪声图的大小与原始贴图的u坐标的大小或者v坐标的大小保持一致。
在一些情况下,本申请实施例中的一维的马赛克噪声图也可以包括u坐标维度和v坐标维度,如u坐标维度中的多个点的数据是变化的,v坐标维度中的多个点的u坐标值都相同,例如,u坐标维度中的数据大小为[0,1],而v坐标维度中的数据都相同。
如图6所示,为得到初始的马赛克噪声图的关键步骤示例图。其中,Get Local Var的Var(UV)表示获取原始贴图,Get Local Var的Var(MosaicNumg)表示获取马赛克颗粒的数量,Multiply表示将原始贴图的贴图坐标与马赛克的数量进行相乘处理,Floor表示将相乘处理得到的数值进行向下取整处理,向下取整处理后得到第一取整结果,NoiseGenerator表示利用snoise函数来生成初始的马赛克噪声图,生成的初始的马赛克噪声如图5所示。
在该情况下,在生成初始的马赛克噪声图后,将该初始的马赛克噪声图作为最终的马赛克噪声图。
在一情况下,上述按照马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,该初始的马赛克噪声图中包括与数量匹配、大小一致且明暗不一致的马赛克颗粒,对初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,该最终的马赛克噪声图中包括与数量匹配、大小不一致且明暗不一致的马赛克颗粒。该实施例中得到大小一致且明暗不一致的马赛克颗粒之后,再进一步对马赛克颗粒进行缩放处理,以得到大小不一致且明暗不一致的马赛克颗粒。
其中,得到初始的马赛克噪声图的方法请参看上文中的描述,在此不再赘述。得到初始的马赛克噪声图后,可根据原始贴图对应的像素值对初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图;获取每个马赛克颗粒的偏移方向参数;根据偏移方向参数对中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
其中,获取原始贴图的像素值,将初始的马赛克噪声图与像素值进行相乘处理,以得到颜色不一致的中间马赛克噪声图。其中,每个马赛克颗粒对应的每个颗粒块中的颜色是变化的。将初始的马赛克噪声图与像素值进行相乘处理是为进一步得到大小不一致的马赛克颗粒做准备。
图7为中间马赛克噪声图的示意图,图7中将初始的马赛克噪声图跟原始贴图的像素值进行相乘处理之后的中间马赛克噪声图。图8为得到中间马赛克噪声图的关键步骤示例图。从该图7和图8对应的示意图中可看出,原本明暗不一致的马赛克颗粒,在与原始贴图的像素值进行相乘处理之后,变成了彩色的中间马赛克颗粒,其中,中间马赛克颗粒其本质上也是明暗不一致且大小一致的马赛克颗粒。
其中,在一实施例中,得到中间马赛克噪声图之后,还进一步使用一个变量来控制原始贴图的像素值的缩放大小,以得到最终的中间马赛克噪声图。
得到中间马赛克噪声图之后,进一步对中间马赛克噪声图进行缩放处理,例如,获取每个马赛克颗粒的偏移方向参数,根据偏移方向参数对中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
其中,偏移方向参数可也理解为控制mask偏移方向的变量,偏移方向参数是一个二维的变量,分别对应u坐标的值和v坐标的值。偏移方向参数用于控制马赛克颗粒的移动,其中,偏移方向参数中的值可以为正数,也可以为负数。
其中,上述根据偏移方向参数对中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图的步骤,包括:将中间马赛克噪声图和偏移方向参数相加之后再进行取整处理,以得到第二取整结果;将第二取整结果输入至噪声函数中进行噪声处理,以得到最终的马赛克噪声图。
可以理解地,得到偏移方向参数后,将中间马赛克噪声图与偏移方向参数进行相加处理。其中,u坐标加上正数,意味着对应的马赛克颗粒需要往右边偏移,u坐标加上负数,意味着对应的马赛克颗粒需要往左边偏移,v坐标加上正数和负数,分别意味着需要向上偏移和向下偏移等。偏移方向参数中的值可以都相同,也可以不相同。
由于中间马赛克噪声图的明暗不一致,即中间马赛克噪声图的每个马赛克颗粒的值不一样,若偏移方向参数中的值都相同,则进行相加处理之后,所得到的值也不一样,意味着每个马赛克颗粒的目标移动位置都不一样,若偏移方向参数中的值不相同,则进行相加处理之后,所得到值必然也会不一样,同样意味着每个马赛克颗粒的目标移动位置不一样。
将中间马赛克噪声图与偏移方向参数进行相加处理之后再进行取整处理,该取整处理包括向上取整处理,以得到第二取整结果。该第二取整结果的目的是为了让每个马赛克颗粒对应的颗粒块中的颜色值一致,因为中间马赛克噪声图是乘以原始贴图的像素值得到的,原始贴图中的每个贴图坐标的像素值都是变化的,因此,中间马赛克噪声图中的每个颗粒块中的颜色值是变化的。
将第二取整结果输入至噪声函数中,该噪声函数可以是与处理第一取整结果的噪声函数相同,也可以不相同。本申请实施例中以相同为例进行说明。将第二取整结果输入至snoise函数中进行噪声处理如随机噪声处理,以得到最终的马赛克噪声图,最终的马赛克噪声图中每个马赛克颗粒大小不一致、明暗也不一致,如图9所示。
图10为最终的马赛克噪声图的关键步骤示例图。图10中的最左边的Add指的是将中间马赛克噪声图与偏移方向参数进行相加处理,将相加处理之后的值经过Ceil处理,即向上取整处理,以得到第二取整结果,将第二取整结果利用Noise Generator进行噪声处理,以得到最终的马赛克噪声图,如图9所示。
在一情况下,上述按照马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,该初始的马赛克噪声图中包括与数量匹配、大小一致且明暗不一致的马赛克颗粒,将初始的马赛克噪声图中每个马赛克颗粒的值设置为相同,以得到最终的马赛克噪声图,该最终的马赛克噪声图中包括与数量匹配、大小一致且明暗一致的马赛克颗粒。该实施例中限定了得到大小一致且明暗一致的马赛克颗粒。
其中,马赛克颗粒的值跟明暗有关,马赛克颗粒的值不相同,意味着马赛克颗粒的明暗不一致,马赛克颗粒的值相同,意味着马赛克颗粒的明暗一致。
在一情况下,上述按照马赛克颗粒的数量对原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,该初始的马赛克噪声图中包括与数量匹配、大小一致且明暗不一致的马赛克颗粒,对初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,该最终的马赛克噪声图中包括与数量匹配、大小不一致且明暗不一致的马赛克颗粒,将最终的马赛克噪声图中的每个马赛克颗粒的值设置为相同,以得到所确定的最终的马赛克噪声图,该马赛克噪声图中包括与数量匹配、大小不一致且明暗一致的马克赛颗粒。该实施例中限定了得到大小不一致且明暗一致的马赛克颗粒。
得到的马赛克噪声图中的每个马赛克颗粒的大小不一致,使得飞散出去或者聚合回来的马赛克颗粒的大小不一样。如图11所示,每个马赛克颗粒的大小不一致,图11中是进行了采样原始贴图之后的效果,每个马赛克颗粒的颜色不一致。
需要注意的是,上述得到马赛克噪声图的过程,仅仅是个示例,还可以按照其他的方式来得到马赛克噪声图。
104,确定每个马赛克颗粒在运动范围内的目标移动位置和移动速度。
具体地,获取目标移动位置参数,目标移动位置参数是自定义的参数,对应于图10中的MosaicScattered的参数。
目标移动位置参数包括u坐标的范围值和v坐标的范围值,例如u坐标的范围值为[0,1.03],v坐标的范围值为[0,2.5]等,意味着u坐标从原始贴图所在的坐标位置如0移动至1.03,v坐标从原始贴图所在的坐标位置如0移动至2.5,需要注意的是,原始贴图的贴图坐标最大为1。
通过目标移动位置参数还可进一步确定当前马赛克颗粒是飞散出去,还是聚合回来。例如,若u坐标的范围值为[0,1.03],v坐标的范围值为[0,2.5],意味着马赛克颗粒从[0,0]飞散至[1.03,2.5]的目标移动位置,实现了马赛克颗粒的飞散效果,若u坐标的范围值为[1.03,0],v坐标的范围值为[2.5,0],则意味着对应的马赛克颗粒从[1.03,2.5]聚合至[0,0],即聚合至原始贴图中的原来位置,实现了马赛克颗粒的聚合效果。
需要注意的是,目标移动位置参数的值是为了举例说明,方便理解方案,并不构成对应的限制。在其他一些实施例中,还可以为每个马赛克颗粒设置所对应的目标移动位置参数的值。
获取了目标移动位置参数,根据目标移动位置参数来确定每个马赛克颗粒的目标移动位置,并确定每个马赛克颗粒的偏移方向。
例如,可将目标移动位置参数所对应的值与马赛克噪声图中的每个马赛克颗粒的值进行相加处理,可得到每个马赛克颗粒的目标移动位置。
其中,若得到的马赛克噪声图中的明暗不一致,意味着马赛克噪声图中每个马赛克颗粒的值不相同,即使目标移动位置参数的值相同,所确定的目标移动位置也不相同,若得到的马赛克噪声图中的明暗一致,意味着马赛克噪声图中的每个马赛克颗粒的值相同,当目标移动位置参数的值相同时,所确定的目标移动位置相同。
其中,确定每个马赛克颗粒的偏移方向的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图,该中间马赛克噪声图中包括与数量匹配且颜色不一致的马赛克颗粒;获取每个马赛克颗粒的偏移方向参数;将中间马赛克噪声图和偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
其中,按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图的步骤,包括:按照马赛克颗粒的数量对原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,该初始的马赛克噪声图中包括与数量匹配、大小一致且明暗不一致的马赛克颗粒,根据原始贴图对应的像素值对初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图。然后获取每个马赛克颗粒的偏移方向参数,最后将中间马赛克噪声图和偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
其中,由于得到的中间马赛克噪声图中的明暗不一致,意味着马赛克噪声图中每个马赛克颗粒的值不相同,即使偏移方向参数中的值都相同,所确定的偏移方向也不相同。
得到目标移动位置、偏移方向之后,可根据目标移动位置和偏移方向确定每个马赛克颗粒在运动范围内的移动速度。例如,可进一步获取移动时间信息,再根据目标移动位置、偏移方向和移动时间来确定每个马赛克颗粒在运动范围内的移动速度。
其中,若目标移动位置相同、移动时间相同,则移动速度的值相同,但由于偏移方向不相同,因此也可以实现不同马赛克颗粒往不同方向飞散/聚合的动画效果。若目标移动位置不同、移动时间相同,则移动速度的值不相同,同时由于偏移方向不相同,可实现不同马赛克颗粒以不同速度往不同方向飞散/聚合的动画效果。
其中,需要注意的是,马赛克噪声图中的明暗不一致,意味着马赛克噪声图中每个马赛克颗粒的值不相同,而马赛克颗粒的值会直接影响着偏移方向、马赛克颗粒的大小、目标移动位置和移动速度等的值。
105,根据移动速度和马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值。
例如,将移动速度和马赛克噪声图相乘,以确定每一帧中每个马赛克颗粒的坐标偏移值。进一步地,还可以利用噪声函数来模拟移动速度的随机性,该噪声函数不为snoise函数,将利用噪声函数处理得到的结果和马赛克噪声图相乘,确定每一帧中每个马赛克颗粒的坐标偏移值,该坐标偏移值指的是uv坐标的坐标偏移值。
其中,若马赛克噪声图中的明暗不一致,即使移动速度的值一样,将移动速度与马赛克噪声图相乘之后,所确定的每一帧中每个马赛克颗粒的坐标偏移值也不一样,即使马赛克噪声图中的明暗一致,移动速度的值一样,由于偏移方向不同,所确定的每一帧中每个马赛克颗粒的坐标偏移值也不一样。
106,根据每一帧中的坐标偏移值获取原始贴图中对应的像素,控制每一帧中的像素按照对应马赛克颗粒的移动速度向目标移动位置进行运动,以生成马赛克颗粒的动画效果。
根据每一帧中的每个马赛克颗粒的坐标偏移值和每个马赛克颗粒的大小去采样原始贴图中对应的像素(包括像素块),获取原始贴图中与所述坐标偏移值匹配且与马赛克颗粒的大小匹配的像素(包括像素块),然后控制该像素按照对应马赛克颗粒的移动速度向目标移动位置进行运动,以生成马赛克颗粒的动画效果。
如图12a和图12b所示,是马赛克颗粒某一帧动画效果的示意图,从图中可以看出,马赛克颗粒在扩大后的模型范围内运动,且无论如何细分马赛克颗粒的数量,操控的都是原始贴图中的像素,都不会影响到模型的数量,始终都只有一个模型,即原始模型。
上述实施例中由于是按照马赛克颗粒的坐标偏移值去获取原始贴图中对应的像素,因此,马赛克颗粒都是原始贴图中的原有像素飞散出去或者聚合回来,马赛克颗粒与原始贴图镂空的颜色能够完全对应上,且马赛克颗粒的飞散与聚合,都是操作原始贴图本身的像素,不会增加多余的3D面片模型,提高了计算机设备的性能。
需要注意的是,本发明的本质区别于使用目前的使用VFX(Visual Effect Graph)编辑器,利用GPU模拟粒子的方法,使用VFX编辑器利用GPU制作粒子,计算每个粒子的位置和颜色,使用VFX编辑器的方法,仍然需要多个粒子,粒子越多,使用的3D面片模型也越多,降低了计算机设备的性能,且使用VFX编辑器并非是操控图片的像素来生成马赛克颗粒,仍然使用的是粒子。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
为便于更好的实施本申请实施例的马赛克颗粒的动画效果生成方法,本申请实施例还提供一种马赛克颗粒的动画效果生成装置。请参阅图13,图13为本申请实施例提供的马赛克颗粒的动画效果生成装置的结构示意图。该马赛克颗粒的动画效果生成装置200可以包括获取模块201,扩大缩小模块202,颗粒确定模块203,位置速度确定模块204,偏移确定模块205,以及获取控制模块206。
获取模块201,用于获取原始模型的顶点信息和原始贴图。
扩大缩小模块202,用于根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变。
其中,扩大缩小模块202,具体用于根据马赛克颗粒的运动范围扩大所述原始模型,以得到扩大后的顶点信息和扩大后的贴图;将所述扩大后的贴图恢复为所述原始贴图,且保持所述原始贴图相对于屏幕的大小和位置不变。
颗粒确定模块203,用于按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒。
其中,颗粒确定模块203,具体用于按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,所述初始的马赛克噪声图中包括与所述数量匹配、大小一致且明暗不一致的马赛克颗粒;将所述初始的马赛克噪声图作为最终的马赛克噪声图。
其中,颗粒确定模块203,在用于按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图时,具体用于:将所述原始贴图的贴图坐标与马赛克的数量相乘之后再进行取整处理,以得到第一取整结果;将所述第一取整结果输入至噪声函数中进行噪声处理,以得到初始的马赛克噪声图。
其中,颗粒确定模块203,具体用于按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,所述初始的马赛克噪声图中包括与所述数量匹配、大小一致且明暗不一致的马赛克颗粒;对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,所述最终的马赛克噪声图中包括与所述数量匹配、大小不一致且明暗不一致的马赛克颗粒。
其中,颗粒确定模块203,在用于对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图时,具体用于:根据所述原始贴图对应的像素值对所述初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图;获取每个马赛克颗粒的偏移方向参数;根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
其中,颗粒确定模块203,在用于根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图时,具体用于:将所述中间马赛克噪声图和所述偏移方向参数相加之后再进行取整处理,以得到第二取整结果;将所述第二取整结果输入至噪声函数中进行噪声处理,以得到最终的马赛克噪声图。
其中,颗粒确定模块203,在得到明暗不一致的马赛克颗粒所对应的马赛克噪声图后,还用于将所述马赛克噪声图中每个马赛克颗粒的值设置为相同,以得到明暗一致的马克赛颗粒。
位置速度确定模块204,用于确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度。
其中,位置速度确定模块204,在用于确定每个马赛克颗粒在所述运动范围内的移动速度时,具体用于:确定每个马赛克颗粒在运动范围内的目标移动位置,并确定每个马赛克颗粒的偏移方向;根据所述目标移动位置和偏移方向确定每个马赛克颗粒在所述运动范围内的移动速度。
其中,位置速度确定模块204,在用于确定每个马赛克颗粒的偏移方向时,具体用于:按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图,所述中间马赛克噪声图中包括与所述数量匹配且颜色不一致的马赛克颗粒;获取每个马赛克颗粒的偏移方向参数;将所述中间马赛克噪声图和所述偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
偏移确定模块205,用于根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值。
获取控制模块206,用于根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
相应的,本申请实施例还提供一种计算机设备,该计算机设备可以为终端或者服务器。如图14所示,图14为本申请实施例提供的计算机设备的结构示意图。该计算机设备300包括有一个或者一个以上处理核心的处理器301、有一个或一个以上计算机可读存储介质的存储器302及存储在存储器302上并可在处理器上运行的计算机程序。其中,处理器301与存储器302电性连接。
处理器301是计算机设备300的控制中心,利用各种接口和线路连接整个计算机设备300的各个部分,通过运行或加载存储在存储器302内的软件程序和/或模块,以及调用存储在存储器302内的数据,执行计算机设备300的各种功能和处理数据,从而对计算机设备300进行整体监控。
在本申请实施例中,计算机设备300中的处理器301会按照如下的步骤,将一个或一个以上的应用程序/计算机程序的进程对应的指令加载到存储器302中,并由处理器301来运行存储在存储器302中的应用程序/计算机程序,从而实现各种功能,例如:
获取原始模型的顶点信息和原始贴图;根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图相对于屏幕的大小和位置不变;按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
其中,所述处理器在执行所述按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤时,具体执行:按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,所述初始的马赛克噪声图中包括与所述数量匹配、大小一致且明暗不一致的马赛克颗粒;将所述初始的马赛克噪声图作为最终的马赛克噪声图。
其中,所述处理器在执行所述按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图的步骤时,具体执行:将所述原始贴图的贴图坐标与马赛克的数量相乘之后再进行取整处理,以得到第一取整结果;将所述第一取整结果输入至噪声函数中进行噪声处理,以得到初始的马赛克噪声图。
其中,所述处理器在执行得到所述初始的马赛克噪声图之后,还执行对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,所述最终的马赛克噪声图中包括与所述数量匹配、大小不一致且明暗不一致的马赛克颗粒。
其中,所述处理器在执行所述对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图的步骤时,具体执行:根据所述原始贴图对应的像素值对所述初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图;获取每个马赛克颗粒的偏移方向参数;根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
其中,所述处理器在执行所述根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图的步骤时,具体执行:将所述中间马赛克噪声图和所述偏移方向参数相加之后再进行取整处理,以得到第二取整结果;将所述第二取整结果输入至噪声函数中进行噪声处理,以得到最终的马赛克噪声图。
其中,在得到明暗不一致的马赛克颗粒所对应的马赛克噪声图后,所述处理器还执行:将所述马赛克噪声图中每个马赛克颗粒的值设置为相同,以得到明暗一致的马克赛颗粒。
其中,所述处理器在执行确定每个马赛克颗粒在所述运动范围内的移动速度的步骤时,具体执行:确定每个马赛克颗粒在运动范围内的目标移动位置,并确定每个马赛克颗粒的偏移方向;根据所述目标移动位置和偏移方向确定每个马赛克颗粒在所述运动范围内的移动速度。
其中,所述处理器在执行确定每个马赛克颗粒的偏移方向的步骤时,具体执行:按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图,所述中间马赛克噪声图中包括与所述数量匹配且颜色不一致的马赛克颗粒;获取每个马赛克颗粒的偏移方向参数;将所述中间马赛克噪声图和所述偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
其中,所述处理器在执行所述根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变的步骤时,具体执行:根据马赛克颗粒的运动范围扩大所述原始模型,以得到扩大后的顶点信息和扩大后的贴图;将所述扩大后的贴图恢复为所述原始贴图,且保持所述原始贴图相对于屏幕的大小和位置不变。
以上各个操作的具体实施可参见前面的实施例以及所达到的有益效果也请参看前面的实施例,在此不再赘述。
可选的,如图14所示,计算机设备300还包括:触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307。其中,处理器301分别与触控显示屏303、射频电路304、音频电路305、输入单元306以及电源307电性连接。本领域技术人员可以理解,图14中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏303可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏303可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-EmittingDiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器301,并能接收处理器301发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器301以确定触摸事件的类型,随后处理器301根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏303而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏303也可以作为输入单元306的一部分实现输入功能。
在本申请实施例中,通过处理器301执行游戏应用程序在触控显示屏303上生成图形用户界面,图形用户界面上的虚拟场景中包含至少一个技能控制区域,技能控制区域中包含至少一个技能控件。该触控显示屏303用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路304可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路305可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路305可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路305接收后转换为音频数据,再将音频数据输出处理器301处理后,经射频电路304以发送给比如另一计算机设备,或者将音频数据输出至存储器302以便进一步处理。音频电路305还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元306可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源307用于给计算机设备300的各个部件供电。可选的,电源307可以通过电源管理***与处理器301逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。电源307还可以包括一个或一个以上的直流或交流电源、再充电***、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图14中未示出,计算机设备300还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种马赛克颗粒的动画效果生成方法中的步骤。例如,该计算机程序可以执行如下步骤,例如:
获取原始模型的顶点信息和原始贴图;根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图相对于屏幕的大小和位置不变;按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
其中,所述处理器在执行所述按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤时,具体执行:按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,所述初始的马赛克噪声图中包括与所述数量匹配、大小一致且明暗不一致的马赛克颗粒;将所述初始的马赛克噪声图作为最终的马赛克噪声图。
其中,所述处理器在执行所述按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图的步骤时,具体执行:将所述原始贴图的贴图坐标与马赛克的数量相乘之后再进行取整处理,以得到第一取整结果;将所述第一取整结果输入至噪声函数中进行噪声处理,以得到初始的马赛克噪声图。
其中,所述处理器在执行得到所述初始的马赛克噪声图之后,还执行对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,所述最终的马赛克噪声图中包括与所述数量匹配、大小不一致且明暗不一致的马赛克颗粒。
其中,所述处理器在执行所述对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图的步骤时,具体执行:根据所述原始贴图对应的像素值对所述初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图;获取每个马赛克颗粒的偏移方向参数;根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
其中,所述处理器在执行所述根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图的步骤时,具体执行:将所述中间马赛克噪声图和所述偏移方向参数相加之后再进行取整处理,以得到第二取整结果;将所述第二取整结果输入至噪声函数中进行噪声处理,以得到最终的马赛克噪声图。
其中,在得到明暗不一致的马赛克颗粒所对应的马赛克噪声图后,所述处理器还执行:将所述马赛克噪声图中每个马赛克颗粒的值设置为相同,以得到明暗一致的马克赛颗粒。
其中,所述处理器在执行确定每个马赛克颗粒在所述运动范围内的移动速度的步骤时,具体执行:确定每个马赛克颗粒在运动范围内的目标移动位置,并确定每个马赛克颗粒的偏移方向;根据所述目标移动位置和偏移方向确定每个马赛克颗粒在所述运动范围内的移动速度。
其中,所述处理器在执行确定每个马赛克颗粒的偏移方向的步骤时,具体执行:按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图,所述中间马赛克噪声图中包括与所述数量匹配且颜色不一致的马赛克颗粒;获取每个马赛克颗粒的偏移方向参数;将所述中间马赛克噪声图和所述偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
其中,所述处理器在执行所述根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变的步骤时,具体执行:根据马赛克颗粒的运动范围扩大所述原始模型,以得到扩大后的顶点信息和扩大后的贴图;将所述扩大后的贴图恢复为所述原始贴图,且保持所述原始贴图相对于屏幕的大小和位置不变。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种马赛克颗粒的动画效果生成方法中的步骤,因此,可以实现本申请实施例所提供的任一种马赛克颗粒的动画效果生成方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种马赛克颗粒的动画效果生成方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (13)
1.一种马赛克颗粒的动画效果生成方法,其特征在于,包括:
获取原始模型的顶点信息和原始贴图;
根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图相对于屏幕的大小和位置不变;
按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;
确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;
根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;
根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
2.根据权利要求1所述的方法,其特征在于,所述按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图的步骤,包括:
按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图,所述初始的马赛克噪声图中包括与所述数量匹配、大小一致且明暗不一致的马赛克颗粒;
将所述初始的马赛克噪声图作为最终的马赛克噪声图。
3.根据权利要求2所述的方法,其特征在于,所述按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理,以得到初始的马赛克噪声图的步骤,包括:
将所述原始贴图的贴图坐标与马赛克的数量相乘之后再进行取整处理,以得到第一取整结果;
将所述第一取整结果输入至噪声函数中进行噪声处理,以得到初始的马赛克噪声图。
4.根据权利要求2所述的方法,其特征在于,在得到所述初始的马赛克噪声图之后,还包括:
对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图,所述最终的马赛克噪声图中包括与所述数量匹配、大小不一致且明暗不一致的马赛克颗粒。
5.根据权利要求4所述的方法,其特征在于,所述对所述初始的马赛克噪声图进行颜色处理和缩放处理,以得到最终的马赛克噪声图的步骤,包括:
根据所述原始贴图对应的像素值对所述初始的马赛克噪声图进行颜色处理,以得到颜色不一致的中间马赛克噪声图;
获取每个马赛克颗粒的偏移方向参数;
根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图。
6.根据权利要求5所述的方法,其特征在于,所述根据所述偏移方向参数对所述中间马赛克噪声图进行缩放处理,以得到最终的马赛克噪声图的步骤,包括:
将所述中间马赛克噪声图和所述偏移方向参数相加之后再进行取整处理,以得到第二取整结果;
将所述第二取整结果输入至噪声函数中进行噪声处理,以得到最终的马赛克噪声图。
7.根据权利要求2或4所述的方法,其特征在于,在得到明暗不一致的马赛克颗粒所对应的马赛克噪声图后,还包括:
将所述马赛克噪声图中每个马赛克颗粒的值设置为相同,以得到明暗一致的马克赛颗粒。
8.根据权利要求1所述的方法,其特征在于,确定每个马赛克颗粒在所述运动范围内的移动速度的步骤,包括:
确定每个马赛克颗粒在运动范围内的目标移动位置,并确定每个马赛克颗粒的偏移方向;
根据所述目标移动位置和偏移方向确定每个马赛克颗粒在所述运动范围内的移动速度。
9.根据权利要求8所述的方法,其特征在于,确定每个马赛克颗粒的偏移方向的步骤,包括:
按照马赛克颗粒的数量对所述原始贴图的贴图坐标进行噪声处理和颜色处理,以得到中间马赛克噪声图,所述中间马赛克噪声图中包括与所述数量匹配且颜色不一致的马赛克颗粒;
获取每个马赛克颗粒的偏移方向参数;
将所述中间马赛克噪声图和所述偏移方向参数相加,以得到每个马赛克在运动范围内的偏移方向。
10.根据权利要求1所述的方法,其特征在于,所述根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变的步骤,包括:
根据马赛克颗粒的运动范围扩大所述原始模型,以得到扩大后的顶点信息和扩大后的贴图;
将所述扩大后的贴图恢复为所述原始贴图,且保持所述原始贴图相对于屏幕的大小和位置不变。
11.一种马赛克颗粒的动画效果生成装置,其特征在于,包括:
获取模块,用于获取原始模型的顶点信息和原始贴图;
扩大缩小模块,用于根据马赛克颗粒的运动范围扩大所述原始模型的顶点信息,同时保持所述原始贴图不变;
颗粒确定模块,用于按照马赛克颗粒的数量对所述原始贴图所对应的贴图坐标进行处理,以得到马赛克噪声图,所述马赛克噪声图中包括与所述数量匹配的马赛克颗粒;
位置速度确定模块,用于确定每个马赛克颗粒在所述运动范围内的目标移动位置和移动速度;
偏移确定模块,用于根据所述移动速度和所述马赛克噪声图,确定每一帧中每个马赛克颗粒的坐标偏移值;
获取控制模块,用于根据每一帧中的所述坐标偏移值获取所述原始贴图中对应的像素,控制所述像素按照每一帧中的所述马赛克颗粒的移动速度向所述目标移动位置进行运动,以生成马赛克颗粒的动画效果。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-10任一项所述的马赛克颗粒的动画效果生成方法中的步骤。
13.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1-10任一项所述的马赛克颗粒的动画效果生成方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211457782.2A CN115761066A (zh) | 2022-11-21 | 2022-11-21 | 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211457782.2A CN115761066A (zh) | 2022-11-21 | 2022-11-21 | 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115761066A true CN115761066A (zh) | 2023-03-07 |
Family
ID=85333829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211457782.2A Pending CN115761066A (zh) | 2022-11-21 | 2022-11-21 | 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115761066A (zh) |
-
2022
- 2022-11-21 CN CN202211457782.2A patent/CN115761066A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112138386A (zh) | 一种体积渲染方法、装置、存储介质及计算机设备 | |
CN113052947B (zh) | 一种渲染方法、装置、电子设备和存储介质 | |
CN112215932B (zh) | 粒子动画处理方法、装置、存储介质及计算机设备 | |
CN112233211A (zh) | 动画制作的方法、装置、存储介质及计算机设备 | |
CN112206517A (zh) | 一种渲染方法、装置、存储介质及计算机设备 | |
CN113516742A (zh) | 模型特效制作方法、装置、存储介质及电子设备 | |
CN112370783A (zh) | 虚拟对象渲染方法、装置、计算机设备和存储介质 | |
CN113398583A (zh) | 游戏模型的贴花渲染方法、装置、存储介质及电子设备 | |
CN111445563A (zh) | 一种图像生成的方法以及相关装置 | |
CN112465945A (zh) | 一种模型生成方法、装置、存储介质及计算机设备 | |
CN113487662A (zh) | 画面显示方法、装置、电子设备和存储介质 | |
CN114663560A (zh) | 目标模型的动画实现方法、装置、存储介质及电子设备 | |
CN115501590A (zh) | 显示方法、装置、电子设备和存储介质 | |
CN115761066A (zh) | 马赛克颗粒的动画效果生成方法、装置、存储介质及设备 | |
CN115222867A (zh) | 重叠检测方法、装置、电子设备和存储介质 | |
CN114797109A (zh) | 对象编辑方法、装置、电子设备和存储介质 | |
CN115035231A (zh) | 阴影烘焙方法、装置、电子设备和存储介质 | |
CN113350792A (zh) | 虚拟模型的轮廓处理方法、装置、计算机设备及存储介质 | |
CN113345059A (zh) | 动画生成方法、装置、存储介质及电子设备 | |
CN113362348B (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN118052914A (zh) | 动画生成方法、装置和计算机可读存储介质 | |
CN117618893A (zh) | 场景特效处理方法、装置、电子设备及存储介质 | |
CN114972701A (zh) | 后处理区域的确定方法、装置、计算机设备及存储介质 | |
CN115082600A (zh) | 动画制作方法、装置、计算机设备及计算机可读存储介质 | |
CN115797532A (zh) | 虚拟场景的渲染方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |