CN101477592A - 显示3d动画的方法及装置 - Google Patents
显示3d动画的方法及装置 Download PDFInfo
- Publication number
- CN101477592A CN101477592A CNA2008102200191A CN200810220019A CN101477592A CN 101477592 A CN101477592 A CN 101477592A CN A2008102200191 A CNA2008102200191 A CN A2008102200191A CN 200810220019 A CN200810220019 A CN 200810220019A CN 101477592 A CN101477592 A CN 101477592A
- Authority
- CN
- China
- Prior art keywords
- animation
- animation sequence
- index value
- sequence
- demonstration
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种显示3D动画的方法及装置。所述方法包括步骤:A.渲染动画获得动画序列,生成所述动画序列对应的索引值;B.将所述动画序列和索引值保存到存储器;C.生成待播放动画对应的索引值,在所述存储器中查找所述索引值对应的动画序列;D.播放所述查找获得的动画序列。本发明将最消耗CPU资源的渲染过程预先进行。当游戏程序正常运行时,直接从存储器中读取已经渲染好的动画来进行桌面展示,显著降低了CPU占用率,使游戏程序在计算机上运行得比较流畅,提高了用户体验游戏的乐趣。
Description
【技术领域】
本发明涉及计算机图形技术领域,尤其涉及显示3D动画的方法及装置。
【背景技术】
在电脑桌面游戏中,桌面角色的实时渲染是游戏程序中最重要的组成部分。Flash技术是目前主要用于桌面游戏的技术之一。Flash是一种是基于矢量的图形系统,各元素都是矢量的,只要用少量向量数据就可以描述一个复杂的对象。Flash还可以包含导入的位图和音效,还可以把浏览者输入的信息同交互性联系起来,从而产生交互效果,也可以生成非线性电影动画。
但是,采用Flash技术游戏角色形象将很难改变形象。比如游戏角色本来有100套动画,只需制作100套动画即可。如果游戏角色要改变形象,假设游戏角色有x顶帽子、y双鞋子、z套衣服,并且这些装扮可以自由搭配。那么为了实现角色穿每套装扮的动画表现,需要制作100*x*y*z套flash动画,大大的增加制作的工作量,并且装扮越多工作量越大。因此,采用Flash技术的游戏中角色形象比较单调,而单调的角色形象不能满足一些游戏的需求。
目前,角色形象丰富的游戏程序一般采用实时3D渲染技术,在游戏程序运行时采用渲染引擎将动画实时渲染到电脑桌面的窗口上。
采用实时3D渲染技术的不足之处在于,其所有的渲染计算都是实时的,在游戏程序运行期间CPU的负担比较大,相对来说消耗比较多的CPU资源,这种消耗在集成显卡的PC上显得尤为突出。而占用CPU资源多的游戏程序在硬件配置较差的计算机上的运行速度是比较缓慢的;即使对于硬件配置较好的计算机,也会使得同时工作的其它程序的运行速度将明显变慢,严重影响计算机的性能。
【发明内容】
有鉴于此,有必要提供一种显示3D动画的方法,以达到降低CPU占用率的目的。
此外,还提供一种显示3D动画的装置,以达到降低CPU占用率的目的。
为达到上述目的,提出以下的技术方案:
一种显示3D动画的方法,包括以下步骤:
A、渲染动画获得动画序列,生成所述动画序列对应的索引值;
B、将所述动画序列和索引值保存到存储器;
C、生成待播放动画对应的索引值,在所述存储器中查找所述索引值对应的动画序列;
D、播放所述查找获得的动画序列。
在一个实施例中,所述步骤A中生成动画序列对应的索引值具体包括:利用角色信息和动画名称来生成动画序列对应的索引值。
在一个实施例中,所述利用角色信息和动画名称来生成动画序列对应的索引值具体包括:将所述角色信息的字符串与动画名称的字符串连接,以连接后的字符串作为所述索引值。
在一个实施例中,所述步骤B具体包括:将所述动画序列的起始位置、大小及索引值记录在存储所述动画序列的文件的文件头;
在一个实施例中,所述步骤C中查找索引值对应的动画序列具体包括:在所述存储动画序列的文件的文件头查找获得索引值对应的动画序列。
在一个实施例中所述步骤B之前进一步包括:将所述动画序列进行压缩;所述步骤D中播放查找获得的动画序列之前进一步包括:将所述压缩后的动画序列进行解压缩。
在一个实施例中,所述将动画序列进行压缩具体包括:采用视频压缩技术将所述动画序列进行压缩。
一种显示3D动画的装置,包括:
渲染单元,用于渲染动画获得动画序列;
生成单元,用于生成所述动画序列对应的索引值;
存储单元,用于保存所述动画序列和索引值;
播放单元,用于生成待播放动画对应的索引值;
查找单元,用于在所述存储单元中查找所述索引值对应的动画序列,并将查找到的动画序列传送到所述播放单元进行播放。
在一个实施例中,该装置还包括:压缩单元,用于将所述渲染单元获得的动画序列进行压缩,将所述压缩后的动画序列发送到存储单元;所述播放单元还用于对所述压缩后的动画序列进行解压缩。
在一个实施例中,所述生成单元利用角色信息和动画名称来生成动画序列对应的索引值。
从以上技术方案可以看出,显示3D动画的方法及装置对动画进行预渲染获得动画序列,生成与动画序列对应的索引值一起保存在存储器中。当需要播放动画时,根据按同样方法生成的索引值在存储器中查找对应的动画序列进行播放。这样,最消耗CPU资源的渲染过程预先进行。当游戏程序正常运行时,直接从存储器中读取已经渲染好的动画来进行桌面展示,利用存储器的存储空间来减少了程序运行期间CPU的负担,显著降低了CPU占用率。这样即使游戏程序在硬件配置较差的计算机上也能运行得比较流畅,提高了用户体验游戏的乐趣。
【附图说明】
图1为显示3D动画的方法的流程图;
图2为显示3D动画的装置的结构框图。
【具体实施方式】
下面结合具体的实施例及说明书附图进行详细的描述。
在以下实施方式中,采用预渲染的方式,将渲染好的动画序列保存在存储器中,当游戏正常运行时直接从存储器中读取已经渲染好的动画序列来进行桌面表现,以利用存储器的空间换取程序占用CPU的时间的方式,减少程序运行期间的CPU负担,使游戏玩家更好地体验游戏的乐趣。
如图1所示,一种显示3D动画的方法,主要包括以下步骤:
步骤S101、渲染动画获得动画序列:将所有3D动画记录在数据库文件中,采用3D渲染技术对数据库中的3D动画进行预渲染。取出3D动画渲染窗口里每帧的截图数据作为2D动画序列进行保存。
步骤S102、生成动画序列对应的索引值。可以利用角色信息和动画名称来生成动画序列对应的索引值,具体过程为:将角色信息的字符串与动画名称的字符串连接,以连接后的字符串作为索引值。
利用角色信息和动画名称,主要是为了使用方便和保证动画序列的唯一性,使得索引值与动画序列一一对应。如果仅仅利用角色信息和动画名称仍不能保证动画序列的唯一性,还可以加入动画序列修改时间等信息。
当然,在保证索引值对应的动画序列唯一的前提下,也可以只依据角色信息或动画名称的其中一个信息来生成索引值,还可以依据其它信息来生成索引值。
步骤S103、将动画序列和索引值保存到存储器:当某动画的所有帧都渲染完后,将动画序列的全部数据(包括动画序列起始位置、大小等)及对应的索引值保存到存储器上的文件中。存储器可以是但不限于磁盘、移动硬盘、固态硬盘和U盘。
步骤S104、生成待播放动画对应的索引值,在存储器中查找索引值对应的动画序列。
当游戏程序正常运行需要播放某动画时,可利用角色信息和动画名称来生成待播放动画对应的索引值,在存储器上的文件中对索引值进行匹配,查找出索引值对应的动画序列。
步骤S105、播放查找获得的动画序列:将查找得到的每帧2D动画序列数据发送窗口进行显示。
显示3D动画的方法是一种高效率的桌面动画播放方式,可以占用更少的CPU资源,可以给玩家更好的游戏体验。
实施例一
在本实施例中,步骤S103在将动画序列和索引值记录到存储器时,将动画序列的起始位置、大小及索引值记录在存储动画序列的文件的文件头。
步骤S104在存储器中查找索引值对应的动画序列时,在存储动画序列的文件的文件头查找获得索引值对应的动画序列。
由于文件头是最先被访问的部分,将索引值记录在文件头可以加快查找的速度。
实施例二
在本实施例中,步骤S103将动画序列和索引值保存到存储器之前,还将动画序列进行压缩。压缩过程包括但不限于采用视频压缩技术将动画序列进行压缩。
对应地,步骤S105中播放查找获得的动画序列之前进一步包括:将压缩后的动画序列进行解压缩。
对动画序列进行压缩,可以有效地减小动画序列占用的存储器空间,使存储器能够存储更多动画数据。
需要说明的是,本实施例的压缩动画序列过程与步骤S102生成索引值的过程并无直接联系。可以先压缩动画序列,再生成索引值;也可以先生成索引、再压缩动画序列值,还可以同时压缩动画序列并生成索引值。
下面结合各实施例举例描述,以便于理解技术方案:
假设有一个宠物走路的3D动画,需要一秒(24帧),则在电脑桌面显示该3D动画的过程如下:
首先对这段3D动画进行预渲染。当开始渲染的时候,可以根据宠物的角色名称、动画名称生成动画的索引值。每帧渲染后,取出渲染窗口中所有像素的数据压缩后作为2D动画序列进行保存。当一秒24帧全部渲染完成后,将数据起始位置、大小、索引值记录在文件头中。
当游戏程序运行需要播放这个宠物走路的动画时,同样根据宠物的角色名称、动画名称待播放动画的索引值,根据索引值查找文件头就能得到每帧动画序列的2D数据。解压缩该动画序列后将2D数据发送到电脑桌面的窗口进行显示。
如图2所示,一种显示3D动画的装置,主要包括渲染单元、生成单元、存储单元、查找单元和播放单元。
渲染单元,用于渲染动画获得动画序列。渲染单元采用3D渲染技术对数据库中的3D动画进行预渲染,取出3D动画渲染窗口里每帧的截图数据作为2D动画序列进行保存。
生成单元,用于生成动画序列对应的索引值;生成单元可以利用角色信息和动画名称来生成动画序列对应的索引值,具体过程可以为:将角色信息的字符串与动画名称的字符串连接,以连接后的字符串作为索引值。
利用角色信息和动画名称,主要是为了使用方便和保证动画序列的唯一性,使得索引值与动画序列一一对应。如果仅仅利用角色信息和动画名称仍不能保证动画序列的唯一性,还可以加入动画序列修改时间等信息。
当然,在保证索引值对应的动画序列唯一的前提下,也可以只依据角色信息或动画名称的其中一个信息来生成索引值,还可以依据其它信息来生成索引值。
存储单元,用于保存动画序列和索引值。当某动画的所有帧都渲染完后,存储单元将动画序列的全部数据(包括动画序列起始位置、大小等)及对应的索引值保存到存储器上的文件中。存储单元可以是但不限于磁盘、移动硬盘和U盘。
播放单元,用于生成待播放动画对应的索引值;播放单元播放查找单元查找获得的动画序列,也就是将查找得到的每帧2D动画序列数据发送窗口进行显示。
查找单元,用于在存储单元中查找索引值对应的动画序列,并将查找到的动画序列传送到所述播放单元进行播放。当游戏程序正常运行需要播放某动画时,查找单元可利用角色信息和动画名称来生成待播放动画对应的索引值,在存储单元中对索引值进行匹配,查找出索引值对应的动画序列。
在优选的实施例中,如图2所示,该装置还包括:
压缩单元,用于将渲染单元获得的动画序列进行压缩,将压缩后的动画序列发送到存储单元。
对应地,播放单元还用于对压缩后的动画序列进行解压缩。
对动画序列进行压缩,可以有效地减小动画序列占用的存储器空间,使存储器能够存储更多动画数据。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1、一种显示3D动画的方法,其特征在于,包括以下步骤:
A、渲染动画获得动画序列,生成所述动画序列对应的索引值;
B、将所述动画序列和索引值保存到存储器;
C、生成待播放动画对应的索引值,在所述存储器中查找所述索引值对应的动画序列;
D、播放所述查找获得的动画序列。
2、根据权利要求1所述的显示3D动画的方法,其特征在于,所述步骤A中生成动画序列对应的索引值具体包括:
利用角色信息和动画名称来生成动画序列对应的索引值。
3、根据权利要求2所述的显示3D动画的方法,其特征在于,所述利用角色信息和动画名称来生成动画序列对应的索引值具体包括:
将所述角色信息的字符串与动画名称的字符串连接,以连接后的字符串作为所述索引值。
4、根据权利要求1所述的显示3D动画的方法,其特征在于:
所述步骤B具体包括:将所述动画序列的起始位置、大小及索引值记录在存储所述动画序列的文件的文件头。
5、根据权利要求4所述的显示3D动画的方法,其特征在于,所述步骤C中查找索引值对应的动画序列具体包括:
在所述存储动画序列的文件的文件头查找获得索引值对应的动画序列。
6、根据权利要求1所述的显示3D动画的方法,其特征在于:
所述步骤B之前进一步包括:将所述动画序列进行压缩;
所述步骤D中播放查找获得的动画序列之前进一步包括:将所述压缩后的动画序列进行解压缩。
7、根据权利要求6所述的显示3D动画的方法,其特征在于,所述将动画序列进行压缩具体包括:
采用视频压缩技术将所述动画序列进行压缩。
8、一种显示3D动画的装置,其特征在于,包括:
渲染单元,用于渲染动画获得动画序列;
生成单元,用于生成所述动画序列对应的索引值;
存储单元,用于保存所述动画序列和索引值;
播放单元,用于生成待播放动画对应的索引值;
查找单元,用于在所述存储单元中查找所述索引值对应的动画序列,并将查找到的动画序列传送到所述播放单元进行播放。
9、根据权利要求8所述的显示3D动画的装置,其特征在于,该装置还包括:
压缩单元,用于将所述渲染单元获得的动画序列进行压缩,将所述压缩后的动画序列发送到存储单元;
所述播放单元还用于对所述压缩后的动画序列进行解压缩。
10、根据权利要求8所述的显示3D动画的装置,其特征在于,所述生成单元利用角色信息和动画名称来生成动画序列对应的索引值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102200191A CN101477592B (zh) | 2008-12-16 | 2008-12-16 | 显示3d动画的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008102200191A CN101477592B (zh) | 2008-12-16 | 2008-12-16 | 显示3d动画的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101477592A true CN101477592A (zh) | 2009-07-08 |
CN101477592B CN101477592B (zh) | 2011-11-16 |
Family
ID=40838304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008102200191A Active CN101477592B (zh) | 2008-12-16 | 2008-12-16 | 显示3d动画的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101477592B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011060636A1 (zh) * | 2009-11-23 | 2011-05-26 | 腾讯科技(深圳)有限公司 | 媒体文件播放系统及方法 |
CN102663796A (zh) * | 2012-04-16 | 2012-09-12 | 广东威创视讯科技股份有限公司 | 一种开放图形库的动画处理方法和装置 |
WO2012151826A1 (zh) * | 2011-07-20 | 2012-11-15 | 中兴通讯股份有限公司 | 动态墙纸生成方法及装置 |
CN104750764A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团福建有限公司 | 一种漫画文件的存储方法、播放方法和播放器 |
CN106528201A (zh) * | 2016-10-10 | 2017-03-22 | 网易(杭州)网络有限公司 | 游戏中加载动画的方法和装置 |
CN106651747A (zh) * | 2016-12-30 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种应用中模拟对象的资源处理方法以及装置 |
CN109345533A (zh) * | 2018-10-18 | 2019-02-15 | 看见故事(苏州)影视文化发展有限公司 | 一种基于3d动画技术的设计方法 |
CN111135580A (zh) * | 2019-12-26 | 2020-05-12 | 珠海金山网络游戏科技有限公司 | 一种游戏角色待机动画生成方法及装置 |
-
2008
- 2008-12-16 CN CN2008102200191A patent/CN101477592B/zh active Active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011060636A1 (zh) * | 2009-11-23 | 2011-05-26 | 腾讯科技(深圳)有限公司 | 媒体文件播放系统及方法 |
WO2012151826A1 (zh) * | 2011-07-20 | 2012-11-15 | 中兴通讯股份有限公司 | 动态墙纸生成方法及装置 |
US9195364B2 (en) | 2011-07-20 | 2015-11-24 | Zte Corporation | Method and apparatus for generating dynamic wallpaper |
AU2011367653B2 (en) * | 2011-07-20 | 2016-05-26 | Zte Corporation | Method and device for generating animated wallpaper |
CN102663796A (zh) * | 2012-04-16 | 2012-09-12 | 广东威创视讯科技股份有限公司 | 一种开放图形库的动画处理方法和装置 |
CN104750764B (zh) * | 2013-12-31 | 2018-05-22 | 中国移动通信集团福建有限公司 | 一种漫画文件的存储方法、播放方法和播放器 |
CN104750764A (zh) * | 2013-12-31 | 2015-07-01 | 中国移动通信集团福建有限公司 | 一种漫画文件的存储方法、播放方法和播放器 |
CN106528201A (zh) * | 2016-10-10 | 2017-03-22 | 网易(杭州)网络有限公司 | 游戏中加载动画的方法和装置 |
CN106528201B (zh) * | 2016-10-10 | 2019-12-13 | 网易(杭州)网络有限公司 | 游戏中加载动画的方法和装置 |
CN106651747A (zh) * | 2016-12-30 | 2017-05-10 | 腾讯科技(深圳)有限公司 | 一种应用中模拟对象的资源处理方法以及装置 |
CN109345533A (zh) * | 2018-10-18 | 2019-02-15 | 看见故事(苏州)影视文化发展有限公司 | 一种基于3d动画技术的设计方法 |
CN111135580A (zh) * | 2019-12-26 | 2020-05-12 | 珠海金山网络游戏科技有限公司 | 一种游戏角色待机动画生成方法及装置 |
CN111135580B (zh) * | 2019-12-26 | 2024-03-19 | 珠海金山数字网络科技有限公司 | 一种游戏角色待机动画生成方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101477592B (zh) | 2011-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101477592B (zh) | 显示3d动画的方法及装置 | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
US20180061364A1 (en) | Variable refresh rate video capture and playback | |
CN103329526B (zh) | 运动图像分配服务器和控制方法 | |
CN111491173A (zh) | 一种直播封面确定方法、装置、计算机设备及存储介质 | |
CN103021020B (zh) | 一种基于多光源的3d渲染方法 | |
CN103268624A (zh) | 动画的高效生成方法和装置 | |
CN103186919A (zh) | 一种文字渲染方法及装置 | |
CN111462283B (zh) | 大量相同角色动画播放方法、介质、设备及装置 | |
CN108156509A (zh) | 视频播放方法、装置及用户终端 | |
CN111491208A (zh) | 视频处理方法、装置、电子设备及计算机可读介质 | |
US20230147244A1 (en) | Methods and apparatus for occlusion handling techniques | |
WO2018049682A1 (zh) | 一种虚拟3d场景制作方法及相关设备 | |
WO2024124670A1 (zh) | 视频播放方法、装置、计算机设备及计算机可读存储介质 | |
CN104243884A (zh) | 视频录制方法和视频录制装置 | |
CN114979766B (zh) | 音视频的合成方法、装置、设备及存储介质 | |
CN114297162A (zh) | 一种视频流存储的优化方法、装置、介质及电子设备 | |
US11763523B2 (en) | Compressed THIT stack for hardware-accelerated GPU ray tracing | |
CN104737225A (zh) | 用于存储器带宽有效的显示合成的系统及方法 | |
CN118118727A (zh) | 一种视图画面的视频录制方法和系统 | |
Hu | Impact of VR virtual reality technology on traditional video advertising production | |
CN116342757A (zh) | 镜头变速处理方法、装置、存储介质及电子装置 | |
Li | REAL–TIME PERFORMANCE COMPARISON OF ENVIRONMENTS CREATED USING TRADITIONAL GEOMETRY RENDERING VERSUS UNREAL NANITE TECHNOLOGY IN VIRTUAL REALITY | |
Bennett | Massive Model Visualization: A Practical Solution | |
CN116012502A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |