UE4中Content的资源都是继承于UObject类,可以使用LoadObject加载资源
UObject* object = LoadObject<UObject>(nullptr,path);
例如加载StarterContent/Props中的模型资源SM_Chair可以这样写
UStaticMesh* mesh = LoadObject<UStaticMesh>(nullptr,TEXT("/Game/StarterContent/Props/SM_Chair"));
if(mesh)
{
}
path也可以写成TEXT("/Game/StarterContent/Props/SM_Chair.SM_Chair"),点前面的字符串是资源文件名,点后面的字符串是资源名,资源名与资源文件名不一定一样,这时必须要加点,一个文件中有可能包含多个资源。
比如在外部(不是UE4编辑器中)将SM_Chair文件改名为SM_Chair1,如果要加载椅子模型必须写成下面的形式
UStaticMesh* mesh = LoadObject<UStaticMesh>(nullptr,TEXT("/Game/StarterContent/Props/SM_Chair1.SM_Chair"));
此外FSoftObjectPath也可以用于加载资源
FSoftObjectPath softClassPath(path);
UObject* Object = softClassPath.TryLoad();
TryLoad中也调用了LoadObject,加载