本工厂去指导工作就好了。行,那就先这样!最重要的是保证人员安全,然后带足随车摄像机和维修配件,一定要把拉力赛的实景拍摄下来!”杨云交代完这些后,又来到试验中心。
“立体3号”的3d游戏引擎正在最后的磨合期,张国强的攻关小组从ktt铃木裕手里拿到最新物理建模后,与清华大学物理系实验室展开项目合作,同时展开多项动作模型的模拟。
看着一台计算机屏幕上模拟的长方体物体翻滚轨迹示意动画,杨云皱眉问道:“这是平地上物体滚动的模型吧?似乎有点简单呀!”
张国强点点头:“对,物体运行速度,碰撞角度,离心力,摩擦力,各种参数都可以设定进去,能比较完美地模拟出两辆汽车在急速飙车碰撞后的结果。”
看着张国强打开源代码,找到一长列同样函数名,不同的参数,但实现同样功能的函数列表。
这种程序模式叫做重构,比如说名叫“翻滚”的函数,它可能有四种形式。
翻滚(无参数),翻滚(参数1),翻滚(参数1,参数2),翻滚(参数1,参数2,参数3),参数1是路障,参数2是车辆障碍物,参数3是环境属性。
那么在游戏中,车辆因为高速过弯的离心力失去控制,可以直接调用翻滚(无参数)这个程序,可以看到标准的翻车动画。
撞到路障,撞到其他车辆,玩家控制的车辆翻滚效果就与翻滚(无参数)略有不同,翻车模型会加入路障和其他碰撞物的物理轨迹,需要用复杂的物理模型来模拟出路障被撞飞,几辆车同时一起翻车的动画。
环境属性的参数也是一样,雨天,泥泞土地,结冰地面,都有一个对应的物理模型,对应的车辆翻滚模拟动画都是独一无二的。
当然了,车辆翻滚这个函数,远远不止这四个形式,车辆自身的属性,重心,马力,扭矩,转弯角度,外部环