可以用findobject,我试过。函数参数outer应该传入那个actor所在的level。如果不清楚属于哪个level,可以遍历world中的所有level或者传入宏ANYPACKAGE。
示例代码:
AActor * UActionGameInstance::ActionInsGetActorByID(const UObject *WorldContextObject, const FString &actorName)
{
for (ULevel *level : WorldContextObject->GetWorld()->GetLevels())
{
AActor *actor = FindObject<AActor>(level, *actorName);
if (actor != nullptr)
return actor;
}
return nullptr;
}
示例代码:
AActor * UActionGameInstance::ActionInsGetActorByID(const UObject *WorldContextObject, const FString &actorName)
{
for (ULevel *level : WorldContextObject->GetWorld()->GetLevels())
{
AActor *actor = FindObject<AActor>(level, *actorName);
if (actor != nullptr)
return actor;
}
return nullptr;
}
