航点示例来自Unity docs教程网站。 当我放置两个球体时,敌人将进入它们之间并且当它们到达单向点时也不好,它们不会向后倾斜180度,但它们就像向后移动而不转动然后转动。我想做的是当他们到达一个方向点在该地方转180度然后开始走向另一个方向点。我该怎么做 ?我想在动画师中添加一个状态吗?
第二个问题是,当我将圆柱体作为具有一个球体的航路点时,敌人将进入球体并将留在那里然后将在球体周围制造圆形,它们将永远不会到达圆柱体。
这是烘烤后的场景截图。 我将Terrain设置为Navigation Static和Walkable。 我还将Spheres和Cylinder设置为Naviagtion Static和Walkable。
Guard and Guard 1是敌人(ThirdPersonController)
这是两个球体和大圆柱体左侧两个敌人的场景截图。
这是巡逻脚本:
using UnityEngine;
using System.Collections;
public class Ai : MonoBehaviour {
public Transform[] points;
private int destPoint = 0;
private NavMeshAgent agent;
// Use this for initialization
void Start () {
agent = GetComponent<NavMeshAgent> ();
agent.autoBraking = false;
GotoNextPoint ();
}
void GotoNextPoint()
{
if (points.Length == 0)
return;
agent.destination = points [destPoint].position;
destPoint = (destPoint + 1) % points.Length;
}
// Update is called once per frame
void Update () {
if (agent.remainingDistance < 1.5f)
GotoNextPoint ();
}
}
这是我拍摄的一段视频片段,展示了他们如何巡逻。 并且主要玩家也一直生气,不知道为什么。