0

ビリヤード ゲームをテストしていますが、これは私が遭遇した問題です。 場面写真

写真のように、剛体コンポーネントが追加された小さなボールがテーブルの上に置かれ、クッションの側面に「クッション」タグが付けられています。

これがボールのスクリプトです。

    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

私を助けてくれてありがとう!!

4

0 に答える 0