Остановить движение мяча. 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;