Unreal C++ 资源加载 (UE4C++)

在虚幻冲处理资源分为:类资源和非类资源
资产加载到内存中,需要通过引用完成。
引用分两种:硬性引用,软性引用
1.硬性引用:即对象A引用对象B,并导致对象B在对象A加载时加载。
2.软性引用:既对象A通过间接机制来引用对象B。

什么是引用?
答:对于资产在内存当中的存储的一种操作方式。

硬性引用写法:
.h头文件

UPROPERTY(EditDefaultsOnly)
UClass * 变量名;

.cpp文件

GetWorld()->GetWorld()->SpawnActor(变量名)
//此变量名为.h文件UClassd 变量名

构造函数加载
在构造函中可以借助构造函数资产加载进行资产引用,更加方便便捷
静态资源引用类ConstructorHelpers可以进行类引用,资源引用

ConstructorHelpers只能在构造函数使用

常用资源分类
FClassFinder:常用来加载创建后的蓝图对象。
FObjectFinder:用来加载各种资源,如音频,图片,材质,静态网格。

用法

static ConstructorHelpers::FObjectFinder<UPaperFlipbook>资源名(TEXT("目录"));
	
	//判断是判断是否存在
	if (资源名.Object) 
	{
	
		 组件->SetFlipbook(组件.Object);


	}

目录获取方式:
对着想要获取的资源右键->赋值引用即可
在这里插入图片描述
构造函数加载注意!
1.ConstructorHelpers只能在构造函数中使用!
2.如果加载失败或者未找到资源,对象内的资产属性为Null
3.构造加载属于软引用但也有点硬性

查找加载:软引用
LoadObject:加载资产,可直接返回资源有效对象的指针。

LoadClass:返回操作类,非对象返回UClass类型指针。
LoadClass主要用来加载类

LoadObject和LoadClass 可控性强不必只在构造函数内加载

所有资产不一定百分百加载成功所以必须启用安全检查

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值