一种3D游戏骨骼处理系统及其处理方法与流程

文档序号:11186122阅读:2266来源:国知局
一种3D游戏骨骼处理系统及其处理方法与流程

本发明涉及一种3d游戏骨骼处理系统及其处理方法,属于计算机游戏领域。



背景技术:

3d游戏中骨骼系统不可或缺,现有骨骼系统无法获取更高效、更逼真和更复杂多变的游戏换装表现形式,同时无法提高复用性。



技术实现要素:

针对现有技术的不足,本发明的技术方案提供了一种3d游戏骨骼处理系统及其处理方法,用于顺应时代变革以适应当前的软硬件环境、追求获取更高效、更逼真和更复杂多变的游戏换装表现形式,同时提高复用性降低游戏制作成本为目的。

本发明的技术方案包括一种3d游戏骨骼处理系统,其特征在于,该系统包括:采样模块,用于从指定的一个或多个三维建模工具采集并导出中间格式数据;拼接模块,用于执行对骨骼模型的拼接;计算模块,用于使用多线缓冲轮换对骨骼数据进行实时计算;辅助计算模块,用于接入物理引擎对物理骨骼与非物理骨骼动画进行融合处理;绘制模块,用于使用gpu计算并执行对骨骼蒙皮动画的绘制处理。

根据权所述的3d游戏骨骼处理系统,所述的采样模块用于执行以下步骤:s21,从指定的一个或多个三维建模工具采集通用的骨骼模型中间数据格式;s22,使用解析器对中间数据格式的网格数据、材质数据、骨架数据、插槽数据及动画数据进行统一导出,并进行分开存储。

根据所述的3d游戏骨骼处理系统,所述的解析器还包括:用于对中间数据格式文件进行解析,所解析的数据包括模型的网格数据、材质数据、动画数据及子骨骼部件模型拼接文件数据。

根据所述的3d游戏骨骼处理系统,其特征在于:所述网格数据用于记录模型蒙皮的定点静态数据,包括定点位置坐标、法线、次法线、uv坐标及顶点绑定骨骼权重值。

在一个优选的实施方案中,所述的骨架数据还包括:对骨架的树形结构进行描述,以及,对骨骼进行蒙皮状态下的骨骼初始状态数据,包括普通骨骼和物理骨骼信息。

在一个优选的实施方案中,所述的插槽数据还包括:用于记录依附与骨骼的绑定偏移量数据,其中偏移量数据可以进行自定义调整。

在一个优选的实施方案中,所述的材质数据还包括:用于描述网格中的多个子集对应的贴图路径、光照参数及绘制混合参数信息。

在一个优选的实施方案中,所述的动画数据还包括:用于记录每个骨骼按帧间隔的动画采样数据,以及,记录各个骨骼每帧的平移、旋转及缩放值。

在一个优选的实施方案中,所述的子骨骼部件模型拼接文件数据还包括:用于记录适配整体骨架的多个子骨骼部件网格的组合信息,包括模型整体的多个子部件及子部件的组合信息。

根据所述的3d游戏骨骼处理系统,所述的计算模块用于执行以下步骤:s101,对每个骨骼的动画依照动画数据所描述的树形结构进行实时计算;s102,使用三线缓冲轮换对所述步骤s101计算线程进行处理,其中的三线缓冲包括主线程计算缓冲、中间交换缓冲剂子线程计算缓冲,用于取消数据传递及拷贝的加锁过程,。

根据所述的3d游戏骨骼处理系统所述的辅助计算模块包括:用于接入物理引擎,并对帧采样的动画和物理计算的骨骼进行动画融合。

根据所述的3d游戏骨骼处理系统,所述的绘制模块用于执行以下步骤:s121,使用gpu对将动画帧计算原先结果的4x4矩阵转置压缩为3x4矩阵;s122,获取材质数据、网格数据基于3x4矩阵进行并行顶点着色处理,完成gpu的渲染过程。

本发明的技术方案还包括一种3d游戏骨骼处理方法,该方法包括:从指定的一个或多个三维建模工具采集并导出骨骼数据;执行对骨骼模型的拼接;使用多线缓冲轮换对骨骼数据进行实时计算;接入物理引擎对物理骨骼与非物理骨骼动画进行融合处理;使用gpu计算并执行对骨骼蒙皮动画的绘制处理。

