UE4引用資源小結

2021-10-08 15:44:40 字數 939 閱讀 2549

1. hard reference: a引用了b 所以a載入b也會被載入

2. soft reference: a引用了b的路徑 a載入只有b的路徑(字串)被載入

這個是最常見的引用。

一句話: 在類中暴露乙個uproperty變數可以讓別人編輯或者指定資源。

即通過constructorhelpers在a的建構函式中載入b

constructorhelpers先在ram中查詢資源,找不到就載入

uproperty()

class b* x;

a::a(const fobjectinitializen& objectinitializer) : super(objectinitializer)

與直接引用對應,間接引用不存放資源本身而是存放字串和資源模板(tsoftobjectptr)。 ispending()可以檢查是否準備好。 用這種方式我們必須手動載入資源(loadobject, staticloadobject, fstreamingmanager)。注意同步載入過多可能造成卡頓。

uproperty()

tsoftobjectptrb;

b* func()

return b.get();

}

和tsoftobjectptr對應的還有tsoftclassptr.

如果資源已經載入完畢: findobject<>()

如果資源還沒載入: loadobject<>()

a* a = findobject(outer, *name);

b = loadobject(nullptr, text("asset_path"), nullptr, load_none, nullptr);

編輯於 2019-05-02

ue4 動態載入資源

動態載入非藍圖資源 如 聲音等使用loadobject 資源型別 nullptr,text 資源路徑引用 載入藍圖資源 獲得藍圖類 loadclass 藍圖的型別 nullptr,text 資源路徑引用 c 這裡需要注意就是資源的路徑需要額外加上 c 例如uclass result1 loadcla...

ue4材質節點怎麼用 ue4材質常用節點

ue4的材質表面上看起來很簡單,可是到了用的時候卻總是沒有辦法實現好的效果。所以特意對文件進行閱讀,初步了解了一下主要知識點。當前使用的ue4版本 4.8.0。ue4中的材質有很多用途,可以用於光照 延遲渲染 粒子系統等等。由於暫時不會用到,目前只做了最基礎的材質使用的研究,也就是說是materia...

UE4資源載入,持續更新中

在專案推進中,有很多種獲取資源的需求需要我們處理。例如 因為藍圖類有自己的配置,沒辦法直接用staticclass直接使用藍圖子類。當然,我們可以用staticload等等,這些我就在文章中說一下。真實的關係很複雜,在此一定要區分兩個概念。資源和內容。資源包裹著內容。ue4的各種載入都是在讀取資源。...