Unity Navigation自動尋路


NavMesh(導航網格) 是3D游戲世界中主動尋路的一種技術,如果你想讓游戲人物能自動繞開障礙物到達目的地.那你就來學習下

Navigation導航技術吧O(∩_∩)O~

 

首先創建一個項目創建Panel和Cube游戲物體

image

 

你需要把地形烘焙成導航網格 (藍色區域說明可走的) 步驟如下:

1.選中Panel和Cube的static屬性打上√

2.選中Panel和Cube打開菜單欄Window->Navigation,點擊Bake即可看到地形變顏色了

imageimage

 

 

我們需要創建一個游戲物體來控制他在地圖上根據鼠標點擊來回走動,創建一個球體並且添加NavMeshAgent組件

image

再寫一個MyMove的腳本掛到球物體身上:

using UnityEngine;
using System.Collections;

public class MyMove : MonoBehaviour {


    private NavMeshAgent aget;

    void Awake() 
    {
        aget = GetComponent<NavMeshAgent>()
    }

    public void Update() 
    {
        if(Input.GetMouseButtonDown(0))
        {
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
            RaycastHit hit;
            
            if (Physics.Raycast(ray, out hit, 1000)) 
            {
                aget.destination = hit.point;
            }
        }
    }
}

效果圖如下:

123


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM