一种实时生成动画数据系统、方法及终端设备技术方案

技术编号:35866154 阅读:12 留言:0更新日期:2022-12-07 10:58
本发明专利技术公开了一种实时生成动画数据系统、方法及终端设备,包括Bvh(层次包围体)加载模块:播放器模块、关键帧可视化模块和动画合成模块;Bvh加载模块包括Bvh文件读取、Bvh文件解析以及绘图;播放模块包含动画播放、动画暂停、动画拖拽;所述关键帧可视化模块包含关键帧提取、绘图;所述动画合成模块包含贝塞尔插值阶数选择、播放功能。本发明专利技术提高了已有的运动捕捉数据的可复用性,降低了动画制作成本,进而提高创作上的自由度,丰富了创作的数量和质量,进而推动行业的发展和进步。进而推动行业的发展和进步。进而推动行业的发展和进步。

【技术实现步骤摘要】
一种实时生成动画数据系统、方法及终端设备


[0001]本专利技术涉及涉及动画
,尤其是一种实时生成动画数据系统、方法及终端设备。

技术介绍

[0002]动画的概念不同于一般意义上的动画片,动画是一种综合艺术,它是集合了绘画、电影、数字媒体、摄影、音乐以及文学等众多艺术门类于一身的艺术表现形式。作为一门幻想艺术,更容易直观地表现和抒发人们的感情,可以把现实不可能看到的转为现实,扩展了人类的想象力和创造力。动画是能够将可视元素动态展示的可视数据。传统的一种动画生成方式,可以存储每一帧动画图像,每帧动画图像中包含虚拟目标,不同帧的动画图像之间虚拟目标的状态呈现出差异,按时间顺序渲染每一帧动画图像就可以生成动画,但这种动画生成方式所需的存储资源很大。
[0003]但是在现有技术中,有数据捕捉的可复用性差,从而提高了生成动画的成本,不利于提高创作的自由度。

技术实现思路

[0004]本专利技术所要解决的技术问题是针对
技术介绍
的缺陷,本专利技术通过一种实时生成动画数据系统、方法及终端设备,能够对提高已有捕捉的数据的可复用性,能够降低动画制作成本,从而降低行业门槛,提高创作自由度。
[0005]本专利技术为解决上述技术问题采用以下技术方案:
[0006]一种实时生成动画数据系统、方法,包括Bvh(层次包围体)加载模块:播放器模块、关键帧可视化模块和动画合成模块;Bvh加载模块包括Bvh文件读取、Bvh文件解析以及绘图;播放模块包含动画播放、动画暂停、动画拖拽;所述关键帧可视化模块包含关键帧提取、绘图;所述动画合成模块包含贝塞尔插值阶数选择、播放功能;还包括以下步骤:
[0007]步骤S1、在Bvh加载模块中,用户打开文件位置;
[0008]步骤S2、读取Bvh文件,把文件解析成位置矩阵;
[0009]步骤S3、在开始界面中,将首帧画面加载进入播放器;
[0010]步骤S4、在播放器模块中,对Bvh文件实现播放、暂停、拖拽帧的功能;
[0011]步骤S5、在关键帧可视化模块中,自定义关键帧的帧数,实现关键帧的提取;
[0012]步骤S6、将关键帧逐一绘制;
[0013]步骤S7、在动画合成模块中,提取关键帧的基础上,选择贝赛尔曲线的阶数,实现动画合成,并且播放动画。
[0014]优选的,还包括,数据捕捉的最优分割求解,基本步骤如下:
[0015]步骤S11、定义段的直径;
[0016]步骤S12、定义误差函数;
[0017]步骤S13、生成递推公式;
[0018]步骤S14、迭代求解。
[0019]优选的,还包括,数据捕捉的最优分割建模,具体算法如下:
[0020]运动数据捕捉的每一帧都是63维向量,则运动数据捕捉可以表示为一个n
×
63的矩阵,其中n代表帧数,即一个包含n个数据点的时序数据;
[0021]给定一个包含n帧的运动捕捉数据N,如下所示:
[0022]N=(m1,m2,

,m
n
)
T
ꢀꢀꢀꢀꢀꢀꢀ
(3.1)
[0023]其中T表示矩阵的转置,m
i
代表第i帧数据,可表示成一个63维的向量,N代表由63维向量组成的矩阵;
[0024]其目的是从原始运动捕捉数据中分割成k个段,如下所示:
[0025]A(n,k)=(α1,α2,

,α
k
,α
k+1
)
ꢀꢀꢀꢀꢀꢀꢀ
(3.2)
[0026]其中α
i
代表第i个分段的边界,并且l=α1<α1<

<α
k
<α
k+1
=n+1,得到第i个分段就是有帧α
i
到帧α
i+1

