c# - Unity - 绘制角色跟随的路径

标签 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;
    }
}

这段代码让角色直接移动,而不是按照我想画的特定路径移动。

问题:

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

我该如何解决这个问题,有什么帮助吗?

最佳答案

如果我没理解错的话——你想在 A 点生成一个敌人,并让它通过 B 点和 C 点(或任何其他类型的路径)移动到 D 点。然后尝试在您的地形上放置空物体:

  1. 生成敌人
  2. 获取路径中 B 点和 C 点的 transform.position
  3. 不断更新敌人的 transform.position 直到它到达 B 然后到达 C 最后到达 D. 等等

或者您可以使用 NavMesh。这是一个解释如何实现导航网格代理的教程:https://unity3d.com/learn/tutorials/modules/beginner/navigation/navmesh-agent

关于c# - Unity - 绘制角色跟随的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32207679/

相关文章:

c# - 如果使用接口(interface)则需要处理

c# - C# 中的 Web 服务和属性

android - 从 Android 应用程序启动 Unity 游戏并从 Unity 恢复到该应用程序是否可行?

c# - 如何在所有字段都填满之前保持按钮禁用状态

c# - .NET MVC 显式 View

c# - 减去两个 ViewBag 值

unity3d - 为什么我已经给unity加了一个.dll,还是不能用/

c# - 变量在 Update() 中不断累加

firebase - 是否可以在 Firebase 中只接受来 self 的应用的函数调用?

c# - 从 AR 相机截屏后更新 Android Gallery?