Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
使用 NavigationLink¶
NavigationLink 可以將相隔任意距離的導覽網格多邊形連接起來,參與尋路,多邊形來自 NavigationRegion2D 和 NavigationRegion3D。
NavigationLink 也可以用來實作尋路過程中需要與遊戲中的物件互動才能使用的捷徑,例如梯子、跳板、傳送門等。
2D 和 3D 版本的 NavigationJumplinks 節點分別可用作:ref:NavigationLink2D<class_NavigationLink2D> 和:ref:NavigationLink3D<class_NavigationLink3D>。
不同的 NavigationRegions 可以連接它們的導覽網格,無需使用 NavigationLink,只要它們位於導覽地圖「edge_connection_margin」內並且具有相容的「navigation_layers」即可。一旦距離變得太大,建立有效的連線就會成為一個問題——NavigationLinks 可以解決這個問題。
請參閱 doc_navigation_using_navigationregions 以了解更多有關導覽區域使用的資訊。請參閱 doc_navigation_connecting_navmesh 以了解有關如何連接導覽網格的更多資訊。
NavigationLinks 與 NavigationRegions 共享許多屬性,例如「navigation_layers」。與使用導覽網格資源新增更多本地可走訪區域的 NavigationRegions 相比,NavigationLink 在任意距離的兩個位置之間新增單一連線。
NavigationLinks 有一個“start_position”和“end_position”,並且當啟用“雙向”時可以雙向移動。放置時,導覽連結會連接搜尋半徑內最接近其「start_position」和「end_position」的導覽網格多邊形以進行尋路。
The polygon search radius can be configured globally in the ProjectSettings under navigation/2d_or_3d/default_link_connection_radius
or set for each navigation map individually using the NavigationServer.map_set_link_connection_radius()
function.
“start_position”和“end_position”在編輯器中都有偵錯標記。位置的可見半徑顯示多邊形搜尋半徑。比較內部的所有導覽網格多邊形,並選擇最接近的作為邊緣連接。如果在搜尋半徑內找不到有效的多邊形,導覽連結將被停用。
可以在「debug/shapes/navigation」下的編輯器中更改連結除錯視覺效果:ref:ProjectSettings<class_ProjectSettings>。除錯的可見性也可以在編輯器 3D 視口小控制功能表中控制。
備註
導覽連結本身不會在兩個連結位置之間移動代理。
導覽連結不提供通過連結的任何自動移動。相反,當代理到達連結的位置時,遊戲程式碼需要做出反應(例如通過區域觸發器)並為代理提供通過鏈接移動以最終到達鏈接其他位置(例如通過傳送或動畫)的方法。繼續沿著小路走。