1构成的,则各个分段中心可以表示成下式:
[0027]B=(b(α1,α2‑
1)b(α2,α3‑
1),

,b(α
k
,α
k+1

1))
ꢀꢀꢀꢀꢀꢀꢀ
(3.3)
[0028]需要段内均方误差和L(A(n,k))最小,则可以形式化为:
[0029][0030]其中各个段的中心如下式所示
[0031][0032]优选的,还包括,数据捕捉的最优分割建模,具体算法如下:
[0033]一个从第u帧到第v帧的段的直径dist定义为段中各帧到该段平均值的距离,形式如下式:
[0034][0035]得到:
[0036][0037]将上式带入(3.5)得:
[0038][0039]假设A
*
(n,k)是使得将包含n帧的运动捕捉数据分割成k段的最优分割,即最小化函数L,如果k=2,也就是说将n帧数据分割成两段,可得下式:
[0040]A*(n,2)=(1,t,n+1)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4.4)
[0041]t为一个在[2,n]的值,该值使得下式去的最小值,即:
[0042]minL(A(n,2))=dist(1,t

1)+dist(t,n)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4.5)
[0043]如果k>2,则需要将原始的运动捕捉数据分成多余2个段,将其看成是先将前t

1帧分成k

1个段,那么剩下的n

t+1个帧就作为最后一个分段,这样k

1+1=k,获得k个分段,也就是当n帧动作捕捉数据分成多于2个段时,最优分段如下:
[0044]A*(n,k)=A*(t

1,k

1)∪(n+1)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(4.6)
[0045]找到一个t∈[2,n],使得下式成立
[0046]minL(A(n,k))=L(A*(t

1,k

1))+dist(t,n)k>2
ꢀꢀꢀꢀꢀꢀ
(4.7)
[0047]得到最优分割算法的递推公式
[0048][0049]优选的,最优分割算法分三步进行:
[0050]步骤S51、计算直径矩阵,即对于每一对i,j,其中i<j,计算dist(i,j)
[0051]步骤S52、基于步骤S51计算的直径矩阵dist,计算最优2分割A
*
(j,2)的代价L(j,2),(1<j≤m),即将前j帧分割成2段的代价;
[0052]步骤S53、迭代从A
*
(j,k

1)的代价L(j,k

1)中计算A
*
(j,k)的代价L(j,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实时生成动画数据系统、方法,其特征在于,包括Bvh(层次包围体)加载模块:播放器模块、关键帧可视化模块和动画合成模块;Bvh加载模块包括Bvh文件读取、Bvh文件解析以及绘图;播放模块包含动画播放、动画暂停、动画拖拽;所述关键帧可视化模块包含关键帧提取、绘图;所述动画合成模块包含贝塞尔插值阶数选择、播放功能;还包括以下步骤:步骤S1、在Bvh加载模块中,用户打开文件位置;步骤S2、读取Bvh文件,把文件解析成位置矩阵;步骤S3、在开始界面中,将首帧画面加载进入播放器;步骤S4、在播放器模块中,对Bvh文件实现播放、暂停、拖拽帧的功能;步骤S5、在关键帧可视化模块中,自定义关键帧的帧数,实现关键帧的提取;步骤S6、将关键帧逐一绘制;步骤S7、在动画合成模块中,提取关键帧的基础上,选择贝赛尔曲线的阶数,实现动画合成,并且播放动画。2.根据权利要求1所述的一种实时生成动画数据系统、方法,其特征在于,还包括,数据捕捉的最优分割求解,基本步骤如下:步骤S11、定义段的直径;步骤S12、定义误差函数;步骤S13、生成递推公式;步骤S14、迭代求解。3.根据权利要求1所述的一种实时生成动画数据系统、方法,其特征在于,还包括,数据捕捉的最优分割建模,具体算法如下:运动数据捕捉的每一帧都是63维向量,则运动数据捕捉可以表示为一个n
×
63的矩阵,其中n代表帧数,即一个包含n个数据点的时序数据;给定一个包含n帧的运动捕捉数据N,如下所示:N=(m1,m2,

,m
n
)
T
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3.1)其中T表示矩阵的转置,m
i
代表第i帧数据,可表示成一个63维的向量,N代表由63维向量组成的矩阵;其目的是从原始运动捕捉数据中分割成k个段,如下所示:A(n,k)=(α1,α2,

,α
k
,α
k+1
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3.2)其中α
i
代表第i个分段的边界,并且l=α1<α1<

<α
k
<α
k+1
=n+1,得到第i个分段就是有帧α
i
到帧α
i+1

1构成的,则各个分段中心可以表示成下式:B=(b(α1,α2‑
1)b(α2,α3‑
1),

,b(α
k
,α
k+1

1))
ꢀꢀꢀꢀꢀꢀꢀ
(3.3)需要段内均方误差和L(A(n,k))最小,则可以形式化为:其中各个段的中心如下式所示4.根据权利要求2所述的一种实时生成动画数据系统、方法,其特征在于,还包括,数据捕捉的最优分割建模,具体算法如下:
一个从第u帧到第v帧的段的直径dist定义为段中各帧到该段平均值的距离,形式如下式:得到:将上式带入(3.5...

【专利技术属性】
技术研发人员:沈小英李海冬
申请(专利权)人:南京英特克数字科技有限公司
类型:发明
国别省市:

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

1