应用场景:
想通过业务数据动态添加飞机/车辆等模型到三维机场,并且能根据需求移除指定的三维模型。
一,动态添加三维模型的代码:
1 FString blueprintName = TEXT("Blueprint'/Game/blueprints/airplane/BP_YuJing_2000.BP_YuJing_2000_C'"); 2 //实例化蓝图 3 UClass* EntityClass = LoadClass<AActor>(nullptr, *blueprintName); 4 //加载到场景 5 AAEntityBase* entityInstance = GetWorld()->SpawnActor<AAEntityBase>(EntityClass, position, FRotator(0.0f, -90.0f, 0.0f));
通过上面三步就将飞机(蓝图actor)添加到三维场景指定的位置,注意蓝图名称是选中蓝图按ctrl+c,再粘贴到代码里面,后面加上"_C"。
如下图我复制的内容为“Blueprint'/Game/blueprints/vehicle/BP_Vehicle_ChongYangChe.BP_Vehicle_ChongYangChe'”。
二,动态删除
//清除上次加载的实体 for (int16 i = 0; i != m_pGlobalInstance->m_EntityArray.Num(); ++i) { AAEntityBase* temp = m_pGlobalInstance->m_EntityArray[i]; GetWorld()->RemoveActor(temp, true); GetWorld()->DestroyActor(temp); }
我是将上面添加的三维模型保存到全局变量TArray<AAEntityBase*> m_EntityArray;
标签:EntityArray,模型,蓝图,三维,Actor,添加,BP,UE4 From: https://www.cnblogs.com/airduce/p/17012078.html