qq飞车吧 关注:4,137,149贴子:209,502,105
  • 5回复贴,共1

理解飞车漂移系统

取消只看楼主收藏回复

飞车漂移系统的实现实际就是靠两点:力(Force)与扭矩(Twist)。其中
1. 力产生加速度,是使车子速度发生变化的关键
2. 扭矩的本质是角加速度,决定了车子的转动速度,车子的转动会影响力的方向
这个帖子会讲一下漂移的力系统。


IP属地:浙江1楼2024-06-18 19:05回复
    最开始需要明确的:漂移时的受力与平跑受力有很大的不同。这里我罗列两点:
    1 漂移时有独立的漂移引擎,平跑的赛车推进/引擎不生效。
    2 漂移阻力有独立的计算方式,漂移时不会受到平跑体系下的阻力(之前的帖子有平跑阻力的计算逻辑,二者的区别主要是系数不同以及分段)


    IP属地:浙江2楼2024-06-18 19:06
    收起回复
      目前,平地漂移时受到以下几种力:
      1 车头方向的力
      2 运动方向的力
      3 车身方向的力


      IP属地:浙江3楼2024-06-18 19:06
      收起回复
        一、车头方向的力
        车头方向的力这里记为【upForce】,它分为两部分,漂移时的动力与阻力。
        2.1 先讲阻力:
        阻力的计算方式是【阻力系数】*【速度^2】,意味着速度越快,阻力越大(当从高速下开始漂移时,阻力>动力,会发生减速);
        阻力系数由常提到的【漂移系数(DirUpKeyForce)】决定,二者近似反比。漂移系数越大,阻力系数越小,同速度下的阻力也就越小,整体的【upForce】会更大。这就是漂移系数越高,漂移越快的原因。
        2.2 动力部分:
        漂移动力即为【漂移引擎力】;当然如果有小喷/氮气,还得加上【小喷/氮气力】。
        【漂移引擎力】为固定值,这个值比非漂移时的引擎力大不少(会导致当从低速下点漂时,由于阻力很小,【upForce】大于非漂移时的引擎力,这就是超级起步的原理,低速下点漂更快也是这个原因)
        【upForce】还有一个特点,必须按住前进键才生效。这里就可以解释卡气的原理了。高速下点漂,阻力部分很大,【upForce】整体为极大的负值,必定会减速。这时候快速松前进,让车子只受到相对很小的滚动以及滑动摩擦力,速度的衰减会小很多。同理也能解释超漂,相比卡气只是一个是点漂一个是完整漂移。


        IP属地:浙江4楼2024-06-18 19:06
        收起回复
          二、运动方向的力
          这部分包括【滚动摩擦力】与【滑动摩擦力】
          首先讲一下车头角【Angle】。车头角为车头与【速度方向】的夹角,【速度方向】可以近似看作赛车当前漂移轨迹的方向,所以车头角可以看作车头与漂移轨迹方向的夹角。
          2.1 滚动摩擦力:由车头角与抓包数据【RollFricForce】决定,方向与速度方向相反,大小为RollFricForce*cos(Angle)。当车头角为0时,滚动摩擦力=RollFricForce,当车头角为90度时,滚动摩擦力为0
          2.2 滑动摩擦力:由车头角与抓包数据【SlidFricForce】决定,方向与速度方向相反,大小为SlidFricForce*sin(Angle)。当车头角为0时,滑动摩擦力=0,当车头角为90度时,滑动摩擦力为SlidFricForce
          这部分很简单。两种摩擦力都是车子运动方向的阻力。不过如果二者都是负数,那就成动力了。调成负数进行超漂,车子会越来越快。


          IP属地:浙江5楼2024-06-18 19:07
          回复
            三、车身方向的力
            车身方向的力,为车头向左/右90度方向的力,由方向键提供。
            这部分包括两种力BannerVecForce与DirKeyForce,二者都与抓包同名数据以及速度、车头角有关。
            3.1 BannerVecForce,作用时机需要满足:速度方向相对于车头的方向与方向键一致。比如车子在漂移左转,此时速度方向在车头右侧,按住右键触发BannerVecForce。主要在甩尾、侧卡、漂移方向拉车头时作用
            3.2 DirKeyForce,什么时候都起作用的车身力。


            IP属地:浙江6楼2024-06-18 19:08
            收起回复