想要实现一个物体的曲线运动,需要一个面朝向的运动速度以及左右方向上的运动速度。
//面朝向速度
public float moveSpeed=5;
//左右曲线移动变化的速度
public float changeSpeed=2;
//左右曲线移动的距离
public float changeSize=0.5f;
private float time=0;
//这些数值可以自己定义
移动逻辑,以下代码写在Update语句块中。
//面朝向移动
this.transform.Translate(Vector3.forward*moveSpeed*Time.deltaTime);
//左右曲线移动
time+=Time.deltaTime*changeSpeed;
this.transform.Translate(Vector3.right*changSize*Time.deltaTime*Mathf.Sin(time));
通过控制速度和距离可以控制物体的运动轨迹。