我有一个我试图移动的GameObject . 对于GameObject,我创建了一个新类,这个类有一个函数UpdatePosition() . 在这个函数中,我更新了GameObject的transform.position,如果我记录了对象的transform.position,控制台会写入新更新的位置 . 但是,在Unity中的游戏和场景视图中,对象不会移动 . 我通过Update函数调用每个tick的函数,这是有效的,因为Debug.Log每次滴答都输出到控制台 . 有谁知道这里出了什么问题?
public class ActiveObjects
{
[SerializeField]
public GameObject theMovingObject;
[SerializeField]
public Transform startPosition;
[SerializeField]
public Transform endPosition;
[NonSerialized]
private float speed = 10.0f;
[NonSerialized]
public float startTime;
[NonSerialized]
public float journeyLength;
// Sets new position of theMovingObject
public void UpdatePosition()
{
float step = speed * Time.deltaTime;
theMovingObject.transform.position = Vector3.MoveTowards(theMovingObject.transform.position, endPosition.position, step);
Debug.log(theMovingObject.transform.position);
}
}
控制台中的输出是移动对象应该具有的位置,但在游戏/场景视图中没有 .