我有一个我试图移动的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);
    }

}

控制台中的输出是移动对象应该具有的位置,但在游戏/场景视图中没有 .