Wiki
467 words
2 minutes
Unreal 的资源加载
Updated 2025-11-29

Unreal 的资源加载#

如何获得Unreal资产路径?#

可以在Content窗口中,找到对应资产,右键。选择拷贝Object路径。 随后在代码中就可以使用该路径。使用[w/unreal/fobjectfinder|FObjectFinder]来进行加载 资源加载.png

如何加载蓝图类资源#

使用[w/unreal/fclassfinder|FClassFinder] 对于蓝图类,在加载的时候,一定要在路径的最后添加_C。以区别于非蓝图类的资产。 使用 FClassFinder.Succeeded() 来判断是否加载完成。 通过 FClassFinder.Class 来获取

注意#

只能在构造函数当中,使用以上两个结构体对资源进行加载。

同步加载#

资源加载-1.png

LoadObject#

第一个参数可以指定加载上下文的范围,第二个参数为加载资源路径

异步加载#

小对象加载#

资源加载-2.png 不管加载成功还是不成功,都会经过 Lambda 的Callback进行处理,这时候可以根据加载状况走不通的处理分支。 加载一些小的对象我们可以使用 StreamableManager 的方式进行加载 ### 主要加载方式 PrimeAsset 对于大型的、正式的资源,通过PrimeAsset进行加载 类似于Unity当中的AssetBundle

PrimeAssetId#

FPrimeAssetType:与Unity中Asset的Tag作用几乎一致 FName PrimeAssetName:游戏中资产的名称

在项目设置中,可以设置PrimeAssetType和对应的资产范围(文件、文件夹)

FSoftObjectPath#

判断资源是否已经被加载#

通过该函数判断该Asset是否已经在内存中,如果为真,说明已经加载过,没有必要往下执行了。

if(UAssetManager::Get().GetPrimaryAssetObject(DataAssetId))
{
return;
}

DataAsset如何加载#

DataAsset是跟Unity中的ScriptableObject是很像的。只要在数据中引用了游戏中的其他资产。在访问该DataAsset时,可以同时访问到引用到的资产。相当于一次性全部加载 资源加载-3.png

Unreal 的资源加载
https://fuwari.vercel.app/wiki/unreal/资源加载/
Author
Qingswe
Published at
2025-11-29
License
CC BY-NC-SA 4.0