一种人物动态骨骼的设计系统和方法技术方案

技术编号:13779746 阅读:59 留言:0更新日期:2016-10-04 13:05
本发明专利技术包括一种人物动态骨骼的设计系统,包括:初始化模块,对模型数据进行初始化设置;节点生成模块,生成骨骼节点数据并进行存储;骨骼约束模块,节点在变化过程中执行规则约束处理;碰撞约束模块,对所述骨骼模型在碰撞过程中规则约束处理。还包括一种人物动态骨骼的设计方法,包括:对模型数据进行初始化设置;生成骨骼节点数据并进行存储;对节点在变化过程中执行规则约束处理;对所述骨骼模型在碰撞过程中规则约束处理。本发明专利技术的有益效果为:大大缩短采用旧方案骨骼动画或布料系统调整网格顶点参数所需要花的时间;更加真实逼真物理模拟布料和头发的运动和相关约束处理;高效地处理布料内部之间以及布料和其他物体之间的碰撞检测处理。

【技术实现步骤摘要】

本专利技术涉及一种人物动态骨骼的设计系统和方法,属于计算机游戏开发领域。
技术介绍
3D游戏中偏中重度的游戏人物往往是需要有布料头发模拟才能够更好地表现人物,动作上的细致表现才能够让人物栩栩如生,才能够更加吸引住玩家。一般游戏处理人物动画就直接采用骨骼动画的技术或者布料系统物理模拟的技术。采用骨骼动画的技术基本流程图如图1,通过图1的流程图可以看出现骨骼动画方案存在缺陷如下(1)、(2)所示,包括:(1)每一套新的人物都要走一遍添加骨骼蒙皮和制作骨骼动画的流程,该过程耗时和骨骼数成正比,越高清的模型越多的骨骼,制作耗时也非常大。基本上三百个骨骼加上调整测试的时间对于一个有经验的动作师就要耗时三天左右;(2)人物身上的衣服头发都需要动作师去根据真实人物动作情况去做调整,如果没有真实人物做参考也会去参考其他游戏人物动作和相关视频,不同衣服由于材质的不同表现也会有所不同,调出不同人物的衣服头发这块就需要占用特别多的时间。采用布料系统物理模拟的技术基本流程图如图2所示,通过图2所示流程图可以看出现布料系统模拟衣服头发方案存在以下缺陷如下(1)~(3)所示,包括:(1)低模大概在3000面左右,高模要在10000面左右,布料系统模拟属于顶点动画,需要调整网格中所有顶点相关参数来进行物理模拟,每个模型的衣服头发都需要调整,调整完毕再运行测试再进行反复调整到合适为止,这块耗时也是非常大的;(2)布料系统模拟调整的是顶点能够运动的距离范围限制,如果距离调整得够长很难避免布料穿插碰撞的问题出现,如果距离调整得够短又不能够表现得逼真,只能小范围的飘动。(3)布料系统模拟的每个顶点的运动,由于顶点相对比较多,会占用较高的系统资源。蒙皮是三维动画的一种制作技术,用于在三维软件中创建的模型基础上,为模型添加骨骼。由于骨骼与模型是相互独立的,为了让骨骼驱动模型产生合理的运动,则把模型绑定到骨骼上的技术叫做蒙皮。
技术实现思路
针对现有技术的不足,提出了一种人物动态骨骼的设计系统和方法,用于使用动态骨骼真实物理模拟布料头发和碰撞检测,以达到大大缩短美术采用旧方案骨骼动画或布料系统调整网格顶点参数所需要花的时间,更加真实逼真物理模拟布料和头发的运动和相关约束处理,高效地处理布料内部之间以及布料和其他物体之间的碰撞检测处理。本专利技术的技术方案包括一种人物动态骨骼的设计系统,该系统包括:初始化模块,用于对游戏对象模型的数据进行初始化设置,包括设置骨骼模型数、骨骼节点数,进而对骨骼模型的网格进行确认并执行蒙皮操作;节点生成模块,用于生成骨骼节点数使用数据表进行存储,包括骨骼节点随时间变化的局部坐标旋转值、世界坐标;骨骼约束模块,用于对所述骨骼模型下的节点数在变化过程中执行进一步规则约束处理;碰撞约束模块,用于对所述骨骼模型在碰撞过程中执行进一步规则约束处理。根据所述的人物动态骨骼的设计系统,所述的节点生成模块包括:节点存储子模块,用于对所生成的骨骼节点信息进行初始化,包括初始化运动前的局部坐标、旋转值、当前帧世界坐标和下一帧世界坐标,当前帧坐标和下一帧世界坐标分别表示;节点坐标子模块,用于对所述节点存储子模块初始化的当前帧世界坐标使用计算每个骨骼节点下一帧所处的世界坐标位置,同时在计算每个骨骼节点时,添加阻尼值用于模拟外力对骨骼节点的世界坐标造成的阻力。根据所述的人物动态骨骼的设计系统,所述的骨骼约束模块包括:弹性约束子模块,对骨骼模型下的节点加入弹性值,用于表示节点移动到与父节点位置保持不动的静止位置的弹性系数;长度约束子模块,用于对当前骨骼模型下节点的位置与对应父节点的位置的长度是否超出了初始化时两者之间的长度,如果长度不超出预设值则不作处理,如果超出则将子节点往父节点的方向向量进行下减法修改,直至不超过预设长度;自定义约束子模块,用于使用可编辑交互界面自定义创建约束规则,对骨骼模型的节点进行位移时进行限制,进一步,结合所述弹性约束子模块、长度约束子模块及自定义约束子模块的约束,则节点进行约束后的位移得到最终世界坐标。根据所述的人物动态骨骼的设计系统,所述的碰撞约束模块包括:球体碰撞子模块,用于对骨骼模型下的节点在进入碰撞体内部时,则将该节点位移至碰撞体表面;胶囊碰撞子模块,用于对骨骼模型下的节点分别与第一胶囊体、第二胶囊体进行向量计算,根据结果确认该节点的位置处于第一胶囊体内部时,则使用球体术确认该节点位移后的世界坐标;网格碰撞子模块,用于添加多个球体碰撞体及胶囊碰撞体对网格碰撞体进行覆盖,进一步根据所述球体碰撞子模块及胶囊碰撞子模块的碰撞约束规则确认节点所位移的最终世界坐标。本专利技术的技术方法还包括一种人物动态骨骼的设计方法,该方法包括:对游戏对象模型的数据进行初始化设置,包括设置骨骼模型数、骨骼节点数,进而对骨骼模型的网格进行确认并执行蒙皮操作;生成骨骼节点数使用数据表进行存储,包括骨骼节点随时间变化的局部坐标旋转值、世界坐标;对所述骨骼模型下的节点数在变化过程中执行进一步规则约束处理;对所述骨骼模型在碰撞过程中执行进一步规则约束处理。进一步,该方法还包括:对所生成的骨骼节点信息进行初始化,包括初始化运动前的局部坐标、旋转值、当前帧世界坐标和下一帧世界坐标,当前帧坐标和下一帧世界坐标分别表示;对所述节点存储子模块初始化的当前帧世界坐标使用计算每个骨骼节点下一帧所处的世界坐标位置,同时在计算每个骨骼节点时,添加阻尼值用于模拟外力对骨骼节点的世界坐标造成的阻力。进一步,该方法还包括:对骨骼模型下的节点加入弹性值,用于表示节点移动到与父节点位置保持不动的静止位置的弹性系数;对当前骨骼模型下节点的位置与对应父节点的位置的长度是否超出了初始化时两者之间的长度,如果长度不超出预设值则不作处理,如果超出则将子节点往父节点的方向向量进行下减法修改,直至不超过预设长度;使用可编辑交互界面自定义创建约束规则,对骨骼模型的节点进行位移时进行限制,进一步,结合所述弹性约束子模块、长度约束子模块及自定义约束子模块的约束,则节点进行约束后的位移得到最终世界坐标。进一步,该方法还包括:对骨骼模型下的节点在进入碰撞体内部时,则将该节点位移至碰撞体表面;对骨骼模型下的节点分别与第一胶囊体、第二胶囊体进行向量计算,根据结果确认该节点的位置处于第一胶囊体内部时,则使用球体术确认该节点位移后的世界坐标;添加多个球体碰撞体及胶囊碰撞体对网格碰撞体进行覆盖,进一步根据所述球体碰撞子模块及胶囊碰撞子模块的碰撞约束规则确认节点所位移的最终世界坐标。本专利技术的有益效果为:大大缩短美术采用旧方案骨骼动画或布料系统调整网格顶点参数所需要花的时间;更加真实逼真物理模拟布料和头发的运动和相关约束处理;高效地处理布料内部之间以及布料和其他物体之间的碰撞检测处理。附图说明图1所示为现有技术的方案流程一;图2所示为现有技术的方案流程二;图3所示为根据本专利技术实施方式的流程图;图4a,4b为根据本专利技术实施方式的碰撞检测图。具体实施方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。本专利技术的一种人物动态骨骼的设计系统和方法适用于单机游戏、手机游戏、网页游戏等游戏的开发。图3所示为根据本专利技术实施方式的流程图。其具体执行如下(1)~(4):(1)程序中是以每本文档来自技高网
...

