APP下载

三维人体运动数据有效性检索与驱动技术

2023-02-27王春兵

电视技术 2023年12期
关键词:骨骼动画人体

王春兵

(常州纺织服装职业技术学院,江苏 常州 213100)

0 引言

动作捕捉(以下简称动捕)技术是一种通过特定的设备采集人体的运动数据并将其转化为数字模型的技术。在动画制作领域,动捕技术已成为一种重要的制作手段。通过动作捕捉,制作人员能够将表演者真实的动作转化为数字数据,然后在动画中再现这些动作[1]。近年来,三维人体运动数据捕捉技术已经进入实用化阶段,越来越多的研发机构相继推出了多种商品化的运动捕捉设备,如Qualisys、Sega Interactive、MAC、X-Ist、Filmbox、Motion Analysis、VICON、青瞳视觉及NOKOV 等,成功地用于虚拟现实交互、模拟训练、医疗、数字游戏及人体智能工程学研究等领域。本文以某项目中三维动画角色动作制作为例,深入探究如何使用动捕系统完成动画制作,使用有效检索方法提高运动数据库检索应用效率。

1 三维人体运动捕获数据生成与优化

人体共有206 块骨骼,已明确命名的关节共有78 个。人体呈现的运动动态多样,骨骼、肌肉等构造十分复杂。在运动学中,骨骼伸展与肌肉伸缩共同控制整个人体的运动状态。通过采集身体肌肉细微的变化来制作动画,无疑增加了制作的难度[2]。因此,通常会选择能表征人体行为的关键身体部位形成简化骨骼模型,来表现人体整体动态。在实际项目创建中一般捕测15 个左右的关节点,建立人体骨骼模型,用来表征人体运动。这种骨架模型通常以髋关节作为根节点(即根骨骼),其他节点均为根节点的子节点,一起构成一种树状枝干结构。人体运动时,根关节点的运动状态带动子关节运动,具有联动关系。运动状态体现在三维虚拟空间中各坐标轴坐标的数值变化。当然,在影视动画制作中,如果需要精细的动作捕获设备,就要采集面部、指节等肢体部位非常细节的骨骼点。

通常,先将人体动作捕获的数据由动作捕获设备传感器采集传输到数据系统,再对数据进行分析,核查三维人体运动姿态显示的节点遗漏、数据错误及数据跳动幅度较大等状况,可用平滑滤波与数据约束对三维姿态数据进行处理优化,完善关节点信息,将捕捉的数据进行处理后更贴近人体运动状态[3]。通过数据判断分析、修复、优化和平滑数据4 个过程对人体三维数据进行处理。根据该方法,能很好地解决数据波动、遗漏、残缺等情况下的节点错误等问题。

2 动画驱动技术

动画驱动技术实现动捕数据驱动虚拟人模型,将动作数据转化为动画。利用关键帧插值、逆向运动学和BlendShape 技术,控制虚拟体的运动轨迹,制作流畅生动的动画效果。动画驱动关键技术主要有关节动画技术、运动编辑技术及角色造型技术3 类。关节动画技术包括骨架控制、关节骨架系统、设置和控制角色关节点动画以及分层系统,采用运动学方法数据驱动控制点。运动编辑技术可以弥补运动捕捉结果中的问题,通过编辑数据精确重建运动,给动画师带来极大的便利。角色造型技术利用曲面模型,增强层次模型真实感。

2.1 动画生成技术

2.1.1 关键帧插值生成动画

人体骨骼模型可以根据父子关系来计算动作状态,运用运动学的解算来驱动人体动画,但人体运动模型处理速率最高为20 f·s-1,很难顺畅地播放模型运动,因此还需要使用关键帧插值算法,以提高处理速率,产生更好的动画效果[4]。关键帧插值算法的原理是选定关键帧,由插值算法生成中间过渡帧,模拟过程动画。一般先由技术较好的动画原画师制作关键帧,再让助手中间画师根据关键动画来制作中间动画。中间过渡部分已经可以由计算机自动生成。位置、旋转角度等作为参数实现插值方法,得到中间动画。

2.1.2 逆向运动学生成动画

