一种捏脸编辑和动画附加融合方法和系统与流程

文档序号:13558073阅读:673来源:国知局
一种捏脸编辑和动画附加融合方法和系统与流程

本发明涉及游戏领域,尤其是一种捏脸编辑和动画附加融合方法和系统。



背景技术:

一般游戏为了表现人物脸部细节的多样性来吸引玩家,往往采用制作更多的脸部模型的技术来解决问题,同时为不同的脸部模型制作对应的脸部表情动画。

采用多脸部模型制作的技术基本流程图如图1所示,多脸部模型制作方案基本步骤:首先策划确定需要新的脸部模型,美术根据需求制定新的脸部模型,同时制作脸部的骨骼并蒙皮,为该脸部模型制作需要的骨骼动画。

通过上面的流程图可以看出多脸部模型制作方案存在以下缺陷:

1、策划每一个不同的脸部需求,比如眼球大点下巴尖点,就需要美术再制作一个脸部模型,不仅仅加大了游戏安装包的大小,而且这个方式也占用了美术不少的时间做新的脸部模型。这就导致了制定太多的脸部模型变得很不实际。

2、由于脸部表情骨骼动画要基于具体的脸部模型播放,导致不同的脸部同样的表情动画也要制作多份,这无疑大大增加了表情动画的数量,增加游戏安装包大小的同时也占用美术不少时间制作动画。比如两个不同嘴巴的脸部模型要播放微笑动画,微笑动画要基于当前嘴巴细节情况播放微笑动画,就要制作两个动画来匹配对应的脸部模型。



技术实现要素:

为了解决上述技术问题,本发明的目的是:提供一种适用性强、减少动画制作过程中工作量的捏脸编辑和动画附加融合方法。

为了解决上述技术问题,本发明的另一目的是:提供一种适用性强、减少动画制作过程中工作量的捏脸编辑和动画附加融合系统。

本发明所采用的技术方案是:一种捏脸编辑和动画附加融合方法,包括有以下步骤:

读取脸部初始配置文件中的数据;

根据上述数据设置骨骼动画参数;

根据骨骼动画参数进行骨骼变形。

进一步,所述骨骼动画参数包括有骨骼类型和每个骨骼类型对应的缩放比例、位移和旋转角度。

进一步,还包括有配置文件导出步骤:

用户修改骨骼动画参数;

根据骨骼动画参数进行骨骼变形;

当用户获得目标骨骼变形时,将此时的骨骼动画参数存储至配置文件中。

进一步,还包括有表情动画附加步骤:

读取需要播放的脸部表情动画;

播放脸部表情动画的每一帧时,均根据脸部表情对应的骨骼动画参数进行骨骼变形。

进一步,还包括有脸部表情动画播放步骤:

读取需要播放的脸部表情动画所对应的骨骼动画参数;

判断当前是否正在播放脸部表情动画;若是,则根据当前播放的脸部表情动画对应的骨骼动画参数和需要播放的脸部表情动画对应的骨骼动画参数进行过渡融合,并根据过渡融合后的骨骼动画参数进行骨骼变形;若否,则根据骨骼动画参数进行骨骼变形。

本发明所采用的另一技术方案是:一种捏脸编辑和动画附加融合系统,包括有:

参数存储模块,用于存储初始骨骼动画参数和用户自定义骨骼动画参数;

参数设置模块,用于读取参数存储模块中的骨骼动画参数或者获取用户输入的骨骼动画参数;

骨骼变形模块,用于根据参数读取模块读取的骨骼动画参数执行骨骼变形操作。

进一步,所述参数存储模块中存储的骨骼动画参数包括有骨骼类型和每个骨骼类型对应的缩放比例、位移和旋转角度。

进一步,还包括有参数导出模块,用于将当前骨骼动画参数拷贝到参数存储模块。

进一步,还包括有表情动画附加模块,用于将需要播放的脸部表情动画的每一帧脸部表情对应的骨骼动画参数进行骨骼变形。

进一步,还包括有脸部表情动画播放模块和过渡融合模块;

所述过渡融合模块用于将当前播放的脸部表情动画对应的骨骼动画参数和需要播放的脸部表情动画对应的骨骼动画参数进行过渡融合,生成过渡融合后的骨骼动画参数;

