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(),註冊該組件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章