CN104123735A - 能实现多种动作混合的方法 - Google Patents

能实现多种动作混合的方法 Download PDF

Info

Publication number
CN104123735A
CN104123735A CN201410356852.4A CN201410356852A CN104123735A CN 104123735 A CN104123735 A CN 104123735A CN 201410356852 A CN201410356852 A CN 201410356852A CN 104123735 A CN104123735 A CN 104123735A
Authority
CN
China
Prior art keywords
action
weight value
current
actions
msub
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.)
Granted
Application number
CN201410356852.4A
Other languages
English (en)
Other versions
CN104123735B (zh
Inventor
张翼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Of Ancient India Day Infotech Share Co Ltd In Wuxi
Original Assignee
Of Ancient India Day Infotech Share Co Ltd In Wuxi
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Of Ancient India Day Infotech Share Co Ltd In Wuxi filed Critical Of Ancient India Day Infotech Share Co Ltd In Wuxi
Priority to CN201410356852.4A priority Critical patent/CN104123735B/zh
Publication of CN104123735A publication Critical patent/CN104123735A/zh
Application granted granted Critical
Publication of CN104123735B publication Critical patent/CN104123735B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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为:
Q s = Σ i = 1 N Q d ( i )
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
Q s = T z Q s ′
其中,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为:
Q s = Σ i = 1 N Q d ( i )
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;每个动作的总时长是指单独完成一个动作所需的时间。累计的权重值即是N个动作当前的权重值的累加。
若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
Q s = T z Q s ′
其中,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(GraphicProcessingUnit),由GPU进行处理计算后,能够实现多个动作的混合效果。
本发明通过对动作进行需要的预处理,对预处理后的动作能够计算得到混合动作的总时间以及混合动作累计权重值,再根据混合动作的总时间以及混合动作累计权重值进行处理后得到反应骨骼轨迹的世界矩阵,从而能实现多种动作混合的有序播放,能够适用于任何平台及场景中,能够节约资源,提高计算效率。

Claims (6)

1.一种能实现多种动作混合的方法,其特征是,所述动作混合的方法包括如下步骤:
(a)、提供所需的多个能作用于同一骨架系统的动作,并将提供的多个动作中所需的非循环动作转化为循环动作;
(b)、根据上述提供的多个动作以及确定的每个动作的目标权重值与每个动作相对应的渐变时间,计算得到每个动作的当前权重值;
(c)、根据上述每个动作的当前权重值,计算得到多个动作混合后的动作混合总时长;
(d)、根据上述动作的动作总时长、动作混合总时长以及系统流逝时间得到动作的流逝时间;
(e)、根据动作的流逝时间确定与当前帧相对应的关键帧,然后对关键帧进行插值以计算得到每个动作作用于骨架系统的旋转分量、平移分量以及缩放分量;
(f)、根据每个动作的旋转分量、平移分量以及缩放分量累加得到多个动作混合后的旋转量、平移量以及缩放量,并将所述旋转量、平移量以及缩放量置于骨骼上,并根据骨骼间的父子关系以及每个动作的当前权重值得到每个骨骼运动的世界矩阵,且根据顶点受骨骼影响的关系,得到骨骼新的位置和朝向,以实现多个动作的混合。
2.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述步骤(a)中,将非循环动作转化为循环动作的方法包括在非循环动作的最后一帧插入所述非循环动作的关键帧,所述关键帧的内容与所述非循环动作的第一帧内容相同。
3.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述步骤(b)中,若当前流逝时间不小于当前动作的渐变时间时,则所述动作的当前权重值设定为目标权重值。
4.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述步骤(b)中,若当前流逝时间小于当前动作的渐变时间时,当前权重值Qd为:
Qd=w*Qm+(1-w)*Qz
其中,T1为当前流逝时间,T2为渐变时间;Qm为目标权重值,Qz为动作自身的权重值。
5.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述步骤(c)中,根据给个动作的当前权重值,得到当前累计权重值Qs,所述当前累计权重值Qs为:
Q s = Σ i = 1 N Q d ( i )
其中,N为需要混合动作的数量,Qd(i)为第i个动作的当前权重值;若当前累计权重值不为1时,则将当前累计权重值Qs设定为:
Q s = T z Q s ′
其中,Tz为动作混合的总时长,Q′s为不为1的当前累计权重值。
6.根据权利要求1所述的能实现多种动作混合的方法,其特征是:所述动作的流逝时间Td
Td=Ts
其中,Td为动作的流逝时间,Ts为系统流逝时间,λ为比例因子,TP为该动作的总时长,Tz为动作混合的总时长。
CN201410356852.4A 2014-07-24 2014-07-24 能实现多种动作混合的方法 Expired - Fee Related CN104123735B (zh)

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 true CN104123735A (zh) 2014-10-29
CN104123735B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578184A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 关键帧动画的生成装置及方法
CN105894555A (zh) * 2016-03-30 2016-08-24 腾讯科技(深圳)有限公司 一种动画模型的肢体动作模拟方法和装置
CN109481940A (zh) * 2018-09-21 2019-03-19 苏州蜗牛数字科技股份有限公司 一种运动对象跟随方法

Citations (5)

* Cited by examiner, † Cited by third party
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
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 索尼株式会社 表演驱动的脸部动画

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1192812A (zh) * 1995-06-28 1998-09-09 阿里·范维林根视频胶片产品公司 控制可移动装置的设备与方法
WO1997040471A1 (en) * 1996-04-04 1997-10-30 Katrix, Inc. Limb coordination system for interactive computer animation of articulated characters with blended motion data
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)

