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);
}
}
}