所述脸部表情动画播放模块用于判断当前是否正在播放脸部表情动画,若是,则采用过渡融合模块生成骨骼动画参数并进行骨骼变形;若否,则根据骨骼动画参数进行骨骼变形。

本发明的有益效果是:本发明方法通过骨骼动画的各种操作,实现在一个标准脸部模型的基础上即可适配捏出不同的脸部,该方法只需要一个标准脸模型和一套骨骼动画即可实现,极大减少了软件安装包的大小和动画制作过程中的工作量,且能漫步不同的捏脸脸部需求,使播放表情动画自然逼真。

本发明的另一有益效果是:本发明系统通过骨骼动画的各种操作,实现在一个标准脸部模型的基础上即可适配捏出不同的脸部,该方法只需要一个标准脸模型和一套骨骼动画即可实现,极大减少了软件安装包的大小和动画制作过程中的工作量,且能漫步不同的捏脸脸部需求,使播放表情动画自然逼真。

附图说明

图1为现有技术的步骤流程图;

图2为本发明步骤流程图;

图3为本发明中配置文件导出步骤;

图4为本发明中表情动画附加步骤;

图5为本发明中脸部表情动画播放步骤。

具体实施方式

下面结合附图对本发明的具体实施方式作进一步说明:

参照图2,一种捏脸编辑和动画附加融合方法,包括有以下步骤:

读取脸部初始配置文件中的数据;

根据上述数据设置骨骼动画参数;

根据骨骼动画参数进行骨骼变形。

进一步作为优选的实施方式,所述骨骼动画参数包括有骨骼类型和每个骨骼类型对应的缩放比例、位移和旋转角度。

骨骼类型包括脸部、鼻子、嘴部、眼部四个部分,根据需求确定脸部骨架,并由此确定具体脸部细节调整由哪根骨骼的变形操作而得到,脸部细节调整即为捏脸过程。然后程序把脸部细节对应的骨骼参数变动范围提供给外界就可以供外界捏脸,外界即指捏脸系统编辑器和捏脸系统ui,两者是类似的。

上述的缩放比例、位移和旋转角度三个参数均有一定的范围,以嘴部为例,使用一根嘴巴骨骼y轴上的旋转来控制嘴巴开合,骨骼y轴旋转的度数对应嘴巴开合的程度。根据需求骨骼y轴可以旋转的角度控制为-12.8到12.8,由于可以调动的骨骼参数变动范围限制在-128到128,那么该骨骼参数向右滑动加1就等于该骨骼y轴正向旋转12.8/128度,即0.1度,同理该骨骼参数向左滑动减1就等于该骨骼y轴负向旋转0.1度。

根据这种方式就使得每个脸部细节部位提供的骨骼参数变动范围就跟实际的影响的骨骼变形对应起来,这样就可以通过调整骨骼参数来进行骨骼变形。

进一步作为优选的实施方式,还包括有配置文件导出步骤:

用户修改骨骼动画参数;

根据骨骼动画参数进行骨骼变形;读取脸部配置文件获得脸部细节部位骨骼动画参数后,就可以根据对应关系处理对应骨骼的缩放、位置、旋转等变换,即进行骨骼变形;在unity游戏引擎中骨骼动画实在update函数中处理骨骼变形,lateupdate是在所有update处理完毕后再进一步处理的接口,因此直接在lateupdate中对骨骼进行附加变形操作即可。比如在lateupdate中当前某骨骼动画播后位置为pos1,旋转为rotate1,缩放为scale1,根据骨骼参数该骨骼需要变形到位置为pos2,旋转为ratate2,缩放为scale2,那么当前骨骼进行附加后的位置为pos1+pos2,旋转为rotate1+rotate2,缩放为scale2。

当用户获得目标骨骼变形时,将此时的骨骼动画参数存储至配置文件中。

该方法可实时地根据骨骼参数对标准脸部的骨骼变形,骨骼变形包括骨骼缩放、移动和旋转等三种变形方式。将调好的骨骼参数导出保存到脸部配置文件中。

进一步作为优选的实施方式,还包括有表情动画附加步骤:

读取需要播放的脸部表情动画;

