CN104123735B - 能实现多种动作混合的方法 - Google Patents
能实现多种动作混合的方法 Download PDFInfo
- Publication number
- CN104123735B CN104123735B CN201410356852.4A CN201410356852A CN104123735B CN 104123735 B CN104123735 B CN 104123735B CN 201410356852 A CN201410356852 A CN 201410356852A CN 104123735 B CN104123735 B CN 104123735B
- Authority
- CN
- China
- Prior art keywords
- action
- weight value
- current
- actions
- elapsed time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种能实现多种动作混合的方法,其包括如下步骤:a、提供所需的多个能作用于同一骨架系统的动作;b、计算得到每个动作的当前权重值;c、根据上述每个动作的当前权重值,得到多个动作混合后的动作混合总时长;d、得到动作的流逝的时间;e、对关键帧进行插值计算得到每个动作作用于骨架系统的旋转分量、平移分量以及缩放分量;f、累加得到多个动作混合后的旋转量、平移量以及缩放量到骨骼上,并根据骨骼间的父子关系和动作的当前权重值计算得到每个骨骼运动的世界矩阵,且根据顶点受骨骼影响的关系,得到骨骼新的位置和朝向,以实现多个动作的混合。本发明实施方便,能够有效实现多种动作的混合,节约资源,提高效率。
Description
技术领域
本发明涉及一种方法,尤其是一种能实现多种动作混合的方法,具体地说是用于三维游戏中多种动作混合的方法,属于图像处理的技术领域。
背景技术
随着现代计算机硬件水平的飞速发展,三维游戏中利用越来越多的复杂精细的模型来模拟现实人物的动作,而人物的动作处理技术从游戏人物策划开始,跨越游戏中的美术,动作,引擎的四大部分。一个游戏中,主角的动作占有更重要的部分,能够实现不同的动作的混合以降低复杂的计算,动作混合涉及到多种技术的融合和相关软件与平台的使用处理技巧。目前的人物动作制作在不同游戏不同,没有一个统一的规范,而这部分也是游戏设计中一个比较关键的部分。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种能实现多种动作混合的方法,其实施方便,能够有效实现多种动作的混合,节约资源,提高效率,适应范围广。
按照本发明提供的技术方案,一种能实现多种动作混合的方法,所述动作混合的方法包括如下步骤:
a、提供所需的多个能作用于同一骨架系统的动作,并将提供的多个动作中所需的非循环动作转化为循环动作;
b、根据上述提供的多个动作以及确定的每个动作的目标权重值与每个动作相对应的渐变时间,计算得到每个动作的当前权重值;
c、根据上述每个动作的当前权重值,计算得到多个动作混合后的动作混合总时长;
d、根据上述动作的动作总时长、动作混合总时长以及系统流逝时间得到动作的流逝时间;
e、根据动作的流逝时间确定与当前帧相对应的关键帧,然后对关键帧进行插值以计算得到每个动作作用于骨架系统的旋转分量、平移分量以及缩放分量;
f、根据每个动作的旋转分量、平移分量以及缩放分量累加得到多个动作混合后的旋转量、平移量以及缩放量,并将所述旋转量、平移量以及缩放量置于骨骼上,并根据骨骼间的父子关系以及每个动作的当前权重值得到每个骨骼运动的世界矩阵,且根据顶点受骨骼影响的关系,得到骨骼新的位置和朝向,以实现多个动作的混合。
所述步骤a中,将非循环动作转化为循环动作的方法包括在非循环动作的最后一帧插入所述非循环动作的关键帧,所述关键帧的内容与所述非循环动作的第一帧内容相同。
所述步骤b中,若当前流逝时间不小于当前动作的渐变时间时,则所述动作的当前权重值设定为目标权重值。
所述步骤b中,若当前流逝时间小于当前动作的渐变时间时,当前权重值Qd为:
Qd=w*Qm+(1-w)*Qz
其中,T1为当前流逝时间,T2为渐变时间;Qm为目标权重值,Qz为动作自身的权重值。
所述步骤c中,根据给个动作的当前权重值,得到当前累计权重值Qs,所述当前累计权重值Qs为:
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
其中,Tz为动作混合的总时长,Q′s为不为1的当前累计权重值。
所述动作的流逝时间Td为
Td=Ts*λ
其中,Td为动作的流逝时间,Ts为系统流逝时间,λ为比例因子,TP为所有动作的总时长,Tz为动作混合的总时长。
本发明的优点:通过对动作进行需要的预处理,对预处理后的动作能够计算得到混合动作的总时间以及混合动作累计权重值,再根据混合动作的总时间以及混合动作累计权重值进行处理后得到反应骨骼轨迹的世界矩阵,从而能实现多种动作混合的有序播放,能够适用于任何平台及场景中,能够节约资源,提高计算效率。
附图说明
图1为本发明的工作流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能够有效实现多种动作的混合,节约资源,提高效率,本发明多种动作混合的方法包括如下步骤:
a、提供所需的多个能作用于同一骨架系统的动作,并将提供的多个动作中所需的非循环动作转化为循环动作;
具体地,多个动作的混合就是将多个动作作用于同一个骨架系统,同一个骨架系统是指骨架系统中,骨骼数量、骨骼间的父子关系以及骨骼名称等相同,只有对于同一个骨骼系统才能进行多个动作的混合。
多个动作中,有的动作是循环动作,有的动作为非循环动作,所述循环动作是指所述动作的第一帧与动作的最后一帧内容相同,动作会被不停地循环播放。对于某些情况下,有些要混合的动作中,有的动作要保持循环的状态,有的动作要保持非循环状态,有的动作要从非循环动作转化为循环动作,具体情况可以根据动作混合的需要进行选择。本发明实施例中,将非循环动作转化为循环动作的方法包括在非循环动作的最后一帧插入所述非循环动作的关键帧,所述关键帧的内容与所述非循环动作的第一帧内容相同。
b、根据上述提供的多个动作以及确定的每个动作的目标权重值与每个动作相对应的渐变时间,计算得到每个动作的当前权重值;
本发明实施例中,使用动作的目标权重值和动作的渐变时间来描述作用于同一骨骼的幅度大小,以使得动作的混合能渐变影响骨骼的动作,而不是让骨骼的动作产生突变。在具体实施时,每个动作的目标权重值以及每个动作的渐变时间为美术设计人员预先设定的,为已知量。
渐变时间是指动作开始影响骨骼过程中,随着时间的流逝,达到一个稳定的状态所用的时间,这个过程中动作影响骨骼的当前权重值从0递增到1,当影响骨骼的幅度达到最大的时候当前权重值即等于所述动作的目标权重值。此外,将每个动作的名称以及每个动作对应的目标权重值存入动作列表中,以便进行所需的查表操作。
动作混合的过程也即是多个动作影响同一骨骼的当前权重值从0递增到1,尚未达到当前动作目标权重值的过程。当前权重值是一个变换的量,同时也需要每个动作的自身权重值的参与来计算这个变换的当前权重值,这种混合的过程也同时分为两种情况,具体为:
1)、若当前流逝时间不小于当前动作的渐变时间时,则所述动作的当前权重值设定为目标权重值。
2)、若当前流逝时间小于当前动作的渐变时间时,当前权重值Qd为:
Qd=w*Qm+(1-w)*Qz
其中,T1为当前流逝时间,T2为渐变时间;Qm为目标权重值,Qz为动作自身的权重值。一般地,动作自身的权重值设定为数值1。当前流逝时间为从动作播放开始计时到当前帧的变换的时间。
c、根据上述每个动作的当前权重值,计算得到多个动作混合后的动作混合总时长;
具体地,根据给个动作的当前权重值,得到当前累计权重值Qs,所述当前累计权重值Qs为:
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;每个动作的总时长是指单独完成一个动作所需的时间。累计的权重值即是N个动作当前的权重值的累加。
若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
其中,Tz为动作混合的总时长,Q′s为不为1的当前累计权重值。在具体实施时,累加得到的当前累计权重值可能不为1,由于规定动作影响骨骼的权重值必须为1,这样的情况下,才能使动作正确的播放,此时对累计权重值不为1的时候,即将当前累计权重值设定为动作混合的总时长与当前累计权重值的商。
d、根据上述动作的动作总时长、动作混合总时长以及系统流逝时间得到动作的流逝时间;
所述动作的流逝时间Td为
Td=Ts*λ
其中,Td为动作的流逝时间,Ts为系统流逝时间,λ为比例因子,TP为所有动作的总时长,Tz为动作混合的总时长。所述动作总时长TP是指所有动作渐变时间的累加和。
系统流逝的时间是也可以说混合动作当前流逝的时间,它是动作播放计时到系统某一个时刻所用的时间,这个时间不随播放的具体动作变化,且与单个动作播放所需的时间等因素无关。
例如:设定动作1的流逝时间在关键帧2和3之间;动作2的流逝时间在关键帧4和5之间;动作3的流逝时间在关键帧1和2之间。
要完成整个动作有序,连贯的播放,而动作混合时,多个动作时同时播放的,而对于单个动作播放的时间各有不同,比如当完成一个混合动作所需的时间是5S,而动作1的播放时间是3S,动作2的播放时间是6S,那么必须在对动作1进行慢播直到5S完成,这个时间是可以调节的,而对于动作2,就需要快播使时间压缩道5S;动作3播放时间是5S,那么整个动作正常播放就可以了。所以说当动作完成时候,所有作用于整个骨骼的动作都在5S时结束动作的播放。
由以上对动作的快播和慢播的设定、动作流逝的时间处于哪两个关键帧之间,对多个动作的这些关键帧之间的数据进行线性和球面插值计算可到每个动作的旋转,平移,缩放分量。本发明实施例中,对关键帧进行的线性时间插值和球面插值的计算均可以采用本技术领域常用的计算方法,此处不再赘述。
e、根据动作的流逝时间确定与当前帧相对应的关键帧,然后对关键帧进行插值以计算得到每个动作作用于骨架系统的旋转分量、平移分量以及缩放分量;
f、根据每个动作的旋转分量、平移分量以及缩放分量累加得到多个动作混合后的旋转量、平移量以及缩放量,并将所述旋转量、平移量以及缩放量置于骨骼上,并根据骨骼间的父子关系以及每个动作的当前权重值得到每个骨骼运动的世界矩阵,且根据顶点受骨骼影响的关系,得到骨骼新的位置和朝向,以实现多个动作的混合。
骨骼的轨迹中包含骨骼的一个或多个关键帧序列,在实现骨骼的轨迹运动时,根据关键帧的播放以及关键帧之间的插值能够确定骨骼的轨迹运动,更新骨骼的轨迹列表即是更新骨骼的位置,由确定的骨骼轨迹运动过程。本发明实施例中,骨骼间的父子关系在对骨骼建模是已经确定,顶点受骨骼影响的关系也已经确定,当累加得到多个动作混合后的旋转量、平移量及缩放量,得到骨骼运动的世界矩阵,将所述世界矩阵传给计算机系统的GPU(GraphicProcessing Unit),由GPU进行处理计算后,能够实现多个动作的混合效果。
本发明通过对动作进行需要的预处理,对预处理后的动作能够计算得到混合动作的总时间以及混合动作累计权重值,再根据混合动作的总时间以及混合动作累计权重值进行处理后得到反应骨骼轨迹的世界矩阵,从而能实现多种动作混合的有序播放,能够适用于任何平台及场景中,能够节约资源,提高计算效率。
Claims (3)
1.一种能实现多种动作混合的方法,其特征是,所述动作混合的方法包括如下步骤:
(a)、提供所需的多个能作用于同一骨架系统的动作,并将提供的多个动作中所需的非循环动作转化为循环动作;
(b)、根据上述提供的多个动作以及确定的每个动作的目标权重值与每个动作相对应的渐变时间,计算得到每个动作的当前权重值;
所述步骤(b)中,若当前流逝时间不小于当前动作的渐变时间时,则所述动作的当前权重值设定为目标权重值;
所述步骤(b)中,当前流逝时间小于当前动作的渐变时间时,当前权重值Qd为:
Qd=w*Qm+(1-w)*Qz
其中,T1为当前流逝时间,T2为渐变时间;Qm为目标权重值,Qz为动作自身的权重值;
(c)、根据上述每个动作的当前权重值,计算得到多个动作混合后的动作混合总时长;
所述步骤(c)中,根据给定动作的当前权重值,得到当前累计权重值Qs,所述当前累计权重值Qs为:
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
其中,Tz为动作混合的总时长,Q′s为不为1的当前累计权重值;
(d)、根据上述混合动作的动作总时长、动作混合总时长以及系统流逝时间得到动作的流逝时间;
(e)、根据动作的流逝时间确定与当前帧相对应的关键帧,然后对关键帧进行插值以计算得到每个动作作用于骨架系统的旋转分量、平移分量以及缩放分量;
(f)、根据每个动作的旋转分量、平移分量以及缩放分量累加得到多个动作混合后的旋转量、平移量以及缩放量,并将所述混合后旋转量、平移量以及缩放量置于骨骼上,并根据骨骼间的父子关系以及每个动作的当前权重值得到每个骨骼运动的世界矩阵,且根据顶点受骨骼影响的关系,得到骨骼新的位置和朝向,以实现多个动作的混合。
2.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述步骤(a)中,将非循环动作转化为循环动作的方法包括在非循环动作的最后一帧插入所述非循环动作的关键帧,所述关键帧的内容与所述非循环动作的第一帧内容相同。
3.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述动作的流逝时间Td为
Td=Ts*λ
其中,Td为动作的流逝时间,Ts为系统流逝时间,λ为比例因子,TP为所有动作的总时长,Tz为动作混合的总时长。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410356852.4A CN104123735B (zh) | 2014-07-24 | 2014-07-24 | 能实现多种动作混合的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201410356852.4A CN104123735B (zh) | 2014-07-24 | 2014-07-24 | 能实现多种动作混合的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN104123735A CN104123735A (zh) | 2014-10-29 |
| CN104123735B true CN104123735B (zh) | 2017-05-10 |
Family
ID=51769132
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201410356852.4A Expired - Fee Related CN104123735B (zh) | 2014-07-24 | 2014-07-24 | 能实现多种动作混合的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN104123735B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105578184B (zh) * | 2016-01-27 | 2018-11-20 | 努比亚技术有限公司 | 关键帧动画的生成装置及方法 |
| CN105894555B (zh) * | 2016-03-30 | 2020-02-11 | 腾讯科技(深圳)有限公司 | 一种动画模型的肢体动作模拟方法和装置 |
| CN109481940A (zh) * | 2018-09-21 | 2019-03-19 | 苏州蜗牛数字科技股份有限公司 | 一种运动对象跟随方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1192812A (zh) * | 1995-06-28 | 1998-09-09 | 阿里·范维林根视频胶片产品公司 | 控制可移动装置的设备与方法 |
| US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
| CN101356549A (zh) * | 2003-05-14 | 2009-01-28 | 皮克萨公司 | 用于生成对动画模型性态进行近似的膨化组件的方法 |
| CN101473352A (zh) * | 2006-04-24 | 2009-07-01 | 索尼株式会社 | 表演驱动的脸部动画 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1997040471A1 (en) * | 1996-04-04 | 1997-10-30 | Katrix, Inc. | Limb coordination system for interactive computer animation of articulated characters with blended motion data |
-
2014
- 2014-07-24 CN CN201410356852.4A patent/CN104123735B/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1192812A (zh) * | 1995-06-28 | 1998-09-09 | 阿里·范维林根视频胶片产品公司 | 控制可移动装置的设备与方法 |
| US6535215B1 (en) * | 1999-08-06 | 2003-03-18 | Vcom3D, Incorporated | Method for animating 3-D computer generated characters |
| CN101356549A (zh) * | 2003-05-14 | 2009-01-28 | 皮克萨公司 | 用于生成对动画模型性态进行近似的膨化组件的方法 |
| CN101473352A (zh) * | 2006-04-24 | 2009-07-01 | 索尼株式会社 | 表演驱动的脸部动画 |
Non-Patent Citations (3)
| Title |
|---|
| Flexible automatic motion blending with registration curves;Kovar L et al.;《ACM SIGGRAPH/Eurographics Symposium on Computer Animation》;20030726;第214-224页 * |
| 虚拟角色交互框架及动画混合的研究与实现;罗植尹;《中国优秀硕士学位论文全文数据库 信息科技辑》;20111215(第12期);第I138-1006页 * |
| 骨骼动画技术的研究与实现;袁会杰;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110415(第4期);第I138-877页 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN104123735A (zh) | 2014-10-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104112288B (zh) | 基于三维骨骼模型的动作过渡实现方法 | |
| CN111738935B (zh) | 残影渲染方法和装置、存储介质和电子装置 | |
| CN112598773B (zh) | 骨骼蒙皮动画的实现方法及装置 | |
| CN112669414A (zh) | 动画数据的处理方法及装置、存储介质、计算机设备 | |
| CN110992495B (zh) | 一种虚拟模型的变形方法及装置 | |
| EP3832604A1 (en) | Animation control method and device, storage medium, and electronic device | |
| CN115006847B (zh) | 虚拟场景更新方法、装置、电子设备以及存储介质 | |
| CN113313796B (zh) | 场景生成方法、装置、计算机设备和存储介质 | |
| CN104123735B (zh) | 能实现多种动作混合的方法 | |
| CN112891947A (zh) | 跳跃动画处理方法、装置、电子设备及计算机可读介质 | |
| US12499602B2 (en) | Inferred skeletal structure for practical 3D assets | |
| CN109224448B (zh) | 一种流光渲染的方法和装置 | |
| CN111973988A (zh) | 游戏中模型的处理方法、装置、设备及存储介质 | |
| CN114053696B (zh) | 图像渲染处理方法、装置及电子设备 | |
| CN107230244A (zh) | 一种动画文件的生成方法和渲染系统 | |
| CN106204418A (zh) | 一种虚拟现实移动端中基于矩阵逆运算的图像扭曲方法 | |
| CN117788650B (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
| CN109640148A (zh) | 一种通过文本框展示文本内容的方法及装置 | |
| CN111402369A (zh) | 互动广告的处理方法、装置、终端设备及存储介质 | |
| EP4693212A1 (en) | Data processing method and apparatus, device, and medium | |
| CN115937371A (zh) | 人物模型的生成方法和系统 | |
| CN116152405A (zh) | 一种业务处理方法、装置及计算机设备、存储介质 | |
| CN109847360A (zh) | 游戏道具的3d效果处理方法、装置、电子设备及介质 | |
| CN116843809A (zh) | 针对虚拟角色的处理方法和装置 | |
| CN115908664A (zh) | 人机交互的动画生成方法、装置、计算机设备、存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170510 |
|
| CF01 | Termination of patent right due to non-payment of annual fee |