Zh-tw/Nodegraph: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
Line 13: Line 13:
一個地圖可以有兩個Nodegraph存在(不過兩個Nodegraph都會被存在同一個AIN檔裡):一個作用於飛行的NPC上,另一個則是用來走路、駕駛或是執行其他只能在地面上移動的NPC才能做的行動。一般來說NPC可以從中選擇一種Nodegraph,但是當前沒有這樣行動的已知例子。
一個地圖可以有兩個Nodegraph存在(不過兩個Nodegraph都會被存在同一個AIN檔裡):一個作用於飛行的NPC上,另一個則是用來走路、駕駛或是執行其他只能在地面上移動的NPC才能做的行動。一般來說NPC可以從中選擇一種Nodegraph,但是當前沒有這樣行動的已知例子。


'''Air nodes(空中節點)'''會懸掛在任何它被放置的地方,但是'''Ground nodes(地面節點)'''會在編輯時自動落在地面上,除非有特別設定過<code>Keep editor position</code> Flag。
'''Air nodes(空中節點)'''會懸掛在任何它被放置的地方,但是'''Ground nodes(地面節點)'''會在編輯時自動落在地面上,除非有特別設定過<code>「Keep editor position」</code> Flag。


== 構成要素 ==
== 構成要素 ==

Revision as of 01:50, 20 August 2010

Template:Otherlang2

Nodegraph被設計者用來幫助NPC的AI規劃活動路徑,Nodegraph包括人工放置的Nodes(節點)與自動在Node間形成的Links (連結)。每個獨立的Node代表NPC實際上可以移動到的地方,Nodegraph的連結則會在編輯時自動產生,但可以用連結控制工具來調整。AI會驅使NPC順著連結從一個節點移動到另一個節點,不過不一定會精確地到達Node的位置,也不一定會走直線路徑。

  • 一個節點可能會有「Hint(指示節點)」協助,像是「蹲下掩護」之類的,來幫助NPC在某些特定的位置做出反應。詳情參見Hint nodes
  • Counter-Strike:Source 的 BOT 也有類似的東西,叫做 Navigation Meshes(網狀導航).

編輯

Nodegraph會在地圖載入時自動編輯且存入AIN檔,除非本來就有與地圖相對應的AIN檔存在。在建立過程中,Source引擎的AI系統將會在所有節點間(小於720單位)繪製直線和計算哪些種類的NPC Hull可以在所有路徑中移動。可動的物件像是實體物品以及門都會在程序中被忽略。AIN檔輸出之後會保存在「<遊戲名稱>\maps\graphs」

一個地圖可以有兩個Nodegraph存在(不過兩個Nodegraph都會被存在同一個AIN檔裡):一個作用於飛行的NPC上,另一個則是用來走路、駕駛或是執行其他只能在地面上移動的NPC才能做的行動。一般來說NPC可以從中選擇一種Nodegraph,但是當前沒有這樣行動的已知例子。

Air nodes(空中節點)會懸掛在任何它被放置的地方,但是Ground nodes(地面節點)會在編輯時自動落在地面上,除非有特別設定過「Keep editor position」 Flag。

構成要素

以下是建立Nodegraph的要素:

地面節點
info_node
info_node_hint
info_node_climb
空中節點
info_node_air
info_node_air_hint
連結控制
info_node_link
info_node_link_controller

建立

放置節點

map_edit

指示節點

曲線除錯

連結控制

NPC的使用方式

當NPC試圖建立路徑,他會依照以下規則來使用Nodegraph:

  • 找尋距離NPC的位置最近的節點
  • 找尋距離NPC想到的位置最近的節點
  • 確認兩點間有連接起來,並且找尋最佳路徑
  • 使用 moveprobes 來確認NPC可以抵達目標節點
  • 使用 moveprobes 來確認NPC可以利用目標節點到達他想到的位置


這個條目同時存在於