在UNITY中,加载资源一般是通过Resources.Load(path).即可完成,该方法返回的是Object类型。如果你想要的是材质或者贴图等等,只要加个类型转换的关键字就可以了例如 as Material,则可以返回一个材质的引用……
在UE4中,加载资源的方式区别较大,为了不让初学者趟坑,下面就给大家介绍UE4中4种资源的加载方式。在UE4中,它的蓝图就大致等于UNTIY中的prefab.所以我们将资源弄成了蓝图的方式来进行加载。
第一种:如果该蓝图有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)就可以生成我