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的各種載入都是在讀取資源。...