转自:http://blog.csdn.net/neil3d
DEMO源代码
这个DEMO演示了在C++代码中,创建UE4的常见类型的对象,包括Actor,ActorComponent,加载资源等。
源代码请从这里下载:https://code.csdn.net/neil3d/unrealcookbook
使用的引擎版本为:4.11.2打开项目后,启动“CreateObjectDemo/CreateObjectDemoMap.umap”地图文件即可运行。
创建组件
在UE4中,为Actor创建组件,可以使用UObject::CreateDefaultSubobject()模板函数,
这个函数只能在构造函数中调用。如下所示:
在UE4中,项目中的所有资源文件,不要看做是文件,而要理解为“静态对象”:也就是对象序列化的产物。加载项目资源可以使用“UObject::StaticLoadObject()”函数,其中重要的参数为对象的Name,而不是文件路径。UE底层提供文件读取功能,无论资源文件是存储我独立的.uasset文件,还是存储到.PAK文件中,对于上层都不需要关心。
创建Actor对象,需要使用UWorld::SpawnActor()接口,如下所示:
如果你有UObject的派生类(非Actor、非ActorComponent),那你可以使用NewObject()模板函数来创建其实例对象。