一种2d游戏的渲染系统及方法、终端设备的制造方法

文档序号:9833111阅读:464来源:国知局
一种2d游戏的渲染系统及方法、终端设备的制造方法
【技术领域】
[0001]本发明涉及游戏渲染领域,尤其涉及一种2D游戏的渲染系统及方法、终端设备。
【背景技术】
[0002]随着计算机和移动智能机的普及,游戏已经成为一种越来越普遍的娱乐形式。在游戏运行中,为了提高游戏的可玩性和玩家的体验,常常需要播放游戏角色走动、跑动、攻击、施法等动作的动画。
[0003]对于目前的2D游戏,播放游戏角色的相关动画一般采用播放相应的序列帧动画或者骨骼动画来实现。其中,序列帧动画的每一帧都可以视为游戏角色的特定姿势的一个快照,例如对于一个游戏角色走路的动画,可以想象成游戏角色在走路,拿起相机给他连续拍照,拍出来的照片连续播放就可以看到一个人物走动的动画。序列帧动画的流畅性和平滑效果都取决于预定时间段内拍照的次数,即帧数的多少。骨骼动画则是把游戏角色各个部分的身体部件图片绑定到一根根互相作用连接的“骨头”上,通过控制这些骨骼的位置、旋转方向和放大缩小而生产的动画。可以想象成把人的骨骼抽离出来,在不同的骨头上挂接上相应的图片块,骨骼动的时候带动绑定在上面的图块运动。

【发明内容】

