您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 基于Jack的逼真化虚拟人运动编辑技术研究rev1
基于Jack的逼真化虚拟人运动编辑技术研究滕丽丽1,滕俊章2,罗小妮1(1.济南职业学院,山东济南250014,2.国防科学技术大学,湖南长沙410073)摘要:针对人机工程仿真中虚拟人运动的逼真性问题,提出了一种基于视域约束和平衡约束相结合的运动编辑方法。通过运动数据映射将BVH格式运动捕获数据重定向到Jack角色模型上,采用视域约束使虚拟人视线跟踪操作物体,采用平衡约束对虚拟人行走过程进行编辑,保证虚拟人操作手眼协调,且具有一定的物理逼真性。仿真结果表明,该方法可以提高数据的重用性,实现虚拟人的手眼协调,提高人机工程仿真中虚拟人运动的逼真性。关键词:虚拟人;视域约束;平衡约束;运动编辑中图分类号:TP391.9文献标识码:ARealisticMotionEditingBasedonJackPlatformTENGLi-li1,TENGJun-zhang2,LUOXiao-ni1,LUZhi-guo2(1.JinanVocationalCollege,JinanShandong250014,China)(2.NationalUniversityofDefenseTechnology,ChangshaHunan410073,China)ABSTRACT:Aimingatrealisticmotioncreationforergonomicsapplication,wepresentedanapproachtoedithumanmotioncapturedata,whichcombinesviewshedconstraintsandbalanceconstraints.BVHformatmotioncapturedatawasretargetedtoJackcharacterbymotionmappingmethod,andviewshedconstraintswereusedtotrackmovementofhandlingobjectsbyhands,andbalanceconstraintswerealsousedtomakeJackcharacter’walkingmotionphysicallyfeasible.Simulationresultsprovethisapproachcanimprovemotiondatareusability,andmakemotionsharmoniousbetweenvirtualhumaneyesandhands.Asaresult,itwillstrengthentherealistichumanmotionsimulationinergonomicsapplication.KEYWORDS:virtualhuman,viewshedconstraints,balanceconstraints,motionediting1引言近年来随着运动捕获技术的飞速发展,大量真实感的人体运动数据可以捕捉得到。如何提高运动数据的重用性已成为三维动画领域研究的热点之一。然而,由于捕获数据与捕获对象和场景相关性强,直接使用已有的运动捕获数据难以生成逼真的人体运动。目前,运动编辑方法主要分为两大类[1]:基于约束的方法和基于运动信号处理的方法。基于约束的方法主要考虑在运动编辑时引入时空约束、运动学约束、物理约束等约束类型,并设计一个目标函数,在满足约束下通过优化目标函数对问题进行求解[2-3]。基于信号处理的方法将运动捕获数据看作随时间变化的信号,采用信号处理的技术从捕获数据中提取出运动特征,通过编辑提取的特征并映射到新的角色模型上,完成对运动的编辑和合成[4-6]。在人机工程应用领域,使用运动编辑技术可以提高人体运动仿真的逼真性,有助于更好地人素分析。目前市场上主流的商业人机工程分析软件主要包括:Jack、RAMSIS、SafeWork、ANTHROPOS、BodyBuilder、ERGO、SAMMIE、AnyBody。其中Jack是EAI公司推出的一款人机工程仿真分析评价软件,具有视域分析、可及度分析、静态施力分析、NIOSH提升分析、RULA分析等多种人机分析功能,已在航空、汽车、军事等领域得到广泛应用。为了在Jack场景中重用已有的运动捕获数据,使运动既具有视觉上逼真性,又具有一定的物理真实性,本文提出了采用视域约束和平衡约束相结合对运动进行编辑。2运动重定向2.1角色关节层次模型映射运动重定向需要将运动捕获数据重定向到目标角色模型上。根据目标角色模型与原捕获角色模型的差异,目标角色模型可以分为三类:(1)相同关节结构不同肢体长度角色模型;(2)不同关节结构的角色模型;(3)非关节结构角色模型。本文提出的运动重定向,主要实现将BVH格式运动数据重定向到Jack角色模型上。XYZ图1BVH角色骨架模型与Jack角色骨架模型如图1所示,BVH角色骨架模型与Jack角色骨架模型间存在不同关节结构,即在关节坐标系定义、关节个数、关节自由度三方面存在差异。为将关节运动数据重定向到Jack角色关节上,我们在常见的BVH角色关节层次模型与Jack角色关节层次模型之间建立如下映射,如表1所示。表1关节映射表BVH关节名Jack关节名HiprootLeft_Thighleft_hipLeft_Shinleft_kneeLeft_Footleft_ankleRight_Thighright_hipRight_Shinright_kneeRight_Footright_ankleTrunk_compwaistNeckbase_of_neckHead_compatlanto_occipitalLeft_Shoulderleft_shoulderLeft_Forearmleft_elbowLeft_Handleft_wristRight_Shoulderright_clavicle_jointRight_Forearmright_shoulderRight_Handright_elbow2.2运动数据映射运动数据映射通过提取BVH数据文件中每一帧关节角,并进行坐标系变换计算出关节的旋转矩阵,并通过校正计算得到Jack角色对应关节的旋转矩阵,对此旋转矩阵反求Jack角色关节欧拉角实现。2.2.1初始姿态对准由于BVH关节层次模型与Jack关节层次模型定义存在差异,运动重定向分两个步骤完成:初始对准和运动数据映射。初始对准主要计算初始关节角为零时两个关节层次模型对应关节之间的校正矩阵,以便在运动数据映射时保持关节之间的旋转方向一致。计算时从根节点开始,逐层计算对应关节之间的校正矩阵。参考图1,以右肩关节为例,BVH层次模型中的右肩关节须绕Z轴旋转90度后才能与Jack层次模型中右臂方向一致,则其初始校正矩阵为)90(zR。同理,左肩关节初始校正矩阵为)90(zR。2.2.2运动数据映射运动数据映射将BVH关节的运动数据重定向到Jack角色关节上。不妨以t时刻BVH角色模型中第i个关节为例,设该关节当前时刻的欧拉角为),,(A,且欧拉角旋转顺序为ZYX,Jack角色模型中与该关节对应的关节欧拉角旋转顺序亦定义为ZYX,则Jack角色模型上对应关节的欧拉角计算方法如下:1)计算BVH关节t时刻旋转矩阵)()()()(XYZiRRRtR(1)2)计算Jack角色对应关节的旋转矩阵设BVH角色模型上该关节的初始校正矩阵为MR,则映射到Jack角色上对应关节的旋转矩阵为:)()('tRRtRiMi(2)3)反求欧拉角[7]从公式(2)计算结果反求欧拉角,设333231232221131211')(aaaaaaaaatRi(3)若Jack角色上对应关节从初始位置分别绕自身XYZ,,轴依次转过,,欧拉角与)('tRi重合,则可按如下公式计算欧拉角:)/arctan(1121aasincosarctan211131aaasincoscossinarctan12222313aaaa(4)3基于约束的运动编辑3.1视域约束对于某些仿真动作,如搬运、绕过危险障碍等,完成时需要引起虚拟人的注意力。本文引入视域约束对这些动作进行编辑。虚拟人的视域模型用一个锥体加球冠表示,球的半径表示视线长度,圆锥体顶角角度范围表示视线角度范围,如图2所示。上限下限视角范围眼睛OABC物体图2视域模型示意图视域约束可以通过调整头部或者眼睛,使虚拟人的视线中心OC延长线与操作物体相交。Jack软件提供脚本函数LookAt可以对虚拟人视线进行约束,该函数输入带有两个参数,一个参数是调整类型,即调整头部或调整眼睛,另一个参数是待跟踪的物体名称。使用该函数可以使虚拟人的视线约束在操作物体上。3.2平衡约束通过重定向将运动数据映射到Jack角色模型上后,原始的运动数据驱动Jack角色可能会出现一些失稳的姿势。因此,为使Jack角色模型能在保持平衡条件下完成运动捕获动作,我们引入平衡约束对运动进行编辑。常用的人体平衡控制方法有:(1)运动学约束;(2)逆向运动学控制;(3)时空约束;(4)动力学控制器。这里,我们采用运动学约束来对虚拟人进行平衡控制,即将虚拟人的质心投影维持在支撑区域内。虚拟人的行走过程一个周期可分为四个阶段(1)右脚支撑;(2)双脚支撑;(3)左脚支撑;(4)双脚支撑。通常,在一个行走运动周期内,单脚支撑阶段的时间总和是双脚支撑阶段的时间总和的三倍略少一点[8]。图3双脚支撑时不平衡姿势与平衡姿势由于实际人体行走是一个动态平衡的过程,完全采用静态平衡的方法对其约束并不适合。我们仅对双脚支撑阶段人体行走进行平衡约束,通过调整虚拟人的双脚位置确保虚拟人的质心投影位于支撑区域内。参考图4,具体调整算法如下:step1计算人体质心在地面投影位置cH;step2确定前后脚的位置;设两脚与地面接触区域的中心分别为BAPP,,分别计算AcPH,BcPH向量与人体中心X轴的夹角余弦值,若大于0为前脚,若小于0为后脚。step3根据前脚在地面上的投影凸多变形计算其中心位置nPPnififc/1,其中fiP为凸多变形各顶点,设凸多边形顶点个数为n;step4估算后脚的移动位置bcP;设cH为后脚调整后的支撑区域的中心位置,则fcP,cH,bcP满足三点共线,且cbccfcHPHP根据上述算法估算出bcP,即为后脚需要调整到的位置。HcPfPbPB(PA)图4支撑区域调整示意图4实验结果本文在Jack4.0平台上采用JackScript和Python编程语言实现对BVH动画文件的运动重定向和编辑,BVH数据文件来自美国俄亥俄州大学面向艺术和设计的高级计算中心实验室(ACCAD)提供的运动捕获数据[9]。图5-8是运动重定向和运动编辑后的实验结果。图5,6中的曲线表示角色质心位置的运动轨迹。图5角色搬运动作的捕获运动图6运动编辑后Jack角色的搬运动作图7角色高兴走路时的捕获运动图8加入平衡约束后Jack角色高兴走路动作5总结人机工程仿真分析主要基于人机工程仿真对产品进行人体工效学分析。其中,虚拟人的运动仿真是人机工程仿真的重要内容。本文主要针对人机工程仿真中的虚拟人运动逼真性问题,提出了一种基于视域约束和平衡约束相结合的运动编辑方法。该方可以提高运动数据的重用性,增强人体运动仿真的逼真性,为进一步改进产品设计以及人素分析提供逼真的仿真环境,具有重要的工程意义。参考文献:[1]孙军,唐少敏.三维动画中运动重定向技术研究[J].科技信息(科学教研).2006(10):40-42.[2]GleicherM.Retargettingmotiontonewcharacters[C].ACMPress,1998.[3]BindiganavaleR,BadlerNI.MotionAbstractionandMappingwithSpatialConstraints[C].London,UK:Springer-Verlag,1998.[4]Bruderlin
本文标题:基于Jack的逼真化虚拟人运动编辑技术研究rev1
链接地址:https://www.777doc.com/doc-2570122 .html