游戏设计中的运动力学课件

上传人:痛*** 文档编号:241590764 上传时间:2024-07-07 格式:PPT 页数:41 大小:2.94MB
返回 下载 相关 举报
游戏设计中的运动力学课件_第1页
第1页 / 共41页
游戏设计中的运动力学课件_第2页
第2页 / 共41页
游戏设计中的运动力学课件_第3页
第3页 / 共41页
点击查看更多>>
资源描述
游戏设计中的运动力学问题游戏设计中的运动力学问题2010年10月主要内容u 游戏中的运动问题游戏中的运动问题一维运动二维和三维运动旋转运动u 游戏中的牛顿法则游戏中的牛顿法则力牛顿定律u 游戏中的能量变换游戏中的能量变换功和动能能量守恒u 能量和碰撞 与静止物体的碰撞 动量和冲量 物体之间的碰撞u 旋转距的计算游戏中的运动问题u一维运动问题 物体运动一定会有速度,在游戏中速度采用矢量描述。在一维空间里,速度用正和负来区分其运动速度的大小和方向。如果物体的速度恒定,速度和位移之间的关系如下:d=v*t 其中d表示物体移动的位移,v表示物体运动的速度,t表示运动的时间。如果物体原来的位置在d0的位置,则运行t时间后的位置为:dt=d0+v*t 通过上述表达式,可以计算出游戏中具有相同方向的运动物体每隔一段时间之后所在的位置,也就是每帧之后物体的位置。比如在笔直的公路上运行的多辆汽车的运动情况。如果物体的运动速度不是恒定的,则可采用平均速度或即时速度来表示物体的速度。平均速度的计算可采用如下的公式。比如在很多赛车游戏中,往往需要显示赛车当前的平均速度,则可采用上面的公式进行计算。此外,赛车当前的运动速度则可能是变化的,因此会产生加速度,加速度的变化是由于游戏操作者加大汽车油门造成的。以赛车游戏为例,如果加大油门,汽车将不断加速,如果停止踩油门,则汽车将会减速,同样,如果踩了刹车,则汽车将会以更快的速度减速。加速度的计算可采用如下公式:如果我们设定踩油门或者刹车的大小与加速度成正比的关系,则可计算出任一时刻汽车的加速度,当然也可计算出任一时刻汽车的速度。这样可计算出每一帧物体当前的运动速度,加速度以及当前位置。一般而言,在游戏中为简化运算的复杂度,可是两帧之间的加速度恒定,这样可利用如下公式计算其位移:dx=(vi+vf)/2*dt=vi*dt+1/2*a*dt*dt 其中vi是物体在前一帧的速度,a为物体在前一帧的加速度,dt为两帧之间的时间间隔。在很多赛车游戏中,汽车的运动并不完全是直线运动,有可能做曲线运动,如下图所示。同样可采用如下的公式计算其平均速度:其中f(t)表示曲线的方程,a,b表示两个不同的时刻,在游戏中可用于表示相邻两帧所在的时刻。可用下面的公式计算汽车在某一时刻的速度:其中a为某一帧所处的时刻,h为变量。同样也可采用下面的表达式求解其当前速度。同样在知道速度的情况下,也可求解其平均加速度和某一时刻的加速度。在赛车游戏中,我们往往知道加速度,这就需要反过来求速度和位置。u 二维和三维空间运动 二维和三维空间运动与一维直线或曲线运动不同的是在原来标量的基础上增加了方向,因此变成了矢量。则包括速度,位置,加速度等。如下图所示的二维空间运动。显然上图中r=rf-ri 其平均速度的计算可采用下面的公式:rirfr 其它的计算方法完全一样,需要注意的是表达式中除t之外均为矢量。比如在3D空间中,已知当前物体的速度为0,0,0,加速度为3,0,2,则经过5秒之后,物体的位移为37.5,0,-25,如果已知物体原来的位置,则可得到物体当前的位置。u 旋转运动 在一些游戏中,物体可能做旋转运动,如下图所示。物体绕某一点做旋转运动时,同样也需要一些参数来度量。角位移q可用下面的公式来表示:q=s/r 其中s表示移动的幅度,r表示旋转的半径。这样就可以定义其平均角速度:=q/t=(qf-qi)/(tf-ti)同样可通过下面的表达式求出其角加速度:同样角速度和线速度之间的关系如下所示:=vt/r vt=*r 其中v为线速度,r为旋转半径。利用和vt的变化也可求出其角加速度和线加速度。在幸运之轮(Wheel of fortune)游戏中需要根据角速度计算其角位移,并判断击中的位置。u 力 游戏中的物体为什么会运动,是什么导致其运动?当然是力的作用。既然涉及到力的作用,就离不开牛顿力学。物体重量的计算:w=mg 其中w为物体的重量,m为物体的质量,g为重力加速度。在地球上g=9.8m/s2,不同的地方其重力加速度不同。游戏中的牛顿力学游戏中的牛顿力学 物体在运动过程中会受到地面的摩擦力,不同的地面其摩擦力不同。摩擦力的计算方法如下:Fs=-msN 其中ms为摩擦系数,N为与作用面垂直方向上的力。静态摩擦力的方向总是和运动方向相反。上述公式对于游戏中的某些场景的模拟具有很重要的意义。比如我们要模拟一个在斜坡上的轮子的运动。u 牛顿三大定律 1.没有力的作用物体的运动速度不会改变。比如在Air Hockey游戏中如果假定桌面是光滑的,那么在一方击打球之后,该球的速度为10,5,如果没有对手击打该球,2秒钟后其速度为多少。2.F=ma,该定律揭示了力和加速度之间的关系。通过前面的计算方法可以求出其速度,位置等。需要指出的是这儿的所有变量均可以是矢量,比如说在2D 空间中F=Fx,Fy,同样加速度a=ax,ay,如果物体在平面上运动,则m相同。3.作用力和反作用力相同。也就是一个物体作用在另一个物体上的力的大小和另一个物体中用到该物体的力的大小相同。这在一些碰撞类游戏中可用于计算碰撞后物体的速度。能量守恒u 功和动能功和动能 功的定义为:W=F*x 其中W为物体移动所作的功,F为物体所受到的力,x为物体在力方向上移动的距离。需要注意的是上述公式中的每一个参数均为矢量。例如在某游戏中某个物体在某X-Y平面上自由移动,对物体的作用力为200060o,物体的运动距离为3m30o,请问物体做了多少的功?动能的计算公式为:KE=1/2*m*V2 其中m为物体的质量,V为物体运动的速度。同样上面的计算也是基于矢量的关系。功和动能之间的关系:W=E=KEf-KEi 在棒球游戏中,投手需要用力将球投出,如果棒球的质量确定,投手投掷某物体所需的力及移动的距离已知,则可计算出该棒球手投掷棒球的初始速度。重力势能的计算公式:PE=mgh 其中m为物体的质量,g为重力加速度,h 为物体的相对高度。u 机械能守恒 机械能包括物体的动能和势能。物体在运动过程中不考虑其他因素对物体运动的影响,则机械能守恒。KEi+PEi=KEf+PEf 前者是物体在i位置的机械能,后者是物体在f位置的机械能。如果考虑物体运动过程中能量的损耗或者其他物体对该物体所做的功,则可对上述能量守恒定律进行修改:KEi+PEi=KEf+PEf+E0 E0就是作用在本物体上的能量的大小。通过上述修正公式后,物体的运动更加接近真实。能量与碰撞u 与静止物体的碰撞 入射角与反射角相同。如果如何速度vi=vix,viy,且碰撞面处于垂直状态,则Vf=-vix,viy,如果碰撞面处于水平状态,则Vf=vix,-viy。当然如果碰撞面存在夹角的情况下,可采用矢量计算的方法求出Vf的大小:Vf=Vi+2*P 如果碰撞面的斜率K=Dy/Dx,则P的斜率为-1/K=-Dx/Dy,用矢量可表示为N=Dy,-Dx,其方向矢量N为N归一化后的矢量。P=(-Vi.N)*N 其中(-Vi.N)为Vi在N轴上的投影。通过上面的表达式可以计算出与任意碰撞面发生碰撞后物体的速度。同样可以计算出在三维空间下物体发生弹性碰撞后的速度的变化。例如在某3D游戏中,如果某球以失量速度100,-50,-50与某空间面碰撞,该碰撞面由矢量【200,250,-300】和【50,200,-25】构成,请问碰撞后的速度矢量。可采用如下的方法求解:N=200,250,-300*50,200,-25 =53750,-10000,27500 归一化以后的法向矢量为:N=0.8783,-0.1634,0.4494 P=(Vi.N)*N =-64.5814,12.0148,-33.0444 这样可计算出Vf=Vi+2*P=-29.1628,-25.9704,-116.0888 u 动量和冲量的计算及应用 动量的计算公式:P=mv 其中m为物体的质量,V为物体的运动速度。冲量的计算公式:IP=Ft 其中F为力,t为力的作用时间,一般而言t的作用时间很短。动量和冲量之间有如下的关系:Ft=P=m(Vf-Vi)u 物体的碰撞 物体碰撞时一个物体对另一个物体的作用力和另一个物体对该物体的作用力相同,方向相反,作用时间也相同,也就是冲量相同,但方向相反,因此有如下的表达式成立。P1=P2 m1v1i+m2v2i=m1v1f+m2v2f 需要注意的是上述变量均为可矢量计算。同时考虑的计算公式和能量守恒公式可计算出物体碰撞后的速度。在大量的游戏中会利用到上面的物理学知识。旋转距u 切向加速度的计算 物体在旋转过程中,除了角加速度外还有切向加速度。其计算方法如下:at=ar*r 其中ar为角速度,r为旋转半径。u 转矩 物体旋转过程中所受到的转矩的大小为:t=Ft.r=mat.r=marr.r=mar r2 其中ar 为物体旋转的角速度,r为物体旋转地半径。而其中mr2为物体的惯量,因此上述表达式也可表示为:t=l*ar(类似于F=ma)其中l为物体的惯量,ar为物体的角速度。物体旋转动能为:KER=1/2*l*2 旋转地物体即会做线性运动,也会做旋转运动,在势能上也可能发生变换,因此对应的能量守恒定律如下:其中:PE表示物体的势能。KET表示物体线性运动所产生的线动能,KER表示物体做旋转运动产生的的旋转动能。例如:在某游戏中,一个球从山顶滚动到了山脚。已知球的质量为0.5Kg,球的起始速度为零,山顶的高度为10m,求物体到达山脚的线速度为多少?角冲量可采用如下的公式计算:L=l*w 其中l为物体的惯性,w为物体的角速度。通过上面一系列的公式可以计算出物体在旋转情况下的速度,加速度以及位置等信息。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!