研究者们设计了许多以物理运动原理为基础的模拟人体运动的方法,如力学中比较经典的运动学,包括正向运动学和逆向运动学等。运动学中的骨骼点之间具有层级关系,这与骨骼模型有些共同点。而正向运动学是以设置明确的关节角度信息来调整身体关节的空间位置和动作,与骨骼模型相似的是子骨骼的信息是根据设定的父层级骨骼点的位置、缩放、旋转等数据来进行计算的。以根节点为起点,沿着树形结构链一次求解各子节点相对于父节点的旋转位移信息。每骨骼位置都由父节点的状态决定[5]。根据逆向运动学,可以根据子节点带动所有父节点,一层一层地传递运动约束。较少的迭代次数实现快速且稳定的运算。其旋转角度被控制在生理约束范围之内,能得到符合人体运动规律的运动数据。

2.2 动画驱动系统

动画驱动系统生成不同类别的动画效果,通过处理面部表情动画、姿态动画、融合动画来获得。这种系统的主要优势在于利用双相机,无须表演者穿戴特殊设备就可以同步捕获人体表情,普通用户就能使用,而且能够驱动生成动画来自3ds MAX 等模型系统创建的通用模型,适应性广泛。除此之外,系统还可以实时生成虚拟动画,不需要经过复杂的中间处理环节。

2.3 动画驱动过程

2.3.1 虚拟人姿态驱动

虚拟人体动作动画驱动主要是通过导入虚拟体模型和采集的表演者运动数据,创建对应的映射关系,使得人体姿态数据与虚拟人骨架名称对应。之后将人体运动数据处理后的三维坐标数据导入Unity 引擎,将对应的骨骼位置数据附加到虚拟人体模型骨骼。对人体姿态数据可用关键帧插值方法进行处理,使得模型运动状态正常。再用IK 动画解算让动作变得平滑,防止因数据波动差异过大出现模型交错、邻近关节不融合等问题。最后,按照发送帧率刷新处理绑定好的模型骨骼数据,就能获得模型的动画驱动效果。

2.3.2 面部表情动画驱动

人的脸部骨骼比较复杂,若使用骨骼点方式来控制大量骨骼运动,很难获得生动的面部表情动画。在3ds MAX 或者Maya 软件中对角色模型面部进行骨骼绑定,再创建BlendShape 表情控制器,映射对应计算出来的AU。在Unity 引擎中导入角色模型,捕获时选择面部行为单元模块,捕捉的面部动作数据通过传输控制协议(Transmission Control Protocol,TCP)网络通信导入Unity 引擎。通过设置各种表情权值参数来驱动关联的控制器,就可以获得实时的表情动画。人体模型可链接两个及以上的表情变形器,根据调整设置“变形器重力”参数对AU 的权重进行设置。建立好控制参数与模型的映射关系,动画的变化只与控制参数相关,与模型本身没有关系。通常情况下,可使用相同组参数来控制不一样的面部骨骼,因此表情数据的通用性在一定程度上得到增强。

3 三维人体动作捕获检索及动画驱动系统平台

本节通过某项目三维动画来分析讨论三维人体运动捕捉检索与驱动技术。该需要制作一个男孩角色在三维空间中走路和摆臂的动作。首先使用Xsens 惯性动捕系统,通过Xsens 软件进行数据采集,获取人体不同部位的动作数据。其次,将采集到的数据进行处理,清除噪声,优化数据。导入动捕数据,需要理解动作捕捉数据的应用,将数据赋予动画角色。通过使用Xsens 动捕系统,制作团队成功捕捉到表演人员的系列动作,并将动捕数据应用到动画角色的身上。最终动画角色的动作不仅逼真流畅,而且生动活泼,如图1、图2 所示。这里的关键问题是,要想完成有效的运动数据捕获以及检索和动画驱动,需要搭建一套系统的开发平台,从而生成数据并进行数据驱动技术相关设定。

图2 三维动画数据驱动参数设置

3.1 系统开发平台搭建

3.1.1 三维人体运动数据捕获系统平台

根据采集方式的不同,动捕技术可分为惯性动作捕捉、光学动作捕捉和面部表情捕捉等。Xsens惯性动捕系统是一种广泛应用于动画制作领域的动作捕捉系统,采用了惯性传感器与专门的分析软件相结合的方式,能够实时捕捉人体的动作数据并将其转化为动画。Xsens 惯性动作捕捉系统能够真实地捕捉到人体的动作,使动画角色的动作更加真实、自然、生动,提高动画的逼真度,具有高精度、可靠性、稳定性以及易于操作的特性,还具有实时渲染能力,可以帮助制作人员更好地掌握动画的制作进度,提高工作效率。例如,Xsens MVN 系统量身定制的软硬件可确保实时、可靠、准确的人体运动分析,Xsens 的微型运动追踪器能够捕捉到身体高动态运动中出现的极小的抽搐,从而确保3D 运动分析的完整性;专用信号通道可以处理实时且强大的数据连接,经过验证的MVN Analyze 生物力学模型和传感器融合算法可确保高质量的运动分析,即使在具有挑战性的磁干扰环境中也是如此。

3.1.2 动作捕获数据驱动三维模型动画平台

Unity 是一款兼容性较强的引擎交互设计开发平台,工程设计师可以将其用在制作电影动画、游戏界面交互、虚拟现实设计、医疗康复以及体育虚拟仿真模型等领域。该平台支持C#和JavaScript 程序语言,设计人员可以用Unity 根据项目要求进行相关场景建设,拥有系统的开发工具和全面的技术社区服务。Unity 开发的游戏可以应用在Windows系统、安卓系统等多种平台,可以将3ds MAX 或Maya 等软件制作的场景文件导入平台中,将项目模块中的虚拟角色模型、场景模型、道具模型按照项目开发运行要求进行参数设定与调试,从而完成动画驱动程序。将Xsens 惯性动作捕捉系统平台捕获后处理的数据进行分析检索,以数据驱动三维模型动画,核心技术是使用运动学等方法结合关节点位置或相对旋转信息求解人体姿态。在本次项目中,利用计算优化好的人体动态数据,在Unity 引擎中设定参数驱动动画角色的运动。

3.2 系统开发平台比较性分析与讨论

本文搭建了在Maya 中建立场景角色模型,利用Xsens 惯性动作捕捉系统,与Unity 引擎程序开发平台连接,实现实时性驱动三维动画的系统。与其他捕捉设备系统相比,该系统的主要优势包括:第一,非置入性。Xsens 动作捕捉技术采用非侵入性的传感器对人的动作进行捕捉和分析,无须对表演者进行任何形式的置入性操作。第二,高精度。Xsens 动作捕捉技术采用先进的传感器和算法,可以对人体的细微动作进行高精度的捕捉和分析。第三,实时性。Xsens 动作捕捉技术可以实时地对人体的动作进行捕捉和分析,为虚拟动画制作提供及时的信息反馈和调整建议。第四,个性化。Xsens动作捕捉技术可以根据动画的具体动作要求制定个性化的人体动作轨迹方案,提高动画制作效果与效率。

4 结语

针对大规模运动捕获数据的运动检索问题,本文研究了三维人体运动捕获数据的分析检索与驱动技术。在计算机虚拟现实制作项目乃至元宇宙构建中,利用动作捕捉数据驱动虚拟动画技术成为科技领域研究的热点之一。本文研究了三维人体运动数据有效性分析处理、利用动画驱动技术进行动画制作以及实时驱动虚拟人模型生成动画的方法,并在此基础上建立了人体三维数据捕获检索途径,对运动捕获数据进行处理、传输、归类、储存与提取,集合运动力学等运动形态进行数据驱动。通过某项目中三维角色动作数据应用实例,可以客观论证有效性检索与动画驱动技术自身的重要价值。

猜你喜欢

骨骼动画人体
人体“修补匠”
人体冷知识(一)
做家务的女性骨骼更强壮
三减三健全民行动——健康骨骼
排便顺畅,人体无毒一身轻
做个动画给你看
动画发展史
我的动画梦
奇妙的人体止咳点
骨骼和肌肉