Unity - 要跟踪字符的绘制路径

时间:2015-08-25 15:09:18

标签: c# unity3d

我需要Instantiate路径中的字符从路径的开头移动到路径的末尾。

我的尝试:

public class EnimaySpwan : MonoBehaviour 
{
    public GameObject gameObject;
    public Transform WaterSpawn; // this where I want my enemy appear 

    private void Update() 
    {
        Instantiate (gameObject, WaterSpawn.position, WaterSpawn.rotation);
    }
}

我的对象移动脚本:

public class Mover : MonoBehaviour 
{
    public float speed;

    private void Start() 
    {
        GetComponent<Rigidbody>().velocity = transform.forward * speed;
    }
}

此代码使角色以直接方式移动,而不是在我想要的特定路径中移动。

问题:

我需要从路径(实例化)位置开始到路径终点(目的地)为我的敌人创建路径。

如何处理此问题,任何帮助?

2 个答案:

答案 0 :(得分:3)

如果我理解正确 - 你想在A点产生一个敌人并让它通过B点和C点(或任何其他类型的路径)移动到D点。尝试在地形上放置空物体:

  1. 产生敌人
  2. 获取路径中B点和C点的transform.position
  3. 继续更新敌人的transform.position,直到它到达B然后到C,最后到D.等
  4. 或者您可以使用NavMesh。这是一个解释如何实现Nav Mesh代理的教程:https://unity3d.com/learn/tutorials/modules/beginner/navigation/navmesh-agent

答案 1 :(得分:2)

在没有太多编程技巧的情况下,使用iTween编辑器是最简单的方法。 https://www.assetstore.unity3d.com/en/#!/content/84