本发明的有益效果为:

(1)导出过程把美术工具制作的整体复杂动画数据进行分类导出,有了中间格式导出的支持,能很好的适配了不同的3d制作工具,导出过程并进行了归类整理,各部分对应不同的子模块;

(2)结合了现代硬件结构的特点,充分利用了cpu多核和gpu高并发处理能力的资源进行合理计算类别上的分工,动画表现既有美术制作的部分也有物理引擎实时演算的部分大大增强和丰富了动画的自然表现效果,同事减轻了动画制作的工作量;

(3)动态换装系统极大的增强游戏的表现,和外观搭配,同时这种方式也解决了gpu同时处理骨骼数的限制,做到只有子骨架有骨骼数量限制,整体骨架没有数量限制,骨骼数的丰富能使表现能更加高标准的骨骼动画效果;

(4)另外骨骼插槽绑定机制能绑定额外的模型甚至是特效到骨骼插槽上,更好的增强了骨骼系统的表现能力,使得有限的资源得到无限的外观表现。

附图说明

图1所示为根据本发明实施方式的总体流程图;

图2所示为根据本发明实施方式的导出示意图;

图3所示为根据本发明实施方式的多线程计算示意图;

图4所示为根据本发明实施方式的gpu绘制示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的3d游戏骨骼处理系统及其处理方法适用于三维游戏骨骼模型的处理。

图1所示为根据本发明实施方式的总体流程图。如下所示:

s1,从指定的一个或多个三维建模工具采集并导出中间格式数据;

s2,执行对骨骼模型的拼接;

s3,使用多线缓冲轮换对骨骼数据进行实时计算;

s4,接入物理引擎对物理骨骼与非物理骨骼动画进行融合处理;

s5,使用gpu计算并执行对骨骼蒙皮动画的绘制处理。

图2所示为根据本发明实施方式的导出示意图。

无需对多种3d建模工具如3等进行各种深度插件导出的开发,把统一的中间格式数据进行2次转换导出成为动画系统所需要的各类文件格式来加载执行,通过转换过程,导出了骨架文件、部件组合描述文件、材质文件、网格数据文件、插槽绑定描述文件、骨骼动画帧数据文件,且对于同一套骨骼模型这些文件能通用置换搭配使用

图3所示为根据本发明实施方式的多线程计算示意图。骨骼动画系统首先加载骨架文件,然后加载部件组合文件,里面对应的有网格以及静态数据,以及插槽数据;

接下来骨骼动画系统可以根据需要绑定相应的道具,比如绑定武器装备道具等等;

接下来系统根据游戏的需要播放对应的动画文件,进行动画的播放,动画播放器只负责非物理骨骼的动画效果,多线程3线缓冲计算模块能自动协调cpu多核的计算能力进行大批量的动画计算;

物理骨骼部分则自动通过物理引擎进行实时演算,并将物理和非物理骨骼的动画效果进行自动融合。

图4所示为根据本发明实施方式的gpu绘制示意图。分组绘制模块按材质分组对骨骼子模型进行分批的绘制输出,这将自动最大化利用gpu的计算能力进行高效的大批量的动画模型绘制。

把网格数据,骨骼计算数据,按材质参数分组,提交给gpu做绘制处理,骨骼计算出来的数据传统做法采用矩阵4x4,单骨骼16个浮点数,gpu一次提交能处理的浮点数寄存器数量比较有限,导致通常同时能处理的骨骼数量比较受限,为了节约带宽和减少限制,采用了4x4矩阵转置成3x4矩阵压缩算法,这样提升了1/4倍的处理能力,另外在顶点着色器里面进行矩阵反乘变换,并无解压或2次转置方面的性能开销,带来很好的效率提升,所有顶点动画变换以及像素着色计算,均在gpu内完成,对于传统cpu方式的顶点计算是一种巨大的改进,更适合现代的3d硬件架构,另外整体模型由于做了骨骼部件拆分,因而只有单部件的骨骼数限制,而没有整体的骨架骨骼数量限制,这是对gpu处理骨骼数限制的一种重要改进,能更高效的表现更为复杂的骨骼系统动画。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1