ビリヤード ゲームをテストしていますが、これは私が遭遇した問題です。 場面写真
写真のように、剛体コンポーネントが追加された小さなボールがテーブルの上に置かれ、クッションの側面に「クッション」タグが付けられています。
これがボールのスクリプトです。
private Rigidbody rb;
void Start()
{
rb = GetComponent<Rigidbody>();
rb.velocity = new Vector3(0,0,1);
}
void Update()
{
print(rb.velocity);
}
private void OnCollisionEnter(Collision other)
{
if (other.gameObject.CompareTag("cushion"))
{
rb.velocity *= -1;
}
}
ボールは (0,0,1) の速度になり、クッションとの衝突後に (0,0,-1) になると思いますが、コンソールを実行すると、ボールの速度は (0,0,0.2) になります。 、そして衝突後に (0,0,-0.1) になりましたが、何が起こったのでしょうか?
Ball Rigidbody プロパティ: Mass: 1 Drag: 0 Angular Drag: 0
私を助けてくれてありがとう!!