• 2007-09-19

    LiveForSpeed的悬架模拟 - [竞速大论]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fxcarl.net/logs/8382906.html

     LiveForSpeed

    LiveForSpeed用一种巧妙的方式模拟了悬架的部分特征,其方法简单却效果良好。这种方法是源自一种简单的归纳和化简

    当我们观察一台车辆的时候,我们会发现,轮胎在车辆所处的水平面上,是较少发生移动的。即轴距一般不会变化,轮距也不会有大变化——当然车祸除外。之外的,轮胎在垂直方向上的运动则是较为活跃的,可以说是无时无刻不在变化。

    实际上,我们真实车辆的悬架系统,也都是针对垂直运动而设计的。毕竟车轮是沿着车辆的纵轴滚动,转轴横对车身。所以悬架系统最适合的设计方式必然是垂直于车轮的方向放置。

    (双叉臂悬架 LiveForSpeed中GTR车型均为双A)

    双叉臂悬架

    既然轮胎只是沿着一条轴运动,而悬架的设计又刚好垂直于轮胎……那不是刚好产生了一个悬架运作平面么?即以车辆的正面进行悬架的投影,我们会发觉实际上,悬架在绝大多数时候都是在投影平面上做运动的!LiveForSpeed巧妙的运用了这一点,对悬架系统作出了平面化的抽象。这个抽象模型在游戏的驾驶过程中可以按Shift+L呼出。

    为了验证LFS是在平面进行悬架模拟这个猜想,我们可以进行一个实验——以任意车速,在垂直于轮胎的方向上进行迎面撞击。结果是令人惊喜的,不管车身本身被撞得多么惨不忍睹,悬架本身却不会受到任何严重损伤。而且即使是有少量损伤(在驾驶中按F10查看)也都是在弹簧和阻尼的过载上。我们可以在做一个类似的实验,同样是以高速迎面撞击墙壁,但是在撞击墙壁前的瞬间,把方向盘拧向左侧或者右侧的Lock。结果同样令人惊喜。车架将会承受极大的伤害,呼出悬架细节显示(Shift+L)会发现车轮的固定已经严重走样了。查看损伤情况(F10)则发现有不少橙色的条状积累。

    通过这次实验可以证明,实际上LFS的悬架模拟只对垂直和侧向的冲击有反映,对纵向的冲击毫无敏感。这恰好应证了我们之前的猜想, 在2D模拟中,垂直方向上是轮子的垂直运动模拟,而水平方向上的模拟则是车车轮的车轴方向的模拟。通过这个实验我们不仅知道让车轮直接迎向墙壁可以减少撞击损伤之外,还可以更清晰的了解到LFS的悬架模拟细节。

    譬如说,按F10后看到的损伤提示,垂直的橙色部分是模拟细节中(Shift+L)的红色的弹簧阻尼拉长的长度,当弹簧阻尼完全报废时(呈红色),车身的重量便不再向该轮胎施加负载,因此附着力基本只剩下轮胎自身的重量作为压力,所能提供的摩擦力也非常小。LWR等横向的条分别是悬架上臂和悬架下臂的长度缩减情况。橙色条积累越多说明悬架臂缩短越多。当缩短到一定程度时,不再缩短(呈红色),此时车轮已经完全丧失行驶姿态——倾斜或缩向车体。最下行的Toe则是轮胎的纵向偏角。这个值是由撞击时冲击施加在车轮垂直运动方向为轴的转动惯量决定的,其开始为止居中,向某侧增加橙色条状即代表车轮纵偏向。

    值得一说的是,黄色的悬臂和红色的弹簧阻尼都有一个点是固定不可移动的,这些点就是悬架系统在车架上的固定点。蓝色的是轴承和传统系统,也是不会有任何尺寸变化的。


    历史上的今天:


    收藏到:Del.icio.us