【技术保护点】
一种人物动态骨骼的设计系统,其特征在于,该系统包括:初始化模块,用于对游戏对象模型的数据进行初始化设置,包括设置骨骼模型数、骨骼节点数,进而对骨骼模型的网格进行确认并执行蒙皮操作;节点生成模块,用于生成骨骼节点数使用数据表进行存储,包括骨骼节点随时间变化的局部坐标旋转值、世界坐标;骨骼约束模块,用于对所述骨骼模型下的节点数在变化过程中执行进一步规则约束处理;碰撞约束模块,用于对所述骨骼模型在碰撞过程中执行进一步规则约束处理。

【技术特征摘要】
1.一种人物动态骨骼的设计系统,其特征在于,该系统包括:初始化模块,用于对游戏对象模型的数据进行初始化设置,包括设置骨骼模型数、骨骼节点数,进而对骨骼模型的网格进行确认并执行蒙皮操作;节点生成模块,用于生成骨骼节点数使用数据表进行存储,包括骨骼节点随时间变化的局部坐标旋转值、世界坐标;骨骼约束模块,用于对所述骨骼模型下的节点数在变化过程中执行进一步规则约束处理;碰撞约束模块,用于对所述骨骼模型在碰撞过程中执行进一步规则约束处理。2.根据权利要求1所述的人物动态骨骼的设计系统,其特征在于,所述的节点生成模块包括:节点存储子模块,用于对所生成的骨骼节点信息进行初始化,包括初始化运动前的局部坐标、旋转值、当前帧世界坐标和下一帧世界坐标,当前帧坐标和下一帧世界坐标分别表示;节点坐标子模块,用于对所述节点存储子模块初始化的当前帧世界坐标使用计算每个骨骼节点下一帧所处的世界坐标位置,同时在计算每个骨骼节点时,添加阻尼值用于模拟外力对骨骼节点的世界坐标造成的阻力。3.根据权利要求1所述的人物动态骨骼的设计系统,其特征在于,所述的骨骼约束模块包括:弹性约束子模块,对骨骼模型下的节点加入弹性值,用于表示节点移动到与父节点位置保持不动的静止位置的弹性系数;长度约束子模块,用于对当前骨骼模型下节点的位置与对应父节点的位置的长度是否超出了初始化时两者之间的长度,如果长度不超出预设值则不作处理,如果超出则将子节点往父节点的方向向量进行下减法修改,直至不超过预设长度;自定义约束子模块,用于使用可编辑交互界面自定义创建约束规则,对骨骼模型的节点进行位移时进行限制,进一步,结合所述弹性约束子模块、长度约束子模块及自定义约束子模块的约束,则节点进行约束后的位移得到最终世界坐标。4.根据权利要求1所述的人物动态骨骼的设计系统,其特征在于,所述的碰撞约束模块包括:球体碰撞子模块,用于对骨骼模型下的节点在进入碰撞体内部时,则将该节点位移至碰撞体表面;胶囊碰撞子模块,用于对骨骼模型下的节点分别与第一胶囊体、第二胶囊体进行向量计算,根据结果确认该节点的位置处于第一胶囊体内部时,则使用球体术确认该节点位移后的世界坐标;网格碰撞子模块,用于添加多个球...

【专利技术属性】
技术研发人员:陈镇秋陈汉辉李茂刘玲卢歆翮
申请(专利权)人:珠海金山网络游戏科技有限公司珠海西山居移动游戏科技有限公司
类型:发明
国别省市:广东;44

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

1