我有一个立方体和主相机作为它的孩子。我在多维数据集上附加了一个脚本,并在 Update() 中使用以下语句:
transform.Translate(Vector3.Normalize(Camera.main.transform.forward) * speed);
speed=0 最初并随着每一帧的增加而增加。
这应该将立方体沿相机朝向的方向移动。当立方体和相机的初始旋转分别为 (0,0,0) 和 (0,0,0) 时,这可以正常工作。如果相机旋转(0,180,0)保持立方体在(0,0,0)旋转,它也可以正常工作。但是如果立方体旋转了 (0,180,0),立方体和相机就会反向移动。
我什至试过这个:
transform.Translate(Vector3.MoveTowards(transform.position, Camera.main.transform.forward, speed));
但结果相同。