Делаю управление для игры. Нужно чтобы объект двигался вверх все время с одинаковой скоростью, а влево и вправо двигался за пальцем. Прикладываю силу или скорость по оси X и чтобы объект мог останавливаться добавляю Linear Drag.
Но он влияет и на скорость по Y.
Как сделать так, чтобы Linear Drag не влиял на ось Y?
За много GetComponent не ругайтесь, я пока просто тестирую, потом все приведу в порядок.
if (direction == 0)
{
GetComponent<Rigidbody2D>().AddForce(new Vector2(0,0));
GetComponent<Rigidbody2D>().velocity = new Vector2 (0, 1.5f)*3f;
}
else if (direction > 0 && transform.position.x >= initial_pos + (width*direction)/2f)
{
GetComponent<Rigidbody2D>().AddForce(new Vector2(0,0));
GetComponent<Rigidbody2D>().velocity = new Vector2 (0, 1.5f)*3f;
}
else if (direction < 0 && transform.position.x <= initial_pos + (width*direction)/2f)
{
GetComponent<Rigidbody2D>().AddForce(new Vector2(0,0));
GetComponent<Rigidbody2D>().velocity = new Vector2 (0, 1.5f)*3f;
}
else if (direction > 0 && transform.position.x != initial_pos + (width*direction)/2f)
{
GetComponent<Rigidbody2D>().velocity = new Vector2 (0, 1.5f)*3f;
GetComponent<Rigidbody2D>().AddForce(new Vector2(0.02f,0));
}
else if (direction < 0 && transform.position.x != initial_pos + (width*direction)/2f)
{
GetComponent<Rigidbody2D>().velocity = new Vector2 (0, 1.5f)*3f;
GetComponent<Rigidbody2D>().AddForce(new Vector2(-0.02f,0));
}