您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 其它行业文档 > 游戏开发与编程(5)
游戏开发与编程第五讲游戏开发物理学(1)游戏中的物理效果模型的物理描述质点动力学的几个模型例子程序解析参考网址下一讲主要内容游戏中的物理效果场景布置方面旗帜或布料的飘动或抖动水纹草被拂动(吹动)物体被击碎物体被挤压或碰撞变形……角色操作与效果方面人物或车辆在上坡和下坡时,行进的速度变化物体(如烟火、球、导弹等)受初速度和重力作用下的运动人的跳跃物体滚动和滑动所受阻力车转弯车与人(静止物)相撞子(导)弹击中目标……典型的游戏对于三维游戏来说,如果没有物理效果,这个游戏就是比较失败的赛车,如极品飞车体育竞技类,如台球、足球第一人称射击……以CS为例角色动画以及场景中的所有可动物体均采用了Havok的物理引擎,可以打烂的盆盆罐罐、可以击碎的木桶和桌椅、可以滚动的废旧轮胎……又如Ragdoll效果、人物骨架模拟系统以及零零星星作用在小物件上的重力、脆性、韧性等方面的细节CT长廊通往T基地的木门外,有两个油桶,CT在布防的时候用消声的USP将其击倒,便刚好挡在木门缝隙的正面,T在涌出木门时必须跳起,以避免Ragdoll的影响,这样就能在一定程度上阻止T方对长廊的快攻,赢取一定的时间。跳跃在CS:Source中,由于Ragdoll效果的加入,玩家将不能站在圆形或者可动的物体表面,试图跳上这些物体的时候会有明显的滑落感觉。团队推进到一些高点以及屋脊上变得困难。但由于CS:Source中也许是对重力参数做出了修正,也许是因为某些地形的关系,在1.6中齐眉高的木箱是绝对不可能跳上去的,但在CS:Source中只要采用技巧稍微高一点的旋跳即可推进到这些物体的顶端玻璃击碎的效果《汽车攻击》战斗画面《幽灵行动》画面模型的物理描述基本属性质量质心转动惯量几何形状……状态描述位置姿态线速度角速度加速度几何形状……物理引擎即是确定每一时刻模型的状态牛顿定律第一定律物体在无外力作用下,会保持静止不动,或持续作匀速直线运动第二定律物体加速度与作用于该物体上的合力成正比,其加速度方向与作用力方向相同第三定律对于所有作用在物体上的力(作用力),都会有一个大小相同但方向相反的作用力,且作用力与反作用力处于同一条直线上质点动力学牛顿定律弹簧阻尼模型摩擦力流体动阻力第二定律tvpptmFvvtvvdtdvamFmaF1010101)/(/)(/为当前时刻的速度为上一时刻的速度为时间间隔为当前时刻的速度为上一时刻的速度为加速度为质量其中1010p,ptv,va,,m弹簧阻尼模型)()(01vvkFrLkFddss为阻尼力为弹力为阻尼系数为弹簧原长度为弹簧伸长或压缩后长为弹性系数其中dsds,FFk,r,L,k摩擦力NFsfmaxNFkfk为动摩擦系数为动摩擦力为正压力为静摩擦系数为静摩擦力其中kfksf,F,,FN,max流体动阻力vCFfv为阻力系数为流体动阻力其中fvC,F简单的绳子模型绳子由一组质点组成质点之间由弹簧阻尼连接起来一端固定运动过程受空气阻力绳子初始处于水平,下面有固定平面在绳子落到平面上后,弹性接触,在平面内摩擦力两个例子程序解析Nehe39Nehe40质点+……()-m-pos-vel-forceMassclassMass{public:floatm;//ThemassvalueVector3Dpos;//PositioninspaceVector3Dvel;//VelocityVector3Dforce;//ForceappliedonthismassataninstanceMass(floatm)//Constructor{this-m=m;}voidapplyForce(Vector3Dforce){this-force+=force;//Theexternalforceisaddedtotheforceofthemass}voidinit(){force.x=0;force.y=0;force.z=0;}voidsimulate(floatdt){vel+=(force/m)*dt;//Changeinvelocityisaddedtothevelocity.//Thechangeisproportinalwiththeacceleration(force/m)andchangeintimepos+=vel*dt;//Changeinpositionisaddedtotheposition.//Changeinpositionisvelocitytimesthechangeintime}};质点容器类,维护质点关系模型SimulationConstantVelocityMotionUnderGravitationMassConnectedWithSpringRopeSimulation参考网址与书籍DavidM.Bourg游戏开发物理学2004=19=39=40下一讲主要内容布(旗帜)的模拟粒子系统粒子系统的应用汽车运动模拟数值积分
本文标题:游戏开发与编程(5)
链接地址:https://www.777doc.com/doc-3298617 .html