好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

一种面向异构拓扑的角色运动重定向方法.docx

3页
  • 卖家[上传人]:ting****789
  • 文档编号:309459605
  • 上传时间:2022-06-13
  • 文档格式:DOCX
  • 文档大小:20.06KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 一种面向异构拓扑的角色运动重定向方法专利名称:一种面向异构拓扑的角色运动重定向方法技术领域:本发明涉及计算机图形和数字媒体娱乐技术领域,尤其涉及一种面向异构拓扑的角色运动重定向方法背景技术:计算机动画技术一般可以分为基于关键帧的动画,基于运动学的动画,基于物理模型的动画和基于运动捕获的动画等几大类其中,基于捕获数据的人体动画技术具有比较突出的优势因为由于人物的运动模型非常复杂,包括上百个自由度,所以创建一个真实的和完全的运动模型,是非常困难的,采用捕获设备来获取并记录真实的运动轨迹则成为一种现实的选择为了获得逼真的效果,可以通过捕获一个真实的原始角色运动作为原型,这样可以避免创建物理模型的困难基于运动捕获的动画技术,借助于专门的捕获设备直接获取演员的真实运动,然 后将运动数据映射到动画角色上和传统的动画制作方法相比,该方法能够使得角色的动作效果更加逼真、自然,并且动画制作所需的工作量、工作难度和工作强度大大降低由于上述优点,结合运动捕获的动画技术现已成为计算机动画领域最具活力的方法利用运动编辑技术对通过运动捕获设备采集的动作数据进行修改,再用这些动作数据来驱动动画角色模型的运动,制作出逼真的动画,这就是运动重定向技术。

      而运动捕获数据针对的是特定的人或物,面对的是特定的场景,运动重定向技术可以按照动画师的要求,编辑和重用运动捕获数据,降低成本,制作出具有逼真和复杂动作效果的虚拟角色运动重定向技术以重定向后动作的真实感为目标,致力于研究具有普遍适用性的重定向技术,提高动作的重用率,同时保持动作的逼真性目前对运动重定向技术的研究主要集中在具有相同骨骼拓扑结构中,主要关注的是重定向结果的真实性与实时性,因此对具有相异骨骼拓扑结构的重定向研究就显得十分必要了对姿态各异,骨骼拓扑结构各不相同的运动重定向研究可以进一步降低动画制作的成本,大幅度提高动作数据的重用率,有利于促进计算机动画和计算机角色类游戏的发展,也将给观众和玩家带来更加真实和震撼的视觉效果通过运动捕获仪器从特定的人或者动物身上捕获的动作数据,把这些数据重定向到具有不同的关节拓扑结构,骨骼长度,甚至不同种类的角色身上时,必然会发生动作的失真失真是不可避免的这就违背了运动重定向的初衷,即真实而流畅本发明通过一种面向异构拓扑的角色运动重定向方法,实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题发明内容本发明的目的是提供一种面向异构拓扑的角色运动重定向方法,对姿态各异,骨骼拓扑结构各不相同的运动重定向,进一步降低动画制作的成本,大幅度提高动作数据的重用率,同时实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题。

      为实现上述目的,本发明采取以下技术方案一种面向异构拓扑的角色运动重定向方法,基于已经获取的虚拟角色的动画信息,本发明的方法步骤如下 (1)根据虚拟角色的动画信息建立中间模型,得到虚拟骨骼模型之间关节的对应关系; (2)为中间模型建立运动数据,驱动中间模型运动; (3)重定向关节映射后,基于人体下肢运动规律消除重定向后的滑步现象; (4)采用插值的方法对运动进行修正,消除重定向后的跳帧现象; (5)通过添加各种物理约束条件,使重定向后的运动符合物理规律,生成动画关键帧序列 最好步骤在所述步骤(I)中,建立中间模型的方法是中间模型最初是目标模型的拷贝;调整中间模型每个关节的自由度索引,使之与源模型的一致;调整中间模型初始姿态,使之源模型的一致最好步骤调整中间模型的具体实现如下(l_a)根据源模型和目标模型建立初始中间模型;(l_b)调整中间模型中各个关节在局部坐标系中的方向,使之与源模型的一致;(1-c)调整中间模型的骨骼比例,对中间模型的上肢长度进行调整,使得中间模型上肢中每块骨骼与源骨骼的比例等于中间模型下肢与源模型下肢的比例最好步骤为中间模型建立运动数据的方法是如果源骨骼关节的坐标系旋转顺序与中间骨骼的坐标系旋转顺序不一致,通过建立旋转矩阵,提取符合条件的中间骨骼的关节欧拉角,用四元数QkOD表示关节k在t时刻的旋转量,设中间模型中存在关节A,在源模型中与之对应的关节为B,关节B的父关节C在中间模型中并不存在,那么关节A的旋转量(^(幻=Qc(t)QB(t)0最好步骤消除滑步现象具体步骤如下(3-a)首先判断哪只脚为支撑脚(假设为右脚),根据初始支撑脚的位置计算出当前根关节的位置;(3-b)根据支撑脚(右脚)计算出下一时刻根关节的位置,同时根据此时人体运动规律,判断摆动脚(左脚)是否着地,如果没有着地,则执行(3-b),如果着地则根据当前的根关节位置计算出当前时刻着地脚(左脚)位置,执行(3-c);(3-c)根据支撑脚(左脚)计算下一时刻根关节的位置,判断摆动脚(右脚)是否着地,如果没有着地,则执行步骤(3-c),否则根据当前的根关节位置计算出当前时刻着地脚(右脚)的位置,执行步骤(3-b)。

      最好步骤消除重定向后的跳帧现象具体步骤包括(4-a)对角色根关节位移采用类四次三角样条曲线插值算法来生成角色动画中间帧,在不改变控制顶点的情况下对曲线的形状和位置进行调整;(4-b)对关节朝向插值采用单位R4球面上的三次卡特莫尔基数样条(CatmulI-Rom)方法,将每段卡特莫尔基数样条曲线转换成贝塞尔(Bezier)的曲线形式最好步骤第(5)步具体步骤包括(5_a)对运动数据(分为腾空类和着地类)进行判断,当腾空阶段,对其进行动量约束和转矩约束;着地时期,对其进行动量约束和平衡约束,保持角色的零力矩点(ZMP)始终落在支撑多边形中;(5-b)运用不敏卡尔曼滤波器(Unscented Kalman Fliter)分别对上述两种物理建模进行求解综上所述,由于采用了上述技术方案,本发明的有益效果是将已经存在的动画(包括通过关键帧方法和运动捕获方法制作的动画),映射到拓扑结构不同的目标模型上,使目标模型具有相同的运动,从而进一步降低动画制作的成本,大幅度提高运动数据的重用率,极大地丰富动画库,同时实现运动重定向后的动作具有较强的真实感,一定程度上解决失真问题本发明将通过例子并参照附图的方式说明,其中图I源模型与目标模型之间的对应示意图2运动数据传递示意图3 CXD算法的二次迭代过程示意图4消除滑步示意图; 图5 ZMP多边形示意图。

      具体实施例方式本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合本说明书(包括任何附加权利要求、摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或具有类似目的的替代特征加以替换即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已下面参照附图和具体实施方式对本发明做详细说明建立中间模型,得到虚拟骨骼模型之间关节的对应关系 参见图I,具体步骤如下 Ca)根据源模型和目标模型建立初始中间模型中间模型最初是根据目标模型建立的,从根结点遍历目标模型,对于每一个节点,为中间模型创立对应的关节点,并建立起父子节点的关系,当遍历完目标模型时初始的中间模型就形成了,这时的中间模型和目标模型是完全一样的由于源模型与目标模型的关节数目与排列顺序不同,自由度索引必然不同,所以需要在创建每个关节时,调整其自由度索引,使之源模型的一致,这样在进行运动数据拷贝时,才能根据自由度索引定位源模型中每个关节的旋转数据并将之拷贝至中间模型所述的调整中间模型的自由度索引,需要建立源模型和目标模型关节的对应关系在进行关节对应时,对于如下四种情况,需要进行不同的处理 (a-1)对于两个模型中相同的关节,可以直接进行运动对应。

      a_2)源模型中的某些关节在目标模型中可能没有相应的节点,如图I中的锁骨、肩胛骨和腕关节,需要一个虚拟骨骼指出和目标模型中两个节点对应的源模型中节点之间的方向,该虚拟骨骼与目标模型中相应两个节点间的骨骼对应a_3)源模型中的整个关节链在目标模型中不存在,忽略该关节链所在的所有关节点a-4)源模型中两个结点之间位移为零,可忽略源模型中重复的结点,接着按照(a-2)的方法在源模型中建立虚拟骨骼b)调整中间模型中各个关节在局部坐标系中的方向,使之与源模型的一致方法为从根节点开始遍历中间模型,对于每一个关节点,根据其自由度索引找出对应的源模型关节,设U为源模型中的关节初始偏移向量,V为中间模型中的关节初始偏移向量,U和V的夹角为0,将V绕垂直于U和V的轴旋转0,即可使V和U的方向一致C)调整中间模型的骨骼比例对中间模型的上肢长度进行调整,使得中间模型上肢中每块骨骼与源骨骼的比例等于中间模型下肢与源模型下肢的比例设中间模型与源模型(在进行骨骼比例调整前,中间模型与目标模型的骨骼长度一致)的上肢比例为Uscale,下肢比例为Lscale,则对于中间模型上肢骨骼长度(Ien )进行如下调整Ien = Ien/Uscale LscalejP :中间模型上肢骨骼长度/源模型上肢骨骼长度=Lscale =中间模型下肢长度/源模型下肢长度,这样根据上肢或下肢的末端关节作为约束求的根结点位置时,能够尽量保证下肢或上肢满足约束条件。

      为中间模型建立运动数据,驱动中间模型运动如果在创建中间模型时不存在(a-2)、(a-4)的情况时,已经可以完成运动重定向了,否则我们还需要对中间模型的运动数据进行调整我们用四元数Q=(t)表示一条关节链中的第k个关节在t时刻其父节点在世界坐标系中的旋转量如果在创建中间模型时存在(a-2)、(a_4)的情况,中间模型的O〕和源模型的Q=(t)是不一样的,Q(t)比Q.(t)多乘了被忽略掉的关节在t时刻的自由度如对于(a-4)情况(图2),令源模型(马)的关节胸在t时刻的旋转数据为QUt),中间模型的为QlegtCt),有QU = QmpsWQupperbackCt), =为了使中间模型i亥关节链上从胸的子节点到末端关节所在的骨骼具有与源模型相同的方向,需要通= Qltegt(t) QUppeAMk(tM吏两个模型中关节胸时刻的旋转数据相同这样才能保证重定向后中间模型与源模型运动具有相同的运动姿态基于人体下肢运动规律结合反向运动学中的Cyclic Coordinate Descent(循环坐标下降)算法消除滑步现象由于不同的虚拟人模型之间骨架的几何长度上存在较大的差异,所以在重定向的关节映射之后,会出现人物脚部滑步的现象,采用基于人体下肢运动规律结合反向运动学中的Cyclic Coordinate Descent (CO))算法消除滑步现象。

      基本思想为首先判断支撑脚,假设当前支撑脚的位置在世界坐标系的原点再根据当前支撑脚的位置计算下一时间段内的根关节位置,依据人体运动的运动学规律,判断另一只脚着地的时刻,然后再根据这一只脚的位置计算下一时间段内的根关节位置具体实现如下设开始时刻为以右脚为支撑脚,左腿为摆动腿在时刻为运动开始的时刻,在时刻11为运动过程中某一姿态则在时刻,先根据初始右脚尖的位置^&计算在该时刻根关节在世界坐标系中的位置^^,,在从I,的下一时刻&到&时间段内的根关节位置同样根据来计算;假设在时刻,左脚着地,则根据当前根关节的位置Pil-,来计算左脚的位置I则在&时刻计算\和在U时刻辱的计算 假设在某一时刻,I3mS在标准初始状态下人体模型的根关节坐标为标准初始状态下经过旋转变换后支撑脚脚尖的坐标;rw为某时刻根关节在世界坐标系下的坐标;:PK为该时刻支撑脚脚尖在世界坐标系下的坐标.由于在同一时刻、同一运动姿态,在不同的局部坐标系下,根关节坐标与脚尖坐标的相对位置是不变的,因此有权利要求1.一种面向异构拓扑的角色运动重定向方法,基于已经获取的虚拟角色的动画信息,其特征在于该方法包括以下步骤 (1)根据虚拟角色的动画信息建立中间模型,得到虚拟骨骼模型之间。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.