一种动画生成方法、装置、客户端以及计算机可读存储介质制造方法及图纸

技术编号:16188988 阅读:44 留言:0更新日期:2017-09-12 11:46
本发明专利技术涉及一种动画生成方法、装置、客户端以及计算机可读存储介质,包括:当第一动作被执行时,判断对象池管理节点是否包含第一动作特效;若所述对象池管理节点包含所述第一动作特效,从所述对象池管理节点加载所述第一动作特效,并初始化所述第一动作特效;将所述恢复后的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激活状态。通过对象池管理器将游戏对象的动作进行回收,避免由于大量的创建和销毁粒子特效导致的游戏整个性能降低,避免游戏卡顿的出现。

An animation generation method, device, client, and computer-readable storage medium

The invention relates to a method and a device for creating animation, client and computer readable storage medium, including: when the first action is performed, to determine whether the object pool management node contains the first action effects; if the object pool management node contains the first action effects, from the object pool management node loading the first action special effects, and initialize the first action effects; the first action effects to the first mobile node of the action after recovery, and will be the first action effects set to activate. The object pool manager will recover game object, avoid due to the large number of particle effects to create and destroy the game the whole performance is reduced, to avoid the game caton.

【技术实现步骤摘要】
一种动画生成方法、装置、客户端以及计算机可读存储介质
本专利技术涉及图像处理
,特别地,涉及一种动画生成方法、装置、客户端以及计算机可读存储介质。
技术介绍
Unity是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blendergameengine,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windowsphone8和Android平台。也可以利用Unitywebplayer插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Macwidgets所支持。使用Unity制作的大部分3d游戏都会使用到其自带的粒子系统(ParticleSystem),它的优点有很多,比如美术工具使用起来十分方便,制作特效的效率较快。并且和引擎高度兼容,由于是引擎原生的功能,不需要担心版本升级带来的不兼容等问题。但是,随着3d游戏的计算量和复杂度不断提高,Unity等3d制作也出现了一些问题。
技术实现思路
为了解决现有技术中存在的技术问题,本专利技术实施例提供了一种动画生成方法、装置、客户端以及计算机可读存储介质,技术方案如下:第一方面,本专利技术提供一种动画生成方法,包括如下步骤:当第一动作被执行时,判断对象池管理节点是否包含第一动作特效;若所述对象池管理节点包含所述第一动作特效,从所述对象池管理节点加载所述第一动作特效,并初始化所述第一动作特效;将所述恢复后的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激活状态。第二方面,本专利技术提供一种动画生成装置,所述装置包括如下模块:判断模块,用于在第一动作被执行时,判断对象池管理节点是否包含第一动作特效;第一条件执行模块,用于在所述对象池管理节点包含所述第一动作特效时,从所述对象池管理节点加载所述第一动作特效,并初始化所述第一动作特效;激活模块,用于将所述初始化的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激活状态。第三方面,本专利技术提供一种客户端,包括前述的客户端。第四方面,本专利技术提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述的方法。本专利技术能够达到的有益效果:通过对象池管理器(WLPoolManager)将游戏对象(GameObject)的动作进行回收,避免由于大量的创建(Instantiate)和(Destroy)这些粒子特效导致的游戏整个性能降低,避免游戏卡顿的出现。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的说明;图1(a)-(c)是本专利技术实施例提供的人物动画效果示意图。图2是本专利技术实施例提供的方法流程示意图。图3是本专利技术实施例提供的方法流程示意图。图4(a)(b)是本专利技术实施例提供的方法流程示意图。图5(a)-(c)是本专利技术另一实施例提供的人物动画效果示意图。图6是本专利技术实施例提供的装置结构原理的框图。图7(a)-(c)是本专利技术实施例提供的装置结构原理的框图。图8是本专利技术实施例提供的终端结构示意图。具体实施方式为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。本专利技术实施例涉及的技术术语如下:Unity:是一个用于创建诸如三维电子游戏、建筑可视化、实时三维动画等类型互动内容的综合型创作工具。Unity类似于Director,Blender,Virtools或TorqueGameBuilder等利用交互的图型化开发环境为首要方式的软件其编辑器运行在Windows和MacOSX下,可发布游戏至windows,OSX,android,ios等多个平台。游戏对象(GameObjects):游戏中的每个对象都是一个GameObject,GameObject是一种容器。组件(Components):包含在GameObject中,用来控制GameObject的运动,旋转等等功能。Particles:Unity中的粒子系统。实例化(Instantiate):实例化游戏对象(GameObjects)。Destory:销毁游戏对象(GameObjects)或组件(Components)。预设(Prefabs):预定义游戏对象(GameObjects)和组件(Components)的集合,可在游戏中重复使用。对象池:第一次创建的时候就将对象存储在一个池子中,当需要销毁的时候不直接销毁而是隐藏,当需要时在再次使用,就不需要再次实例化一个新的对象,直接把隐藏的对象显示并拿出来用。为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。如图1(a)至图1(c)所示,在一个实施例中,Unity粒子系统很方便使用,但是在一般的3d游戏中,会用到大量的粒子特效。游戏或者视频动画中会频繁而且相对大量的创建(Instantiate)和销毁(Destroy)这些粒子特效,这会导致游戏整个性能降低,如果创建的数量过多,内存很容易不足,比较典型的,是出现卡顿现象。查看发现主要卡顿点在两处地方,一是实例化过程(Instantiate),尤其是类似Rigdbody的组件在激活时会更新一些全局的状态。二是GC.Collect.Unity的自动GC发生的时间是无法控制的,可能发生在任何时间点。对于一来说可以通过分批激活的方式来解决,比如使用coroutine来挨个激活就可以避免卡顿。但对于二来说只有避免GC那就要避免大量的销毁(Destory)。综上,如果想避免游戏中的卡顿,首先要使用对象池,重复使用对象,避免对象的销毁。二是在合适的时候手动GC,比如加载界面。为了避免游戏中由于持续生成和销毁特效实体而造成的卡顿,为了重复利用资源,会设计对象池来解决这一问题。但是,Unity的粒子系统(Particles)和初始化会有一些问题,在实际动画生成过程中发现,带Trail的游戏对象(GameObject)在重用后,由于没有重置,会在旧的位置和新的位置之间产生拖尾。而带有粒子系统的游戏对象(GameObject)再重用过程中参数会不断积累,从而造成粒子缩放问题。如图2所示,在一个实施例中,提出一种动画生成方法,包括:S210,当第一动作被执行时,实例化第一动作特效,并存储于第一动作节点下;S220,所述第一动作结束时,将所述第一动作特效回收至对象池管理节点下,并将所述第一动作特效设置为非激活状态;S230,当再次执行所述第一动作时,从所述对象池管理节点加载所述第一动作特效,恢复所述第一动作特效参数;S240,将所述恢复后的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激本文档来自技高网
...
一种动画生成方法、装置、客户端以及计算机可读存储介质

【技术保护点】
一种动画生成方法,其特征在于,所述方法包括如下步骤:当第一动作被执行时,判断对象池管理节点是否包含第一动作特效;若所述对象池管理节点包含所述第一动作特效,从所述对象池管理节点加载所述第一动作特效,并初始化所述第一动作特效;将所述恢复后的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激活状态。

【技术特征摘要】
1.一种动画生成方法,其特征在于,所述方法包括如下步骤:当第一动作被执行时,判断对象池管理节点是否包含第一动作特效;若所述对象池管理节点包含所述第一动作特效,从所述对象池管理节点加载所述第一动作特效,并初始化所述第一动作特效;将所述恢复后的第一动作特效移动至第一动作节点下,并将所述第一动作特效设置为激活状态。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:若所述对象池管理节点不包含第一动作特效,创建第一动作特效,将所述第一动作特效存储于第一动作节点下,并将所述第一动作特效设置为激活状态。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:在所述第一动作结束时,将所述第一动作特效回收至对象池管理节点,并将所述第一动作特效设置为非激活状态。4.根据权利要求1所述的方法,其特征在于,所述初始化所述第一动作特效步骤还包括:获取所述第一特效自身和所有子节点上的粒子系统;渲染第一动作特效;重置所述粒子系统的系统时间,清除所述第一动作特效中的残留特效;对所述第一动作特效重新仿真。5.根据权利要求4所述的方法,其特征在于,所述对所述第一动作特效重新仿真步骤包括:记录粒子系统中粒子的初始状态;获取缩放因子;根据所述缩放因子对所述粒子的初始状态进行缩放操作。6.根据权利要求5所述的方法,其特征在于,记录粒子系统中粒子的初始状态步骤包括:循环记录粒子系统中每个粒子的初始大小、初始重力因子和初始速度。7.一种动画生成装置,其特征在于,所述装置包括如下模块:判断模块,用于在第一动作被执行时,判断对象池管理节点是否包含第一动作特效;第一条件执行模块,用于在所述对象池管理节点...

【专利技术属性】
技术研发人员:陈凯
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1