为什么航点在它们是球体但没有圆柱体时工作?

时间:2016-08-03 12:00:38

标签: c# unity3d unityscript unity5

航点示例来自Unity docs教程网站。 当我放置两个球体时,敌人将进入它们之间并且当它们到达单向点时也不好,它们不会向后倾斜180度,但它们就像向后移动而不转动然后转动。我想做的是当他们到达一个方向点在该地方转180度然后开始走向另一个方向点。我该怎么做 ?我想在动画师中添加一个状态吗?

第二个问题是,当我将圆柱体作为具有一个球体的航路点时,敌人将进入球体并将留在那里然后将在球体周围制造圆形,它们将永远不会到达圆柱体。

这是烘烤后的场景截图。 我将Terrain设置为Navigation Static和Walkable。 我还将Spheres和Cylinder设置为Naviagtion Static和Walkable。

Guard and Guard 1是敌人(ThirdPersonController)

Baked

这是两个球体和大圆柱体左侧两个敌人的场景截图。

Scene

这是巡逻脚本:

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 ();

    }
}

这是我拍摄的一段视频片段,展示了他们如何巡逻。 并且主要玩家也一直生气,不知道为什么。

Clip

0 个答案:

没有答案