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

直接引用和间接引用
一、概念:
直接引用:通过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