UE5 C++软引用

一.软引用通常是仅储存资源对象的资源路径没有与资源产生耦合关系的引用(软引用加载到内存中,只有在需要的时候才会被加载)

软引用通常有FSoftObjectPath、FSoftClassPath、TSoftObjectPtr、TSoftClassPtr。它指向的资源未被加载,仅仅是提供了一个路径,通过路径找到我们的资源。

创建MySoftActor

二.创建四种软引用指针

	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Path")
	FSoftObjectPath AssetObjectPath;
	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Path")
	FSoftClassPath AssetClassPath;
	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Path")
	TSoftObjectPtr<AActor> AssetObjectPtr;  //Object 可以指向一些非类的成员
	UPROPERTY(EditAnywhere,BlueprintReadWrite,Category = "Path")
	TSoftClassPtr<AActor> AssetClassPtr;

1.FSoftObjectPath保存对象的路径字符串,通过字符串找到所对应的资源(非蓝图资源和蓝图资源都可以)。

FSoftObjectPath MySoftPath("/Game/Path/To/MyAsset.MyAsset");

2.FSoftClassPath继承自FSoftObjectPath,只适用于蓝图资源.

3.TSoftObjectPtr<T>  是包含了`FSoftObjectPath`的`TWeakObjectPtr,保存对象的软引用(非蓝图资源和蓝图资源都可以),SynchronousLoad()加载后.Get()获取资源。侧重于描述某一类资源,比如:静态模型、动态模型、数据表格等。

4.TSoftClassPtr<T> 软类引用,也是智能指针。类似于TSubclassOf,但在运行时加载类,仅适用于蓝图资源。

三.这些引用都可以在编辑面板上,选择对应的资源。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值