Copy link to clipboard
Copied
Heya! I've been doing some googling to fix a personal project but to summarize briefly. In Unity version 2020.2.1f1 & substance version 2.6.0a we have several cars on screen and want users to be able to customize the looks of each car that is on screen, so we're trying to creates instances of the same substance so that we can set the values of each of them individually, without it affecting the other one.
We'd assumed the way to do something like that would be via initiating or duplicating the substances and our attempt was with something like this:
SubstanceGraph _mainBody;
SubstanceGraph _mainBodyClone = _mainBody.Duplicate();
Renderer[] _renderers = GetComponentsInChildren<Renderer>(true);
for (int i = 0; i < _renderers.Length; i++)
{
Renderer current = _renderers[i];
Material[] currentMaterials = current.materials;
//The cars are subdivided into multiple meshes, for customization - some of them also have multiple materials, so we try to only replace the original car body
for (int m = 0; m < current.materials.Length; m++)
{
if (current.materials[m].name.Contains("car_body"))
{
currentMaterials[m] = _paintBodyClone.material;
}
}
_renderers[i].materials = currentMaterials;
}
However, although this does clone the substance and give us a new instance of the substance to edit - it also creates these really weird lines on the texture that weren't there before. A bit of googling led me to the following (old) thread with someone with the exact same issue:
https://forum.substance3d.com/index.php?topic=31441.0
The response there was that it would be fixed in 2.4.2, it's obviously a while past that so are we going about this wrong and is there anything we can do to fix it for us, or are we just going to have to put this feature on hold for a while?
Have something to add?