一种基于示例动画的人物运动模拟方法技术

技术编号:21202052 阅读:40 留言:0更新日期:2019-05-25 01:52
本发明专利技术涉及虚拟现实技术领域,且公开了一种基于示例动画的人物运动模拟方法,包括以下步骤:数据预处理阶段:步骤1:制作示例行走动作数据,通过动作捕捉设备结合美工修正的方式制作不同类型的基础示例行走动作,大量动作动画数据M={M1,M2,…,Mi}(1≤i≤Num)。该基于示例动画的人物运动模拟方法,根据用户需要设定虚拟人物行走时理想的前向速度、转向速度和横向速度,经过动作数据预处理阶段和混合行走动作实时计算阶段两个阶段,通过参数混合的方式实时驱动和控制虚拟人物在虚拟环境中进行运动,使得虚拟人物在虚拟环境中能够像真实人物一样自然的进行行走,有利于增强虚拟环境的逼真感与真实感,提高用户体验。

A Method of Character Motion Simulation Based on Example Animation

The invention relates to the field of virtual reality technology, and discloses a method of human motion simulation based on example animation, including the following steps: data preprocessing stage: step 1: making example walking action data, making different types of basic example walking action by combining motion capture device with artistic correction, and a large number of action animation data M={M1, M2,... Mi} (1 < I < Num). According to the user's needs, the ideal forward speed, steering speed and transverse speed of virtual human walking are set in this method based on example animation. After the pre-processing stage of action data and the real-time calculation stage of hybrid walking action, the virtual human moving in virtual environment is driven and controlled in real time by the way of parameter mixing, which makes the virtual human moving in virtual environment. Walking naturally like real people in virtual environment is conducive to enhancing the reality and reality of virtual environment and improving user experience.

