UE4C++中动态创建组件

在BeginPlay()中不能使用CreateDefaultSubobject来动态创建一个组件。CreateDefaultSubobject只能在构造函数中使用


for (int i = 0; i < 3; i++)

{
USkeletalMeshComponent* SkeletalMeshCompon = NewObject<USkeletalMeshComponent>(this, TEXT("Sketal" + i));
SkeletalMeshCompon->RegisterComponent();
SkeletalMeshCompon->SetCollisionEnabled(ECollisionEnabled::NoCollision);
int RandomType = FMath::RandRange(0, SkeletameshArray.Num() - 1);
USkeletalMesh* CurrentSkeletal = SkeletameshArray[RandomType];
SkeletalMeshCompon->SetSkeletalMesh(SkeletameshArray[RandomType]);

}

重点::用newobject来创建组件,最终一定要RegisterComponent(),注册该组件

阅读更多
文章标签: UE4 动态 组件
个人分类: ue4
下一篇UE4 UMG初始化并获得蓝图中的控件
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