有时,可能需要生成多种不同种类的actor,比如,飞机,建筑物,汽车等。
这时候,可以加上一个
TSubclassOf< AActor>类型的成员变量
即:
//放置的模型
UPROPERTY(EditAnyWhere)
TSubclassOf< AActor> ActorClass;
这样,可以把ActorClass暴露给蓝图,让蓝图选择不同的actor种类。
生成时只需要
UWorld* const world = GetWorld();
AActor* actor = world->SpawnActor< AActor>(ActorClass);
actor->AttachToActor(this, FAttachmentTransformRules::KeepRelativeTransform);