2012-05-13 25 views
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运行它的好方法你知道吗?

回答

0

对不起,我发现了这个问题。我告诉过你 。我开始使用归一化矢量,当我抛出冰球时,问题来了,冰球改变方向与墙壁,然后加速休息减少摩擦力,导致恒定速度。

对不起,您好,非常感谢。