超簡單理解 Unreal 與 Unity 事件廣播ㄧBlueprint VS C#
這邊簡單比較一下Unreal 藍圖使用的事件廣播與Unity 的比較。
基本上兩邊都超級簡化了事件廣播的機制,只是單純比較一下兩邊的使用架構,尤其在Unity 的部分有N種事件廣播的使用方式與設計模式。
我這邊就將它簡化為跟Unreal類似的方式來做比較。
首先講一下基本架構 Unity 跟 Unreal 一樣 都是兩個Class
EventClick - 宣告與呼叫事件分配 (當然一般來說在Unity 不太會這樣做)
EventMoitor - 註冊事件與定義接收後的處理
簡單的流程說明:
EventClick 綁定按鈕 按鈕按下後 EventMoitor 接收 印出 字串Click
所以我們先來看看 Unity
EventClick:
EventMoitor:
綁定到OnClick
結果就不貼了 就是印出 Click...
另外再來看一下 Unreal 的方式:
新增兩個類別 一個Actor 一個Widget
EventClick 使用Widget 類型Class 並且把UI做好
宣告:
EventClick: (對照Unity)
綁定按鈕事件:
EventMoitor : (對照Unity)
這邊比較不一樣的是兩個引擎的GUI 使用方式,Unity 直接創造一個UI 物件在場景中
Unreal 則需要自行Add to viewport 以方便性來講 Unity 略勝。
另外 藍圖沒有簡單的將事件分配器給予全域存取的功能(Unity 宣告時加入 Static 即可全域存取)
所以每次註冊事件需要Create Widget 。(我也還在想怎麼優化)
做這個比較單純是希望更好的融會貫通兩邊的使用方式,當然Unreal 可以用C++ 做委派...基本上比藍圖方便非常多,但這邊的比較是希望可以給對於喜愛視覺腳本程式設計的人可以將Unreal 藍圖的經驗與設計模式依樣畫葫蘆到Unity上。
你會發現新天地:)
讚 GOOGLE到你的文章
回覆刪除