我提出了一個非常簡單的程序,它在屏幕的邊緣創建edgecolliders,然後啓動具有連接到它與衝擊力一circleCollider2d橢圓。統一rigidbody2d速度收斂於0隨時間的1軸隨機
我設置所有的碰撞體(邊緣和圓形)以使用彈性材料,其彈性設置爲1.0(無限彈跳)。
我有一個奇怪的問題,即隨着時間的推移,速度軸的一個收斂於0。例如
this.GetComponent<Rigidbody2D>().AddForce (new Vector2 (100, 100), ForceMode2D.Impulse);
什麼情況是,對象將開始以對角線方式移動,但足以給反彈,速度在(100,0)和(-100,0)之間交替變化。這可能發生在x軸變爲0或Y軸變爲0的位置。這取決於啓動過程中哪一個更高。
我不知道爲什麼會發生這種情況。基本上在視覺上,物體會開始反彈,並且在大約10次反彈之後,它將以直線來回跳動,而不是保留另一個軸。我不知道它爲什麼這樣做。我沒有任何限制(我也嘗試約束Z軸旋轉,但是什麼也沒做)。
所有邊緣碰撞體以及圓形碰撞體的彈性都設置爲1.0。 剛體的質量爲1,所有阻力系數也設爲0。 意圖是它只是無休止地反彈。