Делаю код для игры, необходимо, чтоб персонаж мог двигаться из точки в точку и поворачиваться в сторону направления движения. Движение работает, но когда я пытаюсь повернуть свой 2d объект, то он не поворачивается, а просто исчезает. Я понимаю, что этол из-за того, что кроме z ещё и x и y становятся на 90 граудсов и мой 2д объект ребром как бы встаёт и поэтому его не видно, но как сделать так, чтоб оно нормально было
Скрипт
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
public class ZombieStandart : MonoBehaviour
{
public float speed = 1f;
public int health;
public int atack;
public Transform[] WayPoints;
public int NewPosition;
public Transform LastPosition;
public void Start()
{
NewPosition = 0;
}
public void FixedUpdate()
{
Move();
Rotation();
}
public void Move()
{
transform.position = Vector2.MoveTowards(transform.position, WayPoints[NewPosition].position, speed * Time.deltaTime);
if (Vector2.Distance(transform.position, WayPoints[NewPosition].position) < 0.2f)
{
NewPosition = NewPosition + 1;
}
}
public void Rotation() // вот тут пытаюсь повернуть но что-то не хочет
{
Vector2 dir = WayPoints[NewPosition].position - transform.position;
Quaternion rotation = Quaternion.LookRotation(dir, Vector2.zero);
transform.rotation = rotation;
transform.Translate(dir.normalized * speed * Time.deltaTime, Space.World);
}
}