Nav Mesh Agent ai自动寻路组件 使用笔记

来源:互联网 发布:图书管理系统c语言代码 编辑:程序博客网 时间:2024/04/30 07:48

如上图:绿色的球DesBall为目标,粉红柱状Player为追踪物。深灰色的Obstacal为障碍物。底部浅灰色Floor。


目录Window-->Navigation打开面板如下:


选中Hierarchy下的两个Obstacal,  勾选上Navigation Static,并设置Navigation Layer为Not Walkable.

点击Bake.


再选择地板Floor


设置Navigation Layer为Default.然后点击Bake.


此时当Navigation tab还没有关闭的时候,窗口如下所示:

Scene内有个Navmesh Display的小面板,可以控制Navmesh的显示与否。


把以下代码的脚本添加给Player:

publicclass navTestMonoBehaviour{

    public Transform target;

    private NavMeshAgent navMeshAgent;

    void Start()

    {

        navMeshAgent = GetComponent<NavMeshAgent>();

    }

    void Update()

    {

        //if(Input.GetKeyDown(KeyCode.F))

        //{

        //    navMeshAgent.destination = target.position;

        //}

        navMeshAgent.destination =target.position;

    }

}


并分别在Player物体下设置该脚本的target属性位Desball.


再为Player添加Nav Mesh Agent组件(Component-->Navigation-->Nav Mesh Agent)

注意要选择NavMesh Walkable为Default。就是之前设置Floor对应的值。


OK,Ctrl+P

enjoy it.



0 0
原创粉丝点击