UE4 BP爬坑手記1

最近在做一個小項目,本身覺得邏輯不復雜,直接用BP就可以完成核心邏輯。至於其他邊邊角角,應該都不是什麼大問題,也就是文件讀寫等等,在BP裏完成不了的東西就直接在C++代碼裏完成,好在項目比較小,怎麼寫都是自己定義。

就在期待的曙光將要出現的時候烏雲滾滾的壓住了那黎明的光線,直接將我送到了18層地獄以下。

具體是這樣:因爲主角幾乎沒有邏輯,只是幾個簡單的操作,我這裏就放過去了,將遊戲的主要邏輯都整到了GameMode裏,在增加了新的功能和物件之後,BP終於不堪重負的打包失敗了。之前也出現過類似的情況,但是沒有說一宿一個包都沒打出來過。做了深刻的檢討之後,決定將GameMode中的部分邏輯拿出來,整到幾個SceneComponent中,於是災難的崩潰開始了。寫好了N多函數之後發現無法掛接,一旦加入到GameMode中,項目就打不開。


下面說目前的思路:情況出現後,意識中就一個想法,可能是交叉調用導致的,於是新建了一個SceneComponent做實驗,發現沒有問題。於是將所有函數全部刪除乾淨,看掛接後是否OK,結果依然很精彩。直到我在新的Component中做實驗才發現端倪。也就是SceneComponent中可以使用Actor作爲成員變量,但是不能使用Actor數組作爲成員變量。也不知道是爲啥。


目前也沒啥具體原因的說明,至少項目的進度必須要趕,後續還會有跟有趣的東西等着我。或許又是一個不眠的夜晚,先分離邏輯,至少驗證過後,再說其他,先寫這些。分離成功後,會有更多的東西寫進來


=========================================================我是分割線==============================================================


再次編輯一個新的SceneComponent,發現刪除掉其中自定義的枚舉值之後,項目打開成功,有這個枚舉值的時候打開是崩潰的。初步推測,SceneComponent中,儘量不使用自定義變量類型,如果必須使用的時候,注意:自定義會崩潰,使用需謹慎


=========================================================再分割==================================================================

回到原點,BP中不能在同一個類中使用太多的函數、事件等等這些東西,上限是多少完全未知,忠告就是:不要在同一個BP中定義太多的函數和事件,要不然痛苦的邏輯會讓人不願意面對明天的人生……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章