unity自動尋路相關注意事項

首先選擇角色所在的地形,點擊window->Navigation打開Navigation窗口,在Navigation下的object選項卡中選「Navigation  Static」其餘保持默認便可,而後點擊右下角「Bake」就能夠了;


若是有障礙物,且障礙物不屬於地形物體,須要對障礙物進行烘焙,方法是選擇障礙物,在Navigation下的Object選項卡中勾選「Navigation Static」,「Navigation Layer」選擇「Not Walkable」,打開Bake選項卡,根據須要修改相關參數,而後點擊右下角「Bake」烘焙便可。

對於自動尋路的角色,須要添加「NavMeshAgent」組件,方法是點擊菜單欄中「component->Naviga->NavMeshAgent」這樣自動尋路的相關設置就完成了;

還須要爲角色添加代碼是他可以自動尋路:

public PlayerControl:MonoBehavior
c#

{ide

    private NavMeshAgent agent;
component

    public float speed=6;
orm

    void Start()
it

    {io

        agent=GetComponent<NavMeshAgent>();//獲取NavMeshAgent組件
ast

     }
form

    void Update()
class

    {transform

        if(Input.GetMouseButtonDown(0))

        {

            Ray ray=Camera.main.ScreenPointToRay(Input.mousePosition);

            RayCastHit hitInfo;

            if(Physics.RayCast(ray,out hitInfo))

            {

                if(!hitInfo.Collider.name.Equals("Terrain"))

                    return;

                 else

                   {

                        Vector3 point=hitInfo.point;

                        transform.LookAt(new                                                                 Vector3(point.x,transform.position.y,point.z));

                        agent.speed=speed;

                        agent.SetDestination(point);

                    }

             }

        }

    }

}

相關文章
相關標籤/搜索