Unity導航 (尋路系統Nav Mesh Agent)

来源:https://www.cnblogs.com/jieke666/archive/2019/04/20/10741398.html
-Advertisement-
Play Games

第一種 簡單尋路 地面接觸到的。到達目標點不用跳躍能夠一直走路到達。場景視圖中簡單搭設幾個物體。膠囊體為尋路者,黃球為目標點 紅地板,綠色障礙物。現將地板以及障礙物選中 在檢視面板設置靜態為Navigation Static 如圖2然後菜單欄選擇視窗 Window –Navigation然後選擇Al ...


第一種 簡單尋路 地面接觸到的。到達目標點不用跳躍能夠一直走路到達。


場景視圖中簡單搭設幾個物體。


膠囊體為尋路者,黃球為目標點 紅地板,綠色障礙物。



現將地板以及障礙物選中 在檢視面板設置靜態為Navigation Static 如圖2


然後菜單欄選擇視窗 Window –Navigation



然後選擇All—Bake烘焙如圖



有三個頁面參數可以調節烘焙效果,參數具體參照聖典解釋。



註意 膠囊體和目標物都要烘焙在藍色格子裡面。否則不能實現,可以調節第二個頁面里的參數調節烘焙大小。


然後給膠囊體添加導航組件


菜單欄Component—Navigation-Nav Mesh Agent


組件參數詳情參見聖典.



然後給膠囊體添加代碼,代碼內容如圖


aa即為目標物。在檢視面板將球給aa。運行即可實現簡單尋路。如圖



第二種尋路 不連續,可以跳躍的尋路


先搭設簡單場景 如圖 如果跳躍必須加三個跳板如圖長條白板


將地面和高臺(綠色)一起設置為Navigation Static



給中間跳板加一個組件 Component—Navigation—Off Mesh Link 其中有幾個屬性 start和end 這就是起跳位置和落地位置,將兩個跳板用滑鼠拖拽上即可。膠囊體添加尋路組件和第一種一樣。添加腳本。腳本一樣。所有組件選擇完畢後最後選擇烘焙。
烘焙時 All 下麵兩個屬性都要選中。

烘焙時有時會出現上圖有個圓圈位置未烘焙上,原因是膠囊體進入地面太多。可以再將膠囊體移動位置至藍色網格上即可 運行即可實現。以上步驟落下一步該系統便不能實現。 細心即可。



Agent Radius 代理半徑 半徑越小生成網格的面積越大,也越靠近靜態物體的邊緣。



Agent Height 代理高度


Max Slope 物體抬升臺階的高度


Drop Height 允許的最大下落距離


Jump Height 允許的最大跳躍距離


Radius 代理逃避半徑 Height 代理經過障礙物下方目的高度



Base Offset 偏移距離


Steering 操作 指導


Speed 代理最大移動速度 Angular Speed 角速度


Acceleration 最大加速度 Stopping Distance 停止時和目標的距離(距離目標多少時停下)


Auto Braking 該代理是否自動制動去避免超過目的點


obstacle avoidance 故障排除


Quality 質量 Priority 優先順序


Path Finding 路徑尋找中……


Auto Traverse Off Mesh Link 該代理是否自動穿過Off Mesh Links?


Off-mesh連接用於連接不相交區域的導航網格。通常,當該屬性設置為true時,角色應該有能力自動通過或者穿過連接。但是,在需要特殊控智移動的時候它也可以被設置為false。


Auto Repath 自動更新路徑(例如目標位置改變,需要重新更新路徑)


Area Mask 區域遮擋 (代理的行動區域,能在什麼地方走。預設Everthing 任何地方)


更多unity2018的功能介紹請到paws3d爪爪學院查找。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1.成員變數和局部變數 1.1成員變數和局部變數定義 成員變數指的是類裡面定義的變數(field),局部變數指的是在方法里定義的變數。 成員變數無須顯示初始化,系統會自動在準備階段或創建該類的實例時進行預設初始化。 與成員變數不同,局部變數除了形參之外,都必須顯示初始化。 命名規則: 一個類里不能定 ...
  • 一、udp簡介 udp 用戶數據報協議,是一個無連接的簡單的面向數據報的運輸層協議。 udp不提供可靠性,它只是把應用程式傳給IP層的數據報發送出去,但是並不能保證它們能到達目的地。 udp在傳輸數據報前不用在客戶和伺服器之間建立一個連接,且沒有超時重發等機制,故而傳輸速度很快。 udp是一種面向無 ...
  • 開場一些題外話,今天登陸這個"小菜"的博客園,感觸頗多。"小菜"是我以前在QQ群裡面的網名,同時也申請了這個博客園賬戶,五年前的"小菜"在NET和C++某兩個群裡面非常的活躍,也非常熱心的幫助網友盡能力所及解決技術上的問題。依稀記得當時NET群裡面的"青菊、Allen、酷酷",C++群裡面的"夏老師 ...
  • 寫在前面 開發.NET Core應用,直接映入眼帘的就是Startup類和Program類,它們是.NET Core應用程式的起點。通過使用Startup,可以配置化處理所有嚮應用程式所做的請求的管道,同時也可以減少.NET應用程式對單一伺服器的依賴性,使我們在更大程度上專註於面向多伺服器為中心的開 ...
  • 通常情況下引用類型的相等性是不應該被重定義/重寫的。 例如兩個引用類型的變數 x 和 y,如果這樣寫:if(x == y) {...},那麼大家都明白,這個比較的是引用的相等性。 但是有少數情況下,也可以為引用類型重寫相等性。 例如這個類: 這個類裡面只有兩個string類型的屬性和欄位,那麼對它的 ...
  • Xamarin.Form與Xamarin.Android或Xamarin.IOS的區別簡述: 可能剛剛接觸Xamarin的人來說,對於這個概念比較的模糊,認為這說的不都是同一個東西嗎?事實並不是這樣的,我們先來說說Xamarin.Android和Xamarin.IOS吧,這兩個其實就是一個單獨的工程 ...
  • 對應Framework版本重新註冊 2.0:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 4.0:C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regi ...
  • 參考自:https://blog.csdn.net/whl632359961/article/details/73468115 https://www.cnblogs.com/ywl925/archive/2012/11/24/2786105.html 以下是自己做的該功能(發送簡訊、獲取簡訊餘額條 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...