直接引用和间接引用

2022-08-11 22:55:17   第一文档网     [ 字体: ] [ 阅读: ] [ 文档下载 ]

#第一文档网# 导语】以下是®第一文档网的小编为您整理的《直接引用和间接引用》,欢迎阅读!
引用,间接,直接
直接引用和间接引用

一、概念:

直接引用:通过UPROPERTY公开资源数据,在编辑器里直接指定某个资源。 例如:



UPROPERTY(EditDefaultsOnly, Category=Building)

USoundCue* ConstructionStartStinger; 接引用在开始游戏加载某个配置表时,如果该资源没有加载,那么会在主线程里加载该资源(表里面所有的直接引用资源都会被加载)

间接引用:通过UPROPERTY公开资源数据,在编辑器里直接指定某个资源的路径。

例如:



UPROPERTY(EditDefaultsOnly, BlueprintReadWrite) TAssetPtr< USoundCue > ConstructionStartStinger;

间接引用在开始游戏加载某个配置表时,只会读入资源的路径(类似于字符串),不会把资源加载到内存,在后续要用到该资源时,通过同步加载、或异步加载加载该资源。



二、使用方式:

CS3项目要求所有资源的加载都用间接加载,减少不必要的内存占用。

TAssetPtr 代替UObject* 的引用,然后在用时通过加载资源后再使用。 详细参考 客户端 Source\CS3\Manager\ ParticleManager::PlayParticle 加载资源 配置表参考 客户端 Source\CS3\GameData\ EffectEmitterData 中的结构体


本文来源:https://www.dy1993.cn/8kQ.html

相关推荐