有许多人在初学unity时都会遇到一个问题–如何让一个指定的物体按照规定好的路线进行运动
首先创建5个空物体命名为point,作为移动路径的路径点
再创建一个Cube作为运动的物体 如图
代码如下:
using UnityEngine;
using System.Collections;
using System;
public class Move : MonoBehaviour {
//通过添加[Serializable]特性确保当前类可以被实例化。
[Serializable]
//创建一个类获取移动的路径点,移动时间,等待时间
public class Path {
public Transform Poitn;//路径点
public float MoveTime;//移动时间
public float WaitTime;//等待时间
public Vector3 Speed;//移动速度
}
public Path[] path = new Path[0];
private int Id;
public Transform target;
void Start () {
//让移动的物体的位置更变为第一个点的位置
target.position = path[0].Poitn.position;
//计算出每两个点之间的速度-speed
for (int i = 1;i<path.Length;i++) {
path[i].Speed = (path[i].Poitn.position - path[i - 1].Poitn