Как сохранить постоянную скорость, когда объект движется с максимальной скоростью
Я работаю над проектом в Unity 2D для учебных целей. Это игра в пинг-понг. У меня есть материал, поэтому он движется быстрее каждый раз, когда он подпрыгивает. Единственная проблема с его материалом состоит в том, что его скорость выходит из-под контроля и глюки. Я хочу найти способ остановить это.
Например, я хотел бы знать, как удерживать мяч на постоянной скорости, когда он достигает максимальной скорости, например, 15f. Это Rigidbody2d
коллайдерный мяч.
1 ответ
Как предлагается в этом посте, вы можете контролировать скорость вашего твердого тела, используя Vector2.ClampMagnitude
метод отслеживания в вашем OnFixedUpdate()
, Я предоставляю код в сообщении, которое я цитирую для вашего удобства. Я отредактировал код, указанный в цитируемом сообщении, чтобы он соответствовал последним изменениям в API:
float maxVelocity = 10;
void FixedUpdate()
{
rigidbody2D.velocity = Vector2.ClampMagnitude(rigidbody2D.velocity,
maxVelocity);
}