Хотел написать скрипт сопротивления воздуха в 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 разница ещё заметнее


