In V3, the Metal Character is using the so-called
Material Assistant. So, there is no way to return to the previous behavior, except for creating MXM files; here is the previous logic used to build metals in the plugin, which is just basically a per-type list of Nd, K, and Reflectance 0/90 values, which get applied to a single BSDF (referred to below as "base"):
Code: Select allif (character.type == "metal")
{
double nd = 2.0;
double k = 4.0;
color metal0 = refl0.toRgb();
color metal90 = refl0.toRgb();
if (character.metal == "custom")
{
metal0 = refl0.toRgb();
hsl metal90hsl = refl0;
metal90hsl.changeLightness(0.15);
metal90 = metal90hsl.toRgb();
}
else if (character.metal == "aluminum")
{
nd = 1.143;
k = 7.135;
metal0.assign(167, 167, 168);
metal90.assign(171, 184, 189);
}
else if (character.metal == "chromium")
{
nd = 3.21;
k = 3.3;
metal0.assign(151, 152, 152);
metal90.assign(237, 240, 246);
}
else if (character.metal == "cobalt")
{
nd = 2.142;
k = 3.991;
metal0.assign(149, 144, 138);
metal90.assign(234, 234, 232);
}
else if (character.metal == "copper")
{
nd = 0.802;
k = 3.266;
metal0.assign(176, 132, 109);
metal90.assign(210, 176, 160);
}
else if (character.metal == "germanium")
{
nd = 5.71;
k = 1.5;
metal0.assign(154, 155, 144);
metal90.assign(242, 243, 239);
}
else if (character.metal == "gold")
{
nd = 0.29;
k = 2.67;
metal0.assign(209, 153, 32);
metal90.assign(209, 153, 32);
}
else if (character.metal == "iron")
{
nd = 2.93;
k = 3.0;
metal0.assign(150, 150, 150);
metal90.assign(239, 239, 240);
}
else if (character.metal == "nickel")
{
nd = 1.97;
k = 3.85;
metal0.assign(155, 146, 131);
metal90.assign(234, 234, 231);
}
else if (character.metal == "silver")
{
nd = 0.121;
k = 3.649;
metal0.assign(185, 185, 185);
metal90.assign(255, 255, 255);
}
else if (character.metal == "titanium")
{
nd = 2.615;
k = 3.609;
metal0.assign(128, 119, 112);
metal90.assign(231, 228, 227);
}
else if (character.metal == "vanadium")
{
nd = 3.77;
k = 3.004;
metal0.assign(151, 154, 160);
metal90.assign(237, 240, 246);
}
base.name = character.name;
base.roughness = character.roughness;
base.nd = nd;
base.k = k;
base.forceFresnel = true;
base.reflectance0 = metal0;
base.reflectance90 = metal90;
}