张靖超郭林方
(1.安阳幼儿师范高等专科学校继续教育与对外合作交流中心安阳456150)(2.安阳幼儿师范高等专科学校公共教学部安阳456150)
基于双肩约束的虚拟人运动路径调整
张靖超1郭林方2
(1.安阳幼儿师范高等专科学校继续教育与对外合作交流中心安阳456150)(2.安阳幼儿师范高等专科学校公共教学部安阳456150)
虚拟人运动编辑最大的问题是滑步现象,目前常用关节点的平移旋转去滑步。此方法会使运动序列的根节点出现偏移,导致编辑后的运动路径与用户指定的路径的有较大的偏差。在正常的走、跑运动中,左右双肩分别在根节点的两侧。去滑步后的双肩必须满足在用户指定路径两侧这个约束条件,否则调整前邻近支撑脚的旋转角度,使编辑后的运动路径与用户指定的路径重合度得到提高。最后利用IUP+OPENGL+LUA搭建运动编辑系统验证了此方法的有效性。
双肩约束;路径偏差处理;运动路径;运动编辑;步长
Class NumberTP391
虚拟人动画技术是三维动画技术的一个重要分支并且一直是国际图形学界的研究热点之一。随着虚拟人技术的日益成熟,该技术在军事、医学、娱乐和艺术等领域起到了举足轻重的作用[1]。近年来,运动捕捉技术[2]由于其高效性,逼真性得到了快速的发展。但是由于运动捕捉设备的昂贵性、系统操作复杂、对人员场地要求过高等因素限制了此技术的大规模推广。为了提高捕捉数据的重用性,使之能够应用到新场景并满足用户的各种需求,需对捕捉到的数据进行编辑处理。
运动编辑[3]可以按照用户的需求修改运动捕捉的人体运动数据,提高了捕捉数据的重用率。基于路径的运动编辑[4]就是编辑原始运动(如走、跑等)使之能够在新路径上运动并尽量保持原始运动的细节,它是运动编辑研究的一个热点。编辑后的运动无滑步现象、运动自然无明显失真、编辑后的运动路径与用户指定路径重合度比较高是我们评价路径运动编辑方法的一个标准。本文提出利用去滑步后的双肩必须在用户指定路径两侧这个约束条件调整前邻近支撑脚的旋转角度,使编辑后的运动路径与用户指定的路径重合度得到提高。
2.1 运动路径
运动路径[5]是从运动中抽象出来的一个特征,包含运动位置信息和方向信息。一条运动路径是一个随时间变化的空间曲线,变化值为虚拟人角色在给定时间的空间位置。通常运动路径是指运动序列每帧根节点的连线在地面的投影,如图1。
图1 虚拟人根节点运动轨迹
2.2 步长
检测脚支撑约束是以步长[6]为单位的,这里步长定义为:周期运动的一个周期内的运动。若以行走为例,即任一脚开始着地的那一帧定义为一步的开始,同一只脚在次着地的那一帧的前一帧定义为这步的结束。
若以脚着地约束定义步长,本文把行走和跑步分为以下结果阶段,Lcon为左脚支撑阶段,Acon为双脚支撑阶段,Rcon为右脚支撑阶段,Ncon表示腾空阶段。图2详细介绍了行走运动根据支撑脚约束划分的一个步长,以及每个约束阶段脚的运动状态。
图2 行走一个步长脚尖的状态及约束
使用Gleicher[7]的方法进行运动路径变换得到带有滑步的运动序列,但运动序列的根节点全部垂直投影到用户指定路径上。然后利用关节点的平移旋转去滑步[8]导致运动序列的根节点出现偏移,使编辑后的运动路径与用户指定路径的有较大的偏差。通过观察发现正常人走或跑时左右肩分别在路径的左右两侧,本文规定双肩约束为去滑步后的双肩,必须在用户指定路径两侧,若不满足这个约束条件,则调整前临近支撑脚的旋转角度以改变运动方向使双肩重新满足约束条件。详细步骤如下:
1)判定去滑步后的双肩节点离用户指定路径最临近的线段。用户指定路径是用未去除滑步时根节点在地面投影的位置表示的。本文利用黄铁兰等[9]提出的方法判定去除滑步后的双肩节点与用户指定路径的关系。如图3所示:表示用户指定路径,表示去滑步前第i帧的根节点在地面的投影,表示去滑步后第k帧根节点在地面的投影。规定在用户指定路径上到最近距离点为去滑步后第k帧对应的在未去滑步的运动序列上的帧。若到距离最短,则线段双肩对应的最邻近线段。
图3 利用最短欧拉距离判定最邻近线段
2)利用向量叉乘判断去滑步后的运动是否满足双肩约束,如图4所示:的左肩,右肩对应的最邻近线段为
12
12
图4 判定双肩是否满足约束检测
3)当双肩在路径的同一侧时调整运动方向既调整旋转角θ。调整运动方向只能在支撑脚Lcon和Rcon阶段进行。
(1)利用向量叉乘判定运动序列任一帧在去滑步前后运动方向的关系。dk是某一帧去滑步后的运动方向,
·若zk≥0,则dk在用户指定路径方向的逆时针方向,如图6。
·若zk<0,则dk在用户指定路径方向的顺时针方向,如图7。
(2)调整支撑脚旋转角度;
原始运动序列经过编辑后,运动路径发生了改变,为使原始运动序列的运动方向与用户指定路径方向一致,原始运动序列每帧需旋转θ。
规定运动序列第k帧的运动方向为第k,k+1帧根节点连线的向量在地面的投影。在原始运动第k帧运动方向为,对应在新路径上为为使原始运动序列与新路径方向一致,原始运动第k帧需旋转θ,如图5所示。
图5 方向旋转θ度角
首先判定双肩同时在用户指定路径的哪一侧。
lk
rk
经过去滑步双肩在路径两侧的位置发生变化。
·若zlk>0,zrk>0,则双肩都在路径的顺时针侧。
·若zlk<0,zrk<0,则双肩都在路径的逆时针侧。
根据zk值的不同,双肩同时在用户指定路径的哪一侧的不同,有以下结论:
1)若zk≥0并且双肩在路径的同一侧,如图6所示,为满足双肩约束,调整此帧前临近支撑脚旋转角θk
图6 去滑步后的运动方向dk,dj在用户指定路径的逆时针方向,调整角度θm,θn使运动满足双肩约束
2)若zk<0并且双肩在路径的同一侧,如图7所示。为满足双肩约束,调整此帧前临近支撑脚旋转角θk
其中式(2~3)中φ>0,为了保持运动的连续性,φ值不能太大。
图7 原始运动方向dk,dj在用户指定路径的顺时针方向,调整角度θm,θn使运动满足双肩约束
本文采用LUA+UP+OpenGL编码,实验数据BVH[10]也均来自于卡内基梅隆大学提供的CMU数据库,如图8所示。
图9显示是否添加双肩约束对运动编辑的影响,(上)显示未采用双肩约束编辑后的运动图像,(下)显示采用双肩约束编辑后的运动图像。对比图9的(上)(下)可以看出添加双肩约束,编辑后的运动路径与用户指定的路径重合度更高。综上证明了本方法的可行性及有效性。
图8 虚拟人原始运动序列
图9 根据双肩约束调整运动方向,蓝线代表双肩轨迹,红线代表编辑后的运动路径轨迹,白线代表用户指定路径
本文重点介绍利用去滑步后的双肩必须在用户指定路径两侧这个约束条件,使编辑后的运动路径与用户指定的运动路径的重合度得到提高。实验证明本方法对普通的运动如走、跑有较好的效果,但对特殊运动如侧身走并没有什么效果。我们利用最邻近线段法判定双肩节点在用户指定路径上的最邻近线段,然后利用向量叉乘判定是否满足约束,若不满足约束条件需在上一步长中的支撑脚状态下加大或减小旋转角度使这之后的运动序列满足双肩约束。如何确定旋转角度的幅度值φ是今后研究的重点。
[1]李敏,韩丰.虚拟现实技术综述[J].软件导刊,2010,(9)6:142-144.
LI Min,HAN Feng.Summarizing of Virtual Reality Technology[J].Software Guide,2010,(9)6:142-144.
[2]刘贤梅,李冰,吴琼.基于运动捕获数据的虚拟人动画研究[J].计算机工程与应用,2008,44(8):113-114.
LIU Xianmei,LI Bing,WU Qiong.Virtual Human Animation based on Motion Capture Data[J].Computer Engineering and Applications,2008,44(8):113-114.
[3]沈娟,李建微.动作捕捉中的动画驱动及运动编辑技术综述[J].计算机与数字工程,2008,36(3):103-106.
SHEN Juan,LI Jianwei.Summarizing of Motion Capture Animation and Motion Editing Techniques[J].Computer &Digital Engineering,2008,36(3):103-106.
[4]陈志华,马利庄,李众,等.人体运动路径的编辑算法[J].计算机辅助设计与图形学学报,2006,18(5):651-655.
CHEN Zhihua,MA Lizhuang,LI Zhong,et al.Editing Human Motion Path[J].Journal of Computer-Aided Design &Computer Graphics,2006,18(5):651-655.
[5]王鑫,孙守迁,邵明.运动路径驱动的角色动画合成方法[J].计算机辅助设计与图形学学报,2009,21(3):319-324.
WANG Xin,SUN Shouqian,SHAO Ming.A Path-Driven Character Animation Synthesis Method[J].Journal of Computer-Aided Design&Computer Graphics,2009,21(3):319-324.
[6]李众,马利庄,陈志华,等.基于运动路径变换的人体运动编辑[J].计算机工程与应用,2006,42(17):86-89.
LI Zhong,MA Lizhuang,CHEN Zhihua,et al.Human Motion Editing on Path Transforming[J].Computer Engineering and Applications,2006,42(17):86-89.
[7]M.Gleicher.Motion path editing[C]//Proc.2001 ACM Symposium on Interactive 3D Graphics.New York:ACM Press.2001:195-202.
[8]Xiaoyue Guo,Shibiao Xu,WuJun Che,et al.Automatic Motion Generation Based on Path Editing from Motion Capture Data[J].Transactions On Edutainment,2010,4:91-104.
[9]黄铁兰,花卫华,刘修国.二维点与曲线位置关系判断的最邻近线段法[J].计算机应用,2005,25(b12):262-263.
HUANG Tielan,HUA Weihua,LIU Xiuguo.The Method to Judge the Relationship Between Adjacent Segments and the Position of the 2D Point Curve[J].Journal of Computer Applications,2005,25(b12):262-263.
[10]吴铃,侯进,徐芳.BVH文件驱动三维人体动画的实现[J].沈阳理工大学学报,2012,31(1):52-56.
WU Ling,HOU Jin,XU Fang.The Realization of 3D Human Animation by BVH[J].Journal of Shenyang Ligong University,2012,31(1):52-56.
Virtual Human Motion Path Adjustment Based on Double Shoulders Constraints
ZHANG Jingchao1GUO Linfang2
(1.Further-education and Foreign Exchange and Cooperation Center,Anyang Preschool Education College,Anyang456150)(2.Public Teaching Department,Anyang Preschool Education College,Anyang456150)
The biggest problem of virtual human motion editing is sliding phenomenon.At present,translation and rotation of the joint is often used to remove the slide.This method will lead to the offset of the root of the motion sequence and result in the great deviation between edited motion path and the user-specified path.The left and right shoulders are on both sides of our root node,in the normal walking,running sports.Using this constraint that the shoulders after removed the slide must be on both sides of the user-specified path or the rotation angle of the support foot is adjusted,so that the edited motion path and the user-specified path coincidence degree is improved.Finally,the IUP+OPENGL+LUA is used to build a motion editing system to verify the effectiveness of this method.
shoulders constraints,path deviation handling,motion path,motion editing,step
TP391
10.3969/j.issn.1672-9722.2017.06.016
2016年12月14日,
2017年1月21日
张靖超,男,硕士研究生,助教,研究方向:计算机动画、图形学、教育技术。郭林方,女,硕士研究生,助教,研究方向:教育学、教育技术。