CN103793933A - 虚拟人体动画的运动路径生成方法 - Google Patents
虚拟人体动画的运动路径生成方法 Download PDFInfo
- Publication number
- CN103793933A CN103793933A CN201210434968.6A CN201210434968A CN103793933A CN 103793933 A CN103793933 A CN 103793933A CN 201210434968 A CN201210434968 A CN 201210434968A CN 103793933 A CN103793933 A CN 103793933A
- Authority
- CN
- China
- Prior art keywords
- motion
- motion path
- frame
- virtual human
- human body
- 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
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及一种虚拟人体动画的运动路径生成方法,包括以下步骤:通过计算机的输入端口读取并打开保存有虚拟人体运动数据的文件;在运动序列的起点和终点之间设置控制点,同时记录各控制点的帧序号及其时间间隔;从运动序列中抽取出该i个帧,并以帧的时间点Ti标记该帧;读取该i个帧的虚拟人体根节点全局偏移量,作为控制点的位置;对人体根节点的平移轨迹的x和z分量做Hermite样条插值,进行曲线拟合生成原始运动路径;将一个运动周期的动作作为一个单元进行处理,生成新的运动路径;对运动路径上存在滑步现象的区段进行删减处理。与现有技术相比,本发明生成速度快、实现简单,而且生成的动画自然平顺,不会出现滑步现象。
Description
技术领域
本发明涉及一种计算机动画信息处理方法,尤其是涉及一种虚拟人体动画的运动路径生成方法。
背景技术
虚拟人体动画就是用计算机程序或软件来模拟人的运动,在虚拟场景展示、复杂技能培训、虚拟制造、人机工效分析等各种基于虚拟现实的游戏娱乐、模拟训练、仿真测试中将扮演越来越重要的角色。
运动捕获技术是指利用数据捕获设备记录一段真实的人体运动,然后将记录得到的运动数据映射到计算机中的虚拟人,以此驱动虚拟人运动。因精确记录有丰富的细节信息可高效绘制出逼真细腻的人体运动,该项技术成为当前虚拟人体动画的研究热点。在电力虚拟维修仿真系统的设备巡视仿真、电力设备检修操作仿真模块中我们引入基于运动捕获数据的虚拟人动画技术主要用于用户化身参与交互操作的行为仿真和标准维修动作示范,是虚拟维修仿真系统重要的一个组成部分。
但其仅能生成事先捕捉到的特定人体运动,所获取的数据也只能在特定环境下应用,存在着适应性不强、灵活性较差、重用性不高的问题。而在实际动画设计中所需人体动作丰富多变,若因设计动作稍有不同就进行重新运动捕获则将带来高昂的费用。因此基于现有动作捕获数据对其进行编辑处理适应设计需求,以此提高捕获数据的重用性来降低制作成本具有重要的意义。而运动路径编辑是其中一种有效的编辑手段即在尽量不改变虚拟人的其它动作前提下,对其运动路径加以编辑以满足不同情境下所需不同运动轨迹的动画设计要求。
但在此运动路径编辑过程中,常有脚步滑动现象的产生。为此众多研究人员对此进行了深入研究,如Michael Gleicher提出了一种路径变换方法并使用弧长参数将虚拟人位置映射到新的运动路径上,后用几何约束的方法对双脚的位置或相对位置加以限定,但生成效果不够逼真。随后他在2002年提出了自动识别以前的足部位置约束条件并由用户手工编辑生成新的足部位置的方法,尽管此过程未引入伪影但增加了编辑人员的劳动量。Noah Lock采用改进的近似刚体的变形技术去修改运动路径,并使用时间弯曲技术使用户专心于有意义的空间路径编辑同时自动改进运动定时以此保持路径形状和速度之间的生物力学关系,但时间弯曲技术对速度有着严格的规定其适用范围具有很大的局限性。
李众定义了步长概念并在编辑后的路径上按照步长前后方向差值的大小选择不同的路径变换和约束重建方式得到新的运动。刘爽提出了一种改进的运动路径编辑方法:每一帧求出原始运动数据的足部位置作为初始约束条件,再根据运动方向的变化自动生成新的支撑点约束位置,然后采用按照帧编辑的实时逆向运动学算法来求解约束条件。罗志祥通过规定一组时空约束条件建立相应的目标函数并采用逆向运动学和数值优化方法求解出满足约束条件的运动姿势。陈志华将运动自动简化技术引入到传统的时空优化方法中,同时将物理约束引入到传统的路径变换方法中,保证了优化过程的快速收敛和结果运动的物理真实性。
但在上述算法中加入的物理约束中包含有速度和加速度,它们都是非线性函数这将极大地增加时空优化求解的复杂度,总体的生成速度较慢。
发明内容
本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种虚拟人体动画的运动路径生成方法,该方法生成速度快、实现简单,而且生成的动画自然平顺,不会出现滑步现象。
本发明的目的可以通过以下技术方案来实现;
一种虚拟人体动画的运动路径生成方法,该方法包括以下步骤:
a)通过计算机的输入端口读取保存有虚拟人体运动数据的文件,并打开;
b)在运动序列的起点和终点之间设置N′个控制点,同时记录各控制点的帧序号以及各帧之间的时间间隔Δt;
c)从运动序列中抽取出该i个帧,并以帧的时间点Ti标记该帧,其中Ti=Δt×(i-1),i为1...N,N为原有运动序列的总帧数;
d)读取该i个帧的虚拟人体根节点全局偏移量,作为控制点的位置;
e)对人体根节点的平移轨迹的x和z分量做Hermite样条插值,进行曲线拟合生成原始运动路径;
f)根据步骤e)得到的原始运动路径,将一个运动周期的动作作为一个单元进行处理,生成新的运动路径;
g)对运动路径上存在滑步现象的区段进行删减处理,得到最终的运动路径并输出。
步骤a)中虚拟人体运动数据的文件为BVH格式的文件。
步骤b)中运动序列的起点和终点之间的控制点个数N′≥4。
所述的运动周期为虚拟人体的左脚和右脚先后完成迈步的动作周期。
步骤f)的处理过程具体包括以下步骤:
f1)计算各帧根节点在Hermite样条插值曲线上的斜率作为运动朝向;
f2)在原始运动路径上所有相邻两个控制点所在的插值曲线段上,以各控制点为起始点,依次找到各个一般运动周期的起始帧和特殊运动周期的起始帧,所述的一般运动周期为左右脚落点在运动路径上为直线型的运动周期,所述的特殊运动周期为左右脚落点在运动路径上斜率发生变化的运动周期;
f3)改变控制点的位置坐标,然后通过Hermite样条插值重新生成新的运动路径,并确定各帧在新的运动路径上的位置和运动朝向。
步骤g)的处理过程具体包括以下步骤:
g1)选取存在滑步现象的区段两端距离最近的两个控制点;
g2)计算存在滑步现象的区段内需要删减的运动周期的帧数M,计算公式如下:
g3)根据计算得到的需要删减的运动周期的个数,在存在滑步现象的区段内删减一般运动周期的帧,所述的一般运动周期为左右脚落点在运动路径上为直线型的运动周期;
g4)对删减得到的运动路径内每个帧进行间距和运动朝向的调节,得到最终的运动路径并输出。
与现有技术相比,本发明在物理约束条件中不包含有速度和加速度,因此不需要进行复杂的时空优化求解,生成速度快、实现简单,而且由于对运动路径中存在滑步现象的区段进行了删减处理,消除了滑步现象,因此生成的动画自然平顺。
附图说明
图1为本发明的整体流程图;
图2为一般运动周期的示意图;
图3为特殊运动周期的示意图;
图4为删减一般运动周期后调整路径的示意图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
实施例
如图1所示,一种虚拟人体动画的运动路径生成方法,该方法包括以下步骤:
步骤a)
通过计算机的输入端口读取保存有虚拟人体运动数据的文件,并打开。虚拟人体运动数据的文件格式主要有BVH、HTR、ASF/AMC等,其中Biovision公司开发的BVH格式文件较为常用,因此本发明采用此种格式的文件作为运动路径生成的输入对象。
BVH格式的人体运动数据分为两个部分:①采用层次树状结构用以描述人体骨骼架构;②为每一帧记录一组具体数据,其中包括每一帧中根节点在全局坐标系下的位移和各个相邻关节之间的欧拉转角共计57个数据信息。
步骤b)
在运动序列的起点和终点之间设置N′个控制点,同时记录各控制点的帧序号以及各帧之间的时间间隔Δt,其中N′≥4。
步骤c)
从运动序列中抽取出该i个帧,并以帧的时间点Ti标记该帧,其中Ti=Δt×(i-1),i为1...N,N为原有运动序列的总帧数。
步骤d)
读取该i个帧的虚拟人体根节点全局偏移量,作为控制点的位置。
步骤e)
对人体根节点的平移轨迹的x和z分量(在BVH文件中,世界坐标系被定义为右手坐标系且以y轴正方向作为向上的方向,x轴,z轴在一平面内相垂直,伸开右手,使四指由x轴弯向z轴,则大拇指所指方向即为y轴方向)做Hermite样条插值,进行曲线拟合生成原始运动路径。
在抽取原始运动路径过程中选用Hermite样条中的特殊曲线Cardinal而未选用著名的B样条函数进行抽取路径插值。这是因为B样条提供了额外的连续性,从而造成缺少对一个插值曲线趋势的控制。经过pi,pi+1两个控制点间的Cardinal曲线可记为:
上式分析可得Cardinal插值曲线上某段曲线需要pi-1,pi,pi+1,pi+24个控制点的坐标值来求得,所以原始路径是以4个控制点为单位所生成的Cardinal插值曲线组合生成。在上式中t ∈[0,1]且有一变量α来控制正被计算样条的切线的张量,这里α=0对于大多数动画来讲已足够了。
步骤f)
根据步骤e)得到的原始运动路径,将一个运动周期的动作作为一个单元进行处理,生成新的运动路径。其中,对一个运动周期的定义为:左脚开始抬起的那一帧被认作是一运动周期的开始,经过左脚落地、右脚抬起落地、最后右脚开始落地的那一帧定义为一运动周期的结束。同时在一个运动周期内起始帧和结束帧中,它们根节点的间距(在x,z平面)为运动周期的步长λ。
由于在一个运动周期内也会存在以下两种情况:第一种如图1所示,左右脚落脚点p1,p2,p3在运动路径上的斜率基本不发生变化,呈直线型的称之为一般运动周期;第二种如图2所示,左右脚落脚点p1,p2,p3在运动路径上的斜率发生巨大变化,因此称之为特殊运动周期,为保持运动的重要细节,我们将一般运动周期作为步骤g)的删减对象。
由于在改变控制点的位置坐标并通过Hermite插值重新生成新的运动路径后,要确定各帧在新路径上的位置和运动朝向,因此用Si(i=1,...N)表示原始运动路径上各帧的根节点相对于起始控制点的平移向量,ΔSi=Si+1-Si表示原始运动序列中第(i+1)帧的根节点相对于第i帧的根节点的平移向量,用Si′(i=1,…N)表示运动路径编辑之后各帧的根节点相对于起始控制点的平移向量。ΔSi′=f(ΔSi,ti)表示原始运动序列中第(i+1)帧的根节点与第i帧的根节点之间平移向量差映射到新路径中在第i个时间片内所产生的新平移向量差。由于对运动序列的编辑是按照帧的排序依次处理,因此在新运动路径中第(i+1)帧的根节点的位置向量应用下式进行计算:
S′i+1=S′i+ΔS′i=S′i+f(ΔSi,ti)
这样就可用新生成的根节点的位置来标记经运动路径被编辑后所形成的新运动帧序列。
而在运动路径上,人体在某一时刻的运动方向与此时刻在该运动曲线所在位置点的切线斜率相关,为此我们将用曲线上各帧的根节点所在位置的切线斜率做为此时刻虚拟人体的朝向。所以在运动路径被编辑后t时刻根节点所在位置点也要随着曲线斜率的变化而调整。
其具体包括以下步骤:
f1)计算各帧根节点在Hermite样条插值曲线上的斜率作为运动朝向;
f2)在原始运动路径上所有相邻两个控制点所在的插值曲线段上,以各控制点为起始点,依次找到各个一般运动周期的起始帧和特殊运动周期的起始帧,所述的一般运动周期为左右脚落点在运动路径上为直线型的运动周期,所述的特殊运动周期为左右脚落点在运动路径上斜率发生变化的运动周期;
f3)改变控制点的位置坐标,然后通过Hermite样条插值重新生成新的运动路径,并确定各帧在新的运动路径上的位置和运动朝向。
步骤g)
对运动路径上存在滑步现象的区段进行删减处理,得到最终的运动路径并输出。由于在大部分运动数据中都存在行走、跑、小步幅跳跃等动作,而这些动作实际上是简单周期性运动例如行走中左脚迈出一步后,右脚然后再迈出一步的动作可视为一个运动周期。为了保持删减若干个序列帧后,所绘制的运动动作依然顺畅、连续,我们可将运动周期的动作作为一个单位进行删减处理从而减少运动动作过于集中而产生滑步的问题。但如果随意去除某一部分帧将会导致运动动作的不连贯,为保持运动的重要细节,将一般运动周期作为删减的对象。本步骤具体的处理过程如下:
g1)选取存在滑步现象的区段两端距离最近的两个控制点;
g2)计算存在滑步现象的区段内需要删减的运动周期的帧数M,计算公式如下:
g3)根据计算得到的需要删减的运动周期的个数,在存在滑步现象的区段内删减一般运动周期的帧,所述的一般运动周期为左右脚落点在运动路径上为直线型的运动周期;
g4)对删减得到的运动路径内每个帧进行间距和运动朝向的调节,得到最终的运动路径并输出。
假设新的运动路径上A,D两个控制节点(位置未发生改变)内有滑步问题现象产生,以此为例对步骤删减处理进行说明。B,C是两个发生位置改变的控制点在新路径上的对应点是B′,C′,E,F是要删除的N′个运动周期,如图3所示:
用下式计算剩余帧的根节点间的位移调节量:
Claims (6)
1.一种虚拟人体动画的运动路径生成方法,其特征在于,该方法包括以下步骤:
a)通过计算机的输入端口读取保存有虚拟人体运动数据的文件,并打开;
b)在运动序列的起点和终点之间设置N′个控制点,同时记录各控制点的帧序号以及各帧之间的时间间隔Δt;
c)从运动序列中抽取出该i个帧,并以帧的时间点Ti标记该帧,其中Ti=Δt×(i-1),i为1...N,N为原有运动序列的总帧数;
d)读取该i个帧的虚拟人体根节点全局偏移量,作为控制点的位置;
e)对人体根节点的平移轨迹的x和z分量做Hermite样条插值,进行曲线拟合生成原始运动路径;
f)根据步骤e)得到的原始运动路径,将一个运动周期的动作作为一个单元进行处理,生成新的运动路径;
g)对运动路径上存在滑步现象的区段进行删减处理,得到最终的运动路径并输出。
2.根据权利要求1所述的一种虚拟人体动画的运动路径生成方法,其特征在于,步骤a)中虚拟人体运动数据的文件为BVH格式的文件。
3.根据权利要求1所述的一种虚拟人体动画的运动路径生成方法,其特征在于,步骤b)中运动序列的起点和终点之间的控制点个数N′≥4。
4.根据权利要求1所述的一种虚拟人体动画的运动路径生成方法,其特征在于,所述的运动周期为虚拟人体的左脚和右脚先后完成迈步的动作周期。
5.根据权利要求1所述的一种虚拟人体动画的运动路径生成方法,其特征在于,步骤f)的处理过程具体包括以下步骤:
f1)计算各帧根节点在Hermite样条插值曲线上的斜率作为运动朝向;
f2)在原始运动路径上所有相邻两个控制点所在的插值曲线段上,以各控制点为起始点,依次找到各个一般运动周期的起始帧和特殊运动周期的起始帧,所述的一般运动周期为左右脚落点在运动路径上为直线型的运动周期,所述的特殊运动周期为左右脚落点在运动路径上斜率发生变化的运动周期;
f3)改变控制点的位置坐标,然后通过Hermite样条插值重新生成新的运动路径,并确定各帧在新的运动路径上的位置和运动朝向。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210434968.6A CN103793933B (zh) | 2012-11-02 | 2012-11-02 | 虚拟人体动画的运动路径生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210434968.6A CN103793933B (zh) | 2012-11-02 | 2012-11-02 | 虚拟人体动画的运动路径生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103793933A true CN103793933A (zh) | 2014-05-14 |
CN103793933B CN103793933B (zh) | 2016-10-12 |
Family
ID=50669556
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210434968.6A Expired - Fee Related CN103793933B (zh) | 2012-11-02 | 2012-11-02 | 虚拟人体动画的运动路径生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103793933B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016206491A1 (zh) * | 2015-06-24 | 2016-12-29 | 腾讯科技(深圳)有限公司 | 目标对象运动轨迹确定方法、装置以及存储介质 |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN107998656A (zh) * | 2017-11-22 | 2018-05-08 | 福建天晴数码有限公司 | 一种编排方法及终端 |
CN108577965A (zh) * | 2018-03-19 | 2018-09-28 | 艾瑞迈迪医疗科技(北京)有限公司 | 一种操作路径规划方法及装置 |
US10657656B2 (en) | 2018-06-15 | 2020-05-19 | International Business Machines Corporation | Virtual generation of labeled motion sensor data |
CN113610947A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 动画生成方法、装置、计算机设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102157009A (zh) * | 2011-05-24 | 2011-08-17 | 中国科学院自动化研究所 | 基于运动捕获数据的三维人体骨架运动编辑方法 |
-
2012
- 2012-11-02 CN CN201210434968.6A patent/CN103793933B/zh not_active Expired - Fee Related
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016206491A1 (zh) * | 2015-06-24 | 2016-12-29 | 腾讯科技(深圳)有限公司 | 目标对象运动轨迹确定方法、装置以及存储介质 |
US10354393B2 (en) | 2015-06-24 | 2019-07-16 | Tencent Technology (Shenzhen) Company Limited | Method and device for determining motion trajectory of target subject, and storage medium |
CN106600665A (zh) * | 2016-12-01 | 2017-04-26 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN106600665B (zh) * | 2016-12-01 | 2019-11-22 | 北京像素软件科技股份有限公司 | 一种相机动画路径生成方法和装置 |
CN107998656A (zh) * | 2017-11-22 | 2018-05-08 | 福建天晴数码有限公司 | 一种编排方法及终端 |
CN107998656B (zh) * | 2017-11-22 | 2020-12-22 | 福建天晴数码有限公司 | 一种编排方法及终端 |
CN108577965A (zh) * | 2018-03-19 | 2018-09-28 | 艾瑞迈迪医疗科技(北京)有限公司 | 一种操作路径规划方法及装置 |
US10657656B2 (en) | 2018-06-15 | 2020-05-19 | International Business Machines Corporation | Virtual generation of labeled motion sensor data |
US10922821B2 (en) | 2018-06-15 | 2021-02-16 | International Business Machines Corporation | Virtual generation of labeled motion sensor data |
CN113610947A (zh) * | 2021-08-09 | 2021-11-05 | 平安国际智慧城市科技股份有限公司 | 动画生成方法、装置、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN103793933B (zh) | 2016-10-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103793933A (zh) | 虚拟人体动画的运动路径生成方法 | |
CN102509333B (zh) | 基于动作捕获数据驱动的二维卡通表情动画制作方法 | |
CN104463788B (zh) | 基于运动捕捉数据的人体运动插值方法 | |
KR101148101B1 (ko) | 얼굴 표정 리타게팅 방법 | |
CN104112288B (zh) | 基于三维骨骼模型的动作过渡实现方法 | |
CN106504329B (zh) | 一种基于牙体长轴的质点弹簧模型的牙龈变形仿真方法 | |
CN106528174A (zh) | 基于cocos2dx的flash渲染方法和渲染引擎 | |
CN104915978A (zh) | 基于体感相机Kinect的真实感动画生成方法 | |
US20090157366A1 (en) | System for simulating digital watercolor image and method therefor | |
CN101515373B (zh) | 竞技性交互式动画生成方法 | |
CN110310351A (zh) | 一种基于草图的三维人体骨骼动画自动生成方法 | |
CN109801350B (zh) | 一种基于示例动画的人物运动模拟方法 | |
CN111522544B (zh) | 一种可视化轨迹插件制作的方法及其装置 | |
KR100898990B1 (ko) | 3차원 공간에서 시간일관성을 이용한 실루엣 렌더링 장치및 방법 | |
CN104268915A (zh) | 一种手写汉字的实时轮廓美化方法 | |
CN102855652B (zh) | 基于测地距的径向基函数人脸表情重定向与动画方法 | |
CN102609956A (zh) | 一种视频中的人体运动编辑方法 | |
CN102663782B (zh) | 基于笔画纹理分析的绘画渲染方法 | |
CN111476868B (zh) | 基于深度学习的动画生成模型训练、动画生成方法及装置 | |
CN114332155A (zh) | 基于深度学习的运动人体分割方法和系统 | |
CN104361629B (zh) | 一种基于流线变形的烟模型空间编辑方法 | |
Van Haevre et al. | Physically-based Driven Tree Animations. | |
Jiang et al. | Animation scene generation based on deep learning of CAD data | |
CN116993872B (zh) | 一种基于Labanotation的人体动画生成系统、方法、设备及存储介质 | |
CN104361621A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20161012 Termination date: 20211102 |
|
CF01 | Termination of patent right due to non-payment of annual fee |