0
我试图让我的小小型发动机,以使表普克滑盖这样的比赛one:如何将摩擦应用到这个物理模型?
然后,我遇到的问题移动冰球很好,因为我是用速度正常进行aceleration是相对速度矢量:
velocity = ((Vector2) (initMousePosition - Input.mousePosition)).normalized*1.42f*Mathf.Min(1f,((Vector2) (initMousePosition - Input.mousePosition)).magnitude/Screen.height);
acceleration = - velocity.normalized;
...
这是我们有用的增值经销商来解决我的问题:
Board.COEFFICIENTE_OF_FRICTION = 0.1F;
公共Vector2位置;
public Vector2 velocity;
public Vector2 acceleration;
代码:
private static void Move()
{
foreach(BoardObject obj in objects)
{
if (obj is Puck)
{
auxPuck = (Puck) obj;
if (auxPuck.velocity.magnitude > 0f)
{
auxPuck.acceleration += (-auxPuck.acceleration * 9.8f*auxPuck.mass*Board.COEFFICIENTE_OF_FRICTION*Time.deltaTime);
auxPuck.velocity += auxPuck.acceleration * Time.deltaTime;
auxPuck.position += auxPuck.velocity * Time.deltaTime;
if (VectorsChangeMagnitudeSign(auxPuck.velocity,auxPuck.velocity-auxPuck.acceleration*Time.deltaTime))
{
auxPuck.acceleration = Vector2.zero;
auxPuck.velocity = Vector2.zero;
}
}
}
}
}
也许我会必须使用加速像浮,或与其他载体,这不是归一化速度的开始。当速度变得更大时,我的问题就来了,它似乎有一个奇怪的剩余速度,使它在最后不断移动。
的我该怎么做这给smothly运行它的好方法你知道吗?