2016-04-17 124 views
-1

在我的乒乓球比賽中,球應該反彈,永遠不會變慢。然而,隨着時間的推移,球正在穩步放緩。我會把球對象和腳本的圖像。 這裏是左側 enter image description here統一乒乓球遊戲球物理減速問題

球屬性以下是使用UnityEngine球腳本 ;使用System.Collections的 ;

public class球:MonoBehaviour { public float ballVelocity = 3000;

Rigidbody rb; 
bool isPlay; 
int randInt; 

void Awake() 
{ 
    rb = GetComponent<Rigidbody>(); 
    randInt = Random.Range(1,3); 
} 

void Update() 
{ 
    if (Input.GetMouseButton(0) && isPlay == false) 
    { 
     transform.parent = null; 
     isPlay = true; 
     rb.isKinematic = false; 
     if (randInt == 1) 
     { 
      rb.AddForce(new Vector3(ballVelocity, ballVelocity, 0)); 
     } 
     if (randInt == 2) 
     { 
      rb.AddForce(new Vector3(-ballVelocity, -ballVelocity, 0)); 
     } 
    } 
} 

}

,這裏是反彈的物理圖像 enter image description here

,因爲我不知道爲什麼它不會工作,這是我的物理項目設置 enter image description here

我一直被卡住,對團結是新的,所以任何幫助都會很棒!如果您需要更多信息,請發表評論!

回答

2

轉到你的資產的文件夾,並創建一個PhysicMaterial兩者摩擦到(靜態和動態)設置爲0,反彈力爲0

+0

whatreü說話回合 – Temo

+0

對不起,我沒有看到第二圖像中的材料。你還可以嘗試的其他事情是將第二個參數添加到「AddForce」方法。嘗試使用'ForeMode.Acceleration'(因爲我假設你想忽略對象質量),如果你想考慮質量,那麼使用'ForeMode.Force'。如果這些工作都不起作用,那麼您可以嘗試的另一件事是使用'transform.forward'而不是'ballVelocity'。 – Agustin0987