[0004]序列帧动画的优点是实现简单,流畅性高。但是目前的序列帧动画都是通过美术手工绘制的,即每增加一个动画都需要单独绘制一套序列帧动画。例如η个游戏角色骑乘m个坐骑的组合就需要准备n*m套序列帧动画资源,如果再加上武器、视角等的组合需求就会面临资源组合爆炸的问题。虽然可以通过拼接序列帧动画来减小资源量,例如把某个游戏角色骑乘姿势的序列帧动画还有坐骑被骑着时候的序列帧动画单独输出出来,在游戏中根据不同的游戏角色骑乘不同的坐骑实时进行拼接,但所需的资源量依然庞大,而且此方案依然需要美术进行手工绘制,实现上不够灵活。
[0005]骨骼动画虽然通过组合部件图片克服了序列帧动画的组合爆炸的问题,但是传统的2d骨骼动画只能制作一个方向的动画,无法解决多视角的需求,而且骨骼动画的流畅性也不如序列帧动画。
[0006]本发明所要解决的技术问题是提供一种2D游戏的渲染系统及方法、终端,通过实时渲染的方式生成设定视角的序列帧动画。
[0007]本发明通过下述技术手段解决前述技术问题:
[0008]一种2D游戏的渲染系统,包括:
[0009]2D渲染单元,用于根据游戏渲染请求加载待渲染的2D序列帧数据并进行渲染以生成发送给用户设备的游戏画面帧,
[0010]序列帧数据共享单元,用于存储并向所述2D渲染单元提供所述待渲染的2D序列帧数据;
[0011 ] 3D渲染单元,用于基于设定的视角将预置的3D模型渲染生成所述2D序列帧数据并传送给所述序列帧数据共享单元;
[0012]3D模型资源存储单元,用于存储所述3D模型以供所述3D渲染单元加载使用。
[0013]本发明提供的上述技术方案中,通过3D渲染单元对预置的3D模型进行渲染,从而在本地实时生成所需视角的2D序列帧数据(相当于序列帧动画),与现有的通过手工绘制序列帧动画的技术相比,一方面由于不需要直接将所有的序列帧动画预置在游戏资源包,避免了游戏资源包过大而导致下载等待时间过长和占用存储空间大的问题;另一方面,由于不需要手工绘制序列帧动画,减小了美术工作量,加快了游戏开发速度。同时基于序列帧数据共享单元对2D渲染单元与3D渲染单元进行解耦合,在同一设备同时运行多个游戏客户端(包含2D渲染单元)的情况下,各个游戏客户端能够共享序列帧数据共享单元中的2D序列帧数据,最大化的减少重复渲染。
[0014]优选地,所述3D渲染单元包括:3D模型资源加载模块,用于从所述3D模型资源存储单元加载至少两个3D模型;3D模型挂接模块,用于根据所述3D模型中预置的挂接点将所述至少两个3D模型相互挂接以形成待渲染的目标模型;3D动画渲染模块,用于基于所述目标模型进行3D渲染获得3D动画,并基于所述3D动画和设定的视角生成所述2D序列帧数据。
[0015]本优选方案通过对不同的3D模型进行挂接后再渲染,以获得目标模型的3D动画,并基于所述3D动画和设定的视角生成所述目标模型的2D序列帧数据,解决了组合模型的2D序列帧数据生成问题。
[0016]优选地,所述3D动画渲染模块包括:渲染子模块,用于基于所述目标模型进行3D渲染获得3D动画;镂空处理子模块,用于基于预置的3D模型层次关系和所述设定的视角,将所述3D动画的各层次的3D模型中,被层次低于自身的3D模型遮挡的部分进行镂空处理;所述3D模型层次关系为用于描述各个所述3D模型层次高低的关系文件;分层渲染子模块,用于对镂空处理后的各个所述3D模型分别进行渲染以获得各个所述3D模型对应的2D序列帧数据。
[0017]针对上一个优选方案,本优选方案进一步的对组成所述目标模型的各个3D模型根据层次高低的关系进行镂空处理(层次高的3D模型需根据被层次低的3D模型遮挡的部分进行镂空),获得每个3D模型对应的2D序列帧数据,从而可在后续增减3D模型或更换3D模型、以及玩家更换坐骑、武器、头饰时,对这些已生成2D序列帧数据进行复用,而不需再次进行渲染,提高了渲染的效率。
[0018]优选地,所述3D动画渲染模块还包括:底层2D序列帧数据加载模块,用于从预置的2D图像资源中获取与最底层的所述3D模型对应的2D序列帧预置数据;底层2D序列帧数据替换模块,用于将最底层的所述3D模型对应的2D序列帧数据替换为所述2D序列帧预置数据。
[0019]针对上一个优选方案,本优选方案中,由于处于最底层的所述3D模型对应的2D序列帧数据不需要进行镂空处理,因而可将处于最底层的3D模型对应的2D序列帧数据替换为所述2D序列帧预置数据(即美术手工绘制的序列帧动画),由于美术手工绘制的序列帧动画的画质要比通过3D渲染生成的序列帧数据的画质好,因而可提高了游戏的画质。
[0020]优选地,所述分层渲染子模块,还用于根据所述3D模型的层次高低关系,依次对镂空处理后的各个所述3D模型进行渲染以获得各个所述3D模型对应的2D序列帧数据;其中,层次高的3D模型将优先被渲染。
[0021]本发明还提供一种2D游戏的渲染方法,所述2D游戏的渲染方法与所述渲染系统一一对应,并包括以下步骤:
[0022]2D清染单元响应于游戏清染请求,向序列帧数据共享单元请求加载待清染的2D序列帧数据并渲染生成发送给用户设备的游戏画面帧;
[0023]序列帧数据共享单元响应于2D序列帧数据加载请求,提供对应的2D序列帧数据或向3D清染单元请求清染生成对应的2D序列帧数据;
[0024]3D清染单元响应于2D序列帧数据清染生成请求,向3D模型资源存储单元请求加载预置的3D模型,并基于设定的视角将所述预置的3D模型渲染生成2D序列帧数据并传送给所述序列帧数据共享单元;
[0025]3D模型资源存储单元响应于3D模型加载请求,向所述3D渲染单元提供预置的3D模型。
[0026]优选地,所述3D渲染单元响应于2D序列帧数据渲染生成请求,向3D模型资源存储单元请求加载预置的3D模型,并基于设定的视角将所述预置的3D模型渲染生成2D序列帧数据并传送给所述动画数据共享单元,具体包括:
[0027]3D渲染单元根据所述2D序列帧数据渲染生成请求从所述3D模型资源存储单元加载至少两个3D模型;
[0028]3D渲染单元根据所述3D模型中预置的挂接点将所述至少两个3D模型相互挂接以形成待渲染的目标模型;
[0029]3D渲染单元基于所述目标模型进行3D渲染获得3D动画,并基于所述3D动画和设定的视角生成所述2D序列帧数据。
[0030]优选地,所述3D渲染单元基于所述目标模型进行3D渲染获得3D动画,并基于所述3D动画和设定的视角生成所述2D序列帧数据,具体包括:
[0031 ]所述3D渲染单元基于所述目标模型进行3D渲染获得3D动画;
[0032]所述3D渲染单元基于预置的3D模型层次关系和所述设定的视角,将所述3D动画的各层次的3D模型中,被层次低于自身的3D模型遮挡的部分进行镂空处理;所述3D模型层次关系为用于描述各个所述3D模型层次高低的关系文件;
[0033]所述3D渲染单元对镂空处理后的各个所述3D模型分别进行渲染以获得各个所述3D模型对应的2D序列帧数据。
[0034]优选地,还包括:
[0035]3D渲染单元从预置的2D图像资源中获取与最底层的所述3D模型对应的2D序列帧预置数据;
[0036]3D渲染单元将最底层的所述3D模型对应的2D序列帧数据替换为所述2D序列帧预置数据。
[0037]优选地,所述3D渲染单元对镂空处理后的各个所述3D模型分别进行渲染以获得各个所述3D模型对应的2D序列帧数据,具体为:
[0038]所述3D渲染单元根据所述3D模型的层次高低关系,依次对镂空处理后的各个所述3D模型进行渲染以获得各个所述3D模型对应的2D序列帧数据;其中,层次高的3D模型将优先被清染。
[0039]本发明还提供一种终端设备,包括3D渲染系统及至少一个游戏客户端;其中,所述3D渲染系统包括上述的序列帧数据共享单元、3D渲染单元及3D模型资源存储单元,所述游戏客户端包括游戏处理单元及如上述的2D渲染单元;
[0040]所述游戏处理单元,用于生成游戏渲染请求;
[0041]所述2D渲染单元,用于根据所述游戏渲染请求向所述3D渲染系统请求加载待渲染的2D序列帧数据并进行渲染以生成游戏画面帧;
[0042]所述3D渲染系统,用于响应所述游戏渲染请求,并向所述2D渲染单元提供所述待渲染的2D序列帧数据。
[0043]本发明提供的终端设备,实现了对2D渲染单元与3D渲染单元进行解耦合。在
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1