另外注意:LoadClass<T>的模版名称,不能直接写UBlueprint,例如:LoadClass<UBlueprint>是错误的,创建蓝图时选择的是什么父类,则写对应的父类名,假如是Actor,那么要写成:LoadClass<AActor>,否则无法加载成功。 路径名也必须带_C后缀(LoadObject不需要带_C后缀),例如,蓝图路径是:Blueprint'/Game/Blueprints/MyBP....
另外注意:LoadClass<T>的模版名称,不能直接写UBlueprint,例如:LoadClass<UBlueprint>是错误的,创建蓝图时选择的是什么父类,则写对应的父类名,假如是Actor,那么要写成:LoadClass<AActor>,否则无法加载成功。 路径名也必须带_C后缀(LoadObject不需要带_C后缀),例如,蓝图路径是:Blueprint'/Game/Blueprints/MyBP....
LoadObject可直接返回资源有效对象指针 LoadClass返回操作类,非对象返回UClass类型指针 原型如下 Outer 帮助我们进行搜索范围锁定,可以填入同目录资源,如不存在填入空 Name 资源文件名,可以在编辑器中通过选择资源右键获取引用名,注意蓝图加载需要加入后缀"_C" 成员属性都加UPROPERTY() 即使不在蓝图,细节面板中编辑,也需...
COREUOBJECT_API UObject* StaticLoadObject( UClass* Class, UObject* InOuter, const TCHAR* Name, const TCHAR* Filename = NULL, uint32 LoadFlags = LOAD_None, UPackageMap* Sandbox = NULL, bool bAllowObjectReconciliation = true ); COREUOBJECT_API UClass* StaticLoadClass(UClass* BaseClass, U...
另外注意:LoadClass<T>的模版名称,不能直接写UBlueprint,例如:LoadClass<UBlueprint>是错误的,创建蓝图时选择的是什么父类,则写对应的父类名,假如是Actor,那么要写成:LoadClass<AActor>,否则无法加载成功。 路径名也必须带_C后缀(LoadObject不需要带_C后缀),例如,蓝图路径是:Blueprint'/Game/Blueprints/MyBP....
配合FStreamableManager、TSoftObjectPtr使用 配合FStreamableManager、TSoftClassPtr使用 FSoftObjectPath SoftObjectPaths_Actor1 =FSoftObjectPath(TEXT("Blueprint'/Game/CPPFunction/Load/BP_MyActor.BP_MyActor_C'")); UClass* BPClass1 = UAssetManager::GetStreamableManager().LoadSynchronous<UClass>(Soft...
UClass* Test = LoadClass<AActor>(NULL, TEXT("Blueprint'/Game/Blueprints/MapPathBrush_BP.MapPathBrush_BP_C'")); 官方还没出文档,只能先看代码注释: // Load an object. template< class T > inline T* LoadObject( UObject* Outer, const TCHAR* Name, const TCHAR* Filename=nullptr, uint32 Lo...
若我们只以"_C"为后缀,即调用【LoadObject 函数】并传入路径/Game/TestBlueprint.TestBlueprint_C进行加载,我们加载到的是【蓝图产生类】,底层类型也是【UBlueprintGeneratedClass 类】,它保存在【UBlueprintCore (UBlueprint的基类)】的【GeneratedClass】字段中: ...
("FObjectFinder<AActor>Blueprint Success"));}// 加载方式2staticConstructorHelpers::FClassFinder<UClass>BpClass(TEXT("Blueprint'/Game/StarterContent/Blueprints/Blueprint_CeilingLight.Blueprint_CeilingLight_C'"));if(BpClass.Succeeded()){StaticLoadBPClass=BpClass.Class;UE_LOG(LogTemp,Log,TEXT("...