Мне нужно поставить юнита на определенные координаты и передать ему значение куда ему идти
public class Unit : MonoBehaviour{ // прикреплен к префабу
public Vector3 EndPoint;
private float speed = 2f;
void Start(){
//EndPoint= new Vector3(15, 0, 15);
}
void Update(){
transform.position = Vector3.MoveTowards(transform.position, EndPoint, speed*Time.deltaTime);
}
}
public class Spawn : MonoBehaviour{
void Start(){
SpawnUnit();
}
void SpawnUnit(){
Unit Prefab = Resources.Load("Units/unit1", typeof(Unit)) as Unit;
Instantiate(Prefab, new Vector3(5, 0, 5), Quaternion.identity);
Prefab.EndPoint = new Vector3(15, 0, 15);
}
}
Но он не идет к заданным координатам, он идет в другую сторону на пару клеток.
Если убрать Prefab.EndPoint = new Vector3(15, 0, 15); и раскомментировать EndPoint= new Vector3(15, 0, 15); то идет туда куда нужно.
Но в теории я и так передаю ему координаты Prefab.EndPoint = .... , почему так не работает?