找不到命名空间或数据类型NavMeshAgent Unity 3d

时间:2017-12-05 22:59:28

标签: c# visual-studio unity3d namespaces

我正在尝试在Visual Studio中运行简单的Unity脚本(它作为我的对象的一个​​组件附加)。这是代码:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;

public class BlackPawnParticleSystem : MonoBehaviour {

    // Use this for initialization
    void Start () {
        ParticleSystem ps = GetComponent<ParticleSystem);
        var em = ps.emission;
        em.enabled = true;

        em.SetBursts(
            new ParticleSystem.Burst[]{
                new ParticleSystem.Burst(2.0f, 100),
                new ParticleSystem.Burst(4.0f, 100)
            });
    }

  // Update is called once per frame
  void Update () {

  }
}

问题是,当我运行它时,我收到一个错误:“找不到命名空间或数据类型NavMeshAgent”。我已经读过简单的UnityEngine导入可能存在问题。所以我用using UnityEngine.AI替换了它。

但像ParticleSystem和MonoBehavior这样的所有类都加下划线并显示相同的“找不到命名空间”错误,就像它们不在此命名空间中一样。那么如何定义命名空间导入以正确运行代码呢?

更新:完整错误消息

D:\userdata\Documents\Scene1\Assets\RPG Character Animation Pack\Code\RPGCharacterControllerFREE.cs(21,10,21,22): error CS0246: Can not find namespace or data type NavMeshAgent

1 个答案:

答案 0 :(得分:1)

不要删除UnityEngine导入,只需在下一行添加UnityEngine.AI导入。

using UnityEngine;
using UnityEngine.AI;

您必须将此导入添加到提供错误的实际文件中,因此在这种情况下,您需要转到RPGCharacterControllerFREE.cs并将using UnityEngine.AI;添加到该文件。