定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件
獲取與安裝
虛幻商城Logic Driver Pro地址
這是老王在虛幻商城出的第一滴血,99.99大刀,這個插件還有一個Lite版34.99刀。昨天剛購入,目前研究了一下基本工作邏輯,感覺還是很滿意的,所以推薦給大家。
Logic Driver Pro 是一個引擎插件,目前支持到4.19-4.26,下載啟用即可
原理和特性
Logic Driver就是一套通用狀態機系統,可以用來開發游戲邏輯/AI/UI等等,狀態機驅動的對象(在Logic Driver中被稱為上下文context)可以是任意類型的UObject,同時一個上下文可以擁有多個狀態機。Logic Driver支持子狀態機并且所有的狀態機類/狀態類/過渡類都可以定義在獨立的藍圖中,從而重復使用。狀態間不僅支持條件式轉移也支持事件式轉移。總之非常的靈活,是老王心目中理想的狀態機的樣子。(而且Logic Driver并行狀態運行,聽著好高端)
條件式轉移: 轉移條件是由若干個變量組成的一個最終輸出值為布爾類型的表達式,當表達式值為True即轉移,因此狀態機系統每一次Update都要檢查是否達成轉移條件。事件式轉移: 轉移條件和一個委托(Delegate)綁定,當委托委托被調用(觸發)即轉移狀態。狀態機
Node Class
Node Class藍圖是為了復用的,不需要復用的話直接在狀態機里創建就可以
使用范例
一個Actor有三個狀態State_A、State_B和State_C:
- State_A為默認狀態
- 在State_A中持續2秒以后會跳轉到State_B(使用條件式跳轉)
- 在State_B時,當我們按下鍵盤上的E鍵會跳轉到State_C(使用事件式跳轉)
定義上下文
本例的上下文就是一個帶靜態模型的Actor,為它添加一個StateMachineComponent
注意: 除了用組件的形式也可以自定義StateMachineComponent類型的成員變量,但是使用組件最簡單,它初始化的時候會自動將所屬Actor設為自己的上下文。用用成員變量的就需要很多手動設置,但是原理都是一樣的。定義狀態機
狀態機的樣子很像動畫藍圖,一些細節設計也很到位
State_A to State_B
State_B to State_C
因為State_B to State_C是事件式轉移,所以對它進行事件觸發的設置
Delegate Owner Instance是委托事件所屬的對象,默認是this 即狀態機,本例設置為Context,選擇Context的類型,然后指定委托事件。
State_A/State_B/State_C
狀態的設計也很清晰明朗,可以通過GetContext節點獲取上下文
State_A
State_B
State_C
小結
面向狀態開發的必備插件,就是價格有點小貴。
總結
以上是生活随笔為你收集整理的定义跳转插件_虚幻插件Review:Logic Driver Pro 终极状态机插件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: window把图片转成blob_将图片转
- 下一篇: javascript 判断为负数_Jav