Make a complex object semi transparent without changing it

I have a race car that, at the end of the race, must become a ghost and be semi transparent.
The object of the car is not determined, indeed the cars can change, can be made of many objects and meshes, textures and shaders.
Looking for a solution for this problem I only found suggestions and scripts regarding changing the shaders of the object, but I think that this is quite complex, I was wondering if there is a way to set some filter to a camera or maybe make this object son of another object and inherit its transparency, some how. In other words, determine some sort of condition, under which ANY normal object acquires half transparency.
Thank you.

There’s no simple way to apply transparency in the way you seem to want. Transparency is handled entirely by the shader on the materials that the model is using. If the material doesn’t have and apply an Alpha value it can’t be done.

That said, it’s not too hard to loop through all the materials on a model and adjust the alpha at runtime. I typically use the following:

public class ModelFader : MonoBehaviour {
    private Renderer[] mRenderers;

    void Start() {
        mRenderers = GetComponentsInChildren<Renderer>();
    }

    public void SetRendererAlphas(float alpha) {
        for(int i = 0; i < mRenderers.Length; i++) {
            for(int j = 0; j < mRenderers*.materials.Length; j++) {*

Color matColor = mRenderers*.materials[j].color;*
matColor.a = alpha;
mRenderers*.materials[j].color = matColor;*
}
}
}
}
One thing though is that this will generate an error if any of the materials on the model don’t have a color value to change. You’ll have to do a check to see if matColor is null.

one more thing, if the car use the build-in standard transparent shader, the car will be X-Ray like transparent ,which is very ugly.