Хотел написать скрипт сопротивления воздуха в unity2D, объект каждый раз летит по разной траектории

Иногда траектория такая:

Иногда такая:

вот код:

[SerializeField] private Vector2 Vector;
[SerializeField] private Vector2 startSpeed;
private Rigidbody2D rb;
void Start()
{
    rb = gameObject.GetComponent<Rigidbody2D>();
    StartCoroutine(Wait());
}

void Update()
{
    rb.drag = (0.480f * 0.1f * Mathf.Pow(rb.velocity.x,2) * (1.28f/2f)) /2;
}
IEnumerator Wait()
{
    yield return new WaitForSeconds(1);
    rb.AddForce((Vector * startSpeed * Time.deltaTime) * 50);
}

Компилятор не выдаёт никаких ошибок и предупреждений, круг летит по вектору (1,1) с силой 300, по x, и по y. Сначала я подумал что проблема в кадрах, решил попробовать умножить прибавляемую силу на Time.deltaTime, не помогло, разве что начальная сила стала меньше. Без Time.deltaTime разница ещё заметнее


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