Я пытаюсь получить список Staticmesh от определенного пути и установить Staticmesh в RootComponent. Пожалуйста, помогите по этим вопросам. Код ниже;
TArray<UObject*> MeshAssets;
EngineUtils::FindOrLoadAssetsByPath(TEXT("/Game/StarterContent/Meshs/"), MeshAssets, EngineUtils::ATL_Regular);
StaticMeshComponent->SetStaticMesh(MeshAssets.GetData);
StaticMeshComponent->AttachTo(RootComponent);
Ошибка
Ошибка 2 ошибка C3867: ‘TArray :: GetData’: список аргументов при отсутствии вызова функции; использовать&TArray :: GetData ‘для создания
указатель на член<
StaticMeshComponent->SetStaticMesh(MeshAssets.GetData);
Вы вызываете функцию без ( )
и возможные параметры.
StaticMeshComponent->SetStaticMesh( MeshAssets.GetData( ) );
должно работать в зависимости от того, должны ли быть какие-либо параметры.
Некоторые проблемы с вашим кодом:
Итак, ваш код должен выглядеть примерно так:
TArray<UObject*> MeshAssets;
EngineUtils::FindOrLoadAssetsByPath(TEXT("/Game/StarterContent/Meshs/"), MeshAssets, EngineUtils::ATL_Regular);
for (auto asset : MeshAssets) {
UStaticMesh* mesh = Cast<UStaticMesh>(asset);
if (mesh != nullptr) {
// do something with the mesh, create a component with it, etc.
}
}