为什么在 Unity 车轮对撞机上轮胎侧滑与前滑分开?
why is sideways tire slip separated from forward slip on Unity wheel collider?
我终于明白为什么我在 unity 中的车不能 drift/powerslide 像其他赛车游戏中的车一样。随意跳过无聊的部分,如果你知道这个问题,请只阅读下面的问题。
问题:
不现实的汽车 grip/drift 发生是因为轮胎滑移值(轮胎抓地力被评估)是单独测量车轮的前向和侧向摩擦力。这意味着当你驾驶 RWD 汽车转弯并且你给汽车更多的油门时,后轮胎失去前向抓地力并开始向前滑动但汽车不会像现实中那样开始侧向漂移,因为即使后轮胎开始向前滑动,侧滑仍然相同,因此侧向摩擦曲线不会发生变化,汽车也不会失去任何侧向抓地力。出于同样的原因,带有统一车轮碰撞器的汽车不能进行手刹转弯,因为后轮会开始向前滑动,但这只会影响前向抓地力而不影响侧向。
真实轮胎物理:
从物理学的角度来看,这显然是不现实的,因为当轮胎开始打滑时,它会从它在道路上的静摩擦力转变为动摩擦力,在那里它会做很多小跳跃,而这种动摩擦力的“跳跃状态”会影响轮胎在各个方向的抓地力不只是分别向前或侧身。
我的理论解:
因此,显而易见的解决方案是我们可以保留分离的摩擦曲线(因为不同的轮胎胎面设计),但这些摩擦曲线的滑移值必须只有一个,评估为侧向和向前轮胎运动(滑移)的 vector2 的大小。不幸的是,我们不能只修改摩擦曲线的极值、渐近线和刚度。
最后的问题:
分离的前向和侧向滑动是否让我缺少了一些东西来使汽车真实地漂移,如果没有,是否有任何摩擦曲线参数的解决方法来解决这个问题,或者你能建议我一些没有这个问题的替代车轮碰撞器?
提前致谢:)
事实证明,这确实是当前为数不多的车轮对撞机问题之一。手刹转动可以很容易地用代码模拟,例如当玩家使用手刹时降低后轮碰撞器的侧向摩擦刚度或极值(刚度效果更好)。
油门控制 power-slides 用车轮碰撞器实现起来更复杂,我试图在后轮的前向旋转超过极值旋转时线性降低侧向刚度或后轮侧向摩擦曲线的极值,这有帮助但汽车很难控制但是如果你有是时候优化这种算法了,你可能会在某个时候让它工作。
另一种方法是在汽车后部施加一点侧向力,使其在特定情况下漂移。
但是,如果您真的想获得乐趣和逼真的车辆物理,我强烈建议您从 unity asset store 或 github.
获取一些车辆物理系统或替代 wheelcolliders
我终于明白为什么我在 unity 中的车不能 drift/powerslide 像其他赛车游戏中的车一样。随意跳过无聊的部分,如果你知道这个问题,请只阅读下面的问题。
问题: 不现实的汽车 grip/drift 发生是因为轮胎滑移值(轮胎抓地力被评估)是单独测量车轮的前向和侧向摩擦力。这意味着当你驾驶 RWD 汽车转弯并且你给汽车更多的油门时,后轮胎失去前向抓地力并开始向前滑动但汽车不会像现实中那样开始侧向漂移,因为即使后轮胎开始向前滑动,侧滑仍然相同,因此侧向摩擦曲线不会发生变化,汽车也不会失去任何侧向抓地力。出于同样的原因,带有统一车轮碰撞器的汽车不能进行手刹转弯,因为后轮会开始向前滑动,但这只会影响前向抓地力而不影响侧向。
真实轮胎物理: 从物理学的角度来看,这显然是不现实的,因为当轮胎开始打滑时,它会从它在道路上的静摩擦力转变为动摩擦力,在那里它会做很多小跳跃,而这种动摩擦力的“跳跃状态”会影响轮胎在各个方向的抓地力不只是分别向前或侧身。
我的理论解: 因此,显而易见的解决方案是我们可以保留分离的摩擦曲线(因为不同的轮胎胎面设计),但这些摩擦曲线的滑移值必须只有一个,评估为侧向和向前轮胎运动(滑移)的 vector2 的大小。不幸的是,我们不能只修改摩擦曲线的极值、渐近线和刚度。
最后的问题: 分离的前向和侧向滑动是否让我缺少了一些东西来使汽车真实地漂移,如果没有,是否有任何摩擦曲线参数的解决方法来解决这个问题,或者你能建议我一些没有这个问题的替代车轮碰撞器?
提前致谢:)
事实证明,这确实是当前为数不多的车轮对撞机问题之一。手刹转动可以很容易地用代码模拟,例如当玩家使用手刹时降低后轮碰撞器的侧向摩擦刚度或极值(刚度效果更好)。 油门控制 power-slides 用车轮碰撞器实现起来更复杂,我试图在后轮的前向旋转超过极值旋转时线性降低侧向刚度或后轮侧向摩擦曲线的极值,这有帮助但汽车很难控制但是如果你有是时候优化这种算法了,你可能会在某个时候让它工作。 另一种方法是在汽车后部施加一点侧向力,使其在特定情况下漂移。 但是,如果您真的想获得乐趣和逼真的车辆物理,我强烈建议您从 unity asset store 或 github.
获取一些车辆物理系统或替代 wheelcolliders