Немогу зрозуміти як змусити об'єкт рухатися правильно

Завдання: На дошці знаходиться м'ячик, який приводиться в рух за вектором від м'ячика в напрямку вказаному мишкою.
Потрібно щоб м'ячик після прикладання сили постійно котився в зазначеному напрямку з фізикою.







Якщо я задаю рух так, передаючи вектори напряму, то м'ячик котиться до зазначеної точці кінця вектора і після подолання розгортається назад, постійно теліпаючись біля поинта.

Vector3 direction = # 40; target - transform. position # 41; ;
Vector3 perp_direction = Vector3. Cross # 40; Vector3. up. normalized. direction. normalized # 41; ;

rigidbody. AddTorque # 40; perp_direction. normalized * tortue * Time. deltaTime. ForceMode. VelocityChange # 41; ;






rigidbody. AddForce # 40; direction. normalized * force * Time. deltaTime. ForceMode. Impulse # 41; ;

Якщо я задаю рух через вказівку самої точки куди вказав гравець, то м'ячик правильно рухається по прямій, проте в цьому випадку є глюк. Якщо гравець клацне мишкою досить близько до м'ячику, то м'ячик покотиться в зворотну сторону (чому не зрозуміло, ніби він відштовхується від поверхні і рухається назад) хоча target вирівняний по координаті Y з центром м'ячика і в дошку м'ячик не повинен бится.

rigidbody. AddForce # 40; target. normalized * force * Time. deltaTime. ForceMode. Impulse # 41; ;

Ще додаткове питання про AddTorque, якою б великою вектор я не передавав кручення м'ячика всерівно повільне, наприклад якби це було колесо, більше першої швидкості автомобіля воно не стане крутитися. Як змусити предмет крутитися дуже швидко?