CN102521861A - 一种骨骼动画运行时优化方法 - Google Patents
一种骨骼动画运行时优化方法 Download PDFInfo
- Publication number
- CN102521861A CN102521861A CN2011103674604A CN201110367460A CN102521861A CN 102521861 A CN102521861 A CN 102521861A CN 2011103674604 A CN2011103674604 A CN 2011103674604A CN 201110367460 A CN201110367460 A CN 201110367460A CN 102521861 A CN102521861 A CN 102521861A
- Authority
- CN
- China
- Prior art keywords
- key frame
- skeleton cartoon
- frame number
- frame
- current
- 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
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及计算机图形技术领域,更具体地说,涉及一种骨骼动画更新优化的实现方法。该发明的优点在于,采用在线的帧数提升技术,通过牺牲部分的内存,设置存储阀值帧数和质量阀值帧数,解决渲染中的骨骼动画更新耗时的问题,实现骨骼动画中骨骼更新的零计算,大大提升了渲染的帧数。
Description
技术领域
本发明涉及计算机图形技术领域,更具体地说,涉及一种骨骼动画更新优化的实现方法。
背景技术
角色动画是计算机动画技术的一个重要组成部分,在计算机辅助动画电影制作和各类广告制作中一直发挥着重要的作用。
随着计算机硬件能力的提升和渲染技术的提升,计算机绘制出来的图像越来越逼真,不仅仅在传统的动画上面有进一步的发展,3D动画电影也越来越受到观众的喜爱。现在使用最广泛的关键帧动画就是骨骼动画。
在骨骼动画中,动画人物由两个部分来表示:一个部分是形成层次的一系列骨胳,即骨架( skeleton),每一个骨骼数据都包含其自身的动画数据;另一个部分是蒙在骨架上的皮肤( skin),即网格模型,用于提供动画绘制所需要的几何模型和纹理材质信息。通过对骨架进行动画模拟,再利用骨胳控制皮肤变形就实现了角色动画。
骨骼动画与关键帧动画相比占用空间较小,因为它不需要存储每一帧的各个顶点的数据,而只需存储每一帧的骨骼(骨骼数量相对较少),并且多个不同的皮肤可以通过使用相同的骨骼共享相同的动画。然而骨骼动画中,所有骨骼都有与之关联的网格模型,模型部件之间的层次结构都必须有真正的几何实体作为依赖基础。
然而,由于关键帧动画对于每个关键帧都必须存储所有顶点的位置,因此需要较大的存储空间。而且随着关键帧的数量增多,骨骼动画会变得更加逼真。但是大量的骨骼动画帧的存储虽然可以提到的真实度,但是它不得不受到电脑帧数的制约。
所谓帧数,就是程序在单位秒的时间内完成更新的轮回数。理论上说,最逼真的动画就是每一次更新的获得的关键点数据都是美工存储的。但是这个在理论上是不可能实现的。一般来说,美工存储的关键帧数目是以30帧为单位的。这就要求计算机对每一帧的各个骨骼进行更新,对骨骼影响的顶点进行蒙皮。骨骼动画无疑是所欲渲染中最耗费的一个部分。
发明内容
鉴于现有技术存在的问题,本发明提供一种骨骼动画运行时优化方法,其针对当前渲染中的骨骼动画更新耗时的问题,提出了一种在线的帧数提升技术,已达到实现骨骼动画中骨骼更新的零计算,大大提升了渲染的帧数的目的。
为了实现上述目的,本发明的技术方案为一种骨骼动画运行时优化方法,其通过运行时的关键帧存储和插值近似技术,大大的提升了骨骼动画的更新速度。他的实现步骤如下:
(1)按照正常的方式对骨骼动画进行更新;
(2)根据当前设置的偏移阀值,存储插值生成的关键帧到内存中;
(3)在更新过程中,根据当前设置的质量系数,选择对应的关键帧进行近似的骨骼动画更新;
所述步骤2实现的具体细节包括:这次存储的关键帧不是最原始的骨骼动画关键帧,而是通过关键帧计算后各个骨骼在世界坐标下的变换矩阵。通过这种方式,跳过插值计算和骨骼动画的矩阵计算,提高更新效率;
其中,他存储的关键帧要满足公式:
当前帧数-原始存储关键帧 <=存储阀值帧数
所述步骤3的实现细节包括:在播放骨骼动画的同时,当发现当前播放的动画帧数距离关键帧很小时,就直接跳过插值播放关键帧。在加上步骤2中提供的关键帧为最终结果,可以跳过原始的骨骼坐标系转世界坐标系的过程。更新条件为:
当前帧数-关键帧数<=质量阀值帧数。
该发明的优点在于,采用在线的帧数提升技术,通过牺牲部分的内存,设置存储阀值帧数和质量阀值帧数,解决渲染中的骨骼动画更新耗时的问题,实现骨骼动画中骨骼更新的零计算,大大提升了渲染的帧数,。
具体实施方式
一种骨骼动画运行时优化方法,其通过运行时的关键帧存储和插值近似技术,大大的提升了骨骼动画的更新速度。他的实现步骤如下:
(1)按照正常的方式对骨骼动画进行更新;
(2)根据当前设置的偏移阀值,存储插值生成的关键帧到内存中;
(3)在更新过程中,根据当前设置的质量系数,选择对应的关键帧进行近似的骨骼动画更新。
所述步骤2实现的具体细节包括:这次存储的关键帧不是最原始的骨骼动画关键帧,而是通过关键帧计算后各个骨骼在世界坐标下的变换矩阵。通过这种方式,跳过插值计算和骨骼动画的矩阵计算,提高更新效率;
其中,他存储的关键帧要满足公式:
当前帧数-原始存储关键帧 <=存储阀值帧数
所述步骤3的实现细节包括:在播放骨骼动画的同时,当发现当前播放的动画帧数距离关键帧很小时,就直接跳过插值播放关键帧。在加上步骤2中提供的关键帧为最终结果,可以跳过原始的骨骼坐标系转世界坐标系的过程;
其中更新条件为:
当前帧数-关键帧数<=质量阀值帧数。
Claims (3)
1.一种骨骼动画运行时优化方法,其通过运行时的关键帧存储和插值近似技术,大大的提升了骨骼动画的更新速度;实现步骤如下:
(1)按照正常的方式对骨骼动画进行更新;
(2)根据当前设置的偏移阀值,存储插值生成的关键帧到内存中;
(3)在更新过程中,根据当前设置的质量系数,选择对应的关键帧进行近似的骨骼动画更新。
2.根据权利要求1所述的一种骨骼动画运行时优化方法,其特征在于:所述步骤2实现的具体细节包括:这次存储的关键帧不是最原始的骨骼动画关键帧,而是通过关键帧计算后各个骨骼在世界坐标下的变换矩阵;通过这种方式,跳过插值计算和骨骼动画的矩阵计算,提高更新效率;其中,他存储的关键帧要满足公式:
当前帧数-原始存储关键帧 <=存储阀值帧数。
3.根据权利要求1所述的一种骨骼动画运行时优化方法,其特征在于:所述步骤3的实现细节包括:在播放骨骼动画的同时,当发现当前播放的动画帧数距离关键帧很小时,就直接跳过插值播放关键帧;在加上步骤2中提供的关键帧为最终结果,可以跳过原始的骨骼坐标系转世界坐标系的过程;更新条件为:
当前帧数-关键帧数<=质量阀值帧数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103674604A CN102521861A (zh) | 2011-11-18 | 2011-11-18 | 一种骨骼动画运行时优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103674604A CN102521861A (zh) | 2011-11-18 | 2011-11-18 | 一种骨骼动画运行时优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102521861A true CN102521861A (zh) | 2012-06-27 |
Family
ID=46292763
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103674604A Pending CN102521861A (zh) | 2011-11-18 | 2011-11-18 | 一种骨骼动画运行时优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102521861A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500461A (zh) * | 2013-09-18 | 2014-01-08 | 珠海金山网络游戏科技有限公司 | 一种减少实时插值计算量的动画生成方法 |
CN103617643A (zh) * | 2013-11-29 | 2014-03-05 | 广州菲动软件科技有限公司 | 骨骼动画的渲染方法和系统 |
CN112069042A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画性能监测方法、装置、存储介质和计算机设备 |
CN112642149A (zh) * | 2020-12-30 | 2021-04-13 | 北京像素软件科技股份有限公司 | 游戏动画更新方法、装置及计算机可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250126A (ja) * | 2000-03-07 | 2001-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 3次元共有仮想空間におけるコンピュータグラフィックススアニメーション表示方法及び装置及びコンピュータグラフィックススアニメーション表示プログラムを格納した記憶媒体 |
CN101436310A (zh) * | 2008-11-28 | 2009-05-20 | 牡丹江新闻传媒集团有限公司 | 二维动画制作过程中的中间帧自动生成的方法 |
CN101452579A (zh) * | 2007-12-05 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 基于动作的动画制作方法 |
-
2011
- 2011-11-18 CN CN2011103674604A patent/CN102521861A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001250126A (ja) * | 2000-03-07 | 2001-09-14 | Nippon Telegr & Teleph Corp <Ntt> | 3次元共有仮想空間におけるコンピュータグラフィックススアニメーション表示方法及び装置及びコンピュータグラフィックススアニメーション表示プログラムを格納した記憶媒体 |
CN101452579A (zh) * | 2007-12-05 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 基于动作的动画制作方法 |
CN101436310A (zh) * | 2008-11-28 | 2009-05-20 | 牡丹江新闻传媒集团有限公司 | 二维动画制作过程中的中间帧自动生成的方法 |
Non-Patent Citations (1)
Title |
---|
孔德慧等: "增强骨骼动画运动细节的关键帧插值方法", 《北京工业大学学报》, vol. 37, no. 8, 31 August 2011 (2011-08-31), pages 1255 - 1261 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500461A (zh) * | 2013-09-18 | 2014-01-08 | 珠海金山网络游戏科技有限公司 | 一种减少实时插值计算量的动画生成方法 |
CN103617643A (zh) * | 2013-11-29 | 2014-03-05 | 广州菲动软件科技有限公司 | 骨骼动画的渲染方法和系统 |
CN112069042A (zh) * | 2019-06-11 | 2020-12-11 | 腾讯科技(深圳)有限公司 | 动画性能监测方法、装置、存储介质和计算机设备 |
CN112069042B (zh) * | 2019-06-11 | 2023-04-14 | 腾讯科技(深圳)有限公司 | 动画性能监测方法、装置、存储介质和计算机设备 |
CN112642149A (zh) * | 2020-12-30 | 2021-04-13 | 北京像素软件科技股份有限公司 | 游戏动画更新方法、装置及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9251618B2 (en) | Skin and flesh simulation using finite elements, biphasic materials, and rest state retargeting | |
CN110411464B (zh) | 三维点云地图生成方法、装置、设备及存储介质 | |
CN110689604B (zh) | 个性化脸部模型显示方法、装置、设备及存储介质 | |
US20130278607A1 (en) | Systems and Methods for Displaying Animations on a Mobile Device | |
US10262447B2 (en) | Systems and methods for virtual entity animation | |
US20150235392A1 (en) | Drawing data generation device and image drawing device | |
CN105302974A (zh) | 一种基于有限元和时变模态分析的柔性物体实时切割仿真方法 | |
CN102521861A (zh) | 一种骨骼动画运行时优化方法 | |
WO2021218482A1 (zh) | 角色变身动画的生成方法、装置、设备及可读存储介质 | |
US9734629B2 (en) | Systems and methods for creating near real-time embossed meshes | |
CN102193837B (zh) | 一种基于前线的包围盒碰撞检测方法 | |
US20100013837A1 (en) | Method And System For Controlling Character Animation | |
CN104167015A (zh) | 一种基于表面信号拟合的着色器简化方法、装置及图形渲染方法 | |
CN102867078A (zh) | 一种基于三维cad平台的机械产品拆卸工艺快速规划方法 | |
CN103744999A (zh) | 基于层次划分存储结构的空间矢量数据在线交互制图方法 | |
CN104616327A (zh) | 一种基于曲面细分的着色器简化方法、装置及图形渲染方法 | |
CN102938160B (zh) | 基于细节捕获和形态校正的流体动画渲染方法 | |
CN111784817A (zh) | 阴影的展示方法和装置、存储介质、电子装置 | |
CN104537706A (zh) | 一种基于代码移动的着色器简化方法、装置及图形渲染方法 | |
CN103699716A (zh) | 一种个性化三维医学图像驱动的器官虚拟显示方法 | |
CN104463934B (zh) | 一种“质点‑弹簧”系统驱动的点集模型动画自动生成方法 | |
Corbalan-Navarro et al. | Omega-test: A predictive early-z culling to improve the graphics pipeline energy-efficiency | |
CN102930584A (zh) | 基于gpu的骨骼动画优化 | |
CN108090953A (zh) | 感兴趣区域重建方法、系统以及计算机可读存储介质 | |
CN104616335B (zh) | 一种三维角色循环动画的自动累积方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120627 |