ue4-某个对象初始化时构造一个蓝图对象

这种情况必须要在构造函数中找到该蓝图对象资源,不能再Editor中指定,不然Editor还没有打开就编译奔溃

1
2
3
//用摄像机蓝图类
static ConstructorHelpers::FClassFinder<UMyCameraComp> CameraCompCls(TEXT("/Game/TopDownCPP/Blueprints/Player/MyCameraCompBp"));
mCameraComp = NewObject<UMyCameraComp>(this, CameraCompCls.Class, TEXT("MyCameraComp"));

另外一个大坑

在构造函数中构造对象必须加上FName (也就是TEXT(“MyCameraComp”)),不然也是编译崩溃