目前的工作需要加入自動尋路,后來決定使用 unity 自帶的 NavMesh,但有個問題是這個尋路數據,服務器也是需要的,那么我就要把這個數據導出為服務器所用才行。
但 NaveMesh 暫時沒有官方接口說如何導出這個 Mesh 的頂點數據,后來在論壇里發現 Unity 內部的人說,確實有接口可以導出數據,但是忘了名字。。。汗|||,還補充說這個接口只能在編輯器模式下使用,不過還好有人在下面給出了這個重要接口,那就是:
NavMesh.Triangulate(out Vector3[] vertices, out Int[] indices);
分別取出頂點和頂點索引。
其實,還有個辦法能找到這個接口,在 Mono 編輯器中,鼠標點擊 NavMesh,然后右鍵菜單選擇:Go to Declaration,就會看到打開一個新標簽的內容,往最下面瞅:
好了,山高月小,水落石出。
下面是測試結果:
1.原本的 NavMesh 預覽
2.取出 NavMesh 信息后繪制出來的