System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种动画渲染方法、装置、设备及存储介质制造方法及图纸_技高网

一种动画渲染方法、装置、设备及存储介质制造方法及图纸

技术编号:40091490 阅读:11 留言:0更新日期:2024-01-23 16:16
本公开提供了一种动画渲染方法、装置、设备及存储介质,所述方法包括:首先确定目标图形动画中的待渲染图像帧上的目标图形对象及其图形绘制方式,如果确定其图形绘制方式为填充绘制方式,则针对目标图形对象的三角剖分状态,确定待渲染图像帧与相邻上一图像帧相比是否发生变化,如果未发生变化,则基于相邻上一图像帧上与目标图形对象对应的图形对象的三角剖分数据,对待渲染图像帧上的目标图形对象进行渲染。本公开实施例通过将目标图形对象待渲染图像帧的三角剖分状态与相邻上一图像帧相比较,基于相邻上一图像帧中目标图形对象的三角剖分数据对目标图形对象进行渲染的方式,避免了对目标图形对象进行重复三角剖分,提升了渲染性能。

【技术实现步骤摘要】

本公开涉及数据处理领域,尤其涉及一种动画渲染方法、装置、设备及存储介质


技术介绍

1、lottie是一个跨平台动画方案,可以通过bodymovin插件解析ae(adobe aftereffects,动态图形软件)导出生成json文件,并在ios、安卓、web、react native端实现动画效果。

2、然而,web端仅提供了canvas、svg、html渲染,导致开发者使用threejs、pixijs等渲染引擎时,只能基于创建离屏的canvas进行间接渲染,渲染性能较差。


技术实现思路

1、为了解决上述技术问题,本公开实施例提供了一种动画渲染方法。

2、第一方面,本公开提供了一种动画渲染方法,所述方法包括:

3、确定目标图形动画中的待渲染图像帧上的目标图形对象以及所述目标图形对象的图形绘制方式;

4、如果确定所述目标图形对象的图形绘制方式为填充绘制方式,则针对所述目标图形对象的三角剖分状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化;其中,所述相邻上一图像帧为所述目标图形动画中与所述待渲染图像帧相邻的上一帧;

5、针对所述目标图形对象的三角剖分状态,如果确定所述待渲染图像帧与所述相邻上一图像帧相比未发生变化,则基于所述相邻上一图像帧上与所述目标图形对象对应的图形对象的三角剖分数据,对所述待渲染图像帧上的所述目标图形对象进行渲染。

6、一种可选的实施方式中,所述针对所述目标图形对象的三角剖分状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

7、针对所述目标图形对象的顶点数量,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化;

8、和/或,针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与所述相邻上一图像帧相比是否发生变化。

9、一种可选的实施方式中,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

10、针对所述目标图形对象的顶点数量,如果确定所述待渲染图像帧与相邻上一图像帧相比未发生变化,则执行所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化的步骤。

11、一种可选的实施方式中,所述针对所述目标图形对象的顶点数量,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

12、将所述目标图形对象在所述待渲染图像帧上的绘制命令以及在相邻上一图像帧上的绘制命令,分别确定为第一绘制命令和第二绘制命令;

13、按照预设规则分别提取所述第一绘制命令和所述第二绘制命令的特征;

14、基于所述第一绘制命令的特征和所述第二绘制命令的特征的对比结果,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化。

15、一种可选的实施方式中,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与所述相邻上一图像帧相比是否发生变化,包括:

16、基于所述相邻上一图像帧的三角剖分数据,确定所述目标图形对象的第一耳尖顶点;

17、计算所述第一耳尖顶点的前驱向量与后继向量的叉积;

18、基于所述第一耳尖顶点对应的叉积与所述相邻上一图像帧的比较结果,确定所述待渲染图像帧与所述相邻上一图像帧相比是否发生变化。

19、一种可选的实施方式中,所述方法还包括:

20、如果确定所述目标图形对象的图形绘制方式为描边绘制方式,则基于所述待渲染图像帧的相邻上一图像帧的三角剖分数据,对所述目标图形对象进行三角剖分处理,得到所述目标图形对象对应的三角剖分数据;

21、基于所述目标图形对象的三角剖分数据,对所述待渲染图像帧上的所述目标图形对象进行渲染。

22、一种可选的实施方式中,所述基于所述待渲染图像帧的相邻上一图像帧的三角剖分数据,对所述目标图形对象进行三角剖分处理,得到所述目标图形对象对应的三角剖分数据,包括:

23、确定所述目标图形对象的绘制数据与所述相邻上一图像帧相比的重复绘制数据;

24、针对所述目标图形对象的绘制数据中除所述重复绘制数据之外的绘制数据对应的图形部分,进行三角剖分处理,得到新增三角剖分数据;

25、将所述重复绘制数据对应的三角剖分数据和所述新增三角剖分数据,确定为所述待渲染图像帧上的所述目标图形对象对应的三角剖分数据。

26、第二方面,本公开提供了一种动画渲染装置,所述装置包括:

27、第一确定模块,用于确定目标图形动画中的待渲染图像帧上的目标图形对象以及所述目标图形对象的图形绘制方式;

28、第二确定模块,用于确定所述目标图形对象的图形绘制方式为填充绘制方式时,针对所述目标图形对象的三角剖分状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化;其中,所述相邻上一图像帧为所述目标图形动画中与所述待渲染图像帧相邻的上一帧;

29、第一渲染模块,用于针对所述目标图形对象的三角剖分状态,如果确定所述待渲染图像帧与所述相邻上一图像帧相比未发生变化,则基于所述相邻上一图像帧上与所述目标图形对象对应的图形对象的三角剖分数据,对所述待渲染图像帧上的所述目标图形对象进行渲染。

30、第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的方法。

31、第四方面,本公开提供了一种动画渲染设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的方法。

32、第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的方法。

33、本公开实施例提供的技术方案与现有技术相比至少具有如下优点:

34、本公开实施例提供了一种动画渲染方法,首先确定目标图形动画中的待渲染图像帧上的目标图形对象以及目标图形对象的图形绘制方式,如果确定目标图形对象的图形绘制方式为填充绘制方式,则针对目标图形对象的三角剖分状态,确定待渲染图像帧与相邻上一图像帧相比是否发生变化,其中,相邻上一图像帧为目标图形动画中与待渲染图像帧相邻的上一帧,然后针对目标图形对象的三角剖分状态,如果确定待渲染图像帧与相邻上一图像帧相比未发生变化,则基于相邻上一图像帧上与目标图形对象对应的图形对象的三角剖分数据,对待渲染图像帧上的目标图形对象进行渲染。

35、可见,本公开实施例通过将目标图形对象待渲染图像帧的三角剖分状态与相邻上一图像帧相比较,基于相邻上一图像帧中目标图形对象的三角剖分数据对目标图形对象进行渲染的方式,避免了对目标图形对象进行重复三角剖分,提升了渲染性能。

本文档来自技高网...

【技术保护点】

1.一种动画渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述针对所述目标图形对象的三角剖分状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

3.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

4.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的顶点数量,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

5.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与所述相邻上一图像帧相比是否发生变化,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述基于所述待渲染图像帧的相邻上一图像帧的三角剖分数据,对所述目标图形对象进行三角剖分处理,得到所述目标图形对象对应的三角剖分数据,包括:

8.一种动画渲染装置,其特征在于,所述装置包括:

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-7任一项所述的方法。

10.一种动画渲染设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-7任一项所述的方法。

11.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如权利要求1-7任一项所述的方法。

...

【技术特征摘要】

1.一种动画渲染方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述针对所述目标图形对象的三角剖分状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

3.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

4.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的顶点数量,确定所述待渲染图像帧与相邻上一图像帧相比是否发生变化,包括:

5.根据权利要求2所述的方法,其特征在于,所述针对所述目标图形对象的耳尖顶点的左右状态,确定所述待渲染图像帧与所述相邻上一图像帧相比是否发生变化,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7....

【专利技术属性】
技术研发人员:李洋姚晓鹏田百登李博
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1