播放脸部表情动画的每一帧时,均根据脸部表情对应的骨骼动画参数进行骨骼变形。

在上述表情动画附加步骤中,脸部表情骨骼动画要基于当前的脸部形状(捏出的脸)的基准下进行播放,而骨骼动画参数是基于标准脸部形状的基准下制作的,所以这里需要进行动画附加。

附加过程采用的技术是先每帧进行表情动画播放,在每帧之后都进行骨骼变形,从而实现附加变形;表情动画附加包括对应骨骼的旋转和位置的相加,至于骨骼的缩放则直接赋值即可。例如,在捏脸模块lateupdate运行时,如果有正在播放地表情动画,此时的脸部骨骼已经在表情动画当前帧update下变形完毕,这时在lateupdate下根据当前骨骼参数再对骨骼进一步附加变形,这个过程即为动画附加。其中update和lateupdate是游戏每帧都会运行,骨骼动画是在update函数中处理更新骨骼完毕,lateupdate是在所有update处理完毕后再进一步处理的接口。若初始时捏出嘴巴张开10度,在这一帧动画update后嘴巴张开5度,那么需要在lateupdate里将嘴巴张开15度(5+10=15)。

进一步作为优选的实施方式,还包括有脸部表情动画播放步骤:

读取需要播放的脸部表情动画所对应的骨骼动画参数;

判断当前是否正在播放脸部表情动画;若是,则根据当前播放的脸部表情动画对应的骨骼动画参数和需要播放的脸部表情动画对应的骨骼动画参数进行过渡融合,并根据过渡融合后的骨骼动画参数进行骨骼变形;若否,则根据骨骼动画参数进行骨骼变形。

若当前未播放脸部表情动画,则可直接播放需要播放的动画;但如果当前正在播放动画,由于前后表情的不同,因此需要用到动画的过渡融合,具体过程如下:假设有两段骨骼动画a和b,a动画的结尾部分需要跟b动画进行融合,该融合的动画长度为x,a动画需要融合的部分第m帧的某顶点位置为[x1,y1,z1]和权重值为f(m)=(m-1)/x,b动画需要融合的部分第m帧的对应顶点位置为[x2,y2,z2]和权重值为l(m)=(x+1-m)/x,其中1≤m≤x+1。

那么该顶点进行融合得到的位置为:

[x1*f(m)+x2*l(m),y1*f(m)+y2*l(m),z1*f(m)+z2*l(m)]。

通过对每个顶点进行融合即可实现对骨骼动画的融合,从而实现新旧表情动画融合过渡,使当前脸部形状播出自然逼真的动画。

在unity游戏引擎中有直接动画切换融合的实现接口crossfade,用该接口即可实现动画融合,无需自己编码处理。

一种捏脸编辑和动画附加融合系统,包括有:

参数存储模块,用于存储初始骨骼动画参数和用户自定义骨骼动画参数;

参数设置模块,用于读取参数存储模块中的骨骼动画参数或者获取用户输入的骨骼动画参数;

骨骼变形模块,用于根据参数读取模块读取的骨骼动画参数执行骨骼变形操作。

进一步作为优选的实施方式,所述参数存储模块中存储的骨骼动画参数包括有骨骼类型和每个骨骼类型对应的缩放比例、位移和旋转角度。

进一步作为优选的实施方式,还包括有参数编辑模块,用于用户自定义调整骨骼动画参数。

进一步作为优选的实施方式,还包括有参数导出模块,用于将当前骨骼动画参数拷贝到参数存储模块。

进一步作为优选的实施方式,还包括有表情动画附加模块,用于将需要播放的脸部表情动画的每一帧脸部表情对应的骨骼动画参数进行骨骼变形。

进一步作为优选的实施方式,还包括有脸部表情动画播放模块和过渡融合模块;

所述过渡融合模块用于将当前播放的脸部表情动画对应的骨骼动画参数和需要播放的脸部表情动画对应的骨骼动画参数进行过渡融合,生成过渡融合后的骨骼动画参数;

所述脸部表情动画播放模块用于判断当前是否正在播放脸部表情动画,若是,则采用过渡融合模块生成骨骼动画参数并进行骨骼变形;若否,则根据骨骼动画参数进行骨骼变形。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可以作出种种的等同变换或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

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