CN105894555A - 一种动画模型的肢体动作模拟方法和装置 - Google Patents
一种动画模型的肢体动作模拟方法和装置 Download PDFInfo
- Publication number
- CN105894555A CN105894555A CN201610192578.0A CN201610192578A CN105894555A CN 105894555 A CN105894555 A CN 105894555A CN 201610192578 A CN201610192578 A CN 201610192578A CN 105894555 A CN105894555 A CN 105894555A
- Authority
- CN
- China
- Prior art keywords
- skeleton
- animation
- weight
- limb action
- node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开一种动画模型的肢体动作模拟方法和装置,用于减少动画资源总量、减少内存占用、提高肢体动作模拟的逼真效果。本发明提供的方法中,分别采用物理模拟的方式、骨骼动画的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵、骨骼动画的骨骼变换矩阵;根据动画模型在多个播放时间需要更新的骨骼运动确定由骨骼运动驱动产生的肢体动作,并获取肢体动作对应的物理权重,物理权重包括:对应于多个播放时间的权重值;根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵;根据肢体动作对应的骨骼变换矩阵在多个播放时间分别播放动画模型的各个肢体动作。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种动画模型的肢体动作模拟方法和装置。
背景技术
真实世界中,动物的肢体会受到神经、肌肉、韧带与骨骼的控制,完全模拟肢体运动并不容易,由此发展出了骨骼动画和物理模拟两个分支。其中,骨骼动画指的是计算机动画中将动画模型分为骨骼和蒙皮两部分来模拟角色运动,物理模拟指的是使用刚体物理模拟来更新骨骼变换矩阵来模拟角色运动。
在三维(英文全称:3Dimensions,英文简称:3D)模型的肢体运动模拟中,现有技术中会完全使用物理模拟的方式或完全使用骨骼动画的方式。现有技术对主动控制肢体动作的模拟效果很好,如果是涉及到主动控制和物理运动组合的肢体动作,模拟效果就不好。例如现有技术采用上述模拟3D模型肢体运动的方式在模拟四肢及头发运动时效果较好,但是对于尾巴等一类肢体的模拟效果往往不够逼真。以模拟猴子尾巴的运动为例,在某些情况下猴子会放松对尾巴的自主控制,而主要由物理运动来控制,在有的情况下又会加强对尾巴的自主控制,这都会造成对尾巴的肢体动作模拟效果不够逼真。
现有技术中,在3D模型制作时就已经设定了一个固定值的物理权重,例如在模拟3D模型肢体运动时,会为3D模型设置一个固定值的物理权重,该物理权重的取值一旦由美术编辑人员设定之后就唯一的确定下来,这个物理权重可以用于选择使用物理模拟的方式或者使用骨骼动画的方式,如果物理权重取值为0就使用骨骼动画的方式,如果物理权重取值为1就使用物理模拟的方式。现有技术在模拟肢体运动时,若是纯粹使用骨骼动画的方式,会导致动画资源量过大、内存占用高等问题。若是纯粹使用物理模拟的方式,又会导致模拟效果不佳的问题。因此,现有技术中设置一个固定值的物理权重,对于涉及到主动控制和物理运动的肢体动作,例如尾巴之类的肢体,就无法表现其在放松自主控制和加强控制时的各种动作,存在模拟效果差的问题。
发明内容
本发明实施例提供了一种动画模型的肢体动作模拟方法和装置,用于减少动画资源总量、减少内存占用、提高肢体动作模拟的逼真效果。
为解决上述技术问题,本发明实施例提供以下技术方案:
第一方面,本发明实施例提供一种动画模型的肢体动作模拟方法,包括:
采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟所述动画模型在所述多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵;
根据所述动画模型在所述多个播放时间需要更新的骨骼运动确定由所述骨骼运动驱动产生的肢体动作,并获取所述肢体动作对应的物理权重,所述物理权重包括:对应于所述多个播放时间的权重值;
根据所述物理权重对所述物理模拟的骨骼变换矩阵和所述骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵;
根据所述肢体动作对应的骨骼变换矩阵在所述多个播放时间分别播放所述动画模型的各个肢体动作。
第二方面,本发明实施例还提供一种动画模型的肢体动作模拟装置,包括:
骨骼运动模拟模块,用于采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟所述动画模型在所述多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵;
物理权重获取模块,用于根据所述动画模型在所述多个播放时间需要更新的骨骼运动确定由所述骨骼运动驱动产生的肢体动作,并获取所述肢体动作对应的物理权重,所述物理权重包括:对应于所述多个播放时间的权重值;
融合模块,用于根据所述物理权重对所述物理模拟的骨骼变换矩阵和所述骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵;
肢体动作模拟模块,用于根据所述肢体动作对应的骨骼变换矩阵在所述多个播放时间分别播放所述动画模型的各个肢体动作。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,首先采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵,然后根据动画模型在多个播放时间需要更新的骨骼运动确定由骨骼运动驱动产生的肢体动作,并获取肢体动作对应的物理权重,该物理权重可以包括:对应于多个播放时间的权重值,然后根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵,最后根据肢体动作对应的骨骼变换矩阵在多个播放时间分别播放动画模型的各个肢体动作。由于动画模型在不同的播放时间模拟出的骨骼运动可以驱动产生相应的肢体动作,因此根据由骨骼运动驱动产生的肢体动作获取到的物理权重可以包括有对应于多个播放时间的权重值,也就是说,本发明实施例提供的物理权重是根据由骨骼运动驱动产生的肢体动作而获取到的多个权重值,物理权重由动画模型在由骨骼运动驱动产生的肢体动作进行动态调整,避免现有技术中只使用一个固定取值的物理权重,通过动态调整物理权重的取值可以实现物理模拟和骨骼动画的动态融合,适用于动画模型在放松自主控制和加强自主控制时的各种动作,提高肢体动作模拟的逼真效果。由于本发明实施例中不会纯粹使用骨骼动画的方式,因此可以解决动画资源量大、内存占用高等问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种动画模型的肢体动作模拟方法的流程方框示意图;
图2为本发明实施例提供的肢体动作的建模流程示意图;
图3-a为本发明实施例提供的一种物理权重的取值获取方式示意图;
图3-b为本发明实施例提供的另一种物理权重的取值获取方式示意图;
图4-a为本发明实施例提供的BlendIn混合函数的输出曲线示意图;
图4-b为本发明实施例提供的BlendOut混合函数的输出曲线示意图;
图5-a为本发明实施例提供的一种动画模型的肢体动作模拟装置的组成结构示意图;
图5-b为本发明实施例提供的一种物理权重获取模块的组成结构示意图;
图5-c为本发明实施例提供的一种融合模块的组成结构示意图;
图5-d为本发明实施例提供的另一种物理权重获取模块的组成结构示意图;
图6为本发明实施例提供的动画模型的肢体动作模拟方法应用于终端的组成结构示意图。
具体实施方式
本发明实施例提供了一种动画模型的肢体动作模拟方法和装置,用于减少动画资源总量、减少内存占用、提高肢体动作模拟的逼真效果。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部实施例。基于本发明中的实施例,本领域的技术人员所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
本发明动画模型的肢体动作模拟方法的一个实施例,具体可以应用于对动画模型的肢体动作模拟场景中,请参阅图1所示,本发明一个实施例提供的动画模型的肢体动作模拟方法,可以包括如下步骤:
101、采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵。
在本发明实施例中,计算机动画中采用动画模型来模拟角色运动,动画模型表示特定的角色,例如动画模型可以表示人或动物,动画模型由美术编辑预先设计完成,动画模型代表的人或动物表现出不同的肢体运动方式,以实现通过动画模型对角色的动作模拟。本发明实施例中可以采用物理模拟和骨骼动画相互融合的方式进行肢体动作的模拟,首先分别物理模拟的方式和骨骼动画的方式模拟出动画模型在多个播放时间需要更新的骨骼运动,骨骼运动的模拟量可以通过骨骼变换矩阵来表示,因此通过物理模拟的方式对骨骼运动进行模拟后可以生成物理模拟的骨骼变换矩阵,通过骨骼动画的方式对骨骼运动进行模拟后可以生成骨骼动画的骨骼变换矩阵。其中,骨骼变换矩阵指的是动画系统中用于记录每一个骨骼的旋转,平移和缩放值的矩阵。分别生成物理模拟的骨骼变换矩阵、骨骼动画的骨骼变换矩阵之后,触发执行步骤102。
102、根据动画模型在多个播放时间需要更新的骨骼运动确定由骨骼运动驱动产生的肢体动作,并获取肢体动作对应的物理权重(英文名称:PhysicsWeight),物理权重包括:对应于多个播放时间的权重值。
在本发明实施例中,通过物理模拟的方式和骨骼动画的方式分别模拟出动画模型在多个播放时间需要更新的骨骼运动之后,对于不同的骨骼运动会驱动产生不同的肢体动作,因此可以根据步骤102模拟出的骨骼运动来驱动产生相应的肢体动作,本发明实施例中动画模型在某个播放时间播放时具有一个肢体动作,当该动画模型在多个播放时间分别播放时可以具有多个肢体动作,每个肢体动作都对应一个物理权重,因此本发明实施例中动画模型在多个播放时间可播放出多个肢体动作,根据这些多个肢体动作可以获取到多个肢体动作对应的物理权重,因此本发明实施例中获取到的物理权重包括:对应于多个播放时间的权重值。其中,肢体动作对应的物理权重指的是在使用物理模拟与骨骼动画混合的方式更新角色动作时物理模拟所占的比例,在不同的播放时间播放出的肢体动作分别对应有不同的物理权重,因此本发明实施例中肢体动作对应的物理权重不是一个固定不变的权重值,而是可以随着不同播放时间播放的多个肢体动作进行动态变化的权重值。避免现有技术中只使用一个固定取值的物理权重,通过动态调整物理权重的取值可以实现物理模拟和骨骼动画的动态融合,适用于动画模型在放松自主控制和加强自主控制时的各种动作,提高肢体动作模拟的逼真效果。由于本发明实施例中不会纯粹使用骨骼动画的方式,因此可以解决动画资源量大、内存占用高等问题。
在本发明的一些实施例中,步骤102获取肢体动作对应的物理权重,具体可以包括如下步骤:
A1、根据动画模型在动画树中的各个动画节点在多个播放时间的节点状态获取各个动画节点的节点自身权重;
A2、将各个动画节点的节点自身权重与对应动画节点的物理模拟权重相乘,得到各个动画节点的物理模拟相乘结果,再将各个动画节点的物理模拟相乘结果进行叠加得到肢体动作对应的物理权重。
在本发明的上述实施例中,动画模型可以通过动画树中的各个动画节点来完成肢体动作的模拟。其中,动画树是用于播放动画的一种树形结构,动画树中包括动画节点和非动画节点,动画节点指定了播放的肢体动作,非动画节点指定了激活的条件,动画树可用于描述动画模型在什么状态下进入哪一个分支,激活哪些动画节点并播放哪些肢体动作。动画树中每个动画节点都有一个节点自身权重,当动画节点被激活时,节点自身权重大于0,最终播放的肢体动作为所有激活的动画节点指定的肢体动作的叠加。
在本发明的上述实施例中,动画模型在动画树中的各个动画节点在多个播放时间具有各自的节点状态,动画节点的节点状态是指动画节点是否被激活、激活的条件以及被激活的动画节点的肢体动作,动画节点的节点状态可以获取该动画节点的节点自身权重,动画节点的节点自身权重由动画节点在多个播放时间的节点状态确定。通过步骤A1获取到动画树中各个动画节点的节点自身权重之后,执行步骤A2,将各个动画节点的节点自身权重与对应动画节点的物理模拟权重相乘,得到各个动画节点的物理模拟相乘结果,再将各个动画节点的物理模拟相乘结果进行叠加得到肢体动作对应的物理权重,即肢体动作对应的物理权重由动画树中各个动画节点的物理模拟相乘结果进行叠加后得到,其中一个动画节点的物理模拟相乘结果由该动画节点的节点自身权重和该动画节点的物理模拟权重相乘得到,动画节点的物理模拟权重由美术编辑根据该动画节点的肢体动作来确定,动画节点的物理模拟权重和该动画节点的骨骼动画权重相加结果为1,通常情况下动画节点的物理模拟权重确定之后,该动画节点的骨骼动画权重就可以唯一的确定下来。
在本发明的另一些实施例中,步骤102获取肢体动作对应的物理权重,具体可以包括如下步骤:
B1、根据由骨骼运动驱动产生的肢体动作确定动画模型在多个播放时间的角色状态,角色状态包括:动画模型处于静止状态、或动画模型处于从静止状态进入移动状态、或动画模型处于从移动状态进入静止状态;
B2、根据动画模型在多个播放时间的角色状态计算肢体动作对应的物理权重。
在本发明的上述实施例中,动画模型可以通过设置的角色状态来完成肢体动作的模拟。动画模型在多个播放时间分别有对应的肢体动作,这些肢体动作可以用于表示动画模型的多个角色状态。其中,动画模型的角色状态指的是动画模型所表示的角色具有的状态,角色状态可以有多种,例如角色状态可以指的是动画模型处于静止状态,或者角色状态指的是动画模型处于从静止状态进入移动状态,或者角色状态可以指的是动画模型处于从移动状态进入静止状态。对于动画模型的不同角色状态可以计算出肢体动作对应的不同物理权重,例如动画模型处于静止状态时计算出的物理权重可以为0,当动画模型处于不同的角色状态时可以确定出具体的物理权重取值,因此本发明实施例中肢体动作对应的物理权重取值并不是唯一固定的取值,而是可以动态变化的,物理权重由动画模型在多个播放时间的角色状态进行动态调整,避免现有技术中只使用一个固定取值的物理权重,通过动态调整物理权重的取值可以实现物理模拟和骨骼动画的动态融合,适用于动画模型在放松自主控制和加强自主控制时的各种动作,提高肢体动作模拟的逼真效果
进一步的,在本发明的一些实施例中,前述实施例中步骤B2根据动画模型在多个播放时间的角色状态计算肢体动作对应的物理权重,具体可以包括如下步骤:
B21、当动画模型的角色状态为处于静止状态时,计算出肢体动作对应的物理权重为0;
B22、当动画模型的角色状态为从静止状态进入移动状态时,根据BlendIn混合函数计算肢体动作对应的物理权重;
B23、当动画模型的角色状态为从移动状态进入静止状态时,根据BlendOut混合函数计算肢体动作对应的物理权重。
具体的,对于动画模型在多个播放时间的角色状态包括不同的角色状态内容时,肢体动作对应的物理权重可以有多种不同的计算方式,例如可实现的方式是当动画模型的角色状态为处于静止状态时,计算出肢体动作对应的物理权重为0,即在动画模型的角色状态为静止状态时,物理权重的取值为0,另外当动画模型的角色状态为从静止状态进入移动状态时,说明该动画模型开始从静止向移动转换,此时可以根据BlendIn混合函数计算肢体动作对应的物理权重,当动画模型的角色状态为从移动状态进入静止状态时,说明该动画模型开始从移动向静止转换,此时可以根据BlendOut混合函数计算肢体动作对应的物理权重。需要说明的是,BlendIn混合函数和BlendOut混合函数是随着动画模型的播放时间取值同步变化的函数,根据BlendIn混合函数和BlendOut混合函数可以实时的计算出在不同的播放时间时肢体动作对应的物理权重,不限定的是,本发明实施例中肢体动作对应的物理权重除了使用BlendIn混合函数和BlendOut混合函数之外,还可以使用其它的Blend混合构造函数,以使肢体动作对应的物理权重在动画模型处于不同的角色状态时能够进行实时权重值的计算即可。
在本发明的另一些实施例中,步骤102获取肢体动作对应的物理权重,具体可以包括如下步骤:
C1、根据由骨骼运动驱动产生的肢体动作获取肢体动作的骨骼肌输出力量曲线;
C2、根据肢体动作的骨骼肌输出力量曲线确定肢体动作对应的物理权重。
在本发明的上述实施例中,首先确定由骨骼运动驱动产生的肢体动作,由需要展示这些肢体动作的动作内容确定肢体动作的骨骼肌输出力量曲线,肢体动作的骨骼肌输出力量曲线在肢体动作表示不同动作内容时具有不同的骨骼肌输出曲线,接下来根据肢体动作的骨骼肌输出力量曲线可以确定肢体动作对应的物理权重,例如骨骼肌输出力量曲线的反比可以视作输出力量增加和减弱时物理权重的变化曲线。
103、根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵。
在本发明实施例中,通过前述步骤102获取到肢体动作对应的物理权重,该物理权重包括有对应于多个播放时间的权重值,该物理权重的取值并不是唯一固定的取值,而是对应于动画模型在多个播放时间可以动态变化。获取到肢体动作对应的物理权重之后,可以根据该物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵。本发明实施例中可以采用物理模拟和骨骼动画相互融合的方式进行肢体动作的模拟,物理模拟和骨骼动画分别对应有骨骼变换矩阵,采用前述步骤获取到的物理权重将物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,而不是只采用物理模拟,也不是只采用骨骼动画,由于本发明实施例中不会纯粹使用骨骼动画的方式,因此可以解决动画资源量大、内存占用高等问题。并且本发明实施例中不会纯粹使用物理模拟的方式,因此不会导致模拟效果不佳的问题。
在本发明实施例中,骨骼变换矩阵是动画系统中用于记录每一个骨骼的旋转,平移和缩放值的矩阵,物理模拟和骨骼动画分别对应有一个骨骼变换矩阵,通过物理权重将物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵融合为一个骨骼变换矩阵,即肢体动作对应的骨骼变换矩阵。肢体动作对应的骨骼变换矩阵是物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵融合的结果。举例说明如下,将肢体动作对应的物理权重记为M,则可以将M和物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将(1—M)和骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将第一相乘结果和第二相乘结果进行叠加,得到肢体动作对应的骨骼变换矩阵,得到肢体动作对应的骨骼变换矩阵之后触发执行步骤104。
在本发明实施例中执行步骤A1和步骤A2的情况下,步骤103根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵,具体可包括如下步骤:
D1、根据各个动画节点的物理模拟权重确定各个动画节点的骨骼动画权重;
D2、将各个动画节点的节点自身权重与对应动画节点的骨骼动画权重相乘,得到各个动画节点的骨骼动画相乘结果,再将各个动画节点的骨骼动画相乘结果进行叠加得到肢体动作对应的骨骼动画权重;
D3、将肢体动作对应的物理权重和物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将肢体动作对应的骨骼动画权重和骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将第一相乘结果和第二相乘结果进行融合,得到肢体动作对应的骨骼变换矩阵。
在本发明的上述实施例中,动画模型在动画树中的各个动画节点在多个播放时间具有各自的节点状态,动画节点的节点状态是指动画节点是否被激活、激活的条件以及被激活的动画节点的肢体动作,动画节点的节点状态可以获取该动画节点的节点自身权重,动画节点的节点自身权重由动画节点在多个播放时间的节点状态确定。获取到动画树中各个动画节点的节点自身权重之后,执行步骤D1,根据各个动画节点的物理模拟权重确定各个动画节点的骨骼动画权重,例如物理模拟权重和骨骼动画权重之和为1,当确定一个动画节点的物理模拟权重之后,由物理模拟权重和骨骼动画权重相加为一个固定值,就可以将该动画节点的骨骼动画权重唯一的确定下来,然后执行步骤D2,将各个动画节点的节点自身权重与对应动画节点的骨骼动画权重相乘,得到各个动画节点的骨骼动画相乘结果,再将各个动画节点的骨骼动画相乘结果进行叠加得到肢体动作对应的骨骼动画权重,即肢体动作对应的骨骼动画权重由动画树中各个动画节点的骨骼动画相乘结果进行叠加后得到,其中一个动画节点的骨骼动画相乘结果由该动画节点的节点自身权重和该动画节点的骨骼动画权重相乘得到。步骤D2中得到肢体动作对应的骨骼动画权重之后,继续执行步骤D3,将肢体动作对应的物理权重和物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将肢体动作对应的骨骼动画权重和骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将第一相乘结果和第二相乘结果进行融合,得到肢体动作对应的骨骼变换矩阵,物理权重和骨骼动画权重分别与各自对应的骨骼变换矩阵相乘,再将两者得到的相乘结果进行叠加,可以得到肢体动作对应的骨骼变换矩阵。
104、根据肢体动作对应的骨骼变换矩阵在多个播放时间分别播放动画模型的各个肢体动作。
在本发明实施例中,通过步骤103得到肢体动作对应的骨骼变换矩阵之后,采用肢体动作对应的骨骼变换矩阵进行肢体动作的播放,从而实现动画模型的肢体动作模拟。由于本发明实施例中肢体动作对应的骨骼变换矩阵是对物理模拟和骨骼动画的融合结果,根据这样的肢体动作对应的骨骼变换矩阵进行肢体动作播放时,能够实现物理模拟和骨骼动画的融合,提高肢体动作模拟的逼真效果。
通过以上实施例对本发明实施例的描述可知,首先采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵,然后根据动画模型在多个播放时间需要更新的骨骼运动确定由骨骼运动驱动产生的肢体动作,并获取肢体动作对应的物理权重,该物理权重可以包括:对应于多个播放时间的权重值,然后根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵,最后根据肢体动作对应的骨骼变换矩阵在多个播放时间分别播放动画模型的各个肢体动作。由于动画模型在不同的播放时间模拟出的骨骼运动可以驱动产生相应的肢体动作,因此根据由骨骼运动驱动产生的肢体动作获取到的物理权重可以包括有对应于多个播放时间的权重值,也就是说,本发明实施例提供的物理权重是根据由骨骼运动驱动产生的肢体动作而获取到的多个权重值,物理权重由动画模型在由骨骼运动驱动产生的肢体动作进行动态调整,避免现有技术中只使用一个固定取值的物理权重,通过动态调整物理权重的取值可以实现物理模拟和骨骼动画的动态融合,适用于动画模型在放松自主控制和加强自主控制时的各种动作,提高肢体动作模拟的逼真效果。由于本发明实施例中不会纯粹使用骨骼动画的方式,因此可以解决动画资源量大、内存占用高等问题。
为便于更好的理解和实施本发明实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本发明实施例中,动画模型的肢体运动在受到主动控制的同时,也会受到物理运动的影响,并且两者是此消彼长的关系,物理运动特指肢体在肌肉放松控制时的非自主运动。为了模拟这类肢体运动,本发明实施例中采用动态调整物理模拟与骨骼动画融合中的物理权重的方法,可以通过运行时动态调整物理权重,实现更真实的肢体模拟。
以动画模型为人的骨骼运动为例,由人的前臂的肌肉及韧带的解剖图可知,人的肌肉紧张时,骨骼的运动主要受到神经系统控制,物理权重较低,反之肌肉放松时,骨骼受到物理运动影响的因素增大,物理权重较高。所以物理权重是一个全动态的过程,现有技术中单纯使用物理模拟或骨骼动画,使用的是固定取值的物理权重,并不能很好模拟动画模型的肢体运动。现有技术中在模拟肢体运动时,若是单纯使用骨骼动画,会导致动画资源量大,内存占用高等问题。单纯使用物理模拟,又会导致模拟效果不佳,用户体验差的问题。设置一个固定的物理权重后,对尾巴之类的肢体,无法表现其在放松自主控制和加强控制时的各种动作。
本发明实施例中,通过动态调整物理权重,能够做到由美术编辑控制某些情况下全部用物理模拟,某些情况全部用骨骼动画,其它一些情况下动态调整物理权重实现物理模拟和骨骼动画两者的混合,既减小了骨骼动画资源量,节省了内存占用,又能做到更逼真的肢体动作模拟提升用户体验。
以本发明实施例提供的动画模型的的肢体动作模拟方法应用的产品侧进行举例说明,接下来以应用于尾巴模拟和乳摇系统分别为例。
首先以动画模型用于尾巴模拟为例,将本发明实施例集成到动画树中,美术在编辑动画树时,除了可以指定动画节点的动作名(例如动画节点的动作名称为Anim Seq Name),还可以指定该动画节点的物理权重(即PhysicsWeight)。例如,游戏中一个尾巴的动画树,其中有两个动画节点,指定的动作都是Idle动作(即静止动作),但是两者的物理权重不同。在美术编辑完成动画树后,游戏运行时根据动画树更新动画以及物理权重。尾巴是游戏中的一个应用实例,该技术实现了尾巴静止时完全播放Idle动作,呈现出了完全自主控制的效果,运动时使用物理与Idle动作混合,呈现出半自主控制的效果,过渡时按照配置的淡入淡出时间,淡出旧的动画节点的物理权重,淡入新的动画节点的物理权重,物理权重是两者平滑插值,做到了肢体动作的平滑过渡,因此本发明实施例中从全部使用物理模拟到全部使用骨骼动画并非是突变的,而是物理模拟的物理权重在一点点地减少,而骨骼动画的骨骼动画权重在一点点的增加,直到全部使用骨骼动画。
接下来以动画模型用于乳摇系统为例,物理权重可以由程序根据角色状态实时计算。在角色状态为静止状态时,乳摇系统的物理权重为0,全部由骨骼动画模拟,在角色状态为运动状态时,例如在动画模型运动或玩家旋转角色时,物理权重使用插值函数计算,该物理权重可以为0-1之间的一个动态变化数值。
请参阅如图2所示,图2为本发明实施例提供的肢体动作的建模流程示意图。本发明实施例中首先对肢体运动进行建模。如图2所示,肢体运动由骨骼运动驱动,而骨骼运动由自主控制和物理控制两部分融合得到,其中物理权重(即Physics Weight)为融合因子,融合因子的值取决于肌肉的放松程度。其中由于骨骼可以近似视为刚体,因此物理控制可以使用刚体物理模拟近似。而自主控制受条件反射和非条件反射影响,已经形成了固定的模式,所以可以直接使用骨骼动画来近似。在得到自主控制和物理控制的模拟方式后,本发明实施例中可以按照如下举例的方式实现PhysicsWeight(即物理权重)的获取。
例如,图3-a为本发明实施例提供的一种物理权重的取值获取方式示意图,图3-b为本发明实施例提供的另一种物理权重的取值获取方式示意图。Physics Weight的值与骨骼肌输出力量成反比。骨骼肌力量输出曲线的反比可以视作输出力量增加和减弱时Physics Weight的变化曲线。肌细胞受到动作电位刺激,并且电位超过阈值后,会导致肌细胞收缩,肌细胞收缩会输出力量。一般情况下,肌细胞收缩都是一个连续收缩过程,即在短时间内肌肉细胞会受到多次刺激。其中,动作电位指处于静息电位状态的细胞膜受到适当刺激而产生的,短暂而且有特殊波形的,跨膜电位博动,这里特指肌细胞的动作电位。骨骼肌又称横纹肌,多核细胞,通常是通过肌腱附在骨骼的两端,其伸缩可以带动骨骼的移动,以促成人体的运动。其收缩运动受人的意识支配,经躯体神经刺激实现的。图3-a为骨骼肌单次收缩输出的力量曲线。图3-a中的下半部分图例是骨骼肌的动作电位(英文名称:Action Potential)随时间的曲线,显示的是一个动作电位脉冲,图3-a中的上半部分图例是平静肌输出的力量值(英文名称:Force)。如图3-b所示为骨骼肌连续收缩输出的力量曲线,该曲线的开始和结尾可以作为骨骼动画的骨骼动画权重,力量曲线与(1—物理权重)的曲线是一致的。
在建模完成后,针对不同的应用场合,本发明实施例可以采用下面两种物理权重的更新方式:1)、对于与动画树集成的方式,动画树每一个动画节点设置的物理权重不同,不同情况下激活的动画节点也是不同的,当几个动画节点被激活时,每个动画节点的节点自身权重与该节点的物理模拟权重的乘积,即为当前的物理权重。取物理模拟计算得到的骨骼变换矩阵和物理权重相乘,骨骼动画计算得到的骨骼变换矩阵和骨骼动画矩阵混合,得到最终的骨骼变换矩阵。由于激活的动画节点,每个动画节点的节点自身权重,以及每个节点指定的物理权重都在不断变化,因此最终用于物理模拟和骨骼动画混合的物理权重也在不断变化,实现了物理权重的动态调整。2)、对于由程序根据角色状态实时计算的方式,静止状态时完全由骨骼动画驱动肢体动作,当角色从静止状态进入移动状态后,激活混合过程,由BlendIn混合函数更新物理权重,如果再从移动状态返回静止状态,就由BlendOut混合函数更新物理权重。为了模拟肌肉的紧张与放松过程,目前BlendIn和BlendOut函数曲线如图4-a和图4-b所示,图4-a和图4-b中t为时间,x为物理权重,这两种函数曲线能够较好地拟合骨骼肌连续收缩时输出的力量曲线的初始和结束两个过程,从而得到更真实的结果。另外本发明实施例中也可以根据骨骼肌力量输出曲线近似的指数函数来更新物理权重,具体实现过程不再赘述。
通过前述对本发明的举例说明可知,本发明提供的技术方案可以减小动画模型占用的资源总量,减小内存占用,使用动态的物理权重,避免使用固定权重,因为美术需要制作大量的骨骼动画资源,制作骨骼动画资源非常耗时减少了美术的工作量,本发明实施例中还可以实现更逼真的肢体模拟。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
为便于更好的实施本发明实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图5-a所示,本发明实施例提供的一种动画模型的肢体动作模拟装置500,可以包括:骨骼运动模拟模块501、物理权重获取模块502、融合模块503和肢体动作模拟模块504,其中,
骨骼运动模拟模块501,用于采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟所述动画模型在所述多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵;
物理权重获取模块502,用于根据所述动画模型在所述多个播放时间需要更新的骨骼运动确定由所述骨骼运动驱动产生的肢体动作,并获取所述肢体动作对应的物理权重,所述物理权重包括:对应于所述多个播放时间的权重值;
融合模块503,用于根据所述物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵;
肢体动作模拟模块504,用于根据所述肢体动作对应的骨骼变换矩阵在所述多个播放时间分别播放所述动画模型的各个肢体动作。
在本发明的一些实施例中,如图5-b所示,所述物理权重获取模块502,包括:
节点自身权重获取子模块5021,用于根据所述动画模型在动画树中的各个动画节点在所述多个播放时间的节点状态获取所述各个动画节点的节点自身权重;
物理权重获取子模块5022,用于将所述各个动画节点的节点自身权重与对应动画节点的物理模拟权重相乘,得到所述各个动画节点的物理模拟相乘结果,再将所述各个动画节点的物理模拟相乘结果进行叠加得到所述肢体动作对应的物理权重。
在本发明的一些实施例中,如图5-c所示,所述融合模块503,包括:
骨骼动画权重获取子模块5031,用于根据所述各个动画节点的物理模拟权重确定所述各个动画节点的骨骼动画权重;
骨骼动画权重叠加子模块5032,用于将所述各个动画节点的节点自身权重与对应动画节点的骨骼动画权重相乘,得到所述各个动画节点的骨骼动画相乘结果,再将所述各个动画节点的骨骼动画相乘结果进行叠加得到所述肢体动作对应的骨骼动画权重;
骨骼变换矩阵确定子模块5033,用于将所述肢体动作对应的物理权重和所述物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将所述肢体动作对应的骨骼动画权重和所述骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将所述第一相乘结果和所述第二相乘结果进行融合,得到所述肢体动作对应的骨骼变换矩阵。
在本发明的一些实施例中,如图5-d所示,所述物理权重获取模块502,包括:
角色状态确定子模块5023,用于根据由骨骼运动驱动产生的肢体动作确定所述动画模型在所述多个播放时间的角色状态,所述角色状态包括:所述动画模型处于静止状态、或所述动画模型处于从静止状态进入移动状态、或所述动画模型处于从移动状态进入静止状态;
物理权重计算子模块5024,用于根据所述动画模型在所述多个播放时间的角色状态计算所述肢体动作对应的物理权重。
在本发明的一些实施例中,所述物理权重计算子模块5024,具体用于当所述动画模型的角色状态为处于静止状态时,计算出所述肢体动作对应的物理权重为0;当所述动画模型的角色状态为从静止状态进入移动状态时,根据BlendIn混合函数计算所述肢体动作对应的物理权重;当所述动画模型的角色状态为从移动状态进入静止状态时,根据BlendOut混合函数计算所述肢体动作对应的物理权重。
在本发明的一些实施例中,所述物理权重获取模块502,具体用于根据由骨骼运动驱动产生的肢体动作获取所述肢体动作的骨骼肌输出力量曲线;根据所述肢体动作的骨骼肌输出力量曲线确定所述肢体动作对应的物理权重。
通过以上对本发明实施例的描述可知,首先采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵,然后根据动画模型在多个播放时间需要更新的骨骼运动确定由骨骼运动驱动产生的肢体动作,并获取肢体动作对应的物理权重,该物理权重可以包括:对应于多个播放时间的权重值,然后根据物理权重对物理模拟的骨骼变换矩阵和骨骼动画的骨骼变换矩阵进行融合,得到肢体动作对应的骨骼变换矩阵,最后根据肢体动作对应的骨骼变换矩阵在多个播放时间分别播放动画模型的各个肢体动作。由于动画模型在不同的播放时间都会有相应的肢体动作,由于动画模型在不同的播放时间模拟出的骨骼运动可以驱动产生相应的肢体动作,因此根据由骨骼运动驱动产生的肢体动作获取到的物理权重可以包括有对应于多个播放时间的权重值,也就是说,本发明实施例提供的物理权重是根据由骨骼运动驱动产生的肢体动作而获取到的多个权重值,物理权重由动画模型在由骨骼运动驱动产生的肢体动作进行动态调整,避免现有技术中只使用一个固定取值的物理权重,通过动态调整物理权重的取值可以实现物理模拟和骨骼动画的动态融合,适用于动画模型在放松自主控制和加强自主控制时的各种动作,提高肢体动作模拟的逼真效果。由于本发明实施例中不会纯粹使用骨骼动画的方式,因此可以解决动画资源量大、内存占用高等问题。
本发明实施例还提供了另一种终端,如图6所示,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、PDA(Personal DigitalAssistant,个人数字助理)、POS(Point of Sales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:
图6示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图6,手机包括:射频(Radio Frequency,RF)电路610、存储器620、输入单元630、显示单元640、传感器650、音频电路660、无线保真(wirelessfidelity,WiFi)模块670、处理器680、以及电源690等部件。本领域技术人员可以理解,图6中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图6对手机的各个构成部件进行具体的介绍:
RF电路610可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器680处理;另外,将设计上行的数据发送给基站。通常,RF电路610包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low Noise Amplifier,LNA)、双工器等。此外,RF电路610还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(Global Systemof Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器620可用于存储软件程序以及模块,处理器680通过运行存储在存储器620的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器620可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元630可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元630可包括触控面板631以及其他输入设备632。触控面板631,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板631上或在触控面板631附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板631可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器680,并能接收处理器680发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板631。除了触控面板631,输入单元630还可以包括其他输入设备632。具体地,其他输入设备632可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元640可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元640可包括显示面板641,可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-EmittingDiode,OLED)等形式来配置显示面板641。进一步的,触控面板631可覆盖显示面板641,当触控面板631检测到在其上或附近的触摸操作后,传送给处理器680以确定触摸事件的类型,随后处理器680根据触摸事件的类型在显示面板641上提供相应的视觉输出。虽然在图6中,触控面板631与显示面板641是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板631与显示面板641集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器650,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板641的亮度,接近传感器可在手机移动到耳边时,关闭显示面板641和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路660、扬声器661,传声器662可提供用户与手机之间的音频接口。音频电路660可将接收到的音频数据转换后的电信号,传输到扬声器661,由扬声器661转换为声音信号输出;另一方面,传声器662将收集的声音信号转换为电信号,由音频电路660接收后转换为音频数据,再将音频数据输出处理器680处理后,经RF电路610以发送给比如另一手机,或者将音频数据输出至存储器620以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块670可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图6示出了WiFi模块670,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器680是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器620内的软件程序和/或模块,以及调用存储在存储器620内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器680可包括一个或多个处理单元;优选的,处理器680可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器680中。
手机还包括给各个部件供电的电源690(比如电池),优选的,电源可以通过电源管理系统与处理器680逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,上述实施例中由终端所执行的动画模型的肢体动作模拟方法可以基于该图6所示的终端结构,详见前述的方法实施例。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本发明而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
综上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照上述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种动画模型的肢体动作模拟方法,其特征在于,包括:
采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟所述动画模型在所述多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵;
根据所述动画模型在所述多个播放时间需要更新的骨骼运动确定由所述骨骼运动驱动产生的肢体动作,并获取所述肢体动作对应的物理权重,所述物理权重包括:对应于所述多个播放时间的权重值;
根据所述物理权重对所述物理模拟的骨骼变换矩阵和所述骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵;
根据所述肢体动作对应的骨骼变换矩阵在所述多个播放时间分别播放所述动画模型的各个肢体动作。
2.根据权利要求1所述的方法,其特征在于,所述获取所述肢体动作对应的物理权重,包括:
根据所述动画模型在动画树中的各个动画节点在所述多个播放时间的节点状态获取所述各个动画节点的节点自身权重;
将所述各个动画节点的节点自身权重与对应动画节点的物理模拟权重相乘,得到所述各个动画节点的物理模拟相乘结果,再将所述各个动画节点的物理模拟相乘结果进行叠加得到所述肢体动作对应的物理权重。
3.根据权利要求2所述的方法,其特征在于,所述根据所述物理权重对所述物理模拟的骨骼变换矩阵和所述骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵,包括:
根据所述各个动画节点的物理模拟权重确定所述各个动画节点的骨骼动画权重;
将所述各个动画节点的节点自身权重与对应动画节点的骨骼动画权重相乘,得到所述各个动画节点的骨骼动画相乘结果,再将所述各个动画节点的骨骼动画相乘结果进行叠加得到所述肢体动作对应的骨骼动画权重;
将所述肢体动作对应的物理权重和所述物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将所述肢体动作对应的骨骼动画权重和所述骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将所述第一相乘结果和所述第二相乘结果进行融合,得到所述肢体动作对应的骨骼变换矩阵。
4.根据权利要求1所述的方法,其特征在于,所述获取所述肢体动作对应的物理权重,包括:
根据由所述骨骼运动驱动产生的肢体动作确定所述动画模型在所述多个播放时间的角色状态,所述角色状态包括:所述动画模型处于静止状态、或所述动画模型处于从静止状态进入移动状态、或所述动画模型处于从移动状态进入静止状态;
根据所述动画模型在所述多个播放时间的角色状态计算所述肢体动作对应的物理权重。
5.根据权利要求4所述的方法,其特征在于,所述根据所述动画模型在所述多个播放时间的角色状态计算所述肢体动作对应的物理权重,包括:
当所述动画模型的角色状态为处于静止状态时,计算出所述肢体动作对应的物理权重为0;当所述动画模型的角色状态为从静止状态进入移动状态时,根据BlendIn混合函数计算所述肢体动作对应的物理权重;当所述动画模型的角色状态为从移动状态进入静止状态时,根据BlendOut混合函数计算所述肢体动作对应的物理权重。
6.根据权利要求1所述的方法,其特征在于,所述获取所述肢体动作对应的物理权重,包括:
根据由所述骨骼运动驱动产生的的肢体动作获取所述肢体动作的骨骼肌输出力量曲线;根据所述肢体动作的骨骼肌输出力量曲线确定所述肢体动作对应的物理权重。
7.一种动画模型的肢体动作模拟装置,其特征在于,包括:
骨骼运动模拟模块,用于采用物理模拟的方式模拟动画模型在多个播放时间需要更新的骨骼运动,从而生成物理模拟的骨骼变换矩阵,并采用骨骼动画的方式模拟所述动画模型在所述多个播放时间需要更新的骨骼运动,从而生成骨骼动画的骨骼变换矩阵;
物理权重获取模块,用于根据所述动画模型在所述多个播放时间需要更新的骨骼运动确定由所述骨骼运动驱动产生的肢体动作,并获取所述肢体动作对应的物理权重,所述物理权重包括:对应于所述多个播放时间的权重值;
融合模块,用于根据所述物理权重对所述物理模拟的骨骼变换矩阵和所述骨骼动画的骨骼变换矩阵进行融合,得到所述肢体动作对应的骨骼变换矩阵;
肢体动作模拟模块,用于根据所述肢体动作对应的骨骼变换矩阵在所述多个播放时间分别播放所述动画模型的各个肢体动作。
8.根据权利要求7所述的装置,其特征在于,所述物理权重获取模块,包括:
节点自身权重获取子模块,用于根据所述动画模型在动画树中的各个动画节点在所述多个播放时间的节点状态获取所述各个动画节点的节点自身权重;
物理权重获取子模块,用于将所述各个动画节点的节点自身权重与对应动画节点的物理模拟权重相乘,得到所述各个动画节点的物理模拟相乘结果,再将所述各个动画节点的物理模拟相乘结果进行叠加得到所述肢体动作对应的物理权重。
9.根据权利要求8所述的装置,其特征在于,所述融合模块,包括:
骨骼动画权重获取子模块,用于根据所述各个动画节点的物理模拟权重确定所述各个动画节点的骨骼动画权重;
骨骼动画权重叠加子模块,用于将所述各个动画节点的节点自身权重与对应动画节点的骨骼动画权重相乘,得到所述各个动画节点的骨骼动画相乘结果,再将所述各个动画节点的骨骼动画相乘结果进行叠加得到所述肢体动作对应的骨骼动画权重;
骨骼变换矩阵确定子模块,用于将所述肢体动作对应的物理权重和所述物理模拟的骨骼变换矩阵相乘得到第一相乘结果,将所述肢体动作对应的骨骼动画权重和所述骨骼动画的骨骼变换矩阵相乘得到第二相乘结果,再将所述第一相乘结果和所述第二相乘结果进行融合,得到所述肢体动作对应的骨骼变换矩阵。
10.根据权利要求7所述的装置,其特征在于,所述物理权重获取模块,包括:
角色状态确定子模块,用于根据由所述骨骼运动驱动产生的肢体动作确定所述动画模型在所述多个播放时间的角色状态,所述角色状态包括:所述动画模型处于静止状态、或所述动画模型处于从静止状态进入移动状态、或所述动画模型处于从移动状态进入静止状态;
物理权重计算子模块,用于根据所述动画模型在所述多个播放时间的角色状态计算所述肢体动作对应的物理权重。
11.根据权利要求10所述的装置,其特征在于,所述物理权重计算子模块,具体用于当所述动画模型的角色状态为处于静止状态时,计算出所述肢体动作对应的物理权重为0;当所述动画模型的角色状态为从静止状态进入移动状态时,根据BlendIn混合函数计算所述肢体动作对应的物理权重;当所述动画模型的角色状态为从移动状态进入静止状态时,根据BlendOut混合函数计算所述肢体动作对应的物理权重。
12.根据权利要求7所述的装置,其特征在于,所述物理权重获取模块,具体用于根据由所述骨骼运动驱动产生的肢体动作获取所述肢体动作的骨骼肌输出力量曲线;根据所述肢体动作的骨骼肌输出力量曲线确定所述肢体动作对应的物理权重。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610192578.0A CN105894555B (zh) | 2016-03-30 | 2016-03-30 | 一种动画模型的肢体动作模拟方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610192578.0A CN105894555B (zh) | 2016-03-30 | 2016-03-30 | 一种动画模型的肢体动作模拟方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105894555A true CN105894555A (zh) | 2016-08-24 |
CN105894555B CN105894555B (zh) | 2020-02-11 |
Family
ID=57014718
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610192578.0A Active CN105894555B (zh) | 2016-03-30 | 2016-03-30 | 一种动画模型的肢体动作模拟方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105894555B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107875633A (zh) * | 2016-09-30 | 2018-04-06 | 电子技术公司 | 改善模拟中的模型的运动动画的计算机实现方法及系统 |
CN108055479A (zh) * | 2017-12-28 | 2018-05-18 | 暨南大学 | 一种动物行为视频的制作方法 |
CN108635849A (zh) * | 2018-05-15 | 2018-10-12 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN111009022A (zh) * | 2019-12-27 | 2020-04-14 | 珠海金山网络游戏科技有限公司 | 一种模型动画生成的方法和装置 |
CN111383309A (zh) * | 2020-03-06 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 一种骨骼动画驱动方法、装置及存储介质 |
CN111696184A (zh) * | 2020-06-10 | 2020-09-22 | 上海米哈游天命科技有限公司 | 骨骼蒙皮融合确定方法、装置、设备和存储介质 |
CN111768475A (zh) * | 2020-06-30 | 2020-10-13 | 网易(杭州)网络有限公司 | 动画骨骼的处理方法及装置、计算机可读介质、电子设备 |
CN111773668A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种动画播放方法和装置 |
CN111798547A (zh) * | 2020-06-22 | 2020-10-20 | 完美世界(北京)软件科技发展有限公司 | 动画混合空间剖分方法、装置、设备和可读介质 |
CN111968204A (zh) * | 2020-07-28 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 一种骨骼模型的运动展示方法和装置 |
CN112102452A (zh) * | 2020-09-27 | 2020-12-18 | 完美世界(北京)软件科技发展有限公司 | 一种动画模型处理方法、装置、电子设备及存储介质 |
CN112948273A (zh) * | 2021-04-16 | 2021-06-11 | 深圳市腾讯信息技术有限公司 | 一种游戏资源的测试方法、相关装置、设备及存储介质 |
CN115779436A (zh) * | 2023-02-09 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 动画切换方法、装置、设备及计算机可读存储介质 |
CN115908664A (zh) * | 2023-01-09 | 2023-04-04 | 深圳泽森软件技术有限责任公司 | 人机交互的动画生成方法、装置、计算机设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112288A (zh) * | 2014-07-24 | 2014-10-22 | 无锡梵天信息技术股份有限公司 | 基于三维骨骼模型的动作过渡实现方法 |
CN104123735A (zh) * | 2014-07-24 | 2014-10-29 | 无锡梵天信息技术股份有限公司 | 能实现多种动作混合的方法 |
CN104268920A (zh) * | 2014-09-05 | 2015-01-07 | 无锡梵天信息技术股份有限公司 | 一种利用布娃娃物理系统模拟人物角色死亡的方法 |
CN104867171A (zh) * | 2015-05-05 | 2015-08-26 | 中国科学院自动化研究所 | 一种三维角色的过渡动画生成方法 |
-
2016
- 2016-03-30 CN CN201610192578.0A patent/CN105894555B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104112288A (zh) * | 2014-07-24 | 2014-10-22 | 无锡梵天信息技术股份有限公司 | 基于三维骨骼模型的动作过渡实现方法 |
CN104123735A (zh) * | 2014-07-24 | 2014-10-29 | 无锡梵天信息技术股份有限公司 | 能实现多种动作混合的方法 |
CN104268920A (zh) * | 2014-09-05 | 2015-01-07 | 无锡梵天信息技术股份有限公司 | 一种利用布娃娃物理系统模拟人物角色死亡的方法 |
CN104867171A (zh) * | 2015-05-05 | 2015-08-26 | 中国科学院自动化研究所 | 一种三维角色的过渡动画生成方法 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107875633B (zh) * | 2016-09-30 | 2023-01-24 | 电子技术公司 | 改善模拟中的模型的运动动画的计算机实现方法及系统 |
CN107875633A (zh) * | 2016-09-30 | 2018-04-06 | 电子技术公司 | 改善模拟中的模型的运动动画的计算机实现方法及系统 |
CN108055479A (zh) * | 2017-12-28 | 2018-05-18 | 暨南大学 | 一种动物行为视频的制作方法 |
CN108635849A (zh) * | 2018-05-15 | 2018-10-12 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN108635849B (zh) * | 2018-05-15 | 2024-06-04 | 深圳市腾讯网络信息技术有限公司 | 一种动画数据压缩、解压缩方法及装置 |
CN111009022A (zh) * | 2019-12-27 | 2020-04-14 | 珠海金山网络游戏科技有限公司 | 一种模型动画生成的方法和装置 |
CN111009022B (zh) * | 2019-12-27 | 2023-06-30 | 珠海金山数字网络科技有限公司 | 一种模型动画生成的方法和装置 |
CN111383309A (zh) * | 2020-03-06 | 2020-07-07 | 腾讯科技(深圳)有限公司 | 一种骨骼动画驱动方法、装置及存储介质 |
CN111383309B (zh) * | 2020-03-06 | 2023-03-17 | 腾讯科技(深圳)有限公司 | 一种骨骼动画驱动方法、装置及存储介质 |
CN111696184B (zh) * | 2020-06-10 | 2023-08-29 | 上海米哈游天命科技有限公司 | 骨骼蒙皮融合确定方法、装置、设备和存储介质 |
CN111696184A (zh) * | 2020-06-10 | 2020-09-22 | 上海米哈游天命科技有限公司 | 骨骼蒙皮融合确定方法、装置、设备和存储介质 |
CN111798547A (zh) * | 2020-06-22 | 2020-10-20 | 完美世界(北京)软件科技发展有限公司 | 动画混合空间剖分方法、装置、设备和可读介质 |
CN111768475A (zh) * | 2020-06-30 | 2020-10-13 | 网易(杭州)网络有限公司 | 动画骨骼的处理方法及装置、计算机可读介质、电子设备 |
CN111773668B (zh) * | 2020-07-03 | 2024-05-07 | 珠海金山数字网络科技有限公司 | 一种动画播放方法和装置 |
CN111773668A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种动画播放方法和装置 |
CN111968204A (zh) * | 2020-07-28 | 2020-11-20 | 完美世界(北京)软件科技发展有限公司 | 一种骨骼模型的运动展示方法和装置 |
CN111968204B (zh) * | 2020-07-28 | 2024-03-22 | 完美世界(北京)软件科技发展有限公司 | 一种骨骼模型的运动展示方法和装置 |
CN112102452A (zh) * | 2020-09-27 | 2020-12-18 | 完美世界(北京)软件科技发展有限公司 | 一种动画模型处理方法、装置、电子设备及存储介质 |
CN112102452B (zh) * | 2020-09-27 | 2024-03-22 | 完美世界(北京)软件科技发展有限公司 | 一种动画模型处理方法、装置、电子设备及存储介质 |
CN112948273B (zh) * | 2021-04-16 | 2024-03-22 | 深圳市腾讯信息技术有限公司 | 一种游戏资源的测试方法、相关装置、设备及存储介质 |
CN112948273A (zh) * | 2021-04-16 | 2021-06-11 | 深圳市腾讯信息技术有限公司 | 一种游戏资源的测试方法、相关装置、设备及存储介质 |
CN115908664B (zh) * | 2023-01-09 | 2023-08-15 | 深圳泽森软件技术有限责任公司 | 人机交互的动画生成方法、装置、计算机设备、存储介质 |
CN115908664A (zh) * | 2023-01-09 | 2023-04-04 | 深圳泽森软件技术有限责任公司 | 人机交互的动画生成方法、装置、计算机设备、存储介质 |
CN115779436A (zh) * | 2023-02-09 | 2023-03-14 | 腾讯科技(深圳)有限公司 | 动画切换方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105894555B (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105894555A (zh) | 一种动画模型的肢体动作模拟方法和装置 | |
US10762721B2 (en) | Image synthesis method, device and matching implementation method and device | |
CN106693307B (zh) | 一种健身器材的信息交互系统及方法 | |
CN108057249B (zh) | 一种业务数据处理方法和装置 | |
CN108234276A (zh) | 一种虚拟形象之间互动的方法、终端及系统 | |
CN106504309B (zh) | 一种图像合成的方法以及图像合成装置 | |
CN109902820A (zh) | Ai模型训练方法、装置、存储介质及设备 | |
CN104866185B (zh) | 控制界面显示方法和装置 | |
CN110251942A (zh) | 控制游戏场景中虚拟角色的方法及装置 | |
CN107122043B (zh) | 虚拟现实中人体的模拟方法和装置 | |
CN106028391A (zh) | 人流量统计方法及装置 | |
CN109876440A (zh) | 对象展示方法和装置、存储介质及电子装置 | |
CN109740738A (zh) | 一种神经网络模型训练方法、装置、设备和介质 | |
KR101022503B1 (ko) | 가상 골프 시뮬레이션에 이용되는 사용자 정의 골프코스 제작 장치 및 그 방법과, 이를 이용한 가상 골프 시뮬레이션 방법 | |
CN108932048A (zh) | 确定电池可用时长的方法及相关产品 | |
CN109472764A (zh) | 图像合成和图像合成模型训练的方法、装置、设备和介质 | |
CN105353871A (zh) | 一种虚拟现实场景中目标物体的控制方法及装置 | |
CN109419604A (zh) | 基于虚拟现实的下肢康复训练方法和系统 | |
CN106660209A (zh) | 智能机器人控制系统、方法及智能机器人 | |
CN106982158A (zh) | 运动轨迹的分享方法和装置 | |
CN107834640A (zh) | 一种充电方法及终端 | |
CN110448909A (zh) | 一种应用中目标角色的结果输出方法和装置以及介质 | |
CN110517346A (zh) | 虚拟环境界面的展示方法、装置、计算机设备及存储介质 | |
CN108762726B (zh) | 基础框架开发平台及通过平台设计游戏的方法 | |
CN103729696A (zh) | 基于拥塞博弈模型的参与式感知数据系统及其方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |