最近接到一个需求,要求Decal Material输出的色系可调。
本想简单的使用Parameter来输入颜色值,不过经研究后发现行不通。因为Decal Material在编辑完后就已经编译好了,无耐只能使用替换纹理的方法,来改变输出的颜色。
UTexture* source_texture = NULL;
UTexture* dest_texture = NULL;
DecalMaterial->GetTextureParameterValue(FName(TEXT("color_yellow")), source_texture);
DecalMaterial->GetTextureParameterValue(FName(TEXT("target_param")), dest_texture);
DecalMaterial->OverrideTexture(dest_texture, source_texture);
谁有其他好的方法欢迎交流。