我正在制作一款力量帝国游戏,The Last Kilowatt,并希望有一辆小型电动沙漠车可以在城镇中驾驶。目标感觉是“需要速度/福尔扎地平线,不能太重,美丽的漂移周边”。
为了实现这一目标,我花了比预期更多的尝试。
设置
我建造了一个测试场景,三辆车并排停放。它们共享同样的650kg车身,电动机,输入平滑化和升级。只有轮胎和悬挂模型不同,所以这是公平的比较。
A:自定义光线追踪汽车(重建三次)
- 首先是一个光线追踪汽车带有抓握曲线。感觉很糟糕。
- 然后是一个基于球体的卡车。容易制作好玩,但永远感觉不到真正的汽车。
- 最后,光线追踪弹簧与侧方倾斜胎式轮胎,漂移作为一个辅助状态:手煞车,刹车点按或太多功率开始它,方向盘设置漂移角度,汽车的速度通过角度转过。
- 教训:后轮需要比前轮更好的抓握,否则正常的转弯变成侧向的蟾蜍。
B:Unity的轮胎碰撞器,设置正确
默认值很糟糕:几乎无限的抓握力,汽车倾倒。
一旦你:
* 工作出弹簧和阻尼从行驶频率和阻尼比率(35000/4500的默认值假设1500kg的汽车)
* 将侧方渐近线设置为极值,抓握力平稳而不是掉落悬崖
* 使后轮比前轮更坚固
* 在行走速度下降侧向刚度
* 将forceAppPointDistance设置为0.3m以下的中心质量(从来不是0)
* 添加抗翻转杆,ConfigureVehicleSubsteps和牵引控制
* 对手煞车,锁定后轮并降低其侧向抓握力。
第一次评价:“更好,但漂移太像冰鞋滑行”。
PhysX胎式轮胎没有摩擦圆,所以我用一个伪造的:旋转的后轮失去侧向抓握力。增加更多后胎抓握力和短暂的抓握恢复时间解决了这个问题。
C:Pacejka“魔法公式”
真实胎式轮胎,旋转轮胎,结合滑行和有限分离差动。陷阱:简单的逐步积分使轮胎速度振荡。它需要小的隐式(反向欧拉)子步骤才能稳定。
获胜者:B
简单的轮胎碰撞器,调整后,感觉最好驾驶。它稳定可预测,并且带有伪造的摩擦圆,它漂移足够好以至于好玩。
与机器人一起测试,不仅仅是感觉
我还编写了一个自动化测试,驾驶每个模型通过相同的动作并记录数字。它捕捉到了我从手动测试中永远不会发现的东西:
- 普通弹簧跳动的缓冲区将原始沙漠车抛到空中 4秒。它现在是非弹性。
- 只需保持方向盘向内转弯,就会使每辆车都旋转。机器人必须反方向转向并减慢油门,像人一样做。
- 反方向转向必须从汽车的实际速度测量。否则,50公里/小时的30°滑行只得到14°的校正。
很高兴回答问题。
你在Unity中使用什么样的汽车物理:轮胎碰撞器,光线追踪汽车或自定义的什么?
The Last Kilowatt在Steam上:[steampage](https://store.steampowered.com/app/5380800/The_Last_Kilowatt/)
愿望清单真的很有帮助!
评论 (0)