在头顶赛车游戏中汽车/车辆在拐角处漂移
本文关键字:漂移 拐角处 汽车 游戏 | 更新日期: 2023-09-27 18:06:19
我已经实现了一个非常基本的汽车运动系统:
_velocity.x = Math.cos(angleAsRadians) * _speed;
_velocity.y = Math.sin(angleAsRadians) * _speed;
_position.x += _velocity.x;
_position.y += _velocity.y;
你通过增加/减小速度移动,通过增加/减小角度转弯。
我怎样才能增加漂移,使我开得越快,当我转弯时,我漂移得越多?我想不出来,而且几乎没有其他可以在谷歌上搜索的资源。
想法?
汽车物理有点棘手。你需要的是实现一个基于滑动的物理引擎。
这篇文章很好地解释了这个过程。为了使它正常工作,人们需要考虑车轮的旋转和当轮胎朝一个方向运动而地面朝另一个方向运动时的力的差异。结果是两个力,一个垂直于车轮轴,另一个相对于汽车是侧向的。
当然,这是大量的工作,当做任何与游戏相关的事情时,一般规则是如果它看起来不错,那就是好的。所以,人们可以从实际的物理原理中获得一些经验和想法,并采取一些适当的解决方案,以创造一个可信的真实交易的复制品。确定一个"漂移系数",比如距离是速度乘以时间的0.5%。
_position.x += (1+coeff)*_velocity.x; -> _position.x += (1+0.005)*_velocity.x;
_position.x += (1+coeff)*_velocity.y; -> _position.y += (1+0.005)*_velocity.y;
所以在这种情况下它是相加的,是基于速度的
这个系数也可以根据赛道半径,任何比赛时间条件(滑等),x轴和y轴之间的差异而变化,并且随机为正或负。