尋路NavMeshAgent

一、搭建一個場景

場景設計.png

二、設置不可走區域

設置NavigationStatic.png

三、烘焙不可走區域

烘焙不可走區域.png

點Bake按鈕執行烘焙。

四、烘焙可走區域

烘焙可走區域.png

點Bake按鈕執行烘焙。

五、編寫以下腳本並掛到主角對象上。

主角上添加組件NavMeshAgent

  1. using UnityEngine;
  2. using System.Collections;
  3.  
  4. public class NavMeshAgentTest : MonoBehaviour {
  5.  
  6. public NavMeshAgent agent;
  7. Vector3 point;
  8.  
  9. Ray aray;
  10. RaycastHit ahit;
  11.  
  12. void Update () {
  13. if (Input.GetMouseButtonDown(0))
  14. {
  15. aray = Camera.main.ScreenPointToRay(Input.mousePosition);
  16. if (Physics.Raycast(aray, out ahit))
  17. {
  18. point = ahit.point;
  19. }
  20. agent.SetDestination(point);
  21. }
  22. }
  23. }

六、運行測試

鼠標點地面,小球會自動繞過建築移動到鼠標點擊點。

尋路運行效果.png

發佈了19 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章