CN110097619A - 应用程序中的动画效果实现方法、装置及设备 - Google Patents
应用程序中的动画效果实现方法、装置及设备 Download PDFInfo
- Publication number
- CN110097619A CN110097619A CN201910365304.0A CN201910365304A CN110097619A CN 110097619 A CN110097619 A CN 110097619A CN 201910365304 A CN201910365304 A CN 201910365304A CN 110097619 A CN110097619 A CN 110097619A
- Authority
- CN
- China
- Prior art keywords
- rendering
- texture maps
- pixel
- application program
- obtains
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本申请实施例公开了一种应用程序中的动画效果实现方法、装置及设备,属于计算机技术领域。所述方法包括:获取n张灰度图和n+1张纹理图,所述灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;在渲染过程中的第i个时刻,获取作为所述第i个时刻的输入的j张纹理图和所述j张纹理图对应的j‑1张灰度图,i和j为正整数,且j≤n;根据所述j张纹理图和所述j‑1张灰度图进行渲染,得到第i张渲染图;对所述第i张渲染图进行显示。本申请实施例通过图像渲染的方式来实现动画效果,可以节省存储空间,也可以保证画面的清晰度。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种应用程序中的动画效果实现方法、装置及设备。
背景技术
在运行应用程序时,可能以动画效果对应用程序中的角色、操作方式、剧情等进行介绍,其中,动画效果是指连续播放图像帧而形成运动影像的效果。比如,当应用程序是游戏时,所需实现的动画效果可以是剧情动画效果或过场动画效果。
相关技术中可以通过播放视频来实现动画效果。比如,应用程序中预存有视频,当应用程序中需要实现动画效果时,可以播放该视频。
通常,存储视频会占用较多的存储空间,若对该视频进行压缩,则会影响该画面的清晰度,从而影响动画效果。
发明内容
本申请实施例提供了一种应用程序中的动画效果实现方法、装置及设备,用于解决通过播放视频来实现动画效果时,占用较多的存储空间且画面的清晰度不高的问题。所述技术方案如下:
一方面,提供了一种应用程序中的动画效果实现方法,所述方法包括:
获取n张灰度图和n+1张纹理图,所述灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;
在渲染过程中的第i个时刻,获取作为所述第i个时刻的输入的j张纹理图和所述j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n;
根据所述j张纹理图和所述j-1张灰度图进行渲染,得到第i张渲染图;
对所述第i张渲染图进行显示。
一方面,提供了一种应用程序中的动画效果实现装置,所述装置包括:
获取模块,用于获取n张灰度图和n张纹理图,所述灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;
所述获取模块,还用于在渲染过程中的第i个时刻,获取作为所述第i个时刻的输入的j张纹理图和所述j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n;
渲染模块,用于根据所述j张纹理图和所述j-1张灰度图进行渲染,得到第i张渲染图;
显示模块,用于对所述第i张渲染图进行显示。
一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用程序中的动画效果实现方法。
一方面,提供了一种应用程序中的动画效果实现设备,所述应用程序中的动画效果实现设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的应用程序中的动画效果实现方法。
本申请实施例提供的技术方案的有益效果至少包括:
在渲染过程中的第i个时刻,根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图,并对第i张渲染图进行显示,由于每个时刻显示一张渲染图即可实现动画效果,所以,可以通过图像渲染的方式来实现动画效果。由于图像所占的存储空间小于视频所占的存储空间,所以,通过图像渲染的方式来实现动画效果可以节省存储空间。另外,由于图像所占的存储空间较小,也就无需压缩图像来节省存储空间,这样,图像的清晰度较高,所以,在图像的渲染过程中得到的图像帧的清晰度较高,从而可以保证画面的清晰度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据部分示例性实施例示出的一种应用程序中的图像渲染过程的示意图;
图2是本申请一个实施例提供的应用程序中的动画效果实现方法的方法流程图;
图3是本申请一个实施例提供的三张纹理图过渡的示意图;
图4是本申请另一实施例提供的应用程序中的动画效果实现方法的方法流程图;
图5是本申请另一实施例提供的灰度图中像素点的灰度值的计算过程的示意图;
图6是本申请另一实施例提供的生成灰度图的流程图;
图7是本申请另一实施例提供的灰度图中像素点的灰度值与对应的像素点的渲染顺序的示意图;
图8是本申请另一实施例提供的渲染参数的示意图;
图9是本申请另一实施例提供的整个渲染过程的示意图;
图10是本申请另一实施例提供的在Shader中输入纹理图和灰度图的示意图;
图11是本申请另一实施例提供的Unity的编辑环境的示意图;
图12是本申请一个实施例提供的应用程序中的动画效果实现装置的结构框图;
图13是本申请再一实施例提供的终端的结构框图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面对本申请实施例中涉及的名词进行解释:
1、纹理图(Texture):纹理图是Unity引擎的输入,可以作为实现动画效果的素材。
比如,动画效果想要表现从白图过渡到线条图、从线条图过渡彩色图的变化,则可以将白图、线条图和彩色图分别作为一张纹理图。
2、灰度图:灰度图中每个像素点的灰度值用于指示渲染图中对应的像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻。其中,对应的像素点是指灰度图和纹理图中相同位置的像素点。比如,灰度图中第一行第一列的一个像素点分别与一张纹理图中第一行第一列的像素点、另一张纹理图中第一行第一列的像素点,以及渲染图中第一行第一列的像素点对应。
本实施例中,灰度值的大小与开始时刻的早晚呈正相关关系。即灰度值越小,开始时刻越早;灰度值越大,开始时刻越晚。假设灰度图的尺寸为1920×1080,该灰度图对应于第一张纹理图和第二张纹理图,且该灰度图中,排在第一行第一列的像素点为灰度值为0.1,排在第一行第二列的像素点为灰度值为0.2,则渲染图中,渲染排在第一行第一列的像素点的开始时刻早于渲染排在第一行第二列的像素点的开始时刻。
3、渲染图:渲染图是根据纹理图和灰度图进行渲染得到的图像。
本实施例中,在每个时刻可以得到一张渲染图,且终端会对每张渲染图进行显示,该过程相当于连续播放图像帧的过程,所以,本实施例可以在图像渲染过程中实现动画效果。
请参考图1,其示出了本申请实施例的一种应用场景的示意图,图中以终端为执行主体进行举例说明,终端可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
假设纹理图包括白图、线条图和灰色图,则终端显示的图像渲染过程可以如图1所示。
图1中的上侧视图中,白图和线条图对应的第一张灰度图与线条图和灰色图对应的第二张灰度图相同,且根据该第一张和第二张灰度图可知,渲染上半部分的像素点的开始时刻早于渲染下半部分的像素点的开始时刻,则在第一个时刻,终端显示的渲染图是白图;在第二个时刻,终端显示的渲染图的上半部分是线条图的上半部分、下半部分时白图的下半部分;在第三个时刻,终端显示的渲染图是线条图;在第四个时刻,终端显示的渲染图的上半部分是灰色图的上半部分、下半部分是线条图的下半部分;在第五个时刻,终端显示的渲染图是灰色图。
图1中的下侧视图中,白图和线条图对应的第一张灰度图与线条图和灰色图对应的第二张灰度图不同,且根据该第一张灰度图可知,渲染上半部分的像素点的开始时刻早于渲染下半部分的像素点的开始时刻,根据该第二张灰度图可知,渲染中间部分的像素点的开始时刻早于渲染四周部分的像素点的开始时刻,则在第一个时刻,终端显示的渲染图是白图;在第二个时刻,终端显示的渲染图的上半部分是线条图的上半部分、下半部分时白图的下半部分;在第三个时刻,终端显示的渲染图是线条图;在第四个时刻,终端显示的渲染图中的周围部分是线条图,中间部分是灰色图(并不是按照上下部分渲染的);在第五个时刻,终端显示的渲染图是灰色图。
请参考图2,其示出了本申请一个实施例提供的应用程序中的动画效果实现方法的方法流程图,该应用程序中的动画效果实现方法可以应用于终端中。该应用程序中的动画效果实现方法,包括:
步骤201,获取n张灰度图和n+1张纹理图,该灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数。
其中,纹理图和灰度图的获取方式详见下文中的描述,此处不作赘述。
步骤202,在渲染过程中的第i个时刻,获取作为第i个时刻的输入的j张纹理图和该j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n。
由于渲染过程可以包括多次渲染,且每次渲染可以生成并显示一张渲染图,所以,可以设置单位时间内的渲染次数,从而实现单位时间内显示预设数量的渲染图,以实现动画效果。这里所说的预设数量可以等于视频的帧率,本实施例不作限定。
本实施例中,可以预设渲染的开始时刻,并在达到该时刻时开始渲染。在渲染过程中的第i个时刻(即第i次渲染),终端可以获取作为第i个时刻的输入的j张纹理图;再获取j张纹理图中每相邻两张纹理图对应的一张灰度图,得到j-1张灰度图。
当j=2时,说明动画表现的是每两张纹理图之间的过渡过程。即,在第i张纹理图向第i+1张纹理图的过渡结束之后,再开始第i+1张纹理图向第i+2张纹理图的过渡。比如,图1中第1-3个时刻表现的是白图向线条图的过渡,在第3个时刻过渡结束(即得到是完整的线条图),再开始线条图向灰色图的过渡,即第3-5个时刻表现的是线条图向灰色图的过渡。
当j≥3时,说明动画表现的是至少三张纹理图之间的过渡过程。即,在第i张纹理图向第i+1张纹理图过渡的过程中,开始从第i+1张纹理图向第i+2张纹理图的过渡。比如,图3中第1-2个时刻表现的白图向线条图的过渡,在第3个时刻,在渲染图的上半部分开始线条图向灰色图的过渡,在渲染图的下半部分开始白图向线条图的过渡。
步骤203,根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图。
其中,本步骤的实现流程详见下文中的描述,此处不作赘述。
步骤204,对第i张渲染图进行显示。
需要说明的是,在步骤204之后,终端可以将i更新为i+1,继续执行步骤202-204,直至i达到预设的渲染的结束时刻时停止。
综上所述,本申请实施例提供的应用程序中的动画效果实现方法,在渲染过程中的第i个时刻,根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图,并对第i张渲染图进行显示,由于每个时刻显示一张渲染图即可实现动画效果,所以,可以通过图像渲染的方式来实现动画效果。由于图像所占的存储空间小于视频所占的存储空间,所以,通过图像渲染的方式来实现动画效果可以节省存储空间。另外,由于图像所占的存储空间较小,也就无需压缩图像来节省存储空间,这样,图像的清晰度较高,所以,在图像的渲染过程中得到的图像帧的清晰度较高,从而可以保证画面的清晰度。
请参考图4,其示出了本申请另一实施例提供的应用程序中的动画效果实现方法的方法流程图,该应用程序中的动画效果实现方法可以应用于终端中。该应用程序中的动画效果实现方法,包括:
步骤401,获取n张灰度图和n+1张纹理图,该灰度图用于指示渲染图中各像素点的限速值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数。
本步骤可以拆分为获取n张灰度图和获取n+1张纹理图这两个步骤,下面分别对这两个步骤进行解释。
1、在获取n+1张纹理图时,本实施例提供了三种实现方式。
在第一种实现方式中,获取在运行应用程序之前预设的n+1张纹理图。
由于纹理图是在运行应用程序之前预设的,所以,该n+1张纹理图和应用程序的运行过程无关。即,为该应用程序中所有用户预设的n+1张纹理图相同。这样,所有用户在运行该应用程序时实现的动画效果相同。
这种实现方式可以用于实现应用程序内与场景相关的动画效果(即场景动画)、实现应用程序内与剧情相关的动画效果(即剧情动画)等。
在第二种实现方式中,当运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,得到k张截图,k为正整数,且k<n+1;对k张截图进行预定处理,得到n+1张纹理图,预定处理包括轮廓提取和灰度化中的至少一种。
由于纹理图是在运行应用程序的过程中动态截取的,所以,该n张纹理图与应用程序的运行过程相关。即,为该应用程序中所有用户截取的n张纹理图不同。这样,所有用户在运行该应用程序时实现的动画效果不同。
比如,用户A在运行应用程序的过程中设置角色A的武器是弓箭、用户B在运行应用程序的过程中设置角色B的武器是长剑,则为用户A截取的纹理图中包含弓箭的武器,为用户B截取的纹理图中包含长剑的武器,两个用户的纹理图不同。
这种实现方式可以用于实现回放的动画效果。比如,在用户完成某一任务的过程中截取纹理图;再利用该纹理图实现动画效果,以使用户回顾完成该任务的过程,从而增加了用户的代入感。
本实施例中,可以预先设定需要截图的预定时刻,在该预定时刻处插入标签,这样,可以在标签处进行截图。
由于截图得到的图像通常是彩色图,所以,需要对该彩色图进行预定处理。预定处理的方式有很多种,本实施例以其中的两种进行说明。比如,当预定处理是轮廓提取时,终端可以得到该彩色图的线条图;当预定处理是灰度化时,终端可以得到该彩色图的灰色图。
在第三种实现方式中,当运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,从得到的k张截图中选择v张截图;对v张截图进行预定处理,得到u张纹理图;获取在运行应用程序之前预设的n+1-u张纹理图,u和v为正整数,且v<u。
其中,第三种实现方式是第一种实现方式和第二种实现方式的结合,详见上文中的描述。
需要说明的是,在第三种实现方式中,预设的n+1-u张纹理图全部是在运行应用程序之前预设的,可选的,该n+1-u张纹理图还可以全部是在运行应用程序的过程中通过非截图方式获取到的;该n+1-u张纹理图还可以部分是在运行应用程序之前预设的,部分是在运行应用程序的过程中通过非截图方式获取到的,本实施例不作限定。
2、在获取n张灰度图时,本实施例提供了两种实现方式。
在第一种实现方式中,可以通过手绘方式来生成灰度图。
在第二种实现方式中,对于n张灰度图中的第i张灰度图,获取滴墨视频,该滴墨视频用于记录墨水滴入水中的扩散过程;从该滴墨视频中提取至少两个视频帧;根据该至少两个视频帧生成第i张灰度图,灰度图中各像素点的灰度值的大小与至少两个视频帧中对应的像素点由白变黑的变化顺序的早晚呈正相关关系,且变化顺序的早晚与开始时刻的早晚呈正相关关系。
滴墨视频是在渲染过程中实现滴墨渲染效果的素材,可以是终端拍摄得到的,也可以是从素材库中获取到的,本实施例不作限定。
在得到滴墨视频后,终端可以从该滴墨视频中提取所有的视频帧,得到至少两个视频帧,本实施例不对提取方式作限定。
在得到至少两个视频帧之后,对于该至少两个视频帧中的每个视频帧,终端可以计算视频帧的排序与至少两个视频帧的总帧数的比值,得到视频帧的排序参数。比如,总帧数为5,则第一个视频帧的排序参数为1/5=0.2,第二个视频帧的排序参数为2/5=0.4,第三个视频帧的排序参数为3/5=0.6,第四个视频帧的排序参数为4/5=0.8,第五个视频帧的排序参数为5/5=1。
对于第i张灰度图中的每个像素点,终端获取像素点最早由白色变为黑色时的视频帧,并将该视频帧的排序参数作为第i张灰度图中对应的像素点的灰度值。
请参考图5,假设从左向右依次排列有提取到的5个视频帧,为了便于区分,图5中将每次由白色变为黑色的像素点用不同填充方式的方块表示,且将在第v个视频帧产生颜色变化的像素点称为第v像素点,则第一像素点的灰度值为0.2,第二像素点的灰度值为0.4,第三像素点的灰度值为0.6,第四像素点的灰度值为0.8,第五像素点的灰度值为1。
可选的,在根据第二种实现方式得到一张灰度图之后,还可以根据渲染效果的需求修改该张灰度图中各像素点的灰度值,本实施例不作限定。
请参考图6,终端先准备滴墨视频素材,再剪切素材并生成序列帧图片(该序列帧图片即为上文中所提到的至少两个视频帧),再根据序列帧图片中像素点的颜色出现的先后顺序生成灰度图。其中,像素点的颜色出现的先后顺序即为像素点由白色变为黑色的顺序。
需要说明的是,这n张灰度图可以相同,也可以不同,本实施例不作限定。当n张灰度图相同时,只需要生成一次灰度图即可。
通常,像素点的灰度值越高,渲染图中对应的像素点会越早被渲染。请参考图7,图7中的左侧图表示一张灰度图,图7中的右侧图表示一张渲染图。由于A区域的像素点的灰度值高于B区域的像素点的灰度值,所以,渲染图中,A区域中的像素点会先于B区域中的像素点进行渲染。
步骤402,在渲染过程中的第i个时刻,获取作为第i个时刻的输入的j张纹理图和该j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n。
由于渲染过程可以包括多次渲染,且每次渲染可以生成并显示一张渲染图,所以,可以设置单位时间内的渲染次数,从而实现单位时间内显示预设数量的渲染图,以实现动画效果。这里所说的预设数量可以等于视频的帧率,本实施例不作限定。
本实施例中,可以预设渲染的开始时刻,并在达到该时刻时开始渲染。在渲染过程中的第i个时刻(即第i次渲染),终端可以获取作为第i个时刻的输入的j张纹理图;再获取j张纹理图中每相邻两张纹理图对应的一张灰度图,得到j-1张灰度图。
当j=2时,说明动画表现的是每两张纹理图之间的过渡过程。即,在第i张纹理图向第i+1张纹理图的过渡结束之后,再开始第i+1张纹理图向第i+2张纹理图的过渡。比如,图1中第1-3个时刻表现的是白图向线条图的过渡,在第3个时刻过渡结束(即得到是完整的线条图),再开始线条图向灰色图的过渡,即第3-5个时刻表现的是线条图向灰色图的过渡。
当j≥3时,说明动画表现的是至少三张纹理图之间的过渡过程。即,在第i张纹理图向第i+1张纹理图过渡的过程中,开始从第i+1张纹理图向第i+2张纹理图的过渡。比如,图3中第1-2个时刻表现的白图向线条图的过渡,在第3个时刻,在渲染图的上半部分开始线条图向灰色图的过渡,在渲染图的下半部分开始白图向线条图的过渡。
步骤403,获取j张纹理图对应的j-1个渲染参数,该渲染参数用于指示渲染图的内容从一张纹理图的内容渲染成另一张纹理图的内容时,各个时刻的渲染进度。
本实施例中,每相邻两张纹理图对应于一个渲染参数。终端获取j张纹理图中的每相邻两张纹理图对应的一个渲染参数,得到j-1个渲染参数。其中,渲染参数可以包含在渲染配置信息中。
请参考图8,其中,其中,黑色细实线表示白图过渡到线条图的渲染参数,该渲染参数指示渲染图的内容从白图的内容渲染成线条图的内容时,各个时刻的渲染进度。比如,在第3秒时,渲染进度为55%,在第4秒时,渲染进度为85%,在第5秒时,渲染进度为100%等等。黑色细虚线表示线条图过渡到灰色图的渲染参数,该渲染参数指示渲染图的内容从线条图的内容渲染成灰色图的内容时,各个时刻的渲染进度;黑色粗实线表示灰色图过渡到彩色图的渲染参数,该渲染参数指示渲染图的内容从灰色图的内容渲染成彩色图的内容时,各个时刻的渲染进度。
步骤404,在第m次渲染j张纹理图时,获取第m+1张纹理图、与该第m+1张纹理图对应的第m张灰度图和第m个渲染参数、以及预定图,1≤m≤j-1。
其中,当m=1时,预定图为j张纹理图中的第一张纹理图,当m≥1时,预定图为第m-1次渲染得到的第m-1张过渡图。
在步骤405中,获取第m个渲染参数中与第i个时刻对应的渲染进度。
仍然以图8为例,假设第i个时刻是第3秒,则第一个渲染参数中与第3秒对应的渲染进度是55%,第二个渲染参数中与第3秒对应的渲染进度是0%,第二个渲染参数中与第3秒对应的渲染进度是0%。
在步骤406中,根据第m张灰度图中各像素点的灰度值、渲染进度、第m+1张纹理图和预定图进行渲染,得到第m张过渡图。
其中,本实施例提供了两种渲染方式。
在第一种渲染方式中,确定第m张灰度图中灰度值小于渲染进度的各像素点;将第m张过渡图中与各像素点对应的像素点的像素值设置为第m+1张纹理图中对应像素点的像素值,将第m张过渡图中剩余像素点的像素值设置为预定图中对应像素点的像素值。
假设当前渲染的是第m张过渡图中的第s个像素点Os,从灰度图中获取该第s个像素点Os对应的像素点的灰度值Hs,渲染进度为p,预定图中第s个像素点Os对应的像素点的RGB值(像素值)分别为w1s.r、w1s.g、w1s.b,第m+1张纹理图中第s个像素点Os对应的像素点的RGB值(像素值)分别为w2s.r、w2s.g、w2s.b,终端比较Hs和p,若Hs>p,则第m张过渡图中第s个像素点Os的RGB值(像素值)分别为w1s.r、w1s.g、w1s.b,即Os.r=w1s.r、Os.g=w1s.g、Os.b=w1s.b;若Hs<p,则第m张过渡图中第s个像素点Os的RGB值(像素值)分别为w2s.r、w2s.g、w2s.b,即Os.r=w2s.r、Os.g=w2s.g、Os.b=w2s.b。
在这种渲染方式中,像素点的像素值是瞬变的,即在一次渲染过程中完成像素点的像素值的改变。
在第二种渲染方式中,对于第m张过渡图中的每个像素点,将渲染进度与2相乘得到第一乘积,将第一乘积减去灰度图中对应的像素点的灰度值得到第一差值,根据第一差值和clamp函数计算渲染系数;将渲染系数乘以第m+1张纹理图中对应的像素点的像素值得到第二乘积,将1减去渲染系数得到的第二差值乘以预定图中对应的像素点的像素值得到第三乘积;将第m张过渡图中像素点的像素值修改为第二乘积与第三乘积之和。
其中,clamp函数的目的是将渲染系数的取值范围限定到0和1之间。在一种可能的实现方式中,假设渲染系数为a,则a=math.clamp(2*p-Hs,0,1),该公式表示,当2*p-Hs<0时,a=0;当2*p-Hs>1时,a=1;当0<2*p-Hs<1时,a=2*p-Hs。简单理解为,Hs=0的像素点越早渲染,p=0时a=0,p=0.5时a=1;Hs=1的像素点越晚渲染,p=0.5时a=0,p=1时a=1。
假设当前渲染的是第m张过渡图中的第s个像素点Os,预定图中第s个像素点Os对应的像素点的RGB值(像素值)分别为w1s.r、w1s.g、w1s.b,第m+1张纹理图中第s个像素点Os对应的像素点的RGB值(像素值)分别为w2s.r、w2s.g、w2s.b,则Os.r=w2s.r*a+w1s.r*(1-a)、Os.g=w2s.g*a+w1s.g*(1-a)、Os.b=w2s.b*a+w1s.b*(1-a)。
在这种渲染方式中,像素点的像素值是均值变化的,即在多次渲染过程中完成像素点的像素值的改变。
在步骤407中,当m=j-1时,将得到的第j-1张过渡图确定为第i张渲染图。
需要说明的是,在步骤406之后,终端可以将m更新为m+1,继续执行步骤404-406,直至得到第j-1张过渡图时停止,并将该第j-1张过渡图确定为第i张渲染图。
步骤408,对第i张渲染图进行显示。
需要说明的是,在步骤408之后,终端可以将i更新为i+1,继续执行步骤402-407,直至i达到预设的渲染的结束时刻时停止。
在一种实现方式中,可以先通过手绘或者滴墨视频提取方式来生成灰度图,再向Unity编辑环境中输入纹理图片,并选择所需的渲染效果的灰度图,再触发animator来完成整个渲染过程,以实现动画效果,请参考图9。
其中,终端可以向Unity中的shader输入纹理图和灰度图,请参考图10,其中,A区域中的纹理图包括线条图和彩色图(由于不便示出彩色图,图10中以该彩色图的灰色图代替),B区域的灰度图包括三张灰度图,且第一张灰度图表示白图向线条图的过渡,第二张灰度图表示线条图向彩色图的灰色图的过渡,第三张灰度图表示灰色图向彩色图的过渡,这三张灰度图可以相同,也可以不同;C区域中的SimulateProgressLine表示当前白图向线条图过渡的渲染进度,SimulateProgressGrey表示当前线条图向灰色图过渡的渲染进度,SimulateProgressColor表示当前灰色图向彩色图过渡的渲染进度。
请参考图11,图11中的MV Ink Effect.ProgressLine等同于图10中的SimulateProgressLine,图11中的MV Ink Effect.ProgressGrey等同于图10中的SimulateProgressGrey,图11中的MV Ink Effect.ProgressColor等同于图10中的SimulateProgressColor。
综上所述,本申请实施例提供的应用程序中的动画效果实现方法,在渲染过程中的第i个时刻,根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图,并对第i张渲染图进行显示,由于每个时刻显示一张渲染图即可实现动画效果,所以,可以通过图像渲染的方式来实现动画效果。由于图像所占的存储空间小于视频所占的存储空间,所以,通过图像渲染的方式来实现动画效果可以节省存储空间。另外,由于图像所占的存储空间较小,也就无需压缩图像来节省存储空间,这样,图像的清晰度较高,所以,在图像的渲染过程中得到的图像帧的清晰度较高,从而可以保证画面的清晰度。
通过在运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,得到k张截图;对k张截图进行预定处理,得到n+1张纹理图,这样,得到的n+1张纹理图与应用程序的运行过程相关,可以实现回放的动画效果,增加了用户的代入感。
请参考图12,其示出了本申请一个实施例提供的应用程序中的动画效果实现装置的结构框图,该应用程序中的动画效果实现装置可以应用于终端中。该应用程序中的动画效果实现装置,包括:
获取模块1210,用于获取n张灰度图和n+1张纹理图,该灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;
获取模块1210,还用于在渲染过程中的第i个时刻,获取作为第i个时刻的输入的j张纹理图和j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n;
渲染模块1220,用于根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图;
显示模块1230,用于对第i张渲染图进行显示。
可选的,获取模块1210,还用于:
对于n张灰度图中的第i张灰度图,获取滴墨视频,该滴墨视频用于记录墨水滴入水中的扩散过程;
从滴墨视频中提取至少两个视频帧;
根据至少两个视频帧生成第i张灰度图,该灰度图中各像素点的灰度值的大小与至少两个视频帧中对应的像素点由白变黑的变化顺序的早晚呈正相关关系,且变化顺序的早晚与开始时刻的早晚呈正相关关系。
可选的,获取模块1210,还用于:
对于至少两个视频帧中的每个视频帧,计算视频帧的排序与至少两个视频帧的总帧数的比值,得到视频帧的排序参数;
对于第i张灰度图中的每个像素点,获取像素点最早由白色变为黑色时的视频帧,并将视频帧的排序参数作为第i张灰度图中对应的像素点的灰度值。
可选的,获取模块1210,还用于:
获取在运行应用程序之前预设的n+1张纹理图;或者,
当运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,得到k张截图,k为正整数,且k<n+1;对k张截图进行预定处理,得到n+1张纹理图,预定处理包括轮廓提取和灰度化中的至少一种;或者,
当运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,从得到的k张截图中选择v张截图;对v张截图进行预定处理,得到u张纹理图;获取在运行应用程序之前预设的n+1-u张纹理图,u和v为正整数,且v<u。
可选的,渲染模块1220,还用于:
获取j张纹理图对应的j-1个渲染参数,该渲染参数用于指示渲染图的内容从一张纹理图的内容渲染成另一张纹理图的内容时,各个时刻的渲染进度;
在第m次渲染j张纹理图时,获取第m+1张纹理图、与第m+1张纹理图对应的第m张灰度图和第m个渲染参数、以及预定图,其中,当m=1时,该预定图为j张纹理图中的第一张纹理图,当m≥1时,该预定图为第m-1次渲染得到的第m-1张过渡图,1≤m≤j-1;
获取第m个渲染参数中与第i个时刻对应的渲染进度;
根据第m张灰度图中各像素点的灰度值、渲染进度、第m+1张纹理图和预定图进行渲染,得到第m张过渡图;
当m=j-1时,将得到的第j-1张过渡图确定为第i张渲染图。
可选的,渲染模块1220,还用于:
确定第m张灰度图中灰度值小于渲染进度的各像素点;
将第m张过渡图中与各像素点对应的像素点的像素值设置为第m+1张纹理图中对应像素点的像素值,将第m张过渡图中剩余像素点的像素值设置为预定图中对应像素点的像素值。
可选的,渲染模块1220,还用于:
对于第m张过渡图中的每个像素点,将渲染进度与2相乘得到第一乘积,将第一乘积减去灰度图中对应的像素点的灰度值得到第一差值,根据第一差值和clamp函数计算渲染系数;
将渲染系数乘以第m+1张纹理图中对应的像素点的像素值得到第二乘积,将1减去渲染系数得到的第二差值乘以预定图中对应的像素点的像素值得到第三乘积;
将第m张过渡图中像素点的像素值设置为第二乘积与第三乘积之和。
可选的,该装置还包括:
配置模块,用于配置渲染配置信息,渲染配置信息包括渲染参数。
综上所述,本申请实施例提供的应用程序中的动画效果实现装置,在渲染过程中的第i个时刻,根据j张纹理图和j-1张灰度图进行渲染,得到第i张渲染图,并对第i张渲染图进行显示,由于每个时刻显示一张渲染图即可实现动画效果,所以,可以通过图像渲染的方式来实现动画效果。由于图像所占的存储空间小于视频所占的存储空间,所以,通过图像渲染的方式来实现动画效果可以节省存储空间。另外,由于图像所占的存储空间较小,也就无需压缩图像来节省存储空间,这样,图像的清晰度较高,所以,在图像的渲染过程中得到的图像帧的清晰度较高,从而可以保证画面的清晰度。
通过在运行应用程序时,在k个预定时刻对应用程序的显示界面进行截图,得到k张截图;对k张截图进行预定处理,得到n+1张纹理图,这样,得到的n+1张纹理图与应用程序的运行过程相关,可以实现回放的动画效果,增加了用户的代入感。
图13示出了本申请一个示例性实施例提供的终端1300的结构框图。该终端1300可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1300还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1300包括有:处理器1301和存储器1302。
处理器1301可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1301可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1301也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1301可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1301还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1302可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1302还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1302中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器1301所执行以实现本申请中方法实施例提供的应用程序中的动画效果实现方法。
在一些实施例中,终端1300还可选包括有:外围设备接口1303和至少一个外围设备。处理器1301、存储器1302和外围设备接口1303之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1303相连。具体地,外围设备包括:射频电路1304、触摸显示屏1305、摄像头1306、音频电路1307、定位组件1308和电源1309中的至少一种。
外围设备接口1303可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1301和存储器1302。在一些实施例中,处理器1301、存储器1302和外围设备接口1303被集成在同一芯片或电路板上;在一些其他实施例中,处理器1301、存储器1302和外围设备接口1303中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1304用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1304通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1304将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1304包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1304可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1304还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1305用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1305是触摸显示屏时,显示屏1305还具有采集在显示屏1305的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1301进行处理。此时,显示屏1305还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1305可以为一个,设置终端1300的前面板;在另一些实施例中,显示屏1305可以为至少两个,分别设置在终端1300的不同表面或呈折叠设计;在再一些实施例中,显示屏1305可以是柔性显示屏,设置在终端1300的弯曲表面上或折叠面上。甚至,显示屏1305还可以设置成非矩形的不规则图形,也即异形屏。显示屏1305可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1306用于采集图像或视频。可选地,摄像头组件1306包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1306还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1307可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1301进行处理,或者输入至射频电路1304以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1300的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1301或射频电路1304的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1307还可以包括耳机插孔。
定位组件1308用于定位终端1300的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1308可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1309用于为终端1300中的各个组件进行供电。电源1309可以是交流电、直流电、一次性电池或可充电电池。当电源1309包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端1300还包括有一个或多个传感器1310。该一个或多个传感器1310包括但不限于:加速度传感器1311、陀螺仪传感器1312、压力传感器1313、指纹传感器1314、光学传感器1315以及接近传感器1316。
加速度传感器1311可以检测以终端1300建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1311可以用于检测重力加速度在三个坐标轴上的分量。处理器1301可以根据加速度传感器1311采集的重力加速度信号,控制触摸显示屏1305以横向视图或纵向视图进行用户界面的显示。加速度传感器1311还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器1312可以检测终端1300的机体方向及转动角度,陀螺仪传感器1312可以与加速度传感器1311协同采集用户对终端1300的3D动作。处理器1301根据陀螺仪传感器1312采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器1313可以设置在终端1300的侧边框和/或触摸显示屏1305的下层。当压力传感器1313设置在终端1300的侧边框时,可以检测用户对终端1300的握持信号,由处理器1301根据压力传感器1313采集的握持信号进行左右手识别或快捷操作。当压力传感器1313设置在触摸显示屏1305的下层时,由处理器1301根据用户对触摸显示屏1305的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1314用于采集用户的指纹,由处理器1301根据指纹传感器1314采集到的指纹识别用户的身份,或者,由指纹传感器1314根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1301授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器1314可以被设置终端1300的正面、背面或侧面。当终端1300上设置有物理按键或厂商Logo时,指纹传感器1314可以与物理按键或厂商Logo集成在一起。
光学传感器1315用于采集环境光强度。在一个实施例中,处理器1301可以根据光学传感器1315采集的环境光强度,控制触摸显示屏1305的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏1305的显示亮度;当环境光强度较低时,调低触摸显示屏1305的显示亮度。在另一个实施例中,处理器1301还可以根据光学传感器1315采集的环境光强度,动态调整摄像头组件1306的拍摄参数。
接近传感器1316,也称距离传感器,通常设置在终端1300的前面板。接近传感器1316用于采集用户与终端1300的正面之间的距离。在一个实施例中,当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变小时,由处理器1301控制触摸显示屏1305从亮屏状态切换为息屏状态;当接近传感器1316检测到用户与终端1300的正面之间的距离逐渐变大时,由处理器1301控制触摸显示屏1305从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图13中示出的结构并不构成对终端1300的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上所述的应用程序中的动画效果实现方法。
本申请一个实施例提供了一种应用程序中的动画效果实现设备,所述应用程序中的动画效果实现设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的应用程序中的动画效果实现方法。
需要说明的是:上述实施例提供的应用程序中的动画效果实现装置在进行应用程序中的动画效果实现时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将应用程序中的动画效果实现装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序中的动画效果实现装置与应用程序中的动画效果实现方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。
Claims (10)
1.一种应用程序中的动画效果实现方法,其特征在于,所述方法包括:
获取n张灰度图和n+1张纹理图,所述灰度图用于指示渲染图中各像素点的像素值从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;
在渲染过程中的第i个时刻,获取作为所述第i个时刻的输入的j张纹理图和所述j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n;
根据所述j张纹理图和所述j-1张灰度图进行渲染,得到第i张渲染图;
对所述第i张渲染图进行显示。
2.根据权利要求1所述的方法,其特征在于,所述获取n张灰度图,包括:
对于所述n张灰度图中的第i张灰度图,获取滴墨视频,所述滴墨视频用于记录墨水滴入水中的扩散过程;
从所述滴墨视频中提取至少两个视频帧;
根据所述至少两个视频帧生成所述第i张灰度图,所述灰度图中各像素点的灰度值的大小与所述至少两个视频帧中对应的像素点由白变黑的变化顺序的早晚呈正相关关系,且所述变化顺序的早晚与所述开始时刻的早晚呈正相关关系。
3.根据权利要求2所述的方法,其特征在于,所述根据所述至少两个视频帧生成所述第i张灰度图,包括:
对于所述至少两个视频帧中的每个视频帧,计算所述视频帧的排序与所述至少两个视频帧的总帧数的比值,得到所述视频帧的排序参数;
对于所述第i张灰度图中的每个像素点,获取所述像素点最早由白色变为黑色时的视频帧,并将所述视频帧的排序参数作为所述第i张灰度图中对应的像素点的灰度值。
4.根据权利要求1所述的方法,其特征在于,所述获取n+1张纹理图,包括:
获取在运行应用程序之前预设的n+1张纹理图;或者,
当运行应用程序时,在k个预定时刻对所述应用程序的显示界面进行截图,得到k张截图,k为正整数,且k<n+1;对所述k张截图进行预定处理,得到所述n+1张纹理图,所述预定处理包括轮廓提取和灰度化中的至少一种;或者,
当运行应用程序时,在k个预定时刻对所述应用程序的显示界面进行截图,从得到的k张截图中选择v张截图;对所述v张截图进行预定处理,得到u张纹理图;获取在运行应用程序之前预设的n+1-u张纹理图,u和v为正整数,且v<u。
5.根据权利要求1至4任一所述的方法,其特征在于,所述根据所述j-1张纹理图和所述j张灰度图进行渲染,得到第i张渲染图,包括:
获取所述j张纹理图对应的j-1个渲染参数,所述渲染参数用于指示渲染图的内容从一张纹理图的内容渲染成另一张纹理图的内容时,各个时刻的渲染进度;
在第m次渲染所述j张纹理图时,获取第m+1张纹理图、与所述第m+1张纹理图对应的第m张灰度图和第m个渲染参数、以及预定图,其中,当m=1时,所述预定图为所述j张纹理图中的第一张纹理图,当m≥1时,所述预定图为第m-1次渲染得到的第m-1张过渡图,1≤m≤j-1;
获取所述第m个渲染参数中与所述第i个时刻对应的渲染进度;
根据所述第m张灰度图中各像素点的灰度值、所述渲染进度、所述第m+1张纹理图和所述预定图进行渲染,得到第m张过渡图;
当m=j-1时,将得到的第j-1张过渡图确定为所述第i张渲染图。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第m张灰度图中各像素点的灰度值、所述渲染进度、所述第m+1张纹理图和所述预定图进行渲染,得到第m张过渡图,包括:
确定所述第m张灰度图中灰度值小于所述渲染进度的各像素点;
将第m张过渡图中与所述各像素点对应的像素点的像素值设置为所述第m+1张纹理图中对应像素点的像素值,将所述第m张过渡图中剩余像素点的像素值设置为所述预定图中对应像素点的像素值。
7.根据权利要求5所述的方法,其特征在于,所述根据所述第m张灰度图中各像素点的灰度值、所述渲染进度、所述第m+1张纹理图和所述预定图进行渲染,得到第m张过渡图,包括:
对于所述第m张过渡图中的每个像素点,将所述渲染进度与2相乘得到第一乘积,将所述第一乘积减去所述灰度图中对应的像素点的灰度值得到第一差值,根据所述第一差值和clamp函数计算渲染系数;
将所述渲染系数乘以所述第m+1张纹理图中对应的像素点的像素值得到第二乘积,将1减去所述渲染系数得到的第二差值乘以所述预定图中对应的像素点的像素值得到第三乘积;
将所述第m张过渡图中所述像素点的像素值设置为所述第二乘积与所述第三乘积之和。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括:
配置渲染配置信息,所述渲染配置信息包括所述渲染参数。
9.一种应用程序中的动画效果实现装置,其特征在于,所述装置包括:
获取模块,用于获取n张灰度图和n+1张纹理图,所述灰度图用于指示渲染图中各像素的像素值点从一张纹理图中对应的像素点的像素值渲染成另一张纹理图中对应的像素点的像素值的开始时刻,n为正整数;
所述获取模块,还用于在渲染过程中的第i个时刻,获取作为所述第i个时刻的输入的j张纹理图和所述j张纹理图对应的j-1张灰度图,i和j为正整数,且j≤n;
渲染模块,用于根据所述j张纹理图和所述j-1张灰度图进行渲染,得到第i张渲染图;
显示模块,用于对所述第i张渲染图进行显示。
10.一种应用程序中的动画效果实现设备,其特征在于,所述应用程序中的动画效果实现设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至8任一所述的应用程序中的动画效果实现方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910365304.0A CN110097619B (zh) | 2019-04-30 | 2019-04-30 | 应用程序中的动画效果实现方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910365304.0A CN110097619B (zh) | 2019-04-30 | 2019-04-30 | 应用程序中的动画效果实现方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097619A true CN110097619A (zh) | 2019-08-06 |
CN110097619B CN110097619B (zh) | 2022-12-13 |
Family
ID=67446669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910365304.0A Active CN110097619B (zh) | 2019-04-30 | 2019-04-30 | 应用程序中的动画效果实现方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097619B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111145318A (zh) * | 2019-12-27 | 2020-05-12 | 珠海金山网络游戏科技有限公司 | 一种基于ngui的渲染方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120027254A1 (en) * | 2010-07-29 | 2012-02-02 | Sony Computer Entertainment Inc. | Information Processing Apparatus and Information Processing Method for Drawing Image that Reacts to Input Information |
CN102467748A (zh) * | 2010-11-10 | 2012-05-23 | 上海日浦信息技术有限公司 | 一种实现三维场景中的动画纹理的方法 |
US20120147013A1 (en) * | 2010-06-16 | 2012-06-14 | Kenji Masuda | Animation control apparatus, animation control method, and non-transitory computer readable recording medium |
CN102831630A (zh) * | 2012-07-26 | 2012-12-19 | 北京小米科技有限责任公司 | 一种动画渲染方法及装置 |
CN103914803A (zh) * | 2014-04-25 | 2014-07-09 | 广东小天才科技有限公司 | 一种图像处理方法及装置 |
CN109272565A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 动画播放方法、装置、存储介质以及终端 |
CN109598777A (zh) * | 2018-12-07 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN109658325A (zh) * | 2018-12-24 | 2019-04-19 | 成都四方伟业软件股份有限公司 | 一种三维动画渲染方法及装置 |
-
2019
- 2019-04-30 CN CN201910365304.0A patent/CN110097619B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120147013A1 (en) * | 2010-06-16 | 2012-06-14 | Kenji Masuda | Animation control apparatus, animation control method, and non-transitory computer readable recording medium |
US20120027254A1 (en) * | 2010-07-29 | 2012-02-02 | Sony Computer Entertainment Inc. | Information Processing Apparatus and Information Processing Method for Drawing Image that Reacts to Input Information |
CN102467748A (zh) * | 2010-11-10 | 2012-05-23 | 上海日浦信息技术有限公司 | 一种实现三维场景中的动画纹理的方法 |
CN102831630A (zh) * | 2012-07-26 | 2012-12-19 | 北京小米科技有限责任公司 | 一种动画渲染方法及装置 |
CN103914803A (zh) * | 2014-04-25 | 2014-07-09 | 广东小天才科技有限公司 | 一种图像处理方法及装置 |
CN109272565A (zh) * | 2017-07-18 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 动画播放方法、装置、存储介质以及终端 |
CN109598777A (zh) * | 2018-12-07 | 2019-04-09 | 腾讯科技(深圳)有限公司 | 图像渲染方法、装置、设备及存储介质 |
CN109658325A (zh) * | 2018-12-24 | 2019-04-19 | 成都四方伟业软件股份有限公司 | 一种三维动画渲染方法及装置 |
Non-Patent Citations (2)
Title |
---|
吴磊: "游戏引擎中实时广域流体渲染研究和应用", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
田海江 等: "虚拟战场特殊效果仿真研究", 《重庆工商大学学报(自然科学版)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111145318A (zh) * | 2019-12-27 | 2020-05-12 | 珠海金山网络游戏科技有限公司 | 一种基于ngui的渲染方法及装置 |
CN111145318B (zh) * | 2019-12-27 | 2023-04-11 | 珠海金山数字网络科技有限公司 | 一种基于ngui的渲染方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110097619B (zh) | 2022-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829456A (zh) | 图像识别方法、装置及终端 | |
CN110233976A (zh) | 视频合成的方法及装置 | |
CN109977333A (zh) | 网页显示方法、装置、计算机设备及存储介质 | |
CN108401124A (zh) | 视频录制的方法和装置 | |
CN109348247A (zh) | 确定音视频播放时间戳的方法、装置及存储介质 | |
CN109285178A (zh) | 图像分割方法、装置及存储介质 | |
CN110166786A (zh) | 虚拟物品转移方法及装置 | |
CN108762881A (zh) | 界面绘制方法、装置、终端及存储介质 | |
CN110333834A (zh) | 帧频调整方法及装置、显示设备、计算机可读存储介质 | |
CN108563377A (zh) | 切换显示页面的方法和装置 | |
CN109144346A (zh) | 歌曲分享方法、装置及存储介质 | |
CN109947338A (zh) | 图像切换显示方法、装置、电子设备及存储介质 | |
CN109635133A (zh) | 可视化音频播放方法、装置、电子设备及存储介质 | |
CN109346111A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN110121094A (zh) | 视频合拍模板的显示方法、装置、设备及存储介质 | |
CN110300274A (zh) | 视频文件的录制方法、装置及存储介质 | |
CN110418152A (zh) | 进行直播提示的方法及装置 | |
CN110290426A (zh) | 展示资源的方法、装置、设备及存储介质 | |
CN109241497A (zh) | 文本处理方法及装置 | |
CN108900925A (zh) | 设置直播模板的方法和装置 | |
CN109547843A (zh) | 对音视频进行处理的方法和装置 | |
CN109982129A (zh) | 短视频的播放控制方法、装置及存储介质 | |
CN109102811A (zh) | 音频指纹的生成方法、装置及存储介质 | |
CN111105474B (zh) | 字体绘制方法、装置、计算机设备及计算机可读存储介质 | |
CN110045958A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |