日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

qteewidgetitem添加子节点_行为树的节点

發布時間:2023/11/27 生活经验 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 qteewidgetitem添加子节点_行为树的节点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一,行為樹幾大節點:

  1. Root節點:只能有一個子節點,并且該節點必須是“ 復合”節點。不能將任何Decorator或Service附加到Root,在root可以指定其黑板資源;
  2. Task節點:行為樹的葉子節點,可以附加Decorator或Service節點。定義的是AI所執行的任務,例如移動到某個點或者是執行攻擊等等,不參與決策行為;Task可以執行失敗或成功 ,且只有返回了執行結果Task才會結束,執行下一步決策,在藍圖中即調用FinishExecute函數返回結果;在擴展的Task中最終會調用OnTaskFinish; Task可以具有參數,參數可以是硬編碼值或Blackboard Key引用,即Task可以通過設定不同參數,達到復用的效果;

引擎附帶了一些內置Task:

  • FinishWithResult: 強制任務立即為此任務返回完成結果(Fail或Succeed)。
  • MakeNoise:產生感知系統噪聲的刺激。
  • MoveDirectlyToward:移動到某地,與Moveto區別在于,忽略導航數據。
  • MoveTO:通過導航移動到某點,當到達某點,返回成功,如果導航失敗將返回失敗。
  • PlayAnimation:此節點播放動畫。一般不建議使用,行為邏輯應該與動畫層分離;
  • PlaySound:此節點播放聲音。
  • Push Pawn Action:添加Pawn Action執行 (ue4 AI模塊的Action系統)。
  • RotatetoFaceBBEntry:旋轉AI朝向指定的Blackboard的某個值。
  • RunBehavior:將另一個行為樹作為一個整體子樹運行;
  • RunBehaviorDynamic:與上面一致,但是可以指定運行時的子樹;
  • RunEQSQuery:執行EQS查詢,查詢結果存儲在Blackboard中,并返回Task結果。
  • Wait:等待一段時間的Task,可以設置偏移隨機,使得每次等待時間不一樣。
  • WaitBlackboardTime:跟上一個功能一致,時間是從Blackboard上讀取。

3. Composite節點

Composite節點是行為樹的決策能力,共有三種復合節點:Selector,Sequence和Simple Parallel。您將發現通過使用Selectors和Sequences的組合,它們的工作方式如下:

    • Selectors:節點將嘗試查找其子節點中的一個來執行,找到一個分支或一個任務。執行。,從最左側的子節點開始嘗試執行。如果任務執行失敗或整個分支失敗,則嘗試下一個,依此類推。如果其中一個子級返回Success,表示任務已完成或整個分支已完成,那么Selectors將返回成功的結果給父節點,并不再執行之后的節點。如果Selector的所有子級都返回失敗,則Selector返回失敗的結果給父節點。
    • Sequences:節點的工作方式與Selectors的相反。要向其父節點返回成功,必須所有Sequence的子項都必須返回成功。從左向右執行,如果其中一個節點執行成功,依次向下執行,知道全部執行成功。如果子節點執行失敗,則返回失敗,且不再執行后面的節點;
    • Simple Parallel:為簡單并行節點,通常用來處理并發行為。運行執行兩個子節點:一個必須為task節點A,另一個為一個分支樹B。可以理解為,如果執行A任務,那么B也會執行,A是首要任務,B是次要任務。如果主Task失敗,則返回失敗,但如果主主Task成功,則返回成功。根據其設置,簡單并行完成主Task后,可以等待直到子樹執行結束,也可以直接向主節點報告成功或失敗,并停止執行子樹。

4.Deocrator節點

Deocrator節點可以附加到“ Composite”或“ Task”節點。裝飾器節點決定是否可以執行行為樹中的分支甚至單個節點。從本質上講,它們是一個條件。可以來控制行為樹執行流的打斷和跳轉。Decorator的ObserverAborts選項值控制其所發揮的作用,當用作條件判斷時,ObserverAborts值為None。此時若Decorator節點的判斷條件滿足,則會執行其所附著的復合節點或Task節點,反正則不執行。另外,Decorator節點還有一個InverseCondition選項,其作用是另判斷條件反轉。當我們需要自定義裝飾器節點時,需要在節點的CalculateRawConditionValue()里編寫條件判斷邏輯。

ObserverAborts值不為None時,可實現中斷正在執行的任務:

1)值為Self時,當條件不滿足時,可以中斷所在節點的任務和子任務,執行比所在節點優先級更低的任務和子任務;

2)值為LowPriority時,當條件滿足時,可以中斷比所在節點優先級更低的任務和子任務,執行所在節點的任務和子任務;

3)值為Both時所在節點和低優先級節點都會被中斷。

這是虛幻引擎中內置Decorator的列表:

  • Blackboaed: 檢查是否在特定的鍵 黑板是否設置。
  • CheckGameplayTagsOnActor:檢查Blackboard指定的Actor上是否存在特定的Gameplay標記。
  • CompareBBEntries:比較兩個Blackboard值,并檢查它們是否相等。
  • Composite:可以使用布爾邏輯一次組合不同的Decorator。放置此Decorator后,可以通過雙擊打開它的編輯器。可以使用布爾運算符和其他Decorators構建。
  • ConditionalLoop:只要滿足條件,它將不斷循環遍歷子樹。
  • ConeCheck:檢查一個點是否在圓錐中,從另一個點開始;錐角和方向可以設置。
  • Cooldown:一旦執行從包含此Decorator的分支中退出,冷卻計時器將啟動,并且此Decorator不允許該執行再次進入,直到該計時器結束;
  • DoesPath:是否使用導航系統,并檢查特定點的路徑是否存在。
  • DoesPath:是否使用導航系統,并檢查特定點的路徑是否存在。
  • ForceSuccess:無論是否從下面報告了失敗還是成功,它都會強制子樹的成功
  • IsatLocation:檢查Pawn是否在特定位置。
  • IsBBEntryofclass:它檢查特定的Blackboard Entry是不是特定的Class。
  • KeepinCone:與錐體檢查類似,檢查觀察者是否在錐體內。
  • Loop:會在子樹中循環特定次數。
  • SetTagCoolDown:類似于其同義任務Task,更改特定標簽的冷卻時間。
  • Tag Cooldown:與Cooldown節點相同,但是它具有與Tag關聯的計時器。結果,可以通過“設置標簽冷卻”任務和“設置標簽冷卻”裝飾器來更改此計時器。
  • TimeLimit:它為子樹完成執行提供了時間限制。超過用時,此Decorator將停止執行并返回 失敗。

4.Service節點

Service節點被設計成用來更新AI“知識”的task節點的“后臺”。

Service可以附著在復合節點或者task節點上,當Service節點下面的分支被激活時Service節點會被執行。

但與task節點不同,Service節點不會有任何返回值,也不會直接影響執行流程。

通常,它們通過Tick定期檢查并向黑板中存儲結果。

主要屬性:

1)Interval Tick時間間隔;

2)RandomDeviation Interval的隨機偏差;

3)bCallTickOnSearchStart控制初始時調用TickNode。

Service節點附加到Composite或Task節點,并將如果執行其分支,執行多少個父級子級都沒有關系,Service節點也將運行。以下截圖可以直觀地看到這一點:

總結

以上是生活随笔為你收集整理的qteewidgetitem添加子节点_行为树的节点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。