物理引擎和图形引擎介绍2015-21引言[1][2]物理引擎是一个仿真物理系统的软件,它使虚拟世界中的物体运动符合真实世界的物理定律,对虚拟现实中的物体进行运动学、动力学、其它物理学仿真等
在虚拟现实系统开发中,开发人员可以使用物理引擎与渲染引擎相结合的方法,不但可以缩短开发周期,而且可以产生良好的效果
随着虚拟现实技术的发展,物理引擎已广泛应用在游戏、动画、电影、工程仿真和军事模拟等诸多领域
在以往的游戏中,例如一位士兵往一个油桶旁边扔一个手雷,手雷爆炸,引起了油桶的爆炸
不过这个过程显得相当死板,不管是把手雷丢在油桶的左边还是右边,油桶都只会按照设计者预先设计好的脚本方式爆炸,不会有区别
加入物理引擎后,它完全突破了以往按预定脚本执行的方式,在游戏中的物体都遵守物理定律来运行,这样手雷扔在油桶的左边或右边都会产生不同的爆炸效果,石块会朝不同的角度飞溅起来,烟雾也会慢慢冒起来,使游戏更加富有真实感
通常物理引擎可以分成两类:高精度物理引擎和实时物理引擎
高精度物理引擎要求计算出精度很高的物理对象,通常用于工程仿真或用电脑制作电影中的动画
在视频游戏中,物理引擎通过简化其运算复杂度,降低其精度来满足游戏中对实时性的需求,以增加动画的真实感
物理引擎使用对象属性(速度、加速度、动量、冲量、碰撞、力、力矩、阻尼、扭矩或弹性等)来模拟刚体的运动、旋转和碰撞等行为,这不仅可以得到更加真实的结果,对于开发人员来说也比编写行为脚本要更加容易掌握
好的物理引擎允许模拟复杂的机械装置,像球形关节、轮子、气缸或者铰链等
有些还支持非刚性体的物理属性,如软体、流体等
物理引擎只关心动力学微分方程的求解,而为了获得逼真的仿真环境,还需要图形引擎的配合
输入场景信息(包括物体的形状、物理参数和位置等),通过物理引擎计算出场景中所有物体的形状和位置,再由图形引擎渲染它们,最终将它们显示在计算机上