Unity 2d. Top-down

Здравствуйте, есть скрипт для Top-down движения персонажа.
Всё работает как надо, но персонаж движется не лицевой стороной (он нарисован как для платформера, а не сверху), а так, будто его тянут за голову.
Подскажите, пожалуйста, как это можно исправить.

Скрипт:

public class PlayerController : MonoBehaviour { Rigidbody2D rigidbodyComponent; public float rotationSpeed = 250.0f; public float moveSpeed = 5.0f; public float sightLength = 5f; public Vector3 direction = new Vector3(0, 0, 0); void Start() { rigidbodyComponent = GetComponent<Rigidbody2D>(); } private void FixedUpdate() { } void Update() { if (Input.GetKey(KeyCode.D)) { transform.Rotate(new Vector3(0, 0, -1) * Time.deltaTime * rotationSpeed, Space.World); } if (Input.GetKey(KeyCode.A)) { transform.Rotate(new Vector3(0, 0, 1) * Time.deltaTime * rotationSpeed, Space.World); } direction = transform.TransformDirection(new Vector3(0, sightLength, 0)); Debug.DrawLine(transform.position, transform.position + direction, Color.green); if (Input.GetKey(KeyCode.W)) { rigidbodyComponent.MovePosition(transform.position + direction * (moveSpeed / 10) * Time.fixedDeltaTime); } if (Input.GetKey(KeyCode.S)) { rigidbodyComponent.MovePosition(transform.position - direction * (moveSpeed / 10) * Time.fixedDeltaTime); } } }
66
22 комментария

Комментарий недоступен

1
Ответить

отсюда я код и брал, немного поменяв)
они же идентичны, кроме скорости и клавиш

Ответить

будто его тянут за головуэто как?

Ответить
Ответить

fixedDeltaTime в Апдейте работает?

Ответить

с этим уже помогли, спасибо

Ответить