I has use ConstructorHelpers::FObjectFinder<UMaterial>
to change material, but an error has ocorred in visual studio. To Correct error I has used ConstructorHelpers::FObjectFinder<UMaterialInterface>
instead of ConstructorHelpers::FObjectFinder<UMaterial>
What´s difference ConstructorHelpers::FObjectFinder<UMaterialInterface>
and ConstructorHelpers::FObjectFinder<UMaterial>
What the reason of error?
Thanks
Code Below
// Sets default values
AEsferaDeFogo::AEsferaDeFogo()
{
// Set this actor to call Tick() every frame. You can turn this off to improve performance if you don't need it.
PrimaryActorTick.bCanEverTick = true;
EsferaDeColisao = CreateDefaultSubobject<USphereComponent>(TEXT("Raiz"));
EsferaDeColisao->InitSphereRadius(100.f);
EsferaDeColisao->SetCollisionProfileName(TEXT("OverlapAllDynamic"));
RootComponent = EsferaDeColisao;
EsferaVisivel = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Esfera"));
ConstructorHelpers::FObjectFinder<UStaticMesh>
Esfera(TEXT("/Game/StarterContent/Shapes/Shape_Sphere.Shape_Sphere"));
ConstructorHelpers::FObjectFinder<UMaterialInterface>
MaterialEsfera(TEXT("Material'/Game/StarterContent/Materials/M_Metal_Gold.M_Metal_Gold'"));
if (Esfera.Succeeded() && MaterialEsfera.Succeeded())
{
EsferaVisivel->SetStaticMesh(Esfera.Object);
EsferaVisivel->SetMaterial(0, MaterialEsfera.Object);
EsferaVisivel->SetRelativeLocation(FVector(0.f, 0.f, -60.f));
}
EsferaVisivel->SetupAttachment(RootComponent);
}