А каким способом можно отследить у объекта направление?

Всем привет возникла такая проблема…мне нужно что-бы мой бот поворачивался в сторону его движения и возникла такая проблема как определить в коде в каком направление движется бот что-бы его повернуть? все реализованно в юнити 2д,сразу скажу что игра с видом сверху и обычным флипом тут не обойтись

Это как? :thinking:
Движения чего?)

движение самого бота, к примеру он движется в низ и поворачивается своим передом в низ

Так а движение как сделано?
Выложите код.

using UnityEngine;
using UnityEngine.AI;
public class Bot : MonoBehaviour
{

    public Transform player;
    public LayerMask layerMask;

    private Rigidbody2D rb;


    NavMeshAgent agent;
    public float stopDistance;
    public float retrDistance;





    void Start()
    {
        rb = this.GetComponent<Rigidbody2D>();


        agent = GetComponent<NavMeshAgent>();
        agent.updateRotation = false;
        agent.updateUpAxis = false;
    }


    void Update()
    {
        

        player = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();

           agent.SetDestination(player.position);


    }
}

мне нужно понять как отследить его движение верх в низ в право в лево, тогда я смогу его поворачивать

Может достаточно просто тут true?

у меня игра 2д, с видом с верху,если там поставить true то бот будет вращаться не по той оси,мне надо чтобы он вращался по оси z… недавно начал работать с navmesh так что я хз как это сделать

я думаю есть способ отследить когда бот двигается по оси x и y и повернуть когда он двигается в ту или иную сторону

еще у меня была идея написать примерно такой скрипт
if(новая позиция по x > старой позиции по x)
transform.eulerAngles = new Vector3(0, 0, 90);
но как найти старую позицию я незнаю

В velocity вроде указано направление.

Как-то так можно угол вычислить: NavMeshAgent rotation - Unity Answers