unity3d NavMeshAgent 尋路畫線/畫路徑


今天在群里看見有個小伙在問Game視圖尋路時怎么畫線

正好前幾天寫了個尋路,而且自己也不知道具體怎么在尋路時畫線,所以決定幫幫他,自己也好學習一下

在百度查了一下資料,直接搜尋路畫路徑、尋路畫線......

我可不是伸手黨,我只是想看看別人是怎么實現的

結果什么都沒有搜到!!那就直接搜unity3d 畫線吧.....  果然很多資料!!

Debug.DrawLine;使用這個函數只能在 screen 中看見畫的線,在 game 中看不見

那我們要怎么在game中畫線呢

百度給我答案:LineRenderer(線渲染器)

然后查聖典:http://game.ceeger.com/Script/LineRenderer/LineRenderer.html

怎么用的自己看,我在這里就不多說了

ok,開始敲代碼咯

首先我們創建一個空gameobject,然后添加 Line Renderer 組件

屬性設置如下圖:

 

材質我是隨便拖的,無關緊要

這個時候我們雙擊剛才創建的 gameobject 以在 scene 視圖中查看

我們可以看見有一條線出現了,因為我材質的問題,我這里顯示的是橢圓形!!腦補一下線的樣子吧

我們在組件中設置的兩個坐標其實就是兩個點,兩點一線,就這樣生成了線。。。好像是廢話

好了,我們開始敲代碼吧,組件設置沒啥好說的

 

設置兩個變量

1     public Transform line;//就是我們剛才添加的 gameobject
2     private LineRenderer _lineRenderer;//儲存 gameobject 的 LineRenderer 組件

 

在 Start 方法中初始化 _lineRenderer

1     void Start () 
2     {
3         _lineRenderer = line.GetComponent<LineRenderer>();
4     }


最后我們在尋路后畫線

1                 Vector3[] _path = Nav.path.corners;//儲存路徑
2                 _lineRenderer.SetVertexCount(_path.Length);//設置線段數
3                 for (int i = 0; i < _path.Length; i++)
4                 {
5                     _lineRenderer.SetPosition(i, _path[i]);//設置線段頂點坐標
6                 }

 

就這么簡單,看看代碼,看不懂先去看我上文提到的手冊

由於我的項目中有很多無關尋路畫線的代碼,而且以上代碼比較簡單,我就不貼出完整代碼了

下面是測試結果:

 

本文鏈接:http://www.cnblogs.com/shenggege/p/4129405.html


免責聲明!

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



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