计算机三维角色动画本质上是一个产品,结合计算机图形学和机器人技术,物理,数学,和艺术。它是基于计算机硬件和图形算法和相关科学迅猛发展的新技术。目前,主流角色动画技术是基于人工生产关键技术和捕捉框架基于运动捕捉设备技术。三维角色动画被广泛使用不仅生产电影,动画,和其他商业领域也在虚拟现实、计算机辅助教育、飞行模拟、工程仿真、军事仿真等领域。在本文中,我们试图研究物理学基础角色动画来解决这些问题,例如贫穷的实时交互出现在性格,利用率低,和复杂的生产。本文深入研究了运动学,动力学技术,生产技术基于运动数据。同时,分析了歌唱,物理运算引擎,子弹,和其他各种主流的物理引擎和研究OBB层次包围盒树,AABB层次树,和其他碰撞检测算法。最后,基于ODE实现角色动画,三轮车的运动和碰撞过程的仿真。
主流动画制作技术是关键帧技术基于人工生产和动作捕捉技术基于捕获设备。关键帧技术基于人工生产原动画组合技术。这取决于关键帧之间的生产和插值关键帧驱动连续动画播放。允许设计者创建动画的技术自己将以最大的自由度,但产品的技术不是很好自然的性能;此外,生产的过程相当复杂(
在日益增长的工业需求的背景下,增加用户体验的需求,和计算机相关技术的快速发展,上述两种常见的传统动画制作方法正变得越来越不能够满足设计和使用的要求。根本原因是两种技术结合使用离线方式在动画过程中为后期制作和存储,然后使用;因此,动画将负责相应的巨大的数据存储空间考虑其高质量和长期。此外,这种方法的最大的问题是贫穷率的实时和自适应性能,所以动画,花费大量的时间和金钱,可以一次只用于特定的环境。所有这些问题不适合计算机处理的当前快速的上升趋势和用户体验
这篇文章中,为了处理问题的实时性能差,利用率低,而复杂的过程,现有的角色动画生产过程中,角色动画模拟方法研究基于物理引擎和使用一个例子来实现该方法。
现在,角色动画一直是计算机图形学研究的焦点和困难。在这项研究中,有各种动画制作方法,可分类如下(
基于运动学的动画制作方法
基于动态动画制作方法
动画制作方法基于运动数据
简要介绍上述三种角色动画是下一个。
在物理力学运动学是一个非常重要的分支。在研究期间,对象抽象为刚体模型和粒子模型(
运动学方法分为正运动学和逆运动学。
在一个简单的运动系统,通常有两个目的。他们是自由端和固定端。正运动学描述的运动自由端与固定端系统的起点。正运动学方法:第一步是建立对象的层次结构,然后建立层次结构中的每个对象的旋转和位置。
另一个基于运动学模拟技术是逆向运动学方法(
使用以下公式表达逆向运动学的基本原理(
公式(
的公式,
物理动力学也是一个非常重要的分支,它研究力和运动之间的关系。动力学研究的基本理论是牛顿的运动定律。动力学研究的对象是一个宏观的对象,远低于光速。这种方法产生的动画有一个强大的物理现实,因为它是基于物理定律。
在角色动画仿真,运动学方法是计算各关节的位置和旋转角度的人物,和关键帧是由两种类型的数据。
模拟的角色动画,动态方法首先给出了对象的物理特性和发挥各种力量,然后使用牛顿运动定律来计算字符的状态。这种方法的本质是用武力来计算物体的加速度。在动力学、力的类型可以分为两种类型:点力和场力
除了力,碰撞也是一个重要因素影响角色的运动。在现实世界中,当两个物体碰撞,碰撞,但他们不互相渗透。当碰撞发生时,相互作用力会改变原来的状态的两个对象,如位置、轨迹和方向。因此,在模拟的角色动画,如果对象之间的碰撞,将改变原来的运动状态的角色,因为相互作用力。
上面提到的动画方法实现通过使用力学,生物力学,和日常生活经验。动作捕捉技术,数据来自真实的演员表演,通过运动捕捉设备获取操作数据。因为处理数据是由人类,动作捕捉技术可以使动画更真实和自然。没有人工的数据捕获和处理。但是,动作捕捉设备非常昂贵和复杂的操作。在数据收集过程中,运动模型的肢体,身体,和头部通常设置传感器,和那些集体数据是一个非常重要的部分在整个运动捕捉技术(
动态和运动学技术介绍了用于动画运动的物理定律。然而,人类与物理规律运动的复杂性,尤其是人类运动协调机制,使得仿真工作非常困难,从而导致产生动画是不现实的,缺乏丰富的实际人体运动的详细信息。近年来,运动捕捉技术已经进入了视线;它克服了上述两种方法的缺点动画和已成为人类动画最有前途的技术之一。
运动混合技术是基于特殊的运动数据库技术和算法。使用这种技术来处理动画,我们通常需要使用插值算法和插值参数。
运动混合技术的主要优势是其较低的计算复杂度。基于运动捕捉数据,保持原来的动态运动。它的主要缺点是,例如,紧张,担心,和其他行为过于依赖现有的操作数据,数据量的增长。如果一个角色走路的步态,不是太累了或者累了,必须有一个正常的行走步态数据也很累走数据。在插值过程中,生产者通常处理集合之间的过渡和转换持久和线性参数的默认视图(
运动变形的技术修改和使用现有的运动信息。Popoivc和Witkin使用交互式方法转移和规模选择的关键帧来修改现有的数据。与时域的轨迹相比,威廉姆斯和Bruderlin用于调整,修改和重用现有的动画数据在频域。与移动的动画技术和过程动画技术相比,运动混合技术的优点是,它可以使用现有的真正获取相关的数据以便进行动画的一代。此外,这种技术给出了动画创作者和关键帧动画兼容处理工具,将会非常方便。
与运动学动画技术和过程动画技术相比,运动混合技术的优点,属于过程动画技术,它可以利用现有的真实捕捉数据来生成动画(
一般来说,有两种类型的物理引擎:开源物理引擎和商业物理引擎。
常用的专业物理引擎包括歌唱、物理运算引擎,子弹,Havork,牛顿和漩涡。这些物理引擎被广泛使用在域图形建模工具,游戏开发,虚拟现实系统,等等。
碰撞检测是物理引擎的技术核心,所以大部分的物理引擎的研究是研究碰撞检测算法。在现实生活中,有些反应是自然发生在和碰撞后的对象
目前,有两个主要类别的全球研究碰撞检测:空间分解法和边界框法。边界框的方法模拟复杂形状的对象为一个近似的简单的三维空间。层次包围盒法的边界框法适用于复杂环境中的碰撞检测。
ODE(开放动力引擎)是一个开源库的刚体动力学中常用的模拟接头连接。歌唱可以应用于模拟移动对象在虚拟现实环境中,腿生物,和车辆在地上。它是健壮、灵活和迅速。灵活性体现在可移植性;Unix / Linux、Windows和MacOS可以使用。它有一个内置的碰撞检测系统。
在歌唱中,是一种特殊类型的关节,如图
Hinge-2关节(
Hinge-2关节是由两个noncoaxial铰链。本实用新型包括两个转动轴和一个支点。其中,轴2只能绕着轴旋转;然而,轴1不仅可以绕轴,也可以限制其旋转的范围。
汽车模型由身体和轮子。根据Hinge-2的联合类型、身体1可以代表身体和身体2可以代表车轮;类似地,轴1可以代表车轮和轴2的方向盘可以表示轮子滚动轴。在ODE的动力学设计系统中,歌唱刚性对象生成质量和位置,创建了刚体和颂歌几何对应于在同一时间。最后,身体和车轮由Hinge-2接头连接。一个简单的汽车模型已经建立。
基于ODE的性格碰撞的仿真过程如下。
在这个阶段,有必要设置类型的碰撞空间和接触表面的相关属性,如灵活性、弹性和摩擦。
在这个阶段,有必要做一些数据的初始化和清理工作前碰撞仿真(
根据用户需求,创建四叉树空间,散列空间,简单的空间。这三个新的类型的碰撞空间使用不同的碰撞检测算法和不同的数据结构。不同的几何图形存储使用不同的数据结构。
仿真过程需要的时间步骤作为一个单元。ODE模拟器,模拟完成单位碰撞效应的时间步之前需要使用当前状态数据的影响和作用,然后碰撞效应对身体的作用[
这个函数确定哪些几何图形可能发生在太空,然后调用回调函数处理的几何图形,最后完成了碰撞。
dNearCallback回调的函数类型,定义如下:
其中,数据是用户定义的参数,直接从dSpaceCollide通过。一副的几何图形检测可能碰撞由参数
以下操作将发生在回调(
使用dCollide函数生成选择接触点之间的几何图形,而返回接触点的数量。
基于所有的碰撞数据在前面的链接,对于每一个接触点,两个合格的碰撞数据点搜索。
ODE完成碰撞效应根据对接信息包含在这两个碰撞并再次显示了图片。
ODE仿真结束,碰撞仿真还可以作为驱动力停止力的特点。这个链接会做一些相关数据的清理工作,这有利于接下来的仿真。
打开物理引擎软件和编辑和运行C语言程序图中所示的场景
场景的画面。
在图
仿真示例包含简单元素:车辆的力量来自于电动机;输出功率和前轮转向设置;车轮和车身接头通过铰链;车辆可能交互部队当触摸任何对象的场景;有一个碰撞检测设备在车里。
通过设置车辆,车辆之间的相互作用力和场景中的对象,以及地面滑移率,模拟车辆的运动和碰撞过程是如何实现的。
性能测试数据所示
前进、后退、加速和减速的车辆模型。
把和攀登的车辆模型。
车辆模型高速碰撞与障碍和翻转,由于高速转弯和冲坡道。
在测试的过程中,改变车辆或周围环境的各种参数,观察人物图片的变化是否符合动力学原理。
当车辆与地面接触,改变原始的库仑摩擦系数μdInfinity(没有滑动触点)为0(无摩擦接触)。这个系数必须设置,测试结果是车轮空转。这时,前轮为输出功率只能闲置,因为没有摩擦力,所以车辆无法移动
当车辆与地面接触,soft_cfm接触正常的弹性参数,用于调整对象的灵活性。扩大soft_cfm值,从原来的0.3比1,表明会有非常明显的物体穿透的现象;测试结果如图
对比预调和调整渗透效果。
设置FDS(力依赖滑移系数)为零。车辆模型卷后,继续给电力车辆,车辆没有滑但一直是静态的。(FDS横向滑动现象由于横向外力移动对象时,和滑动距离正比于物体的移动速度和外部力量,所以FDS也被称为横向力滑动系数(
如果FDS滑动摩擦系数设置为0.1,继续给车辆翻转后,车辆仍然可以横向移动。测试结果如图
水平运动。
当世界被创建,
车辆悬架。
从测试结果,由于重力加速度为0,有模拟悬架的车辆。
通过汽车的仿真和周围环境的各种参数设置,你可以进行各种物理engine的动画仿真。
关于角色动画的模拟研究,国内外有很多成就。学习和研究的基础上,现有的科研成果,本文做了以下工作:深入研究主流电脑角色动画生产技术;深入分析和研究主流的物理引擎;深入研究有关碰撞检测算法;设计和构建仿真体系结构,使角色动画模拟可行的通过使用ODE引擎;建立仿真实验平台,成功操作示例实现ODE-based角色动画仿真;和与不同的参数进行测试和分析。
未来研究重点包括以下:从车辆运动模型升级到更复杂的人体运动模型,模拟更复杂和精确的运动人体;为不同的角色模型建立不同的控制器和运动状态和实施更有效的通过更聪明和更现实的模拟控制器;使自然关闸的角色通过动画混合技术。
作者宣称没有利益冲突。