[UE4]C++实现动态加载的问题:LoadClass()和LoadObject()

本文介绍了在UE4中使用C++进行动态加载UObject和UClass的方法,重点讨论了LoadClass<T>()和LoadObject<T>()的用法,包括正确的模板类型指定和路径名处理。此外,还提到了StaticLoadObject和StaticLoadClass的使用场景以及它们与模版方法的区别。
摘要由CSDN通过智能技术生成

[UE4]C++实现动态加载的问题:LoadClass()和LoadObject()

http://aigo.iteye.com/blog/2281558

原文作者:@玄冬Wong 

 

相关内容:
C++静态加载问题:ConstructorHelpers::FClassFinder()和FObjectFinder() 

http://aigo.iteye.com/blog/2281373

C++实现动态加载UObject:StaticLoadObject();以Texture和Material为例

http://aigo.iteye.com/blog/2268056

 

动态加载UObject和动态加载UClass分别用LoadObject<T>(),和LoadClass<T>() ,两者均在在UObjectGlobals.h中。

 

另外注意:LoadClass<T>的模版名称,不能直接写UBlueprint,例如:LoadClass<UBlueprint>是错误的,创建蓝图时选择的是什么父类,则写对应的父类名,假如是Actor,那么要写成:LoadClass<AActor>,否则无法加载成功。

路径名也必须带_C后缀(LoadObject不需要带_C后缀),例如,蓝图路径是:Blueprint'/Game/Blueprints/MyBP.MyBP'

加后缀以后,则是:Blueprint'/Game/Blueprints/MyBP.MyBP_C',

例子:

 

Cpp代码   收藏代码
  1. UClass* Test = LoadClass<AActor>(NULL, TEXT("Blueprint'/Game/Blueprints/MapPathBrush_BP.MapPathBrush_BP_C'"));  
 

 

官方还没出文档,只能先看代码注释:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值