【技术实现步骤摘要】
一种基于示例动画的人物运动模拟方法
本专利技术涉及虚拟现实
,具体为一种基于示例动画的人物运动模拟方法。
技术介绍
随着虚拟现实技术不断的发展,准确生动的模拟虚拟人物对虚拟环境的感知能力,做出真实的肢体反应,对提高虚拟现实的逼真性以及用户体验非常重要,虚拟人物通常可以在虚拟场景中做出各种各样的仿真肢体动作,比如行走、跳和抓等,其中虚拟人物通过行走可以在虚拟场景中进行漫游、巡查和寻路等,带给用户极大的真实感。目前在虚拟环境中模拟人物行走,通常通过已有的行走动作数据直接对虚拟人物进行驱动,该方法虽然可以保证人物运动的实时性并减少虚拟场景的实时计算压力,但是这种模拟方式只是重复读取行走动作数据并驱动人物行走,容易造成虚拟人物动作非智能化,同时人物缺乏对环境的感知能力与交互能力,降低了真实感与逼真感,如果不采用上述驱动方式,通常需要在虚拟环境渲染的每一帧都计算与虚拟环境交互的人物行走动作,难以保证虚拟环境渲染以及人物驱动的实时性,故而提出了一种基于示例动画的人物运动模拟方法来解决上述提出的问题。
技术实现思路
(一)解决的技术问题针对现有技术的不足,本专利技术提供了一种基于示例动画的人物运动模拟方法,具备能保证虚拟环境渲染以及人物驱动的实时性等优点,解决了在虚拟环境中模拟人物行走,通常通过已有的行走动作数据直接对虚拟人物进行驱动,该方法虽然可以保证人物运动的实时性并减少虚拟场景的实时计算压力,但是这种模拟方式只是重复读取行走动作数据并驱动人物行走,容易造成虚拟人物动作非智能化,同时人物缺乏对环境的感知能力与交互能力,降低了真实感与逼真感,如果不采用上述驱动方式,通常需要在虚拟环境渲染的每一帧都计算与虚拟环境交互的人物行走动作,难以保证虚拟环境渲染以及人物驱动的实时性的问题。(二)技术方案为实现上述能保证虚拟环境渲染以及人物驱动的实时性的目的,本专利技术提供如下技术方案:动作数据预处理阶段:步骤1:制作示例行走动作数据,通过动作捕捉设备结合美工修正的方式制作不同类型的基础示例行走动作,大量动作动画数据M={M1,M2,…Mi}(1≤i≤Num),Num为行走动画数据个数,然后通过动作美化工程师对捕捉的基本行走动作数据进行调整与精修,得到自然的人物行走动作,这些示例行走数据最终被抽象为虚拟人物骨骼的所有重要关节的旋转数据以及位移数据,然后手动的将每一个示例行走动作脚掌贴地的时刻打上时间戳,则某一个示例动作可以划分为多个子运动片段{Mi(t1→t2),Mi(t2→t3),…,Mi(tn-1→tn)}(n为该示例动作的总时间,t为时间戳);步骤2:动作数据参数化,根据示例行走动作的运动数据提取三个运动参数:前向速度、转向速度和横向速度,分别计算每一个动作的前向速度vf,转向速度vt,横向速度vs,通过这种信息提取方式,将每一个行走动作参数化表示为Pi=(vf,vt,vs)(i表示第i个动作),所有的参数点构成参数点集合P={P1,P2,…,Pi}(1≤i≤Num);步骤3:构建参数化三维空间,在得到参数点集合P之后,以前向速度vf作为y轴参考,转向速度vt,作为x轴参考,横向速度vs作为z轴参考构建参数化三维空间,则步骤2中得到的参数点则会分布在此三维空间的范围,以动作的三个运动参数作为空间参考轴构建参数化三维空间;步骤4:构建参数化四面体,在上述构建的三维参数空间内,根据提取的行走动作参数点通过手动或者自动的方法构建参数化四面体,在示例动作数据量较少的情况下,可以通过人工识别和手工连接运动参数点的方式构建参数化四面体集合;而在有大量示例动作数据的情况下,优选采用三维约束Delaunay三角化算法自动构建参数化四面体集合V={T1,T2,…,Tn},其中Ti=(Pj1,Pj2,Pj3,Pj4)(1≤i≤n),其中n为四面体个数,Pji表示某个行走动作参数点,根据三维空间中的行走动作参数点构建参数化四面体。混合行走动作实时计算阶段:步骤5:设定理想的行走动作参数,用户根据自身需求设定行走动作参数PC=(vcf,vct,vcs),其中Vcf为所设定的理想前向速度,Vct为所设定的理想转向速度,vcs为所设定的理想横向速度;步骤6:搜索邻近参数化四面体,根据步骤5所设定的目标行走动作参Pc在参数化四面体集合V内搜索距离最近的参数化四面体,一般情况下,Pc通常会处于参数化四面体集合V的某个四面体内部,则包含Pc的四面体为Pc的最邻近参数四面体,另外,对于Pc不处于参数化四面体集合V中任何一个四面体内部的特殊情况,则通过实时射线碰撞检测算法搜索距离Pc最近的四面体,并通过点面几何处理算法获取该四面体所有三角面中与Pc距离最近,且Pc位于该面外侧的三角面,该面记为S,为了后续动作混合计算结果的精确,Pc参数点最好处于参数化四面体内部,所以需要在Pc的最邻近的参数四面体上找到距离最近的点,记为Pcc参数点,用于替换参数点Pc,参与后续步骤计算,在本专利技术中,通过寻找三角面S上与Pc参数点距离最近的一点作为Pcc参数点,然后使用Pcc参数点的参数值替换所设定的Pc的参数值,这种计算方式仅仅针对于上述特殊情况;步骤7:计算动作混合权重值,通过步骤6可以得到所设定动作参数Pc的最邻近参数化四面体,该四面体的四个参数顶点分别为{P1,P2,P3,P4},Pi=(vfi,vti,vti)(1≤i≤4),Pc参数点位于该四面体内部,则:其中w1为P1参数点的混合权重,w2为P2参数点的混合权重,w3为P3点的混合权重,且上式可展开为:则w1,w2,w3可以通过求解以下矩阵方程进行计算:在w1,w2,w3计算完成之后,P4点的混合权重w4可以通过下列公式进行求解:w4=1-(w1+w2+w3)步骤8:合成行走动作,通过步骤7可以得到参数化四面体的四个参数点的混合权重,设该参数四面体相关联的四个基础示例动作为{M1,M2,M3,M4},设根据参数Pc所合成的动作为Mresult={Mresult(t1→t2),Mresult(t2→t3),…,Mresult(tn-1→tn)},则Mresult在某个时间片段运动数据可以通过以下公式进行计算:其中参数t表示时间,参与上述公式计算的主要为四个示例动作的根节点的位移信息以及所有关节的旋转信息,最后通过上述公式根据混合权重计算出符合给定运动参数的合成动作;步骤9:驱动人物行走,根据步骤8得到的合成动作数据,渲染引擎实时驱动虚拟人物模型做出与合成动作数据相符合的行走动画,步骤5-步骤8描述的是渲染引擎刷新一帧的时间内所需计算的内容,用户可以根据虚拟人物需到达行走目标点的位置以及虚拟人物在当前帧的位置,实时计算虚拟人物在下一帧的前向速度、转向速度和横向速度,然后通过步骤5-步骤8实时计算虚拟人物在下一帧的行走动作,通过上述算法可以自动驱动虚拟人物进行行走,并且自动调整行走方向,以到达目标点,由于上述算法效率可以满足渲染引擎实时渲染的性能要求,所在虚拟环境中可以驱动虚拟人物做出连续的行走动作并到达目标点。优选的,所述渲染引擎并行渲染人物模型以及虚拟场景可通过Unity3D渲染引擎或者UnRealEngine4实现。优选的,所述Unity3D渲染引擎或者UnRealEngine4渲染引擎接收合成的行走动作数据本文档来自技高网...

