一种界面动画的实现方法及装置、移动终端和电脑终端的制作方法
【技术领域】
[0001]本发明属于游戏设计领域,尤其是涉及一种通过渲染三维模型的高性能界面动画的实现方法及装置。
【背景技术】
[0002]界面动画,是针对界面元素和操作控件制作的动画,一方面可以提升界面的表现力和仪式感,另一反面增强了玩家的操作反馈,优化玩家体验,也渲染了游戏的代入感,已是游戏UI设计中不可或缺的一部分。
[0003]目前,界面动画制作一般有两种方式,一种方式是Flash资源动画,指使用Flash直接用原生工具进行矢量动画制作,或是在Flash中导入主体2D图片资源,利用Flash自身的动作编辑系统,或是通过程序脚本对资源进行编辑,实现动作和特效,当需要对动作进行一些重复性的设置和操作时,就会寻求程序代码来解决。但这种动画表现能力具有很大的限制性,依赖特效,任何一个复杂的效果都离不开特效的表达,特别是在三维动画的显示上,如果要实现一个精美的三维动画,要增加额外的大量资源,增加磁盘空间,增加内存消耗,会影响游戏性能,而且动画本身的制作效率也大大降低。
[0004]另一种方式是通过序列帧实现界面动画,指使用动画编辑软件设计动作和特效,之后输出一张张资源图片的序列帧,再导入界面编辑器,对资源图片进行二次加工,生成动画。该方法简单,表现效果佳,但却以消耗大量的资源为代价。除了资源消耗量大,后期维护成本也比较高,任何一个动作或细节的修改,都需要重新导出、导入所有的资源图片,不利于效果的调试和迭代。例如,一段帧率24的全屏动画(以1024*768为标准)播放3秒,需要导入72张1024*768大小的图片,假设每张图片大小为1M,则这段动画就需要增加72M的界面资源,这对于游戏性能是极大的考验,对程序的封装也增加了一定的压力。
【发明内容】
[0005]本发明的目的在于克服现有技术中的缺点与不足,提供一种节省界面资源同时保证动画表现力的界面动画的实现方法。
[0006]本发明是通过以下技术方案实现的:
[0007]一种界面动画的实现方法,通过对场景中的三维模型动画中的每一帧三维模型进行渲染,以获得每一帧三维模型在场景中的渲染图像。
[0008]相对于现有技术,本发明的界面动画的实现方法通过将三维模型动画加载在场景中进行渲染,渲染后的图像可直接应用在动画的显示中或做为其他应用的引用图片源,优化了动画的性能,同时保证了动画的表现力,达到了界面表达的效果,提升了形式感,大幅提升玩家体验;另外,由于每帧三维动画渲染在显示界面上之后,无需保存直接显示下一帧三维模型,这样极大程度上节省界面资源,不占用硬盘空间,保证游戏程序的高性能。
[0009]进一步的,所述界面动画的实现方法,包括步骤:
[00?0]加载场景;
[0011]设定渲染参数;
[0012]加载三维模型动画中的每一帧三维模型至场景中;
[0013]获得每一帧三维模型在场景中的渲染图像。
[0014]进一步地,所述渲染参数,包括进行渲染的虚拟摄像机的位置、视场角和/或焦距。
[0015]进一步地,在获得每一帧三维模型在场景中的渲染图像之后,还包括步骤:将每一帧渲染图像显示在UI界面的图片上,以形成模型动画界面。从而优化了 UI界面的动画的性能,以及保证了 UI界面动画的表现力。
[0016]进一步地,在将每一帧渲染图像显示在UI界面的图片上之后,还包括步骤:在UI界面上显示静态图片,以形成静态界面。
[0017]进一步地,在UI界面上显示静态图片之后,还包括步骤:释放场景及三维模型动画资源。从而进一步节省界面资源,减少硬盘空间的占用。
[0018]进一步地,在UI界面上显示静态图片之前,还包括步骤:在111界面上插播flash动画,由flash动画完成模型动画界面与静态界面的衔接。
[0019]进一步地,加载的三维模型动画设有节点动作,在加载三维模型动画中的每一帧三维模型至场景的过程中,当判断当前帧的三维模型的动作为节点动作时,执行插播flash动画。
[0020]另外,本发明还提供一种节省界面资源同时保证动画表现力的界面动画的实现装置,包括场景加载模块、渲染参数设定模块、模型动画加载模块和模型渲染模块,其中,
[0021]场景加载模块用于加载场景;
[0022]渲染参数设定模块用于设定渲染参数;
[0023]模型动画加载模块用于加载三维模型动画中的每一帧三维模型至场景中;
[0024]模型渲染模块用于获得每一帧三维模型及场景的渲染图像。
[0025]相对于现有技术,本发明的界面动画的实现装置通过加载场景和三维模型动画,获得的渲染图像可直接应用在动画的显示中或做为其他应用的引用图片源,优化了动画的性能,同时保证了界面动画的表现力,达到了界面表达的效果,提升了形式感,大幅提升玩家体验;另外,由于每帧三维动画渲染在显示界面上之后,无需保存即直接显示下一帧三维模型,这样极大程度上节省界面资源,不占用硬盘空间,保证游戏程序的高性能。
[0026]进一步地,还包括显示模块,用于将每一帧渲染图像显示在UI界面的图片上,以形成模型动画界面。
[0027]进一步地,所述渲染参数,包括进行渲染的虚拟摄像机的位置、视场角和/或焦距。
[0028]进一步地,还包括静态图片显示模块,用于在UI界面上显示静态图片。
[0029]进一步地,还包括资源释放模块,用于释放场景及三维模型动画资源。
[0030]进一步地,还包括flash动画插播模块,用于在UI界面上插播flash动画,由flash动画完成模型动画界面与静态界面的衔接。
[0031]进一步地,加载的三维模型动画设有节点动作,还包括一节点动作判断模块,用于在加载三维模型动画中的每一帧三维模型至场景的过程中,当判断当前帧的三维模型的动作为节点动作时,通知flash动画插播模块插播flash动画。
[0032]另外,本发明还提供了与该界面动画的实现装置对应的移动客户端和电脑客户端。
[0033]为了能更清晰的理解本发明,以下将结合【附图说明】阐述本发明的【具体实施方式】。
【附图说明】
[0034]图1本发明界面动画成像的原理示意图。
[0035]图2是本发明实施例1的一种界面动画实现方法的步骤流程图。
[0036]图3是本发明实施例1的一种界面动画实现装置的结构示意图。
[0037]图4是本发明实施例2的一种界面动画实现方法的步骤流程图。
[0038]图5是本发明实施例2的一种界面动画实现装置的结构示意图。
【具体实施方式】
[0039]由于在现有技术中,界面动画的实现需要预先存储每一帧动画的图像,之后再调用显示,当需要显示同一动画的不同角度的图像时,同样需要另外再存储对应的动画图像以供调用,这样会占用大量内存。本案为了解决上述问题,提出一种界面动画显示的新的思路。请参阅图1,本案显示动画的思想为,设置一个场景B,在场景B中设置有虚拟摄像机A,同时将为模型动画设置在场景B中,通过设置虚拟摄像机A的渲染参数,对场景B中的三维模型动画中的每一帧三维模型C进行渲染,以获得每一帧三维模型C在场景B中的渲染图像,并将渲染图像在界面D上显示,这样随着每一帧的三维模型C的改变,显示界面上也会出现对应的三维模型动画对应的界面动画。
[0040]基于以上发明思路,本案通过以下的具体实施例来进行说明。