c# – 在高架赛车游戏中围绕角落的汽车/车辆漂移

我已经实施了一个非常基本的汽车运动系统:

_velocity.x = Math.cos(angleAsRadians) * _speed;
_velocity.y = Math.sin(angleAsRadians) * _speed;

_position.x += _velocity.x;
_position.y += _velocity.y;

您通过增加/减少速度移动并通过增加/减小角度来转动.

我怎样才能添加漂移以便我走得越快,当我转弯时,我越漂移?我无法弄清楚,除了其他谷歌能源之外没有其他消息.

想法?

最佳答案 汽车物理有点棘手.你需要的是实现一个基于滑动的物理引擎.

This article很好地解释了这个过程.为了使其正常工作,需要考虑车轮的旋转以及当轮胎单向行驶且地面朝另一个方向行驶时的力差.结果是两个力,一个垂直于车轮轴线,一个侧面相对于汽车.

当然,这是很多工作,当做与游戏相关的任何事情时,一般规则是如果它看起来很好就是好的.因此,人们可以从实际物理学的完成方式中获得一些里程和想法,并采取适当的解决方案的一些点点滴滴,以创建一个可信的真实交易的传真.

点赞