private void DoRandomizeMaterial()

in unity/Assets/Scripts/Randomizers/MaterialRandomizer.cs [106:142]


    private void DoRandomizeMaterial(Material material) {
        if (material.HasProperty("_Color")) {
            // Do not randomize transparency, keep alpha as it was.
            float alpha = material.color.a;
            material.color = Random.ColorHSV(0.0f, 1.0f, 0.0f, 1.0f, 0.0f, 1.0f, alpha, alpha);
        }

        if (material.HasProperty("_Metallic")) {
            material.SetFloat("_Metallic", Random.Range(min_metallic_, max_metallic_));
        }

        if (material.HasProperty("_Glossiness")) {
            material.SetFloat("_Glossiness", Random.Range(min_glossiness_, max_glossiness_));
        }

        if (randomize_textures_) {
            if (material.HasProperty("_MainTex")) {
                material.SetTexture("_MainTex", GetRandomTexture());
                material.SetTextureScale("_MainTex", new Vector2(Random.Range(0.4f, 4.0f), Random.Range(0.4f, 4.0f)));
                material.SetTextureOffset("_MainTex", new Vector2(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)));
            }

            if (material.HasProperty("_BumpMap")) {
                material.SetTexture("_BumpMap", GetRandomNormal());
                material.SetTextureScale("_BumpMap", new Vector2(Random.Range(0.4f, 4.0f), Random.Range(0.4f, 4.0f)));
                material.SetTextureOffset("_BumpMap", new Vector2(Random.Range(0.0f, 1.0f), Random.Range(0.0f, 1.0f)));
            }
        } else {
            if (material.HasProperty("_MainTex")) {
                material.SetTexture("_MainTex", null);
            }

            if (material.HasProperty("_BumpMap")) {
                material.SetTexture("_BumpMap", null);
            }
        }
    }