* Cited by examiner, † Cited by third party
Title
KOVAR L ET AL.: "Flexible automatic motion blending with registration curves", 《ACM SIGGRAPH/EUROGRAPHICS SYMPOSIUM ON COMPUTER ANIMATION》 *
罗植尹: "虚拟角色交互框架及动画混合的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
袁会杰: "骨骼动画技术的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105578184A (zh) * 2016-01-27 2016-05-11 努比亚技术有限公司 关键帧动画的生成装置及方法
WO2017128893A1 (zh) * 2016-01-27 2017-08-03 努比亚技术有限公司 关键帧动画的生成装置及方法
CN105578184B (zh) * 2016-01-27 2018-11-20 努比亚技术有限公司 关键帧动画的生成装置及方法
CN105894555A (zh) * 2016-03-30 2016-08-24 腾讯科技(深圳)有限公司 一种动画模型的肢体动作模拟方法和装置
CN105894555B (zh) * 2016-03-30 2020-02-11 腾讯科技(深圳)有限公司 一种动画模型的肢体动作模拟方法和装置
CN109481940A (zh) * 2018-09-21 2019-03-19 苏州蜗牛数字科技股份有限公司 一种运动对象跟随方法

Also Published As

Publication number Publication date
CN104123735B (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN104112288B (zh) 基于三维骨骼模型的动作过渡实现方法
CN111738935B (zh) 残影渲染方法和装置、存储介质和电子装置
CN112598773B (zh) 骨骼蒙皮动画的实现方法及装置
CN111462283B (zh) 大量相同角色动画播放方法、介质、设备及装置
CN108711182A (zh) 渲染处理方法、装置及移动终端设备
CN110992495B (zh) 一种虚拟模型的变形方法及装置
CN112669414A (zh) 动画数据的处理方法及装置、存储介质、计算机设备
CN111640170B (zh) 骨骼动画生成方法、装置、计算机设备及存储介质
CN106709976B (zh) 骨骼动画的生成方法和装置
CN111145318B (zh) 一种基于ngui的渲染方法及装置
CN113313796B (zh) 场景生成方法、装置、计算机设备和存储介质
CN115006847B (zh) 虚拟场景更新方法、装置、电子设备以及存储介质
CN104123735B (zh) 能实现多种动作混合的方法
US12499602B2 (en) Inferred skeletal structure for practical 3D assets
CN112891947A (zh) 跳跃动画处理方法、装置、电子设备及计算机可读介质
CN114053696B (zh) 图像渲染处理方法、装置及电子设备
CN111973988A (zh) 游戏中模型的处理方法、装置、设备及存储介质
CN107230244A (zh) 一种动画文件的生成方法和渲染系统
CN106204418A (zh) 一种虚拟现实移动端中基于矩阵逆运算的图像扭曲方法
CN117788650B (zh) 数据处理方法、装置、电子设备、存储介质及程序产品
CN111402369A (zh) 互动广告的处理方法、装置、终端设备及存储介质
CN111773668A (zh) 一种动画播放方法和装置
EP4693212A1 (en) Data processing method and apparatus, device, and medium
CN116152405A (zh) 一种业务处理方法、装置及计算机设备、存储介质
CN115937371A (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