【技术保护点】
1.一种基于示例动画的人物运动模拟方法,其特征在于,包括以下步骤:动作数据预处理阶段:步骤(1):制作示例行走动作数据,通过动作捕捉设备结合美工修正的方式制作不同类型的基础示例行走动作,大量动作动画数据M={M1,M2,…,Mi}(1≤i≤Num),Num为行走动画数据个数,然后通过动作美化工程师对捕捉的基本行走动作数据进行调整与精修,得到自然的人物行走动作,这些示例行走数据最终被抽象为虚拟人物骨骼的所有重要关节的旋转数据以及位移数据,然后手动的将每一个示例行走动作脚掌贴地的时刻打上时间戳,则某一个示例动作可以划分为多个子运动片段{M

【技术特征摘要】
1.一种基于示例动画的人物运动模拟方法,其特征在于,包括以下步骤:动作数据预处理阶段:步骤(1):制作示例行走动作数据,通过动作捕捉设备结合美工修正的方式制作不同类型的基础示例行走动作,大量动作动画数据M={M1,M2,…,Mi}(1≤i≤Num),Num为行走动画数据个数,然后通过动作美化工程师对捕捉的基本行走动作数据进行调整与精修,得到自然的人物行走动作,这些示例行走数据最终被抽象为虚拟人物骨骼的所有重要关节的旋转数据以及位移数据,然后手动的将每一个示例行走动作脚掌贴地的时刻打上时间戳,则某一个示例动作可以划分为多个子运动片段{Mi(t1→t2),Mi(t2→t3),…,Mi(tn-1→tn)}(n为该示例动作的总时间,t为时间戳);步骤(2):动作数据参数化,根据示例行走动作的运动数据提取三个运动参数:前向速度、转向速度和横向速度,分别计算每一个动作的前向速度vf,转向速度vt,横向速度vs,通过这种信息提取方式,将每一个行走动作参数化表示为Pi=(vf,Vt,Vs)(i表示第i个动作),所有的参数点构成参数点集合P={P1,P2,…,Pi}(1≤i≤Num);步骤(3):构建参数化三维空间,在得到参数点集合P之后,以前向速度vf作为y轴参考,转向速度vt,作为x轴参考,横向速度vs作为z轴参考构建参数化三维空间,则步骤(2)中得到的参数点则会分布在此三维空间的范围,以动作的三个运动参数作为空间参考轴构建参数化三维空间;步骤(4):构建参数化四面体,在上述构建的三维参数空间内,根据提取的行走动作参数点通过手动或者自动的方法构建参数化四面体,在示例动作数据量较少的情况下,可以通过人工识别和手工连接运动参数点的方式构建参数化四面体集合;而在有大量示例动作数据的情况下,优选采用三维约束Delaunay三角化算法自动构建参数化四面体集合V={T1,T2,…,Tn},其中Ti=(Pj1,Pj2,Pj3,Pj4)(1≤i≤n),其中n为四面体个数,Pji表示某个行走动作参数点,根据三维空间中的行走动作参数点构建参数化四面体。混合行走动作实时计算阶段:步骤(5):设定理想的行走动作参数,用户根据自身需求设定行走动作参数PC=(Vcf,Vct,Vcs),其中Vcf为所设定的理想前向速度,Vct为所设定的理想转向速度,Vcs为所设定的理想横向速度;步骤(6):搜索邻近参数化四面体,根据步骤(5)所设定的目标行走动作参Pc在参数化四面体集合V内搜索距离最近的参数化四面体,一般情况下,Pc通常会处于参数化四面体集合V的某个四面体内部,则包含Pc的四面体为Pc的最邻近参数四面体,另外,对于Pc不处于参数化四面体集合V中任何一个四面体内部的特殊情况,则通过实时射线碰撞检测算法搜索距离Pc最近的四面体,并通过点面几何处理算法获取该四面体所有三角面中与Pc距离最近,且Pc位于该面外侧的三角面,该面记为S,为了后续动作混合计算结果的精确,Pc参数点最好处于参数化四面体内部,所以需要在Pc的最邻近的...

【专利技术属性】
技术研发人员:高春鸣
申请(专利权)人:湖南深度体验智能技术有限公司
类型:发明
国别省市:湖南,43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1