超簡單理解 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上。

你會發現新天地:)



留言

張貼留言

這個網誌中的熱門文章

[Unreal 4]下載與安裝