Bootstrap

ue4 通过指定路径加载资源_UE4:四种加载资源的方式

游戏开发

UE4:四种加载资源的方式

转自:https://blog.csdn.net/zhangxsv123/article/details/79707686

第一种: 如果该蓝图有C++类(或者说是从C++类创建的蓝图),直接进行加载

ATemp* spawnActor = GetWorld()->SpawnActor(ATemp::StaticClass());

所有的加载资源并创建到场景中的方式都离不开SpawnActor这一句代码.如果你的蓝图包含了C++类,那么可以直接访问类的StaticClass

剩下的加载方式均是单纯的加载蓝图,并没有对应的C++类

第二种: 通过ConstructorHelpers来加载

static ConstructorHelpers::FClassFinder bpClass(TEXT("/Game/BluePrint/TestObj"));if(bpClass.Class !=NULL)

{

GetWorld()->SpawnActor(bpClass.Class);

}

FClassFinder是一个结构体,其中的Class成员变量是TSubClassof类型的.所以我们只需要SpawnActor(bpClass.Class)就可以生成我们要的东西了

但是值得一提的是该方法只能在类的构造函数中使用,如果在普通的逻辑代码中嵌套这份代码,很可能引起整个编译器的crash.以下是该代码的具体执行步骤

structFClassFinder

{

TSubclassOfClass;

FClassFinder(const

;