Остановить движение мяча. Unity3d

После попадания мяча в стенку(в цель). Он должен спавнится на первоначальном месте без движения. Его движение я останавливаю так. Но при спавне в точку (0, 0, 0) он всё равно катится тихонько, то есть есть ещё движение. Что можно ещё сделать с мячом, чтобы остановить его намертво?

        gameObject.GetComponent<Rigidbody>().velocity = Vector3.zero;
        gameObject.transform.position = new Vector3(0, 0, 0);

Ответы (1 шт):

Автор решения: SoulOFTrue

В Вашем коде Вы сначала останавливаете мяч, а уже потом телепортируете. Я не знаю как у Вас реализована сцена, но после телепортации на мяч могут повлиять некоторые силы (например земля будет находиться на пару пикселей ниже мяча и он на неё упадет). Попробуйте такой вариант:

gameObject.transform.position = new Vector3(0, 0, 0);
gameObject.GetComponent<Rigidbody>().velocity = Vector3.zero;
gameObject.GetComponent<Rigidbody>().angularVelocity = Vector3.zero;
→ Ссылка