I want to set the new texture in this 2D parameter for MaskShirt.
DynMaterial->SetTextureParameterValue(FName(TEXT("MaskShirt")), NewTexture);
Error:
I want to set the new texture in this 2D parameter for MaskShirt.
DynMaterial->SetTextureParameterValue(FName(TEXT("MaskShirt")), NewTexture);
Error:
Your DynMaterial pointer is null, make sure to initialize it first with DynMaterial = UMaterialInstanceDynamic::Create()
its already done, and working fine , but when accessing the parameter to change its texture , it is returning null.
static ConstructorHelpers::FObjectFinder<UMaterialInterface>Material_B(TEXT("/Game/Assets/Characters/FCharacter/Char_01/DynMaterials/DM_FB_01.DM_FB_01"));
if (Material_B.Succeeded())
{
ParentMaterial_Body = Material_B.Object;
}
if (MainMesh != nullptr)
{
Material_BodyRef = UMaterialInstanceDynamic::Create(ParentMaterial_Body, MainMesh);
MainMesh->SetMaterial(3, Material_BodyRef);
print("SUCCESS Body Material : ID (0)");
}
else
{
print("FAILED : Body Material : ID (0)");
}
But this Always return Null Pointer:
if (::IsValid(Material_BodyRef))
{
MeshBody->SetSkeletalMesh(SKM_Empty);
MeshJacket->SetSkeletalMesh(SKM);
Material_BodyRef->UMaterialInstanceDynamic::SetTextureParameterValue
(FName(TEXT("Mask Shirt")), T_MaskJacket);
print("Mask Sets UP Successfully");
return;
}
else
{
print("Material_BodyRef is NULL POINTER");
}