最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

UE探索隨筆:記錄一個關(guān)于藍(lán)圖繼承C++類出現(xiàn)的詭異的BUG

2023-03-03 09:47 作者:濮之武  | 我要投稿

原文地址:https://zhuanlan.zhihu.com/p/609580942

前言

UE初學(xué)者,最近在研究UE的時候發(fā)現(xiàn)了一個關(guān)于初始化的詭異的BUG,在Debug的過程中發(fā)現(xiàn)挺少文章記錄這一點(diǎn)的,就此描述、記錄、復(fù)盤一下這個BUG。

虛幻版本:4.27?

應(yīng)用插件:GAS

問題描述

這里有一個角色C++類,并派生一個藍(lán)圖類。我在C++類中聲明一個組件,并在構(gòu)造器中完成了初始化?,F(xiàn)在我在關(guān)卡中生成一個藍(lán)圖類的游戲?qū)ο螅幃惖氖虑榘l(fā)生了,該組件竟為空!或者再具體說,是在構(gòu)造函數(shù)里組件有值,而繼續(xù)執(zhí)行的過程中組件便指向空!

聲明組件
非常常規(guī)的創(chuàng)建操作

Debug過程

在構(gòu)造函數(shù)結(jié)束時打斷點(diǎn),可以看見組件的確成功完成了創(chuàng)建且此時此刻組件是有值的。

但是在BeginPlay()打斷點(diǎn),可以看見組件指向空。

過后我在構(gòu)造到BeginPlay()之間可能執(zhí)行到的函數(shù)(如OnConstruction()等)均進(jìn)行調(diào)試查看,結(jié)果便是在這些函數(shù)中組件也均指向空。

最終耽誤了很長時間,想到這個組件是我過后在C++類中添加的,雖然成功編譯完后藍(lán)圖里的確可以看到組件已經(jīng)添加進(jìn)去,但是會不會中間存在一些問題,因?yàn)橐郧耙矔龅紺++代碼更新后藍(lán)圖出現(xiàn)問題的情況,這時一般需要Reparent(隨便換一個父類,再重新調(diào)回去,或者直接創(chuàng)建一個新的藍(lán)圖類)。經(jīng)過嘗試,的確這又是一個需要Reparent的問題,Reparent后一切正常......

雖然藍(lán)圖已經(jīng)顯示加載,但組件仍是有問題的

總結(jié)

如果在C++調(diào)整代碼后出現(xiàn)Bug,在確定代碼邏輯無誤后,可以考慮Reparent一下藍(lán)圖,沒準(zhǔn)問題會離奇地解決。另外,如果有大佬知道這個問題的根本原因,或?qū)eparent問題有更深入的認(rèn)識的,十分希望賜教?。ó吘姑看卧谒{(lán)圖配好的數(shù)據(jù)都會被刷掉是很麻煩的)

參考:forums.unrealengine.com(Debug時唯一的有用的信息)

UE探索隨筆:記錄一個關(guān)于藍(lán)圖繼承C++類出現(xiàn)的詭異的BUG的評論 (共 條)

分享到微博請遵守國家法律
保山市| 青神县| 璧山县| 黄大仙区| 突泉县| 闽清县| 阳朔县| 林芝县| 绥宁县| 桂阳县| 增城市| 雷波县| 宝兴县| 尉氏县| 富源县| 湖州市| 扬中市| 长子县| 龙岩市| 拜泉县| 桦川县| 土默特左旗| 琼结县| 泰州市| 海门市| 凤城市| 张北县| 札达县| 洞头县| 开化县| 曲阳县| 孙吴县| 和硕县| 贵定县| 佛教| 仁寿县| 文昌市| 本溪市| 都兰县| 福清市| 东海县|