我需要 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 点。然后尝试在您的地形上放置空物体:
- 生成敌人
- 获取路径中 B 点和 C 点的
transform.position
。 - 不断更新敌人的 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/